- 1.1 Brief History of DB2
- 1.2 The Role of DB2 in the Information On Demand World
- 1.3 DB2 EDITIONS
- 1.4 DB2 Clients
- 1.5 Try-and-Buy Versions
- 1.6 Host Connectivity
- 1.7 Federation Support
- 1.8 Replication Support
- 1.9 IBM WebSphere Federation Server and WebSphere Replication Server
- 1.10 Special Package Offerings for Developers
- 1.11 DB2 Syntax Diagram Conventions
- 1.12 Case Study
- 1.13 Summary
- 1.14 Review Questions
1.2 The Role of DB2 in the Information On Demand World
IBM's direction or strategy is based on some key concepts and technologies:
- On-Demand Business
- Information On Demand (IOD)
- Service-Oriented Architecture (SOA)
- Web Services
- XML
In this section we describe each of these concepts, and we explain where DB2 fits in the strategy.
1.2.1 On-Demand Business
We live in a complex world with complex computer systems where change is a constant. At the same time, customers are becoming more demanding and less tolerant of mistakes. In a challenging environment like this, businesses need to react quickly to market changes; otherwise, they will be left behind by competitors. In order to react quickly, a business needs to be integrated and flexible. In other words, a business today needs to be an on-demand business.
An on-demand business, as defined by IBM, is "an enterprise whose business processes—integrated end to end across the company and with key partners, suppliers and customers—can respond with speed to any customer demand, market opportunity, or external threat."
IBM's on-demand business model is based on this definition. To support the on-demand model, IBM uses the e-business framework shown in Figure 1.2.
Figure 1.2 The IBM e-business framework
In Figure 1.2 the dotted line divides the logical concepts at the top with the physical implementation at the bottom. Conceptually, the IBM e-business framework is based on the on-demand business model operating environment, which has four essential characteristics: It is integrated, open, virtualized, and autonomic. These characteristics are explained later in this section.
The area below the dotted line illustrates how this environment is implemented by the suite of IBM software products.
- Rational is the "build" software portfolio; it is used to develop software.
- Information Management (where DB2 belongs) and WebSphere are the "run" software portfolios; they store and manipulate your data and manage your applications.
- Tivoli is the "manage" software portfolio; it integrates, provides security, and manages your overall systems.
- Lotus is the "collaborate" software portfolio used for integration, messaging, and collaboration across all the other software portfolios.
The IBM DB2 software plays a critical role in the on-demand operating environment. All elements of the Information Management portfolio, including DB2, are developed with the four essential characteristics of the on-demand business model in mind.
- Integrated: DB2 software has built-in support for both Microsoft and Java development environments. It is also integrated into WebSphere, Tivoli, Lotus, and Rational products. In addition, the DB2 family has cross-platform capabilities and can be integrated natively with Web services and message-queuing technologies. It also provides support for heterogeneous data sources for both structured and unstructured information, including pureXML support.
- Open: DB2 software allows for different technologies to connect and integrate by following standards. Thus, it provides strong support for the Linux operating system and for Java, XML, Web services, grid computing, and other major industry applications.
- Virtualized: Grid computing technology, a type of distributed computing, collects and shares resources in a large network to simulate one large, virtual computer. DB2 software products support grid computing technology through federation and integration technologies. Both of these are discussed in more detail later in this chapter.
- Autonomic: An autonomic computing system manages, repairs, and protects itself. As systems become more complex, autonomic computing systems will become essential. DB2 provides self-tuning capabilities, dynamic adjustment and tuning, simple and silent installation processes, and integration with Tivoli for system security and management.
The bottom of Figure 1.2 shows the operating systems in which the IBM software suite can operate: Linux, UNIX, Windows, i5/OS, and z/OS. Below that, the servers, storage, and network represent the actual hardware used to support the framework.
An on-demand business depends on having information available on demand, whenever it is needed, by people, tools, or applications. Information On Demand is discussed in the next section.
1.2.2 Information On Demand
Information On Demand, as its name implies, is making information available whenever people, tools, or applications demand or request it. This can be made possible by providing information as a service. IBM commonly uses the illustration in Figure 1.3 to explain what "information as a service" means. Let's use the following example to explain this concept in a more interesting way. Assume you are the general manager of a supermarket, and your main goal is to make this business profitable. To accomplish this, you must make good decisions, such as how to display items on shelves so that they sell more. In order to make good decisions, you need to have up-to-date, reliable information.
Figure 1.3 Information as a service
As depicted at the bottom of Figure 1.3, many businesses today have a large number of heterogeneous sources of information. For this particular example let's assume your suppliers use SAP and DB2, your sales department uses an internally developed application, your smaller supermarket clients use Peoplesoft, and Oracle, and so on. Thus, you see several heterogeneous applications with semi-raw data, which will only be valuable to you if you can integrate them all. In order to integrate the data, it needs to be provided as a service, and this is possible through the 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 provides guidance throughout the cycle: Governance & Processes.
Figure 1.4 The SOA Lifecycle
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 |
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 integrates people, processes, and information within your business. |
WebSphere Process Server WebSphere Message Broker WebSphere Partner Gateway WebSphere Portal WebSphere Everyplace Deployment Workplace Collaboration Services WebSphere Information Integrator WebSphere Application Server |
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. Governance provides both direction and control. |
N/A |
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 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 application (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.
Figure 1.5 Using a Web service
As you can see from Figure 1.5, the simple act of inserting 40,000 cookies through your application 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 service consumer, because it is using or "consuming" the Web services, while the smaller supermarket 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 services: 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, Mastering the DB2 pureXML Support.
1.2.5 XML
XML stands for eXtensible Markup Language. XML's popularity and use has grown exponentially in the past few years, as it is a core component of many new technologies. The easiest way to understand how XML works is by comparing it to HTML, given that many people today are familiar with HTML. Let's take a look at the following line in an HTML document:
<b>Raul</b>
In the above line, the tag <b> indicates the way you would like to display the text, in this case, Raul in bold. Now Let's take a look at the following line in an XML document:
<name>Raul</name>
In the above line, the tag <name> describes the text Raul. The tag is saying that Raul is in fact a name. See the difference? In HTML, tags are used to indicate how you would like to display the data; in XML, tags are used to actually describe the data. Table 1.3 describes the characteristics of XML.
Table 1.3. Characteristics of XML
XML Characteristic |
Description |
Flexible |
XML is a flexible language because it is easy to modify or adapt. XML is based on a hierarchical model, which is most appropriate to store unstructured types of information such as financial information, life sciences information (for example Genome, DNA), and so on. |
Easy to extend |
XML is easy to extend; that is, you can create your own tags. For example, in addition to the <name> tag in the example above, you could create new tags such as <address>, <email>, <phone>, and so on. This means you can create your own language or protocol based on XML. |
Describes itself |
XML can describe itself; another document called an XML Schema (which itself is an XML document) is used to provide rules and descriptions as to what each of the tags in a document mean and restrict the type of data the tags can contain. An older method, but still widely used today, is to use DTD documents. In the above example, an XML Schema or DTD document can indicate that the tag <name> can only be used to store characters. |
Can be transformed to other formats |
XML can be transformed to other formats like HTML, using Extensible Stylesheet Language Transformations (XSLT), a language used for the transformation of XML documents. |
Independent of the platform or vendor |
XML is independent of the platform or vendor; after all, XML documents can be stored in text files containing tags. Text documents are supported everywhere. |
Easy to share |
XML is easy to share with other applications, businesses, and processes given that it can be stored as a text document. Because it is easy to share, it's appropriate as the core of Web services. |
XML is also at the core of Web 2.0 development technologies. Web 2.0, as defined in Wikipedia.org "refers to a perceived second generation of web-based communities and hosted services—such as social-networking sites, wikis, and folksonomies—which facilitate collaboration and sharing between users". Wikis, blogs, mash-ups, RSS or atom feeds, and so on, which are part of Web 2.0 development technologies, are all based on or related to XML. This makes DB2 9.5 the ideal data server platform for Web 2.0 development. Table 1.4 describes the different technologies that are part of Web 2.0.
Table 1.4. Web 2.0 Technologies
Web 2.0 Technology |
Description |
AJAX |
Asynchronous Javascript and XML: A technique for creating interactive Web applications, which can update parts of a Web page without refreshing the entire page. |
AdSense |
This is an advertisement serving program where Web site owners can enable text, image, and video advertisement on their site, and ads will appear based on the Web site content, the user's geographic location, and other factors. |
Blog |
Also known as a Web log, this is a Web-based publication of periodic articles in journal style displayed in chronological order. It is often used to provide personal commentaries on a subject or as personal online diaries. |
Mashup |
This is a Web application hybrid, that is, a Web site or application that is derived by aggregating components or services from other sources such as RSS or atom feeds, and JavaScript. |
REST |
Representational State Transfer: An architectural style for distributed hypermedia systems like the World Wide Web. |
RSS and Atom |
RSS (Really Simple Syndication) and Atom are XML file formats for Web syndication, which provides a way to distribute information. |
Tagging |
Bookmarks that provide a way to attach keywords to pages or images on the Web, helping categorize and making things easier to find (i.e, metadata). |
Wiki |
A type of Web site that allows for community authoring (add/delete/edit content). |
XML is discussed in more detail in Chapter 10, Mastering the DB2 pureXML Support.
1.2.6 DB2 and the IBM Strategy
Now that you understand the key concepts of the overall IBM strategy, you may be asking yourself, how do these concepts relate to each other? Where does DB2 fit in the overall strategy? To answer these questions, let's take a look at Figure 1.6.
Figure 1.6 The role of DB2 in the IBM strategy
As shown in Figure 1.6, an on-demand business depends on Information On Demand, which depends on Service-Oriented Architecture, which depends on Web services, which depends on XML. The figure shows why XML is so important: XML is at the base of all of these concepts; without it, they would be hard to implement.
XML documents need to be stored in a safe place that allows for storing, managing, and retrieving large volumes of these documents. Persistency, scalability, security, recovery, and good performance are all important features to consider when selecting a repository for your XML documents. All of these features have already been provided for many years in databases; therefore, a database is probably the best repository for XML documents. DB2 has been providing support to work with XML documents for several years. Starting in version 9, as described earlier in this chapter, pureXML technology is made available, which greatly enhances performance by internally storing XML documents in a parsed-hierarchical manner, as a tree. Thus, in summary, the role of DB2 in the Information On Demand world is to be the repository of XML documents. This is why DB2 is shown at the bottom of the figure, supporting all the other technologies.