Although the acronyms seem cryptic and somewhat random, the concepts and technologies behind them are real and evolving. In many cases, the leading technologies are evolutions that are helping to move business forward. Of course, in a few cases, the technologies being highlighted in today’s headlines are not as substantial as many would like.
On Developer.com, people were able to nominate the technologies that they thought were the most important in 2007. The nominated technologies included technologies such as .NET, Java, VoIP, RSS, Virtualization, .NET, REST, and TDD. These technologies were narrowed to a short list of Finalists that were:
- Semantic Web
- Web 2.0
With over a thousand votes cast on these technologies, the winner emerged, taking 45 percent of all the votes. That winner for the third time in a row was AJAX. This was followed by SOA, RIA, and Web 2.0, which nearly evenly split another 50 percent of the votes. The Semantic Web trailed with the remaining votes.
It is worth noting that all of the finalists primarily center on the Internet. Additionally, these technologies are generally considered to focus on making the Internet much easier to tap into as well as much more dynamic. Each deserved its nomination and as a developer it is worth knowing what each of the technologies are.
Web 2.0 is likely the broadest of the technologies that made the finalists list. There are many prominent people who would state that the term Web 2.0 is simply marketing hype and has no real substance. A number of others would say that Web 2.0 is not actually a technology, but rather a name given to a period in time for what was occurring on the Web.
Seth Sternberg, one of the co-founders of Meebo.com, states1, “Nobody really knows what Web 2.0 is. It just refers to this resurgence of innovation around the web, which is a great thing.” Others would define Web 2.0 as a changing from a static Web to something that is more dynamic.
When asked how he would define Web 2.0, Bob Brewin, a distinguished engineer and the CTO for Software at Sun Microsystems stated1, “Web 2.0 is a leveling of the playing field where the players are all equal.” He went on to say, “We all agree that there is this notion that the information flow is not one way, it is not unidirectional, so all the people and all the participants on the Web have an equal say in how the Web and the information on the Web resolves.”
Regardless of whether it is marketing hype or something real, the concepts behind Web 2.0 are something that most organizations are considering important. Often, the concepts center on an openness of information, the ability for the community or for customers to provide direct information and feedback, the ability to connect into open APIs, and the ability to have a richer, more dynamic experience on the web. Ironically, many of these are accomplished with the other technologies that were recognized as finalists for the Developer.com Product of the Year 2008.
AJAX is generally characterized by a decrease in page loads when viewing a web site. The AJAX technologies are used to load information in the background so that it then can be displayed when needed without fully redisplaying a web page. This makes web sites seem much smoother in their presentation. It also allows you to create functionality that mimics what desktop applications can do, such as customized drop down menus, drag&drop, and more.
In many ways, AJAX is one of the technologies people are using to implement Web 2.0. It is the coding technology used by developers to create Rich Internet Applications (RIAs), to build Web 2.0 features, and to create much more dynamic web sites. With AJAX being at the core of many of the other currently popular technologies, it is no wonder it was voted Technology of the Year on Developer.com.
RIA stands simply for Rich Internet Applications. Macromedia started using the term RIA several years ago in relation to the Flash and FLEX products. It has since become a generic term that applies to creating web sites that provide functionality similar to desktop applications. As mentioned with AJAX, this can include things like full-fledged, dynamic controls to features such as dragging and dropping without the need for screen refreshes. It is not surprising that AJAX is used to create a lot of RIAs, nor is it surprising that a lot of Web 2.0 sites also implement RIA interfaces.
The first three technologies I’ve mentioned have heavily overlapped. SOA (Service Oriented Architecture) may initially seem like it is independent of the others; however, that is not fully true.
SOA is about architecting. It is about breaking a system, process, or application into pieces that can be called or used by other pieces. These pieces center on business processes, and they are presented in a way that they can provide a service to other processes. These services can be distributed on a computer, across a network, or across Ihe internet. Often times, the term Web Services is used to describe SOA components that are made available on the Web.
The concept of SOA is simply a continued evolution of design and architecting concepts that have come before. This includes an evolution from object orientation to component based development to now service based development.
The topic that is the likely to be the least familiar to the most people is Semantic Web. The Semantic Web is often referred to as Web 3.0. Although many people believe the concepts behind the Semantic Web are solid, most agree that it is not likely the next big thing on the web. In 2007, however, several technologies began to solidify to allow Semantic constructs to be added to web sites. This has given it more exposure and thus has helped to move it a bit out of academia to the main stream.
Semantic Web is about giving context and meaning to data. It works to help resolve the confusion that can occur between like-named items as well as helps to draw relationships between data. For example, if you were asked to search for an Orange on the web, you could. However, you would be searching for all Oranges, not just the company, the bike, or the fruit. The Semantic Web works to allow you to refine such a search to find the references to oranges that are a bike versus those that are something else.
The Semantic Web also works to provide more meaning to data. For example, if you search for a person, he is easy to find. It becomes more difficult to then find related information about that person. The Semantic Web works to provide such data relationships. For example, if you Find a person, you should then be able to find other information related to that person. For example, if you found Bradley Jones, you should then be able to find those things on the web associated with me, including the books I’ve published, the demographic information I’ve posted, and who my neighbors are.
The Semantic Web is all about giving meaning to data and about drawing relationships to data. With the magnitude of data on the Web, such context is needed. As such, it is no surprise that the Semantic Web made it as a finalist; however, it is also no surprise that it didn’t win against other technologies such as RIA, AJAX, and SOA.
Over the coming months, all of these terms are expected to continue to have prominence in the industry. Just as terms like HTML and XML have become more commonplace, some of these leading buzz terms being used today will also become less hyped. Will that happen in 2008? If so, you can expect new terms and technologies to take their place! In the mean time, it will be interesting to see whether AJAX can hold on to become a finalist and winner for the fourth time at the end of this year.
1 Web 2.0 Heroes by Bradley L. Jones, Wiley Publishing, ISBN: 978-0470241998
# # #