Five Steps to Next-Generation Web Applications
Five Steps to Next-Generation Web Applications
Five Steps to Next
-Generation Web Applications">
As the Web was born and grew in importance in the early 1990s, it immediately changed the way the world connected, communicated and gained knowledge. And while the Web has had a major impact on all aspects of society, it has had an especially big effect on businesses.
From the get-go, the Web has been a moving target when it comes to a companys ability to stay on top of changing technologies and dynamics.
At first, the Web was mainly a static place, consisting of basic HTML pages. But as the first-mover companies got up to speed, it quickly changed into a place that used CGI (Common Gateway Interface)- and Perl-based applications, along with new security technologies, to enable a whole host of new capabilitiesmost notably, e-commerce.
And again, just as companies were getting comfortable, XML, SOAP (Simple Object Access Protocol) and other new technologies opened up the world of SOA (service-oriented architecture), completely changing how applications, systems and businesses connected. This was followed by the whole 2.0 phenomenon of blogs, wikis and social networking.
Now, just as your company is finally feeling at ease with 2.0 technologies, the Web is set to move on again.
Is the Web 2.0 bubble set to burst? Click here to read more.
The next generation of the Web is marked by dynamic, interactive, open and highly flexible applications that not only go beyond the capabilities of classic Web applications but also exceed the features of desktop applications.
In short, this next generation of Web applications is bringing us much closer to a future of the Web as an operating system. And now is the time for businesses to get ready for the latest change in Web technology.
In this IT Planner, eWEEK looks at the five key attributes of these cutting-edge Web technologies and offers some tips on ways that companies can prepare for and even begin building and deploying some of these innovative Web applications.
After all, when it comes to Web technology, standing still is not an option.
Step 1: Build Rich Web Applications
When a Web or Internet application is referred to as "rich," it generally means that it is highly interactive, has an intuitive user interface as good as or better than a desktop application, and has a wealth of features and capabilities.
On the Web, a rich application interface will include things such as drag-and-drop capabilities in the places where a user would expect it, contextual drop-down and right-mouse menus, and interactive and real-time data responsiveness when it comes to things such as graphs and reports.
An important thing to understand about a rich Web interface is that it doesnt necessarily entail lots of flashy animations and flashing icons. A simple and plain administrative interface for a server or service application can be extremely rich in the ways it provides information to users and allows them to define settings and parameters.
One of the great things about AJAX is that it doesnt require learning new things. AJAX applications can be built in almost any editing and authoring environment, and tools from Microsofts Visual Studio to Adobes Dreamweaver include lots of tools and aids to get up and running with AJAX.
Other products to consider include Adobes Flex and Microsofts Windows Presentation Foundation, both of which are designed for developing rich Web applications that can run outside of a Web browser. However, keep in mind that both platforms rely on non-Web technologies, with Flex requiring Flash to run on a system and WPF needing Microsoft technologies such as WPF/Everywhere.
Finally, they say you can never be too rich, but thats not the case when it comes to Web apps: Too much interactivity can ruin a Web application. Just because you can add lots of menus, windows and cool animated graphics doesnt mean that you should.
-Minded"> Step 2: Remain Open-Minded
One of the most amazing technological revolutions of the last 10 years has to be Web services and SOA. If you want proof, think back to the state of application and data integration before XML and Web services came on the scene in the late 1990s.
Back then, doing application and system integration meant dealing with a messy hodgepodge of custom data wrappers, APIs and proprietary connection systems. In many cases, it was nearly impossible for businesses and partners to connect their disparate business systems.
But in a short few years, Web services changed all this. Now, every modern enterprise application, database and framework uses standards-based technologies to easily enable complex and robust data and application integrations.
How did this happen? In a word, openness. Right from the beginning, the world of SOA decreed that if a business, developer or software vendor wanted to play, it had to be based on open standards. Even vendors that had traditionally been inclined to go the proprietary route embraced standards in SOA, clearly understanding that not being able to integrate with standards would leave them on the outside looking in.
In the world of next-generation Web applications, this kind of adherence to openness is just as crucial. Gone are the days when sites and applications could work on just one Web browser and just one operating system.
For the most part, the core technologies of next-generation Web applications make it very easy to stick to both long-standing and emerging Web standards. As noted earlier, AJAX itself is based on common Web standards, and most good AJAX applications should work identically across browsers and platforms.
Click here to read more about the merging of Web 2.0 and SOA.
In addition, standards bodies such as the World Wide Web Consortium and OASIS are currently working on several new formats and standards specifications, such as Compound Document Format, that will add new capabilities for next-generation Web applications.
There is some concern over certain next-generation technologies, such as Flex and WPF. Since these are based on vendor technologies, there is the possibility that they wont be as open as options such as AJAX.
We recommend that businesses choose the open and standards-based path wherever and whenever possible. An application that is written in a proprietary way that makes it difficult to integrate with is one that will not be participating on the cutting edge of Web technologies. If the customers of an application find that it is dictating to them how they can use it, they will most likely stop using it. Sticking to open standards and systems ensures that an application can grow and adapt to emerging trends.
Step 3: Keep Data Dynamic
With old-school Web applications, data is treated in much the same way that a faucet treats water: The application can access the data but doesnt have much control over the data once it arrives.
Next-generation Web applications, in contrast, increasingly are able to handle data on the fly, allowing users to interact with data in real time rather than having to constantly reload the Web application to get new data.
Listen to an eWEEK podcast about the Semantic Web.
Semantic Web technologies will enable Web applications to query and interact with data held in sites and applications across the entire Web, making possible a whole new generation of data-aware applications.
The ability for next-generation Web applications to more robustly handle data also has greatly improved the ability to create and test applications. Many standard Web application development environments make it possible to use small XML and other data files to prototype, debug and test new Web apps.
This improved data management makes it possible to include in Web applications many of the things that are more common in standard desktop apps, such as local data stores, a high level of responsiveness and, of course, offline capabilities.
Make It Available Offline
Step 4: Make It Available Offline
Its kind of funny to talk about offline as a next-generation feature. After all, isnt offline access a hallmark of old-school desktop applications? And isnt the future vision of the Web one in which people are always on and always connected, no matter where they are?
Well, that may be the vision, but it isnt the realityand may not be, especially in the United States, for some time.
For next-generation Web applications to truly step to the forefront as alternatives to traditional desktop applicationsand even as potential Web-based operating systemsthey have to embrace the seemingly old-fashioned notion of offline access.
Think about it: Your company may have created a great new SAAS (software as a service) product that provides lots of value to customers. But if your customers employees cant use the product during a 6-hour flight, a desktop-bound app might just start to look much more attractive.
The reality of the need to provide offline capabilities hasnt gone unnoticed by major players. Google, one of the biggest proponents of next-generation Web applications, has released a product called Gears, currently in beta, that makes it possible to provide offline access to Google applications.
In addition, Adobes AIR (Adobe Integrated Runtime), set to ship by the end of the summer, makes it possible to build rich Internet applications that run outside of a browser and can use offline data (yes, this does sound much like a normal desktop application). Further, the Mozilla Foundation is planning on adding offline support in the next version of its Firefox browser.
Step 5: Be Flexible
Right now, many of the tools for offline access are still immature or yet to be released. And there hasnt been much activity related to standardizing offline access to Web applications, meaning that there will be competing and distinct tools for creating offline access for some time. However, businesses should begin evaluating these technologies now. As you build your next-generation applications, dont forget that your users and customers will be asking, "Is there a way to use this application when Im not connected to the Web?"
Imagine youre a chef in a popular restaurant. Youve put together your special dishes for the evening. Hopefully, customers will like them, but if they dont, theres not much that can be done to change the specialsat least not immediately. This is basically the same model for classic Web and desktop application development.
However, now imagine that many of your restaurant customers decide that they want to go into the kitchen and change and adapt your dishes themselves. They like your pasta, but they think they have a better recipe for shrimp. Or they want to use your burger, but add it to a pizza from another restaurant.
This is the model of next-generation Web applications: Users expect to be able to tweak, adapt and change the applications in unique ways to meet their own specific needs. This is often called a mashup.
In this model, your cool new application might find itself combined with an internal business application or mashed up with a popular free application from a big Web portal or search engine. It may even end up being combined with another application from a vendor you see as a competitor.
Especially for software vendors, this can be a scary proposition. In traditional models, these companies try to maintain strict controls over how their applications are used, upgraded and integrated.
But when it comes to next-generation Web applications, locking down your application is a mistake. To many users, a Web application that cant be easily customized or mashed up with other programs is a broken applicationand one that wont be used or purchased. Letting users create mashups and allowing them to plug in functionality and integrate your application with other systems is the way to gain user loyalty.
Probably more than anything else, this is the key lesson about next-generation Web applications. The ability of these applications to constantly change and adapt to new technologies, standards and end-user desires will radically change not only Web application delivery but also how people look at all the software that they use.
Check out eWEEK.coms for the latest news, reviews and analysis in Web services.