Work In Progress
Service-oriented architectures are a blueprint for software development, but they're hard to perfect
Service-oriented architectures are promoted as a model of efficiency for software development, a way of bringing plug-and-play ease to software "services." But implementing them hasn't been easy, with some companies finding that SOAs add complexity rather than simplicity.
Nearly a third of companies using them say service-oriented architectures are falling short of expectations, according to an InformationWeek Research survey. Among this group, a quarter have seen growing complexity in their IT systems, a third have been hit with higher-than-expected costs, and half report trouble cost-effectively integrating legacy systems into new software-development processes. It's a disappointing report card for a technical philosophy that's meant to guide software projects for years to come.
More Internet Insights
- Strengthen Organizational Agility with the Latest Advances in Case Management
- Accelerate Agility Now: WebSphere Application Server v8.5.5 Overview
- Altair Speeds Complex Simulation and Workload Management with the Intel' Xeon Phi Coprocessor
- How Virtualization is Key to Managing Risk
Software honchos haven't given up on SOAs, and many continue to be believe that their efforts will be worth the frustrations. In our survey of 120 business-technology professionals, respondents cited IT platform standardization, business-process automation, business flexibility, and operational savings as the leading business drivers behind their moves to service-oriented architectures.
The hard part is getting there. SOAs involve more than a few software services that get used across a couple of applications. They require a fundamental change in an IT organization's approach to software development, a broader role for business analysts, a clear understanding of employee and customer needs, and a plan for managing and securing the services that are key to it all.
The transition to service-oriented architectures from monolithic apps, where a big mass of code runs a series of processes from start to finish, is on the same scale as the move from mainframes to client-server systems, contends Gary Free, senior systems consultant at health insurer Highmark Inc., and it's fraught with as much uncertainty. "It's a totally different way of looking at things," says Free, lead architect for what Highmark considers its first true SOA project, revamping its entire claims-processing system.
Highmark is like most companies in that it's implementing a new architecture on a limited scale. It's already using a Web service it built a year ago that lets the insurer provide in seconds an automated response to queries from the University of Pittsburgh Medical Center about a patient's insurance coverage. The Web service converts a query from one of 19 hospital registration systems into an XML message that's moved over a network to Highmark's WebSphereMQ middleware, which then moves the message to Highmark's mainframe eligibility-status systems. Now Highmark is working with IBM Global Services to rebuild its claims-processing system as a set of reusable services, an effort that's likely to take three to five years, Free says.
It was important that Con-Way preserve the integrity of its data when moving to a service-oriented architecture, Sharabu says.
An architecture needs to lay out a pattern of how a company will build software for the future and assess whether something even ought to be built. "People are forgetting the A in SOA," says Ron Schmelzer, analyst with technology consulting firm ZapThink. Multiple Web services strung together do not an SOA make. That approach ultimately drains IT departments as staffers try to monitor service levels and enforce policies across a growing string of scattered applets.
Deep Understanding Needed
It takes both services and custom code to implement applications in service-oriented architectures and sharp business analysts to relate the requirements for an application to discrete processes. Highmark is considering creating a role of "SOA business-process analyst" to formulate a deep understanding of the company's business and identify frequently repeated processes that can be rebuilt as services, says VP of technology Michael Kronenwetter. Not all processes are so deserving; those that aren't will be built as custom application code or will continue chugging away as part of the 6 million lines of custom code in Highmark's legacy applications.
At freight hauler Con-Way Transportation Services Inc., Praveen Sharabu, director of enterprise architecture, understands the need for careful design to ensure data integrity. Con-Way started turning apps into components eight years ago, giving it a jump when an SOA became a goal in 2002. Con-Way uses IBM's WebSphere Application Developer, WebSphere Application Server, and WebSphereMQ messaging middleware to develop apps in Java.
Counting On Service-Oriented Architectures
say SOAs or Web services are very important to business goals
say SOAs or Web services met or exceeded expectations
say a goal of SOAs is to make app development more flexible
are adopting SOAs or Web services to increase customer satisfaction and revenue
say standards for Web services are being established too slowly
Data: InformationWeek SOA/Web-services survey of 120 business-technology professionals
But developing a service-oriented architecture to support its 70,000 customers meant closely matching the decisions customers need to make with the options Con-Way presents online. For instance, services had to be designed so that customers requesting a long-haul shipment provide all the data Con-Way would need to rate that shipment. "You have to cement data into the current status of the shipment--when it needs to be picked up, how it's rated, when it needs to be loaded and dispatched," Sharabu says.
Con-Way also had to follow good data-integrity practices with the new services. Data changes during any step of a service aren't committed to the database unless all steps are completed: If one fails, all data changes must be backed out. By ensuring that a business process is completed, Con-Way preserves data integrity. "We had to struggle with that," he says. "We had to ask, 'Are we leaving the data in a stable state?'"