If a service-oriented architecture (SOA) were a living organism, its Web services and subsystems would be its organs, a Business Process Management tool would be its thought patterns and its central nervous system would be the very network on which it sits.
Blue Titan Software Inc. just added some more brain power to its enterprise nervous system.
On Monday, the San Francisco-based Web services management (WSM) company unveiled two new product enhancements to its enterprise SOA fabric offering -- Network Director RM 3.5 and Network Director 3.5.
Historically, the term "fabric" was commonly used in the realm of data networks or storage area networks, said Chris Schin, director of product marketing at Blue Titan.
Blue Titan has essentially taken these raw networking concepts and brought them up to the application layer. The Network Director series of products are SOAP routers that act as control points that intermediate messages between Web services.
SOA fabrics are intelligent networks in which Web services policies such as security, reliable messaging and manageability are enforced at routing time, Schin said. In effect, the fabric enforces all qualities of service at the network layer, enabling services to simply expose their business logic.
According to Anne Thomas Manes, a vice president and research director at Midvale, Utah-based Burton Group, an SOA fabric is really just a managed communication environment.
"At a minimum, [an SOA fabric] needs to have Web services management and Web services registry functionality built into it," she said.
Network Director RM 3.5 is the first iteration of the product and offers the ability to bridge to messaging backbones such as Enterprise Service Buses [ESBs] and Java Message Service [JMS] implementations.
The task of bridging disparate JMS "islands" or message-oriented middleware can be difficult, Schin said.
"Every JMS is a little bit different, and they don't speak to each other that well," he said. "Our goal is to extend these JMS islands out to the edges of the network."
For instance, when a SOAP over HTTP message hits one of the control points, it can become a SOAP or XML over JMS message and get passed on to an IBM WebSphere MQ bus, a Sonic ESB or a BEA Systems queue.
But the line between an ESB and an SOA fabric can get blurry, according to Manes. There is an overlap in functionality with the WSM capabilities typically found in SOA fabrics with those found in ESBs.
"Both WSM and ESB products use a similar architecture -- they provide SOAP intermediaries that enforce policies on messages in flight between a sender and a receiver," Manes said.
The newly added support for reliable messaging in the Network Director RM product has traditionally been an ESB capability, according to Manes.
Other new features in the Network Director RM 3.5 include durable queuing and support for the WS-ReliableMessaging (WSRM) specification.
With durable queueing, once a message hits a Network Director RM control point, it gets written to disk, which ensures guaranteed delivery, Schin said.
WSRM defines a protocol in which information is declaratively stated in the SOAP information header. Based on the order in which a sequence of messages is received, the service end point, which also speaks WSRM, acknowledges that it has received these messages in the proper sequence and ensures that the messages are processed in the correct order.
Blue Titan, SOA Software and Infravio fit into the SOA fabric market, Manes said.
"WebMethods also claims to be in this space, but they are an ESB with some WSM functionality -- they are not a true SOA fabric product," she said.
An SOA fabric, for instance, can also be created by combining AmberPoint's Web services management product with Systinet's registry.
To proxy or not to proxy
WSM products from AmberPoint, Blue Titan and SOA Software support at least two types of configurations: They can be deployed as a proxy in front of the Web services platform or deployed as an interceptor within the WSP, according to Manes.
In the programming world, an interceptor allows developers to factor out redundant code into aspects. An interceptor is an aspect that gets associated with components via meta data, at runtime.
The proxy configuration typically imposes more overhead (including an extra network hop), but it is less invasive than the interceptor configuration, according to Manes.
"Blue Titan supports only the proxy configuration," Manes said. "They position it as a feature because it enforces a clean separation of concerns between the application developer and the administrator responsible for quality of service."