Book Excerpt: Exploring IBM SOA Technology & Practice : Page 2

Learn all about IBM's SOA Entry Points, a simple but effective vendor-neutral approach for discovering and developing services a few at a time.

by Bobby Woolf

Feb 21, 2008

Page 2 of 4

People
The people entry point focuses on services that enable human usersemployees, partners, and customersto be more productive and to collaborate more effectively. Such services can aggregate information from otherwise unrelated sources based on each user's specific context. They can interact with business processes to enable humans to participate in otherwise automated and centrally managed processes. These user-oriented services hide the boundaries created by separate applications and data centers, presenting a unified experience that is exactly what the user needs.

People-focused services can be implemented using any technology for user interface components, typically a graphical user interface (GUI). GUIs today are often Web interfaces created from dynamically generated HTML, produced by technologies like JavaServer Pages (JSP), portlets, and Asynchronous JavaScript and XML (AJAX). A JSP can accept input used to invoke a service and can display the service's output. A portlet is a reusable GUI segment, designed to be composed with others in a single portal screen. A service portlet accesses its data from a service and then displays it in the portal; the configuration of the portlet often acts as input to the service. New portal screens can easily be built by combining together existing portlets, each of which just needs its corresponding service to be available at runtime. Likewise, people-focused services can be used to support Web 2.0 GUIs, such as the AJAX technique for interactive Web GUIs, which retrieves new data for a display by asynchronously invoking a service. People-focused services can also be used to develop alternative user I/O, such as GUIs for the limited screens on mobile devices and audio I/O for telephone access.

The value of people-focused services is that they enable users to exploit services and even act as services, and to experience the benefits of SOA directly.

The value of people-focused services is that they enable users to exploit services and even act as services, and to experience the benefits of SOA directly. Composite applications, especially those with portal and/or Web 2.0 GUIs, can be created, deployed, and updated easier, faster, and more reliably using SOA techniques.

People-focused services fit well into SOA because they enable the user interface to be composed of services. A composite application can be custom-composed of reusable services, and then its UI can likewise be custom-created using widgets that already know how to display and interact with those services. Because this unified model is a set of services, it can be reused for different types of users, creating consistency of user experience and eliminating redundant efforts to implement these experiences.

There are a couple of good ways to get started developing people services. Look for business tasks people perform that require them to access several separate applications. Also look for tasks requiring lots of different information, or tasks where the information needed differs for different types of users in different contexts. Services like these can be extended to create alert-driven dashboards that let people know when there is work to be performed.

Process
The process entry point focuses on services that enable businesses to automate their business processesa predictable chain of tasks that produces a business result. An organization uses this entry point to build business processes from reusable components, optimize them, and then can easily update them and monitor their execution.

Process services are often implemented using business process execution language (BPEL), an XML document schema for describing business processes. Systems analysts and developers use business process editors to develop business processes, whose output is BPEL. Administrators then deploy the BPEL into a business process engine that executes the business process at runtime. The current BPEL standard does not support human interaction, and so is often supplemented with other emerging standards like WS-BPEL Extension for People.

A value of process-focused services is that they enable systems analysts to quickly and easily describe what a business should do without initially getting bogged down in the details of how it should do it.

A value of process-focused services is that they enable systems analysts to quickly and easily describe what a business should do without initially getting bogged down in the details of how it should do it. For example, processing an insurance claim can look as simple as: gather details, verify details, adjust claim, and issue payment. Those steps can be implemented separately; the way a particular step works may be completely redesigned, but the overall process remains valid. The process is not lost in the code, but is externalized where it can easily be understood, measured, and adjusted.

Process services fit well into SOA because the process itself is a service and each activity in the process is a service. New services can be created easily by developing new processes that combine existing services together in new ways. Business processes lend themselves to monitoring, with their status displayed in dashboards.

To start developing a process service, look for a business process that needs better automation or monitoring. Such processes often run as batches in the background: A customer submits an order. A policy holder submits a claim. A business partner makes a change affecting several systems. A business process can start immediately, and automatically creates a history of how many are running and what they're doing. The services used to develop a business process can then be reused in different compositions to develop other business processes.