Processes People
Tools & Applications
IBM Content Manager
Figure 1.3 Information as a service
use of standards such as JDBC and ODBC, and wrapping each of these applications as a Web service. Once the data are integrated, you may come up with decisions that might not have been logical otherwise, such as putting beer and diapers in the same aisle in order to sell more of both products.
With the data integrated you can further massage it to perform some additional analysis and get insightful relationships. This further massaging of the data can be performed by other software, such as entity analytics, master data, and so on as shown on the right side of the figure. Finally, this integrated data can be passed to other processes, tools and applications, and people for further analysis.
1.2.3 Service-Oriented Architecture
Service-Oriented Architecture (SOA), as its name implies, is an architecture based on services—
mainly Web services. SOA is not a product, but a methodology, a way to design systems that allow for integration, flexibility, loosely coupled components, and greater code reuse. With this architecture, business activities are treated as services that can be accessed on demand through the network.
Figure 1.4, which is also used in many IBM presentations, depicts the SOA lifecycle. It consists of four iterative steps or stages—Model, Assemble, Deploy, Manage—and a fifth step that pro-vides guidance throughout the cycle: Governance & Processes.
A more detailed explanation of each stage in the SOA lifecycle is provided in Table 1.2.
Table 1.2 The SOA Lifecycle Stages
SOA stage Description IBM Tools That Can Be Used
Model This stage is used to model and optimize your business processes. It is also used to determine the kinds of services needed and the type of data these services would access.
WebSphere Business Integration Modeler
Rational Software Architect Figure 1.4 The SOA Lifecycle
1.2.4 Web Services
A Web service, as its name implies, is a service made available through the Web. A more formal, but still simple definition states that a Web service is a way for an application to call a function over the network; however, there is no need to know
• The location where this function will be executed
• The platform in which the function will run (for example Linux, UNIX, Windows, the mainframe, Mac OS/X, etc.)
• The programming language in which the function was created (for example Java, Cobol, C, etc.)
Web services are powerful because they allow businesses to exchange information with minimal or no human intervention. Let's go back to the supermarket example to see the power of Web services in a more realistic scenario:
Let's say you order 100,000 cookies from a supplier, expecting all of them to be sold in one month. After the month passes only 60,000 are sold, so you are left with 40,000. Because these
Assemble This stage is about building new services and/
or reusing existing ones, and assembling them to form composite applications.
WebSphere Integration Developer Rational Application Developer
Deploy In this stage your services and applications are deployed into a secure environment that inte-grates people, processes, and information within your business. Manage In this stage, you need to manage and monitor
your system, find and correct inefficiencies and problems, deal with security, quality of service, and general system administration.
WebSphere Business Monitor Tivoli Composite Application Manager for SOA
Tivoli Identity Manager Governance Governance underpins all the lifecycle stages.
It ensures that all the services from inside and outside the organization are controlled so the system does not spin out of control. Gover-nance provides both direction and control.
N/A Table 1.2 The SOA Lifecycle Stages
SOA stage Description IBM Tools That Can Be Used
(Continued)
are cookies of a special kind, they will spoil in two weeks. You need to act fast and sell them to other smaller supermarkets or Internet companies such as Amazon.com or eBay. You can grab the phone and spend an entire morning calling each of the smaller supermarket clients, offering them as many cookies as they would want to buy from you; or you could take a more “technical”
approach and develop a simple application that would do this for you automatically. Assuming each of these smaller supermarket clients provide Web services, you could develop an applica-tion (in any programming language) that allows you to SQL insert overstocked items, such as the 40,000 cookies, into a DB2 database table overstock. You could then define a trigger on this table which invokes a DB2 stored procedure (more about triggers and stored procedures in Chapter 7, Working with Database Objects) that could consume Web services provided by the Internet companies or the smaller supermarket clients. This scenario is depicted in Figure 1.5.
As you can see from Figure 1.5, the simple act of inserting 40,000 cookies through your applica-tion into the table overstock in the DB2 server allows the systems of many smaller supermarkets and Internet companies, through the use of their Web services, to make the cookies available on their systems quickly, opening new sales channels. In Figure 1.5, DB2 is behaving as a Web ser-vice consumer, because it is using or “consuming” the Web serser-vices, while the smaller super-market clients and Internet companies are behaving as the Web service providers, because they are making these Web services available for others to use. For simplicity purposes, we have omitted in Figure 1.5 the call to a stored procedure. This scenario shows the power of Web ser-vices: business-to-business exchange of information using applications. There is no need for human intervention. DB2 and Web services will be discussed in more detail in Chapter 10, Mas-tering the DB2 pureXML Support.
Application
...
INSERT INTO overstock VALUES (40000, "cookie A") ...
Figure 1.5 Using a Web service