Whether you are an IT architect, a developer, or an administrator or you just want to find out more about what SOA is and how it can help your organization, you can learn a lot by following along in this article as JK Enterprises, a fictional company, goes through the process of implementing SOA solutions. First, let's take a general look at SOA and the method IBM offers to help you adopt SOA solutions and advance them if you've already started.

Introduction: Aligning IT with your business, increasing business agility

Service-Oriented Architecture (SOA) is an IT architectural style that supports the transformation of your business into a set of linked services, or repeatable business tasks, that can be accessed when needed over a network. This may be a local network, it may be the Internet, or it may be geographically and technologically diverse, combining services in New York, London, and Hong Kong as though they were all installed on your local desktop. These services can coalesce to accomplish a specific business task, enabling your business to quickly adapt to changing conditions and requirements

When SOA implementation is guided by strategic business goals, you ensure the positive transformation of your business and can realize the chief benefits on an SOA, as follows:

Together, these help assure that investment in expensive IT projects result in lasting value to the business.

So, how do you tap into SOA, and how does it affect your business? IBM has identified five entry points for ensuring that every SOA-based solution undertaken delivers real business value. Each entry point is coupled with a scenario, or defined approach, that implements the technologies and thus the business values defined in each entry point.

SOA entry points

The five entry points defined by IBM -- based upon real customer experiences -- can help you and your business benefit by implementing predefined SOA solutions. These entry points are driven by both business needs (people, process, and information entry points) and IT needs (connectivity and reuse entry points). Here are general descriptions of the five entry points:

We'll match these entry points with various scenarios, using a fictitious company called JK Enterprises, in order to implement a specific SOA approach. Let's first examine the scenarios.

SOA scenarios

Entry points were defined to help customers understand how to think about SOA. However, further implementation details were needed to help customers get their businesses and IT teams started down the path toward SOA. That's where the more specific scenarios come in.

Again based on real customer experiences and years of input, IBM technical experts realized that there were several common scenarios businesses tended to follow on their way to designing and implementing SOA solutions. By defining these scenarios, IBM provides you with predefined, real world approaches for implementing SOA solutions. Each scenario provides you with tested and integrated product offerings, or realizations, that can be used to implement the scenario. So, you can map scenarios to your company's specific goals and needs and get a good idea of how you can realize these benefits.

The five SOA entry points previously discussed map directly (that, is, they have a one-to-one relationship) to the first five scenarios in this list. (For example, reuse maps directly to service creation and connectivity maps to service connectivity.) There are three additional SOA scenarios that we will discuss that provide an underlying foundation across the above five entry points. They are SOA design, SOA governance and SOA security and ,management.

Let's take a minute to outline an actual entry point, scenario and its realizations. In Figure 1 you can see how the reuse entry point maps directly to the service creation scenario, which in turn contains three realizations, one of which is titled "create new services from scratch". So, pulling this together, in this example you enter SOA via the reuse entry point, which helps you tap into existing services in your company. If you then find you are missing a key SOA service, the "create new services from scratch" realization details how you can create one.


Figure 1. SOA entry points and scenarios
Figure 1. SOA entry points and scenarios

You should now be familiar with the five SOA entry points and the eight scenarios, and you should have an understanding how each scenario has multiple realizations to help you implement SOA solutions. Figure 1 shows one example of how you can mix and match these elements to provide various SOA approaches any company can take. To better illustrate these approaches, in the remainder of this article we'll follow along with JK Enterprises as they realize the many benefits of implementing SOA across their company.

JK Enterprises implements SOA solutions

Our fictional company, JK Enterprises, is a premier supplier of widgets to retail, small business, and corporate customers. With 11,000 employees in six different countries, they have a high-touch approach to their customers, which is what makes them so successful. They also have an insurance division in order to supply their retail customers with this additional benefit. In this section you will get a glimpse of how JK Enterprises has adopted SOA, going through a variety of entry points and implementing the applicable scenarios.

Reuse: Service creation

Let's start with the reuse entry point to SOA, which reuses existing assets that JK Enterprises already has. Service creation is the scenario that helps take JK into the reuse entry point, and it contains several realizations that will help JK implement this scenario. Services are self-contained, reusable software modules each of which performs a specific business task. They have well-defined interfaces and are independent of the applications and the computing platforms on which they run.

By implementing SOA reuse through service creation, JK Enterprises will realize the following value:

IBM makes it easy to reuse your existing assets, access external services, and create new services -- bringing real world benefits to your business faster. The following section will detail the reuse implementations that JK Enterprises will take advantage of.

