IBM has been running several customer events and analyst events explaining our SOA products. In general, the events have gone well and the feedback has be good. Some customers and analysts have expressed some concern about complexity. I will try to clarify our products, their responsibilities and a simple, consummable approach to using them. The following exposition reflects my way of thinking about SOA.
First, there are "basic services." These are the reusable building blocks of functions. Programmers can build these services as "plain old Java objects (POJOs)" or Stateless SessionBeans. In their implementation, the basic services can use JDBC, JMS, other EJBs, etc. Programmers can use Rational Application Developer (RAD) to build the basic services and deploy them in WebSphere Application Server. WebSphere Application Server does not require RAD, and programmers can use tools as simple as Emacs. RAD also can build services that deploy into other environments, like Tomcat.
RAD and WebSphere also provide simple support for "data services," which are another type of basic service. There is simple development tool and runtime support for generating WSDL and services that wrap SQL queries and stored procedures. Again, RAD is optional, but offers value.
Second, there are "composite services." A composite service is a service that aggregates multiple services and implements functions that coordinate the services. For example, there may be basic services for CRM, ERP and Billing/Accounting. A composite service would implement the "Process Purchase Order" function that knits together calls to the existing services. Programmers can implement composite services using POJOs or Stateless SessionBeans. There are some other models or styles of implementing composite services that are simpler, more intuitive and more flexible. WebSphere Process Server (WPS) provides runtime support for these composite service styles, and WebSphere Integration Developer (WID) provides tools. Some examples of composite service implementation styles are:
-- BPEL4WS (workflow) processes.
-- Business State Machines
-- Simple Business Rules
There are also some types of service that are useful when aggregating other services into a solution. WID and WPS also provide support for these types. Examples are:
-- Interface Maps: This is a service that adapts or maps between a requested service interface and an implemented service interface. For example, a reusable purchase order management process may declare the expected SOA interface to a CRM system. The actual SOA interface may be different. An interface maps converts between the expected and implemented interface.
-- Selectors: In some environments, there may be multiple implementations of a specific service. For example, there may be different credit card processing services for different issuing banks. A selector is a service that uses data fields to select the correct implementation.
WPS is a superset of WebSphere Application Server. WID is a superset of RAD. Customers use WPS and WID if there are service styles or types in these products that they find useful.
IBM also announced WebSphere Enterprise Service Bus WESB). Currently, customers can implement an ESB using WPS or WebSphere Message Broker/MQ-Series. There are many functions in WPS that customers do not need for simple ESB scenarios. So, there is a subset of WPS that forms a simpler, more focused ESB. WESB will also provide tool support for common, in bus functions like message routing, database lookups during message processing, message transformation, etc.
WebSphere Message Broker offers additional functions and scalability relative to WESB. WebSphere Message Broker is also an incremental extension to customers existing MQ infrastructure. Customers may find it more natural to use WebSphere Message Broker as their next step evolving to an ESB from MQ, without using WebSphere.
Not all customers are alike. Different customers have different objectives and different next steps to SOA. IBM's SOA product family provides support for each of the simple next steps. In general, the products have a Russian doll model. Each more powerful products is a superset that adds functions to a simpler product.
SOA also introduces a requirement for systems management and security, for example service monitoring. WebSphere products come with embedded, WebSphere focused support for security and service management. Customers can choose to use Tivoli products in addition to the base WebSphere functions. For example,
-- IT Composite Application Manager for SOA supports end-to-end service monitoring and management over multiple environments in addition to WebSphere, for example WebLogic and .NET. Some customers will use IT CAM for SOA without using WebSphere at all.
-- IT Composite Application ManagerM for Response Time Tracking provides support for end-to-end monitoring and reporting of response times for many workloads, including SOA. IT CAM for RTT additionally monitors other response times, for example simple Web access and dynamic Web pages.
Tivoli is moving to a model in which these products are additive, and are plug-ins to a common configuration database and portal. Again, customers can get started solving the next problem they face.
I am happy to use this BLOG to discuss issues and customer/analyst perceptions. Our objective is to have a simple set of products that integrate well together and provide a consummable, intuitive next step for customers moving to SOA.
Middleware and tools
From archive: December 2005 X
donferguson 100000UVJJ 1,112 Views
One of the SOA papers I referenced in previous blogs can be found here -- http://www.research.ibm.com/journal/sj/444/ferguson.html. There are other interesting papers in this System Journal issue. I will also be attending the International Conference on Service Oriented Computing 2005 in Amsterdam next week. I will post references to interesting material I see.[Read More]
John Vlissides passed away earlier this week. John and I were contemporaries at IBM Research. We incoporated many of John's ideas in Research projects that I led before I transferred to IBM Software Group. John was a great guy and working with him was a lot of fun.[Read More]
I passed the second half of my black belt test. All I can say is "Ow!"[Read More]