Beyond enterprise portals
We can’t forget that most Web browsers contain some form of Java Virtual Machine (JVM), so that Java Applets and Java Beans can execute within a Web page. Java is also the cornerstone of the mid-tier architecture—aka the Java Application Server, upon which many portal systems are based. The Java application server is designed to deliver applications using Java Server Pages, which contain embedded JavaScript applications to deliver application logic.
In a Microsoft environment, Microsoft Internet Information Server (IIS) delivers its own application platform called active server pages (ASPs). Microsoft’s .NET technologies also exploit the Web browser to some degree by focusing on the server side. Again those technologies are another cornerstone of the common enterprise portal.
As I list everything the Web browser can do here in black and white, it seems like we should be able to deliver richer, better quality, more sophisticated desktop applications without too much effort. Though the basic Web browser has a tremendous breadth of technical capability, it has remained relatively unsophisticated in its ability to deliver rich Internet applications (RIAs) to the desktop.
Fortunately, we can do a lot more to deliver rich Internet applications via the Web browser. AJAX and other new technologies that plug in to the Web browser are bringing us an exciting new generation of rich desktop class, thin-client applications without the need for a portal or an n-tier architecture. The technical approach that will make this happen is the service-oriented architecture (SOA).
Service-oriented architectures
Most large organizations and a lot of smaller ones are building their enterprise information technologies according to service-oriented architecture approaches. SOA describes a means for applications and data to be provided as services, which can be subscribed to over the intranet, extranet or Internet. Enterprises can view their IT systems as collections of services that can be put together in a variety of unique and useful ways.
In many cases, enterprise portals are being used to package and deliver those services. But, as mentioned earlier, portals are restrictive and tend to create data and application silos (I sometimes call them application ghettos).
However, a new approach is emerging that relies on a much smarter Web browser. By using the Web browser as a platform to host a variety of plug-in technologies, the thin Web browser can become a much smarter client and deliver much more sophisticated applications, without the need for some sort of portal to provide the business logic, data access and security.
Service-oriented client
A variety of application vendors have stepped up to deliver new capabilities for the browser. For example, in past articles I have introduced you to Adobe’s (adobe.com) new Flex and Adobe Integrated Runtime (AIR) application development tools for the Flash Player. You may recall that the Flash Player is ubiquitous and runs on more than 97 percent of the desktop and laptop systems worldwide in every major operating system. Flash is well known for delivering multimedia content, movies, advertising and games. What isn’t well known is that it is a great platform for delivering Web and desktop-based rich applications of all types, and it is particularly well suited for operating within an SOA. The Flash Player has become the cornerstone of the new concept called the service-oriented client.
The SOC (a smarter Web browser or thin client) provides a single point of integration where multiple services, applications and data sources can be pulled together to build composite applications within the browser, or via a lightweight desktop integration component that meets the computing needs of the enterprise. Adobe Flex and AIR are technologies that provide the building blocks for delivery of SOC applications.
Flex consists of Macromedia Extended Markup Language (MXML), an XML dialect for describing rich Internet user interfaces and ActionScript. MXML is an ECMA-compliant, object-oriented scripting language similar to JavaScript. If you are a JavaScript or Java programmer, you should be able to quickly transfer those skills to Flex and ActionScript.
Flex and AIR exploit the power of the Flash Player to deliver rich Internet applications via the browser and/or through a desktop integration runtime component. AIR provides a run-time component that allows Flex/Flash applications to run outside of the Web browser without any of the restrictions of the Web browser’s sandbox. AIR provides a true means to deliver multiplatform, thin-client rich Internet applications on any desktop.
As you may be aware, when you run inside the browser’s sandbox, your ability to contact the operating system or jump outside the Web browser to the hard disk or local RAM memory is severely limited. That restricts the quality and depth of applications that can be delivered on the workstation or laptop, and is part of the ongoing challenge of trying to deliver sophisticated applications within the Web browser environment. AIR sidesteps that problem and allows RIAs to be delivered using just the flash player and a small, integrated run-time library that will eventually be installed with the Flash Player.
Other SOC playersAlthough Adobe is the market leader in providing rich Internet applications using Flash, it is by no means the only technology emerging to play that kind of role. Many vendors are acutely aware of the limitations not only of the Web browser but also of enterprise portals, and are introducing new SOC technology for consumer and enterprise software vendors to deliver rich Internet applications.
For example, Microsoft’s Silverlight is a competing technology to Adobe’s Flex and AIR. It is much less mature than Flex and AIR, and its cross browser plug-in is not nearly as ubiquitous as the Flash player, but it is pushing the envelope to add standardized intelligence to the Web browser. Another competing technology, JavaFX, comes from SUN and is built on Java, Java Applets and Java Beans. Google Gears is another related but not directly competing technology. The Mozilla open source organization has an emerging rich Internet application development technology called XUL, and Yahoo Pipes is another attempt to enter into the space.
What about mashups?So here I am going on about how the end of the portal is nigh, and everywhere people are building portal-like applications that combine Web pages into composite Web applications. Aren’t mashups a sign that the enterprise portal is more important than ever? Isn’t a mashup a set of different Web pages and applications that are mashed together into a single Web page or Web site? They are sort of a poor man’s portal, aren’t they?
The concept of a mashup has become very popular primarily because Google and Yahoo have introduced toolkits in AJAX, Flex and other technologies that make it much easier to build applications that can live together on a single Web page. That is a great step forward in the development of RIAs—that is, the ability to integrate unrelated Web applications on a single Web page.
Google Gears, Yahoo Pipes and both Google’s Web toolkit and Yahoo’s user interface library (both AJAX toolkits) provide excellent technology that supports the development of mashed up Web pages. Google even has a pretty cool mashup editor.
Content is king for Yahoo and Google, so it’s no surprise that Google, Yahoo and other Web portal providers want to deliver RIAs. Can you imagine a better way to deliver content than to help users mash together their own composite applications using Google Maps, Google Gadgets, YouTube (youtube.com) content, a MySpace (myspace.com) page, a Yahoo discussion thread, an AOL instant messaging application and other social networking capabilities like Digg and Del.icio.us?