| By Bob Buffone | Article Rating: |
|
| June 2, 2007 06:45 PM EDT | Reads: |
13,564 |
We are at an inflection point in the SOA roll out: with enterprises developing infrastructure and deploying services, the attention is now turning to how to deliver the services to the end user, increase service reuse, and deal with governance. The last mile of SOA needs to be bridged in order for IT to fully reap the benefits of their efforts by squeezing the last bit of ROI out of their infrastructure. To achieve this, IT needs to make SOA tangible to end users, while maintaining enterprise control and reliability.
Service Oriented Architectures: Meaningful to IT, Intangible to End-Users?
Service Oriented Architectures (SOAs) have become a de facto approach for engineering back-office IT systems. SOA provides IT with the benefit of being able to create, integrate and reuse application services quickly and cost-effectively so systems can be built and updated as fast as business requirements change. While SOA transforms application development and integration for IT, the benefits are often much less obvious to enterprise users. SOA applications look and feel like most other web applications and application delivery cycle improvements can be hard for the end-user to perceive.
Rich Internet Applications: Meaningful to End Users, Intangible to IT?
Rich Internet applications (RIAs) bring end users of Web and desktop applications what they have been asking for years: a zero install Web-based application that contains the richness of a desktop application. RIAs have furthered the capabilities of Web applications by adding desktop-like widgets to online applications. Improvements to the user interface of Web applications means end users can do more in less time. The AJAX wildfire has burned uncontrolled for the past two years and now it seems every Web application uses AJAX in some capacity. This has only increased the end user's demand for enterprise applications to take advantage of this technology.
AJAX to the end user is a magical elixir that can cure any application's ills. However, IT organizations must weigh the pressure of the end user's desire for better applications with the need to deliver enterprise-class applications. This is challenging. RIA products are typically simple widget toolkits with very little back-end integration and don't provide the enterprise-class reliability and robustness needed to build business-critical applications.
Enterprise Web 2.0: Meaningful to Both
Enterprise Web 2.0's (EW2.0) mission is to bring together RIA, SOA, and legacy systems to deliver business-critical applications over the Web. This combination of technologies provides benefits to both the end user through an RIA front end and IT with the ability to consume services and deliver them to the end user in a business-critical capacity. EW2.0's capability to deliver business-critical applications isn't the result of a cobbled together framework, but a well-thought-out architecture that overcomes three core problems with leveraging the Web as a service platform:
- Complex and uncontrolled end-user environments
- Robust communications over HTTP
- Service consumption
Controlling the Desktop Environment
Technology companies for some reason think that everyone has the latest and greatest software installed. Unfortunately, this is not true and for many IT shops trying to deliver SOA-based services to the end user, overcoming the desktop challenge is probably the biggest hurdle in delivering services. I sat on a panel a few months back, and everyone was talking about how great AJAX is, then one person raised his hand and brought the panel back to earth. He was working for a company building out an SOA infrastructure and trying to deliver applications to a chain of tire companies in the mid-West. What kind of computer do you think a tire company usually has installed? Firefox 2.0 running on Windows XP? No, in fact they were mostly using Win95 and IE4+. In order to overcome the problem of the desktop, the company had been tossing around the idea of shipping a new computer with every application. But even this solution has problems: Who will maintain a new system? Where will it be located in the shop? Does it need to be ruggedized? Then there is the plain expense of the computer eating away margins. A better solution is to take advantage of the software infrastructure already in place.
Solving the desktop hurdles requires a stubbornness that not many technology vendors have the wherewithal to maintain until it is accomplished. Most companies in the RIA space are just pitching a solution that can be deployed in only one technology: AJAX, Flash, .NET, or Java. Each technology has its pluses and minuses. But to truly solve desktop obstacles, a solution needs to be able to deploy applications in multiple technologies. This allows IT to take a top-down design approach and choose the best technology to meet their applications, team skill-set, business, and environmental requirements.
Good Communication Is a Must for Any Relationship
HTTP was never intended to be a robust communication protocol, providing features such as pub/sub, server-side push, and reliable delivery. HTTP is a request/response architecture: a client asks for something and then may or may not get a response. Business-critical applications that need true client/server-like messaging capabilities have been left to be deployed as a fat client. Fat clients take a fat wallet to maintain. Once an application is installed, IT must deal with maintaining the application, rolling out changes when available.
Just like AJAX showed everyone that the browser was capable of doing a lot more, things like Comet and Nexaweb's Internet Messaging Bus (IMB) are doing the same for HTTP. Event-driven enterprise information and alerts for better decision making are sometimes a requirement for business-critical applications. A Japanese bank needs to deploy a real-time Foreign Exchange application to 10,000 geographically dispersed institutional traders. Designing latency into the application using polling techniques guarantees the data is stale by the time it gets to the end user. Using technology like Nexaweb's IMB means the bank can reliably send data to the end user in real-time as it comes in from their service bus.
Solving a complex network infrastructure is just as complicated as solving the desktop environment. Developers sometimes forget that when the application goes live, there will be many network devices between the end user's machine and the server delivering the messages. Each type of device, whether it is an SSL accelerated or a caching device, increases the chances for problems. Just like the way the UCF encapsulates the issues of the underlying client-side technology, the IMB does the same thing to the network tier, leaving the developer to worry only about the application's business logic.
Ubiquitous Consumption of Services
Giving IT the ability to consume services in an easy and repeatable manner is a must. SOA makes it easy to create new services and adapt an old service to meet changing business requirements; EW2.0 needs to be able to easily accommodate changes to the services. EW2.0 centrally managed application deployment mechanism and zero install means that when a change is deployed to the server, all end users will immediately be updated the next time the application is invoked. The use of the Universal Client Framework also makes it possible to change the definition of an application in one way, no matter what the deployment scenario is - Java, AJAX, online or offline.
Nexaweb's EW2.0 Platform allows IT to declare a service available to an application. Once declared, the application can invoke the service and bind the result to any number of components in the application. Through the use of a data-binding syntax, developers can cache the service results on the client and reuse them throughout the life cycle of the client, which minimize roundtrips to the server and increase the performance of the application.
Solving each of the three problems with using the Web as a service platform makes the delivery of services to the end user possible in an enterprise-class environment. The use of EW2.0 solutions is already under way in enterprises. Several deployments were referenced here, but many more are using solutions to deliver services to the end user.
Conclusion
Combining Enterprise Web 2.0's ability to deliver business-critical applications over the Web and SOA's ability to deliver services provides a solution that can deliver the ubiquitous consumption of service to anyone, anywhere in any environment. What to do with this ability will be the next challenge for IT and end users. IT will look for ways to create service-based components that can be reused across the enterprise. Instead of having just a sortable table they can reuse in applications, IT will look to create a service-enabled table they can drop into any application. The table will then be able to communicate with other service-enabled components to exchange data and events.
End users will look to be able to create their own mashup service components that will best suit their needs. An interesting tool by Yahoo! is doing just that. Yahoo Pipes is a new application that allows users to create data-driven mashups by using a slick interface.
Though not focused on the enterprise, a tool like that contains service-enabled components exposed by IT, allowing end users to create their own applications.
Enterprises will continue looking for return on investment of their service-oriented architectures. Enterprise Web 2.0 will make this a reality by connecting the last mile of SOA to the end users. This is a win-win-win solution for the enterprise, where not only IT and end users benefit, but business benefits as well, from increased ROI and enhanced use and IT productivity.
SIDEBAR:
Nexaweb's Web 2.0 Solution
At Nexaweb, it has taken us four years to build out a Universal Client Framework (UCF) that can deploy applications in either AJAX or Java. It was nice validation of our UCF at the conference I attended when the person mentioned his problem deploying an application. The tire companies aren't the only ones with this problem. A nationwide chain of hotels came to Nexaweb about three years ago with a similar challenge. They had 4,000 hotel sites around the world, some of which were owned and operated locally. They had no control of the desktop and needed to deliver a reservation system to all 4,000 locales. They ended up using the UCF client framework to deploy a Java-based solution.
A Universal Client Framework not only needs to be able to be deployed in multiple environments, but also needs to encapsulate the problems of the multiple environments. Providing a layer of encapsulation between the issues of underlying technology and the application developer means the developer building the application can focus on what they should be focused on, their application. (See Sidebar)
Published June 2, 2007 Reads 13,564
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Bob Buffone
Bob Buffone is Chief Architect at Nexaweb Technologies. He is responsible for platform and tool technology and of the Nexaweb Platform for enabling enterprise class Rich Internet Applications (RIAs). He is also a committer on the Apache XAP Project which provides an extensible framework for declaratively creating AJAX applications. Before Nexaweb, Bob was with Trakus, a technology company focused on tracking sports in real time. A leading expert in User Interface design, he is a regular speaker at industry events and has published multiple articles on tool and application development.
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Why IBM’s Server Chief Got Busted
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Stock in Focus: Dragon Capital
- 1st Annual Government IT Conference & Expo: Themes & Topics
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- The Top 150 Players in Cloud Computing
- SOA in the Cloud - Monitoring and Management for Reliability
- How to Diagnose Java Resource Starvation
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Software AG Named "Gold Sponsor" of SOA World Conference & Expo 2009 East
- Why IBM’s Server Chief Got Busted
- IBM & Cloud Computing: How "SOA in the Cloud" Can Produce Real Change
- SYS-CON's Cloud Expo Adds Two New Tracks
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- Success, Arrogance, Rise and Fall
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV









The past month has seen an unprecedented conc...
