JK Enterprises decides to realize the service creation scenario by implementing four methods defined within the scenario. These are all tested and proven approaches. Let's take a closer look.


Service-enable existing assets

One way JK Enterprises can create services is to use a technique called indirect exposure to service-enable existing assets. For example, to service-enable the account inquiry process, the company will expose their accounting application as a Simple Object Access Protocol (SOAP)/HTTP web service, implemented as a session bean. This approach uses a CICS transaction, accessed through an adapter for CICS. In this case, the consumer and provider are inside the firewall. Learn more about this here:


Create new services from scratch

Clearly, JK Enterprises can also simply create a new service from the ground up. In this case, the company needs to create an account eligibility service in order to review customer account application data. They also need the service in order to research information on several different systems to determine if a credit report is needed. They will expose this service as a web service, implemented as a session bean. The Web Services Description Language (WSDL) needed to describe the service will be Web Services – Interoperability (WS-I) compliant and contains the service definition and schema for the application eligibility service. The business logic will be added to the generated skeleton Enterprise Java™ Bean (EJB), and the client is .NET.

For more on this approach, take a look at these resources:


Consume external services

The company can also create services by finding and using a service outside its own IT infrastructure. JK Enterprises wants to use an external address verification service. To do so, they must create a WSDL file that is WS-I compliant and JAX-RPC compatible. Given how the provider is outside the firewall, they don't need a gateway. But they do need to implement security using mutually authenticated SSL. The client is written in Java.

That illustrates the options used by JK Enterprises to realize the service creation scenario. Now let's examine the next scenario that JK Enterprises will implement.

Connectivity: Service connectivity

At this point JK Enterprises has exposed existing IT applications as services, accessing external services and creating new services to fill in the gaps. Now it is time to connect these services to each other and beyond to the enterprise as a whole. This will be accomplished by implementing aspects of the service connectivity scenario, which is typically a way of getting started with SOA through the Connectivity entry point.

By implementing SOA connectivity through service connectivity, JK Enterprises will realize the following value:

JK Enterprises will enable connectivity in their system by implementing an Enterprise Service Bus (or ESB), which provides connectivity at a cost recognizably less than traditional connectivity. The ESB will allow them to connect their entire internal and external infrastructure in a secure and scaleable way.

Service creation and SOA Connectivity will provide JK Enterprises with greater business flexibility and a solid foundation to pursue further SOA projects. Follow along in this section to see the three connectivity implementations that JK Enterprises will take advantage of.

Get more information about ESB Interoperability:


Connect business systems based on open standards

The first order of business is for JK Enterprises to model how they want all of their information to flow across their Enterprise Service Bus (ESB), determining who needs what information and when they need it. The ESB unifies and connects services, applications, and resources within the business, allowing the connection of software running in parallel on different platforms and using various programming languages. Using this open standards-based approach, JK Enterprises creates a set of Web services to leverage existing mainframe information and also makes this information accessible via the Web.

The ESB will automatically look up any required information about JK Enterprises services from a centralized service registry. JK will also implement an automated console to manage this flow of information and ensure that it was functioning properly.

Look here for more information about this implementation method:


Deliver an existing process through new business channels

JK Enterprises has a variety of back-office systems in place to support the opening of customer accounts. But their redesigned business process calls for the addition of a Web portal to better serve their customers, providing the opportunity to use handheld devices, for instance, to develop a new business channel -- a way for JK Enterprises to communicate with and sell products to its customers. And to ensure a consistent user experience JK wants the Web portal to access these same back-office systems.

In order to accomplish this JK will need to implement advanced ESB functionality. By bringing ESB into the picture now, JK can later use kiosks or handhelds even without altering their back-office systems in any way.

For more information about this approach, see these resources:


Securely connect to external third parties and trading partners

Finally, JK needs a way to set up a gateway to securely connect to its external trading partners, such as its suppliers and service providers. They need to manage these connections centrally to ensure that service level agreements and policies will be upheld.

To connect to its trading partners, JK Enterprises will use an SOA appliance. This drop-in device provides the security and connectivity that JK needs to accelerate the processing of high-volume tasks. JK will also monitor and manage these interactions automatically to make sure the partners will deliver the service as promised.

Look here for details:

People: Interaction and collaboration services

