Beyond enterprise portals
Enterprise portals are a dead end. But before you start throwing daggers, stop and think about the reason we have enterprise portals in the first place. Web browsers (aka thin clients) don’t have the programmatic sophistication to support the complex business logic, content management, security and integration features necessary to build sophisticated desktop quality applications. Enterprise portals work better than Web browsers alone, but have also failed to deliver desktop quality applications. If we have to move beyond the enterprise portal, what if we went back to the Web browser?
The client-side shortcomings of the Web browser are rapidly changing due to the introduction of the service-oriented client (SOC). SOC thin-client systems, such as Flash, Silverlight and JavaUX, are adding intelligence to the browser, so that high-quality desktop applications can be delivered from the Web by providing programming tools that allow for smart integration within the browser, rather than at the portal.
Close the portal— the ship is sinking
Modern n-tier architectures, common in business enterprise systems, are a direct result of the "lack of intelligence" in the Web browser. N-tier architectures evolved to compensate for the inability of developers to implement business logic and security on the thin client and to provide a single approach for accessing content. After all, the basic browser really is just another pretty face.
The advent of the n-tier architecture provided a basis for enterprise portals. Portals offer a (typically proprietary) set of architecture and application frameworks that allow the delivery of complex business applications in a thin-client architecture. Portals provide the thin client a homogeneous connection to the various back-office services and content necessary to build the applications needed to run the business enterprise.
Enterprise portals are good things, right? They allow content to be concentrated and application logic to be formulated, make collaboration possible and offer a variety of necessary security services. Then again, maybe enterprise portals aren’t so good. They lead to an explosion of servers and endless network growth to support all the different middleware and back-office applications and business logic necessary to the enterprise. In other words, they can become unwieldy.
Moreover, it seems that one portal is never enough. Most of the Fortune 500 companies I deal with have five or more completely different portals for different purposes, and some of those portals are made up of multiple portal products from different vendors. There are so many portals everywhere that if the enterprise were a ship, it would be sinking from too many open portals. To me, it seems like a very complicated and expensive approach for building thin client-based enterprise applications.
Client hardware
I’m not changing the subject, but have you purchased a desktop or a laptop recently? You can get a sweet deal on a dual-core laptop with 2 GB of RAM, a 200-GB hard drive, high-end video graphics card, 15-in. TFT screen, WiFi, gigabit Ethernet, read/write DVD drive, etc.
Because they are so affordable, most people are working on business class desktop and laptop computers that are the equivalent of servers. What are users doing with all of that horsepower? The answer is, unfortunately, not much.
Most business users use their computers for e-mail, word processing, spreadsheets, a little bit of database work, browsing the intranet to use the enterprise portal, perhaps running some video. None of those activities even remotely begins to tax modern desktop and laptop computers. Shouldn’t we be taking better advantage of our investment in desktop and laptop computers?
Taking stockSo let’s stop and take stock. The Web browser is a dumb beast. Most enterprise applications are delivered to the Web browser via enterprise portals because the Web browser doesn’t have the facilities to handle the business logic, content management and application interface requirements of enterprise class business applications.
We continue to build ever more complex n-tier, n-portal-based solutions that rely on more servers, bigger networks, and more and more complex architectures. At the same time, we are investing in smarter and more capable desktop and laptop systems and doing less and less with them.
Are enterprise portals and thin-client approaches really saving the enterprise money, and are they really that much easier to implement than client server systems? In hindsight, wouldn’t it be much cheaper to exploit sophisticated user hardware platforms, maintain smaller networks and fewer back-office servers than it is to build complex business systems atop myriad different middleware and portal solutions? Isn’t this the goal of emerging service-oriented architectures?
We need better solutions and smarter technical and business approaches to take advantage of increasing desktop/laptop computing power and emerging service-oriented architectures in the business enterprise. Perhaps that is one of the things that Web 2.0 is all about—breaking the tyranny of the portal.
The Web browser revisited
Though the Web browser takes a lot of heat for being underpowered and insufficient, the good thing about a Web browser is that it is a standardized platform, upon which many different technologies can build and be built. Take, for example, JavaScript. Although JavaScript and its latest client-side iteration Asynchronous JavaScript and XML (AJAX) are non-standard, they are the predominant means for the delivery of smarter Web applications. AJAX really has won the hearts and minds of Web developers.
So maybe the Web browser isn’t so dumb after all. Maybe it is just underpowered and perhaps a little under-appreciated. After all, the Web browser is a standards-based platform, and it runs a variety of standard communications and applications development protocols. Let’s examine this a bit further.
Communications
On the communications side, the Web browser uses the hypertext transmission protocol (HTTP) and the secure hypertext transmission protocol based on the secure sockets layer (HTTPS). Most of the mainstream browsers— Microsoft Internet Explorer, Mozilla Firefox, Opera, Apple Safari—recognize the file transfer protocol (FTP), various streaming video protocols and even some Web services based on simple object access protocols (SOAP).
Applications development
On the application development side, the Web browser understands the hypertext markup language (HTML), the dynamic hypertext markup language (DHTML), the extensible hypertext markup language (XHTML), cascading style sheet protocols (CSS), client side JavaScript and extended markup language (XML), aka AJAX. The MS-Internet Explorer (IE) browser understands visual basic script (VBScript) and Jscript, which is Microsoft’s European Computer Manufacturers Associations’ (ECMA) compliant version of JavaScript.