By Jeff Whatcott
The “bad old days” of enterprise software, when information was locked in separate silos, are almost over, and most of us are glad to see them go. Service-oriented architectures (SOAs) and software have arrived on the scene to usher in a new era.
Now that organizations are revamping their middle and back-end technology tiers and creating new value streams from using SOAs, what’s next? Savvy CIOs seeking the next wave of benefit from SOAs and Web services are turning an eye toward end users and how they interact with this new breed of systems. What they are finding is a new class of client software with real intelligence, rich media and interactivity, and access to services and data, called service-oriented clients (SOCs).
Many of you by this point are probably asking yourselves why you should care about SOCs, and the reason—simply put—is that the traditional Web browser is showing its age as an application client. The browser was designed for browsing static documents, not delivering stateful applications (that is, those that remember what you’ve done when you leave and come back to them). It’s time to ask ourselves: Why are our business-critical applications dependent on client software that’s built on a page metaphor with forward/back/home buttons, bookmarks, things called cookies and stateless communications protocols?
Let’s face it: The Web-based presentation and client tier are now the weakest and most antiquated layer of the enterprise architecture stack. Browsers cannot connect natively to Web services or interact with synchronous message-based data. They don’t print well, and they don’t work well offline. To add to the challenge, quality-assurance teams spend countless hours debugging cross-browser applications because different browser versions from different vendors behave differently on different operating systems. It’s no wonder your brightest programmers don’t like to work on the presentation-tier—it’s incredibly brittle, unforgiving and unrewarding.
Unleashing the Full Power of SOAs
The SOC is just what the name implies—a client that is designed to interact with services. Using an SOC architecture, developers can create rich Internet applications (RIAs) that make SOA data meaningful and useful to human beings. SOCs combine the broad deployment reach of the Web with the richness and intelligence of the desktop client software. For instance, SOCs work online or offline, connect with message-oriented middleware, and blend data, documents, forms, and audio and video streams—all in an interactive environment. They are consistent across operating systems and provide a mechanism for applications to work either inside or outside the browser context.
Rich Internet applications offer an additional benefit, because they put to rest one of the long-standing arguments between business and IT. Namely, they overcome the traditional tradeoffs between rich and thin clients. Business managers prefer rich clients because of gains in interactivity, productivity and user satisfaction. IT staff, on the other hand, typically wants thin clients because of the easy implementation and maintenance. CIOs no longer have to be caught in the middle of the issue, because RIAs built on SOCs satisfy the demands of both groups.
A Rich Internet Future
In the future, RIAs will become commonplace, touching all business areas. Customer service agents will use RIAs to access CRM, SFA, ERP and custom system data from a single screen no matter where the information resides. Consumers will be guided through the process of selecting and applying for a mortgage, for example, with rich visualization and streamlined forms that provide immediate feedback and allow live chat with a customer service agent if needed.
Senior management will benefit as well. Executives can make decisions using sophisticated desktop-like applications that integrate rich data visualization and application components such as data grids, graphical charts, multimedia audio and video, and real-time data push to their desktops.
Strong Industry Momentum
SOCs are more than just the latest buzz phrase. They are cropping up all across the industry. Software providers are quickly embracing the SOC concept and bringing to market rich client development platforms. For instance, Microsoft offers the Windows Presentation Foundation platform. IBM provides the IBM Workplace Managed Client based on the Eclipse rich client platform open toolset. Adobe offers the Adobe Engagement Platform and the Flex framework. All of these platforms provide a framework and foundation for building experiences based on an SOC architecture. They also combine a programming framework, language and integrated development environment.
Being Pervasive and Cross-Platform
Competition and options are healthy and necessary. But—here’s my plea—let’s not forget the key reason that the browser became our default client in the late 20th century: It was ubiquitous. Let’s not go back to the days when we had to distribute big footprint clients that were operating system-specific (or even OS version-specific). For SOA-based Web services and client-side applications to become prevalent in the computing world, it’s imperative that the run-time environment be pervasive, cross-platform and free.
Tools for RIA development based on the SOC concept should also rely on modern, object-oriented programming languages and give developers libraries of reusable components to accelerate their efforts. SOC development tools also need to integrate to enable a smooth work flow among designers, content developers, code developers and quality-assurance staff. Lastly, the tools have to support accessibility and be able to deliver next-generation services such as two-way messaging and audio and video collaboration.
Building Front-End Value
For years, we’ve dealt with a bevy of fundamental technology issues. We’ve tried to enable databases to communicate with middleware and join silos of information. These issues at the lower tiers of the stack are now being resolved and rationalized in powerful ways through SOAs and Web services.
The next hurdle is putting people first—both developers and the end users of applications. The move to rationalize the middle and back-end tiers of the IT infrastructure is already well established and is yielding tremendous benefits. The next step—and likely where the biggest value lies—is closing the gap between back-end systems and front-end interfaces to drive richer, more dynamic user interactions.
Jeff Whatcott is senior director, product marketing, at Adobe Systems.