JK Enterprises has created their SOA services and connected them to each other, and now it is time to focus on how these services are presented to the user who might be accessing them with a PC, a mobile device, or maybe even a voice response system. Continuing their SOA adoption through the people entry point using the interaction and collaboration services scenario, you can increase the consumption of applications and content. You can also improve their usability by the people in your company.

Here are some of the benefits JK Enterprises will receive by taking advantage of interaction and collaboration services:

JK Enterprises will implement the following methods to realize the service creation scenario. These are all tested and proven approaches.


Aggregating and invoking services through simple portlets

JK Enterprises needs a way for clients to open an account to get a line of credit for purchasing JK Enterprises' widgets. JK Enterprises wants to provide a service where the proper JK employees can use portlets to view all aspects of the given account and conduct all account related activities.

To handle this, JK Enterprises uses a Workplace Forms client interface to enter customer credit line requests. The submission of data to this form submits the data to DB2® Content Manager and places a notification of submission to an IBM WebSphere® MQ task queue. All new requests can now be viewed from a JK Enterprise accounts review page. JK Enterprises has also created a WebSphere Portal instance. Tivoli® Access Manager (WebSeal) is used to validate user login information, and in concert with WebSphere Portal a customized home page is generated. Various portlets make up this home page, and are created with WebSphere Portlet Factory, Workplace Designer, or Rational® Application Developer for WebSphere Software. The portlets make SOAP/HTPP requests with JK Enterprises' WebSphere Enterprise Services Bus to services that use DB2, Information Management System (IMS) and other systems.

Try these resources for more information about this implementation:


Rich, Web-based applications deployed as portlets in WebSphere Portal

JK Enterprises has decided to improve their experience for reviewing accounts. Currently, they are having difficulty keeping up with all the account on-boarding submissions. They must constantly refresh the accounts review page to display more information. JK Enterprises wants to see new requests immediately show up on the page, so that customers can approve while they are in the store.

To improve response time and user experience, JK Enterprises adds an automatically refreshing AJAX presentation to the account request portlet. The account review page is hosted by WebSphere Portal. The account request portlet is a JSR-168 portlet that was created using Rational Application Developer and contains widgets that are JSF controls that wrap AJAX widgets developed with the Dojo toolkit. These widgets make JSON requests that flow to a DataPower XI50 appliance, translating requests to a SOAP/HTTP to a service hosted in CICS.

Look here for more information about this approach:


Business process integration in WebSphere Portal

JK Enterprises is still not happy with their account on-boarding process. JK would like to add real process flow capability to their submission/approval process. They decide to replace their crude hard-coded workflow with WebSphere Process Server and to build BPEL flows. The new process routes submissions through an automated flow with routing decisions determined by defined human tasks for approval and rejection of account and credit requests.

The reengineered process will be built with the WebSphere Business Modeler and will use the WebSphere Integration Developer to formalize and deploy these BPEL definitions to integrate with JK Enterprises’ IT infrastructure, including the Tivoli Identity solution. The new process will automatically update task lists displayed in the JK Enterprises portal, Forms storage in DB2 Content Manager, backend CICS systems, and send emails that can be received in Lotus® Notes.

To learn more about this approach, see these resources:


Distributed portlets with federated portal servers

JK Enterprises has decided to launch an initiative for new customers. They have decided to use a temporary call center in India to handle the expected increase in call volume. Given the need to move quickly, and keeping IT security in mind, they decide to install a separate WebSphere Portal Server.

JK Enterprises exposes a few portlets running in their infrastructure via web services for Remote Portlets (WSRP). They will deploy their new initiative portlet in a "jail" environment, that is a remote portlet where testing can be done without harming the main portal system, running a new instance of WebSphere Application Server. The WebSphere Portal instance in India contains a set of WSRP Proxy portlets, which make SOAP/HTTP requests through a VPN network to portlets registered in JK enterprises WSRR.

For more details about this approach, see the following:


Managed client

JK Enterprises has service-enabled and portalized much of their current infrastructure, however, they have not rearchitected some Visual Basic and PHP applications built several years ago, running at their Peoria branch. They want to implement an SOA solution, but the shopping center that this branch is located in has limited bandwidth and the lines are unreliable. Even when their intranet connection is down this branch needs to be able to function, so they've decided to implement a solution with central management capability, a managed client solution.

JK Enterprises will use Lotus Expeditor to securely extend their SOA solution to desktops, laptops, kiosks, personal digital assistants (PDA), and smart phones. This will allow JK employees to have access to their SOA services using non-browser or occasionally connected applications on rich clients and on mobile clients. Lotus Expeditor provides a managed client platform, tools, and optional server connectors to rapidly build and deploy connected or semi-connected applications.

