|
Service Oriented Architectures for Today's Enterprise -- A Conversation with Solstice Software
TMCnet Associate Editor
In an effort to streamline business processes, many large enterprises today are implementing Service Oriented Architectures (SOAs).
But what exactly are SOAs, how can they make companies more efficient, and what are best practices for implementing these systems? TMCnet recently asked Chris Benedetto, vice president of marketing at Solstice Software, these and other questions.
Based on his answers, we bring you the straight scoop on SOAs.
First, a Definition
Benedetto defined “Service Oriented Architecture” as an approach to designing, implementing and deploying information systems using components that perform discrete functions.
Those components, also called “services,” he explained, can be distributed across geographies and systems.
He added: “Because the services are distinct, they can be orchestrated together in a dynamic way.”
To further clarify this concept, Benedetto compared the vertical structure of traditional IT systems with the horizontal approach of SOAs.
In the vertical structure scenario, each department in a company writes its own applications to satisfy its own needs, and those applications typically do not integrate with other departments.
SOAs instead takes a horizontal approach; if a company has customer data stored in different departments, for example, it's more efficient to share that data between all departments.
In other words, SOAs offer the same benefit of a centralized database (rather than several, duplicate databases).
SOA Advantages
Beyond the basic advantage of employing a horizontal approach, Benedetto said, SOAs have the added advantage of working very well with computers—which are extremely explicit in the way they handle information.
SOAs can match that explicitness, clearly defining pieces of information (messages). Eliminating ambiguity in this way eliminates the need to re-key data.
To illustrate this advantage, Benedetto used the example of a company that uses an order entry system to output reports on a daily basis. Because the company uses a traditional vertical structure, the inventory system is a separate entity.
That means the order reports have to be printed out, and the data re-keyed into the inventory system. Not only is this process inefficient, but it introduces possible errors.
Employing an SOA would allow the company to integrate the two services (order entry system, inventory system), streamlining the process.
A further advantage of SOAs is that they “are predominantly based on industry standards,” Benedetto told TMCnet. The benefit here is similar to the pros of standardized specs for the size of lightbulbs.
XML and Context
“XML as a markup language allows you to not only deliver content, but also to deliver context,” he said.
That context is delivered through the use of metadata that explicitly describes messages—for example, who created them, when they were created, and what categories they belong to.
As noted earlier, computers are very explicit in the way they handle information. XML data is therefore extremely specific, allowing messages to be shared between services with no ambiguity about the nature and context of those messages.
“It's a very good way of creating an efficient and clean system,” Benedetto told TMCnet.
Complex Deployments
Although the advent of XML (developed by W3C in the mid-1990s) helped simplify SOAs, Benedetto noted that they are still very complex systems because of all the components involved.
Some of those components include security vendors, governance vendors, registries (yellow pages-like documents listing existing services), integration hubs, and transport systems.
Successfully creating an SOA, Benedetto told TMCnet, means looking at all those pieces and figuring out not only how they will work together, but how the system can be tested before its is put into operation.
Testing, Testing
Benedetto strongly emphasized the importance of comprehensive, pre-deployment testing for SOAs. The cost to fix errors once such a system is in operation, he said, is at least ten times that of fixing problems earlier on.
Testing of SOAs is done in two ways. The end-user community, he noted, typically uses manual testing tools. While these tools are useful, they can only provide 10 percent “coverage” in terms of finding problems.
The remaining 90 percent of coverage must be provided by automated testing tools, a cost that any prudent company will realize is a long-term investment.
“The cost to fix a bug in an automated way is worth the investment in automated tools,” Benedetto told TMCnet.
Automated Advantages
Aside from the obvious benefits of finding and fixing bugs, automated testing tends to decrease time-to-deployment of SOA projects, while using fewer resources.
“We're seeing huge reductions in the number of employees needed,” Benedetto said.
Data from Solstice Software, he noted, indicates that automated testing typically ends up costing a third less than manual testing. It also helps IT staff live up to the promise of delivering on time.
“It appears from our experience that it costs less, that it is faster, and overall it generates a more responsive IT organization,” Bendetto said of automated testing.
Testing Strategically
Given that time is the rarest commodity in large companies, Benedetto said, the development of a comprehensive strategy for automated testing pays off. Skip the automated testing, and you risk a delayed or inefficient SOA project, among other problems already mentioned.
Benedetto noted that a successful testing strategy involves an enterprise’s developers, quality assurance staff, and operators.
Although these three groups are often disconnected from each other, a successful SOA deployment necessitates having them sit down together at the same table to gain a common understanding of the SOA project.
Solstice and SOAs
Bendetto’s product-oriented company, Solstice Software (founded in 2003), is focused on delivering solutions for automated testing of SOAs and other integration architectures.
The company’s products are designed for large companies that want to have visibility into the complex systems that support SOAs. Most of Solstice’s clients are enterprises specializing in high-transaction business processes that are technology driven.
Banking and insurance industry companies are two examples.
Companies in those industries, Benedetto noted, tend to have a number of technology platforms that need to be integrated, and many of them are re-architecturing using the SOA approach.
Solstice’s flagship product, Integra Suite (now out in version 5.3) is a license-based solution with two main parts:
1. Test automation core. This provides unit, component, and functional testing, as well as simulation capabilities and process validation.
Solstice also provides support and limited professional services.
-----
Mae Kowalke previously wrote for Cleveland Magazine in Ohio and The Burlington Free Press in Vermont. To see more of her articles, please visit Mae Kowalke’s columnist page.
[ Back To TMCnet.com's Homepage ]
|