Computerworld
Print Article
Close Window

Is There Something Missing From Your Service-oriented Architecture?

Scott Cranton, Nexaweb Technologies
 

April 25, 2005 (Computerworld)

You've just finished a long IT project, retooling your infrastructure to create a service-oriented architecture (SOA). You've got Web service interfaces for all your key business functions, and you can't wait to start shutting down those legacy systems. You know this effort will free up a large chunk of your IT budget -- which is currently used to maintain those redundant systems -- and allow you to start putting that money into those long-awaited, revenue-generating strategic initiatives. All that time spent justifying the cost of this SOA project, spotlighting the benefits of a highly flexible and adaptable infrastructure that would make your business truly real-time, is about to be validated.
You ask your staff when you can turn your SOA loose.
"Oh, in about six to 12 months."
You feel faint. "Why?"
"Well, first we need to update all of the Win 98 computers in our Midwest operations center to something that can use Web services, and we're still scoping efforts to rework their desktop applications."
"Oh," you say.
"And we're still negotiating with our suppliers' IT staffs about when they'll be ready to upgrade all of their applications. Plus, our key supplier is in the middle of a cost-saving project rolling out Linux desktops and isn't happy with our new Windows-only application."
"Uh huh."
"And the call center in India is complaining because this is the third time we're asking them to install new software this quarter; they're threatening to hit us with a surcharge."
As you pick yourself up off of the floor, you see what was missing. An SOA is great at providing flexibility and cost savings within your back-office infrastructure, but it doesn't address any of the problems related to providing new applications to front-office end users. You need to deal with the "last mile" between your SOA and the end users' desktops.
Just as telecommunications companies in the late '90s fell in love with providing broadband Internet services but faced problems connecting the end user's household to their high-speed network pipes, SOA-loving enterprise IT staffs will fall in love with the enabling power of SOA for the back office but find inefficiencies in exposing and managing SOA applications for their end-user clients.
To bridge this last mile, enterprise IT will need to look to rich Internet application software to provide an equivalent level of loose coupling between middle-tier services and the end user's desktop. Rich Internet application technologies are the midtier-to-client complement to SOA, and when combined with SOAs, they provide a flexible and cost-effective way to design, deploy and manage loosely coupled systems end-to-end across the enterprise.
So what's a rich Internet application, and how can it help your organization?
Rich Internet application software provides the best of both worlds for creating, deploying and managing SOA-enabled applications -- the rich, highly interactive user experience of desktop applications with the low-cost application deployment and maintenance of Web applications.
One of the main goals for an SOA is creating service interfaces (typically Web services) that can be mapped onto new or existing business systems. This decouples the business functionality, or service, from how it's implemented. This loose coupling allows an organization to replace redundant systems with lower-cost alternatives and allows for the quick and cost-effective creation of applications that can utilize these services despite how they are implemented. In short, you end up with a very flexible back-office infrastructure.
Rich Internet application platforms provide a complementary level of loose coupling from the back office to the desktop. They provide a way to shield the application from the vagaries of the end-user deployment environment, such as their desktop operating system and the network infrastructure between the back office and the end user. The result is a dramatic lowering of the cost of deploying -- thereby increasing your ability to update -- end-user applications by leveraging the Internet without sacrificing end-user productivity with a dumbed-down user interface.
The rich Internet application marketplace has been maturing rapidly over the past few years, and what differentiates the vendors of this technology is their market-niche focus and supporting technology choices. There are three basic architectural approaches used by vendors of rich Internet applications: proprietary Web browser plug-ins such as Flash, HTML extensions like JavaScript and DHTML, and Java/.Net-based.
The proprietary plug-in/Flash approach, with its "movie engine" heritage, allows developers to create visually rich applications that primarily target consumer-facing guided selling (such as shopping carts) and guided forms (such as online mortgage forms).
The HTML/scripting approach uses scripting functionality built into many modern Web browsers to create more interactive HTML-based applications. Extensive use of scripting within an application has historically hurt overall maintainability, but with careful attention to browser compatibility, this approach can allow your application to hit the widest possible audience, also making it a good candidate for consumer-facing applications.
The Java/.Net-based approach uses a browser-hosted, zero-install client that uses Java or .Net runtimes. The application is written in highly maintainable programming languages such as Java and C#, with parts of the application actually running on the end-user desktop. This approach is well-suited for both internal and "virtual enterprise" operational applications (like supply chain), where the performance, scalability and maintainability requirements of the application demand the use of technologies like Java and C#.
As SOAs continue to gain widespread acceptance as a framework for cost-effectively reusing existing application services and deploying new one, enterprises should also consider implementing complimentary rich Internet application technology to bring those applications to their end users with the same level of cost savings and flexibility.
The rich Internet application approach provides a logical solution for enterprises looking for a loosely coupled way to deliver their newly created SOAs. The ability of rich Internet applications to align with an enterprise's business process, not just a specific system, and their low cost of deployment can enable the enterprise to respond more in real time to ever-changing market conditions.
Enterprises will see even more value from combined SOA and rich Internet application efforts when their IT departments spend less time managing end-user application deployments and more time creating applications that enhance bottom-line results.
Scott Cranton is director of product strategy at Nexaweb Technologies Inc., a Cambridge, Mass.-based software vendor in the rich Internet application market. In his more than 14 years in the software industry, he has been a software developer, architect, consultant and product manager. He can be contacted at scranton@nexaweb.com.