For more details about this approach:

Process: Business process management

JK Enterprise has now increased the consumption of their applications and content and improved their usability. They now are looking at how they can fix their existing credit application process. The current process is too complex, costly, time consuming, and difficult to mange. It is time to streamline the process to control cost, improve sales, manage risk, and improve customer satisfaction, and they can rely on the business process management (BPM) scenario to help them.

Business process management is a discipline, combining tools and methodology for governing an organization's cross-functional, core business processes. It focuses on achieving strategic business objectives by directing the deployment of resources from across the organization into efficient processes that create customer value. A core principle to BPM is one of continuous improvement, thereby perpetually increasing value generation and sustaining market competitiveness.

BPM enabled by SOA allows for changes to the business process without significant reengineering of the underlying technology and conversely, it allows for changes to the technology infrastructure without impacting the business process. JK Enterprises can take advantage of the business process management scenario in the following ways.


Business process modeling

Delivering a way for a company such as JK Enterprises to visualize their processes and accompanying decision points is the foundation of process management. Modeling these process flows allows JK Enterprises to identify bottlenecks, disconnects, and inefficiencies in their processes. This then allows them to quickly see areas for improvement and automation.

For more information about this approach, see the following:


Business activity monitoring and analysis

The ability to monitor process performance and detect events that may influence performance is a key ingredient for gaining control of business processes for JK Enterprises. They can use software to analyze process efficiency, thus aligning their process improvement with their goals and objectives. These results can be combined with dashboards, allowing visual monitoring, to improve management of the progress of individual work items in real time.

Please read the following for more information on this approach:


Process execution and automation (including human workflow)

Executing human-based process steps in conjunction with system-automated steps and information flows is required for most of the JK Enterprises' business process management cases. Human and human-to-system workflow automation offer some of the most significant opportunities for error reduction and cost savings.

Look here for more information about this approach:


Content management

In all business processes, information is either created or consumed as work progresses, and that is certainly true for JK Enterprises. Participants in a process need the ability to create new content as well as the ability to access and leverage existing content. Having the right information at your fingertips at the right time is critical to process success.

Look here for more information:


Rules

As JK Enterprises strives to become more agile it is crucial for them to have the ability to change rules in real time. Rule changes are often aimed at the action portion of a process, an application or a system. However, rules can also be applied to watch for exceptions or significant changes in business or technical events, or to indicate a need to tune a business model for expected or unexpected conditions.

Look here for more information:


Collaboration

For JK Enterprises to facilitate teamwork, throughput and team creativity for changing rule processes and rules no matter what the geographic location of the participants, there is a need for collaboration features combined with ubiquitous computing. Making group collaborative interactions highly integrated within a broader business process can deliver significant productivity gains.

Look here for more information on this approach:

Information: Information as a service

JK Enterprises is confident they have the proper business processes in place. Now they take a close look at the way information is gathered by, disseminated through, and how it flows across the company. The information as a service scenario has plenty to offer them as they use the SOA Information entry point.

By tapping into the information as a service scenario, JK will realize the following multiple benefits:

Let's see how JK Enterprises implements the information as a service scenario.


Simple information service

JK Enterprises has a single customer database, which contains tables for storage of customer and account application data. They use a form containing validation for data entry, and they use a single piece of credit information to determine whether or not an application should be approved.

In order to enable access to this information in an SOA process, JK Enterprises uses DB2 and Rational Application Developer. They then take advantage of Web services object runtime framework (WORF) or WebSphere Information Services Director, which is a module within the IBM Information Server. IBM introduced the IBM Information Server platform in late 2006, combining technologies from across the company's labs and acquisitions to enable clients to deliver trusted, consistent and reusable information to applications and business processes. With this approach, JK Enterprises packages the DB2 information as a service, which can be invoked as a Web service and thus become part of an SOA system.

For more information about this approach, see the following:


Federation: multiple acquisitions

JK Enterprises requires their customer account representatives to request real-time account balance information. JK has implemented real-time federation, which virtualizes data from multiple disparate information sources, providing an integrated view into distributed information without creating data redundancy.

JK Enterprises has decided to implement IBM WebSphere Federation Server product to provide direct, real-time SQL access to three data stores: DB2 zOS, DB2 for Linux, UNIX, and Windows, and Oracle v9.2. With WebSphere Federation Server, JK can meet their SOA goal of improving productivity, flexibility, and performance.

For more information about this approach, see the following:


Consolidation: controlling scattered information

JK Enterprises stores loan applications in DB2 version 9 and DB2 for Linux, UNIX, and Windows, and it wants to consolidate this customer information and get it under control. The ability to view this data in a consolidated way is essential to making quick and sound business decisions, since they are then based on complete and accurate views of JK data.

To make this happen JK can uses the component WebSphere DataStage which is shipped as part of IBM Information Server to tightly integrate this information. WebSphere DataStage is used to create a master database, which can house either complete matched records of reference data, or it can simply contain a cross-reference table of identifiers from JK Enterprises' databases.

Learn more about this approach from these resources:


Cleansing: standardizing data and formats

JK Enterprises must deal with the fact that it has information coming from more than one source and in different formats. All of it needs to feed into its customer data storage systems and applications. JK needs to normalize, validate, and standardize this information.

JK can do all of this by taking advantage of the QualityStage and WebSphere Customer Center products. The WebSphere QualityStage of IBM Information Server improves customer support and service, helping to identify a company's most profitable customers. WebSphere Customer Center provides real-time, transactional customer data integration (CDI), which helps JK keep a single, complete and accurate record of their customers.

For more about these activities, see these Web resources:


Master data management

JK Enterprises has customer information in many different sources, and they need to reconcile customer data with a single, definitive, master source that can be a reference source. To do this they need a repository, some models, and some processes to get to the data and manage it, all of which can be provided by a master data management solution.

By implementing a master data management solution, JK Enterprises not only acquires industry-aligned master data services and management infrastructure, they can also now manage their master information and business processes across heterogeneous sources. To do all of this they will install WebSphere Customer Center (which provides real-time, transactional customer data integration) and WebSphere Product Center (which helps assemble an accurate, consistent central repository).

Content integration

JK Enterprises need to determine whether customer external credit scores fall within a specified range to approve new accounts. Currently their service just goes to credit scoring and doesn't do any deeper analysis of the data. JK Enterprises creates shared content services to help them make this deeper analysis. These services make it easier to read and write content consistently across all locations and provide a single view of content across different types of storage mechanisms.

JK Enterprises will install IBM WebSphere Information Integrator Content Edition, so they can work with content from multiple, disparate content sources as if it were stored in one unified system. Content Edition provides a single interface to disparate content sources and workflow systems, out-of-the-box connectors and a toolkit for custom connectors, development components and APIs for building custom applications and it plugs into IBM Information Server using the WebSphere Information Integrator Content Edition wrapper.

For more about these activities, see these Web resources:


SOA design

JK Enterprises understands that SOA design is a crucial factor for reducing costs and increasing the effectiveness of IT integration in their company. Before implementing an SOA solution by jumping in and creating the appropriate services, JK and any other enterprise must first model and define interfaces for major new components and reuse of existing components.

IBM can get you started implementing this SOA scenario with the following products:


SOA governance

JK realizes the importance of SOA governance, or establishing and enforcing how key members of the enterprise agree to work together to plan and oversee the SOA system. They plan to implement a rigorous SOA governance policy. There are two aspects to governance:

It is common to mistake management for governance, but here are the general ways in which they differ:

So governance says how decisions should be made, while management makes and enforces decisions.

Any SOA governance scheme has to fit within an enterprise's IT governance, which does the following:

That is, IT governance is about who's responsible for what in an IT department and how the department knows those responsibilities are being performed.

SOA adds the following unique aspects to governance:

Look here for more information about SOA governance:


SOA security and management

JK Enterprises has benefited greatly from implementing SOA solutions, but they still must continue to secure and manage their information. Securing SOA services requires an evaluation of policies and decision making, as well as the management of these policies so they can be enforced.

JK Enterprises also realizes the importance of effective SOA management throughout the SOA timeline. By implementing SOA management, JK ensures the efficient use of all computing resources, keeping systems up and running, troubleshooting any problems that pop up, giving users the performance they require and balancing the use of all of these resources to meet JK's service-level agreements.

The SOA security and management scenario provides a pathway to implementing security and managing your SOA system.

There are various IBM products that can help you secure and manage your SOA services, including the following:

Summary

As you've seen, JK Enterprises has benefited in many ways by implementing the myriad SOA scenarios provided by IBM. You can dive in and learn more about any aspect of SOA using the scenarios detailed in this article. To get a good glimpse at all of the SOA entry points and scenarios that IBM provides, roll over the various elements in Figure 1.