10
© 2007 IBM C orporation IBM Softw are G roup D esigning a M ulti-tenantD ata architecture using DB2 V9 IBM DeveloperSkills Welcome to the IBM Software as a Service demonstration series. In this series, we will demonstrate a set of architectural patterns exploiting features in IBM middleware to build Software as a Service solutions. .

demo transcript

  • Upload
    tess98

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: demo transcript

• Presentation subtitle:20pt Arial Regular,green R223 | G255 | B102

Recommendedmaximum length: 2 lines

• Confidentiality/date line: 13pt Arial Regular, whiteMaximum length: 1 line

• Information separated by vertical strokes,with two spaces on either side

• Disclaimer information may also be appear in this area. Place flush left, aligned at bottom, 8-10pt Arial Regular, white

• IBM logo must not be moved, added to, or altered in any way.

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

• Presentation title:28pt Arial Regular, white

Recommended maximum length: 2 lines

• Group name:17pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

© 2007 IBM Corporation

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

For client presentations, client’s logo may go in this area

Designing a Multi-tenant Data architecture using DB2 V9

IBM Developer Skills

Welcome to the IBM Software as a Service demonstration series. In this series, we will demonstrate a set of architectural patterns exploiting features in IBM middleware to build Software as a Service solutions.

.

Page 2: demo transcript

• IBM logo must not be moved, added to, or altered inany way.

• Background shouldnot be modified, except for quotes, which use gray background.

• Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either side

• Slide heading:28pt Arial Regular, light blue R204 | G204 | B255

Maximum length: 2 lines

• Slide body:18pt Arial Regular, white

Square bullet color:green R223 | G255 | B102

Recommended maximum text length: 5 principal points

• Group name:14pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

developerWorks © 2007 IBM Corporation

Optional slide number: 10pt Arial Bold, white

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

Software as a Service

SaaS Demo Series – The Banking ApplicationEnterprise Scenarios

Building Multi-Tenant Applications using WebSphere Portal Server

Composing Multi-tenant User Interfaces using WebSphere Portlet Factory

Designing a Multi-tenant Data architecture using DB2 V9 Enforcing Security in a Software as a Service application

Building a multi-tenant user registry using WebSphere Portal Server & Tivoli Directory Server

Enforcing Role Based Access Control using WebSphere Portal Server & Tivoli Directory Server

Securing Workflows using WebSphere Process Server & Tivoli Directory Server

In this series, there are 7 demonstrations using “The Banking Application” that show how IBM middleware and configuration techniques can be used to solve key technical challenges for SaaS developers.

Designing a multi-tenant data architecture requires a decision on the degree of data isolation among tenants. A SaaS data architecture can range from isolated tenant databases to shared databases and even shared database schema. This demo focuses on a shared schema architecture and will show how the XML capabilities of DB2 v9 simplify tenant data configuration in this type of environment.

Page 3: demo transcript

• IBM logo must not be moved, added to, or altered inany way.

• Background shouldnot be modified, except for quotes, which use gray background.

• Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either side

• Slide heading:28pt Arial Regular, light blue R204 | G204 | B255

Maximum length: 2 lines

• Slide body:18pt Arial Regular, white

Square bullet color:green R223 | G255 | B102

Recommended maximum text length: 5 principal points

• Group name:14pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

developerWorks © 2007 IBM Corporation

Optional slide number: 10pt Arial Bold, white

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

Software as a Service

Technical Challenge Addressed in this Demo

How does a shared database environment differ from an isolated database environment?

Within a shared database environment, how can you customize the database schema for one tenant without affecting other tenants?

Two of the SaaS challenges that will be addressed in this demo are:

1. How can you use a shared database environment (as opposed to an isolated database environment) for supporting a multi-tenant data tier in a SaaS application?

And 2. Within a shared database environment, how can you customize the database schema for one tenant without affecting other tenants?

Page 4: demo transcript

• IBM logo must not be moved, added to, or altered inany way.

• Background shouldnot be modified, except for quotes, which use gray background.

• Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either side

• Slide heading:28pt Arial Regular, light blue R204 | G204 | B255

Maximum length: 2 lines

• Slide body:18pt Arial Regular, white

Square bullet color:green R223 | G255 | B102

Recommended maximum text length: 5 principal points

• Group name:14pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

developerWorks © 2007 IBM Corporation

Optional slide number: 10pt Arial Bold, white

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

Software as a Service

Data Architecture – Isolated vs Shared environments

vs

Semi-shared SharedIsolated

vsSeparateDatabases

Shared Database,Separate Schema

Shared Database,Shared Schema

This picture represents the range of data tier architectural choices available in a SaaS application. We will compare the three in terms of the cost to the tenant and the ease of configuration for the tenant data. Data security is another very important consideration, but will be covered in a future demo.

On the left we show an isolated environment called E1. Each tenant has their own database. E1 offers the most flexibility in terms of configuration as the tables are designed with custom columns to support the single tenant. It is also the most expensive solution as a single tenant must bear the sole cost of the hardware and maintenance.

In the middle we show a shared database with separate schemas called E2. E2 offers a lesser degree of data isolation than E1. E2 is also less costly than E1 as this approach can typically accommodate more tenants per server than E1 so the hardware and maintenance costs are split amonst the tenants. E2 offers the same ease of configurability as E1 by using custom columns.

On the right we show a shared schema environment called E3. E3 has the lowest hardware and maintenance costs. It allows you to serve the largest number of tenants per database server. However, because multiple tenants share the same database tables, this approach has typically been viewed as the most difficult to configure, requiring the use of either name/value pair columns or pre-allocated fields to satisfy unique tenant requirements. What we’ll be illustrating in this demo is that by using the pureXML capabilities of DB2 v9, the

Page 5: demo transcript

configuration complexity issue is removed, as configuration using XML provides a comparable solution as using custom columns.

• IBM logo must not be moved, added to, or altered inany way.

• Background shouldnot be modified, except for quotes, which use gray background.

• Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either side

• Slide heading:28pt Arial Regular, light blue R204 | G204 | B255

Maximum length: 2 lines

• Slide body:18pt Arial Regular, white

Square bullet color:green R223 | G255 | B102

Recommended maximum text length: 5 principal points

• Group name:14pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

developerWorks © 2007 IBM Corporation

Optional slide number: 10pt Arial Bold, white

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

Software as a Service

Utilizing the XML Capabilities of DB2 v9 to enable tenant data tier configuration

Multi-tenant Banking Application

bankid:Integercustomerdoc:xml

customerid:Integerbankid:Integerfirstname:StringlastName:StringcellPhone:StringhomePhone: String

CustomerProfile – Bank 1

customerid:Integerbankid:Integerfirstname:Stringlastname:StringhomePhone: String

CustomerProfile – Bank 2CustomerProfileShared by both banks

Traditional SQL DBs Utilizing DB2 v9XML Capabilities

Bank 1Bank 2

This scenario will show how we shared the database schema across two tenant banks through the use of a bank id column and an xml column in each of the database tables in the Banking Application.

In this scenario we have two banks hosted in a multi-tenant banking environment, Bank1 and Bank2. Each bank has its own virtual portal that is administered through the use of profiles which contain the service endpoints for their bank as well as configuration information and branding.

 Our focus is on the Customer Profile of both banks. Both banks will store their customer profile data in the same db2 table using a bank id column and an XML column. The XML contents of the two banks differ in that Bank 1 has an extra element for cell phone. The capability to store the data and designate xml fields as optional in the xsd allows us to use the same web service for updating that data for both banks, further simplifying the tenant data configuration.  We begin by logging into the administrator portal of each bank to show that the Customer management and Customer query web services for both banks point to the same service endpoints.

Page 6: demo transcript

Here is the profile for Bank 1.

Notice that the two services that manage the storing and accessing of the customer profile data are set here under customer management and customer query.

Here is the profile for the Bank 2.

You can see that the service endpoints for customer management and customer query are set to the same values as the Bank 1.

This shows that the same web service is being used to update the customer profile data for both banks. We now access the customer profile portlet for Bank 1.

We select customer 001001.

Notice the profile elements that we store for Bank 1.

This profile includes a cell phone number in addition to the home phone number.

We’ll update this profile by changing the cell phone number to demonstrate the use of the customer management web service.

Let’s access a customer profile record for the Bank 2.

We select customer 002001.

Notice the customer profile fields for this bank. There is only one phone number in this profile, the home phone.

We update the home phone utilizing the same Customer management web service that Bank 1 used.

Page 7: demo transcript

• IBM logo must not be moved, added to, or altered inany way.

• Background shouldnot be modified, except for quotes, which use gray background.

• Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either side

• Slide heading:28pt Arial Regular, light blue R204 | G204 | B255

Maximum length: 2 lines

• Slide body:18pt Arial Regular, white

Square bullet color:green R223 | G255 | B102

Recommended maximum text length: 5 principal points

• Group name:14pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

developerWorks © 2007 IBM Corporation

Optional slide number: 10pt Arial Bold, white

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

Software as a Service

CustomerProfile XSD

Optional

This is a view of the CustomerProfile xsd that was defined for the banking application. Notice that the cell phone element has a specification of minOccurs=0, maxOccurs=1. This specification designates this field as optional. In our scenario Bank 1 elected to use that field, Bank 2 did not. Now let’s take a look at the data as it is stored in db2.

We use the db2 command center to select the customer profile document for customer 001001.

Notice that there is a phone number and a cell phone number within the XML document, and they correspond to the values we updated in the Bank 1 Customer Profile portlet.

We execute the same query for customer 002001.

This XML document, which is stored in the same db2 column as the previous example, does not have a cell phone number.

Page 8: demo transcript

• IBM logo must not be moved, added to, or altered inany way.

• Background shouldnot be modified, except for quotes, which use gray background.

• Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either side

• Slide heading:28pt Arial Regular, light blue R204 | G204 | B255

Maximum length: 2 lines

• Slide body:18pt Arial Regular, white

Square bullet color:green R223 | G255 | B102

Recommended maximum text length: 5 principal points

• Group name:14pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

developerWorks © 2007 IBM Corporation

Optional slide number: 10pt Arial Bold, white

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

Software as a Service

Conclusion

The XML capabilities of DB2 v9 simplify tenant configurability of the data tier in a shared environment.

In conclusion, we have demonstrated how the pureXML capabilities in DB2 v9 provide the ability to customize data for different tenants using a single shared XML column. This capability allows each bank tenant administrator to define their own data object structures while storing that data in a shared table and using common services to maintain that data.

Page 9: demo transcript

• IBM logo must not be moved, added to, or altered inany way.

• Background shouldnot be modified, except for quotes, which use gray background.

• Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either side

• Slide heading:28pt Arial Regular, light blue R204 | G204 | B255

Maximum length: 2 lines

• Slide body:18pt Arial Regular, white

Square bullet color:green R223 | G255 | B102

Recommended maximum text length: 5 principal points

• Group name:14pt Arial Regular, white

Maximum length: 1 line

• Copyright: 10pt ArialRegular, white

Template release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentations

IBM Software Group

developerWorks © 2007 IBM Corporation

Optional slide number: 10pt Arial Bold, white

Indications in green = Live content

Indications in white = Edit in master

Indications in blue = Locked elements

Indications in black = Optional elements

Software as a Service

Ready to Go Further With IBM?

Join the SaaS CommunityRegister for PartnerWorld

http://www.ibm.com/partnerworld/joinSelect Software as a Service as an interest area

Network with other SaaS business partners at SaaSpace.com

Visit the Virtual Innovation CenterTake the SaaS Education Courses

http://www.ibm.com/partnerworld/vic

Host with IBM to advance to the SaaS SpecialtyFill out the Project Profile on the Virtual Innovation Center to engage a Program

Resource Manager. Receive additional marketing resources and benefits

Learn

more.

Deploy

faster.

Host secure and reliable

solutions.

Only with IBM.

IBM has innovative resources and programs to help you manage change & become relevant in the Software as a Service market. Whether you’re an ISV, System Integrator or Reseller, we can provide education, support and benefits to help you grow revenue and differentiate yourself.

The first step will be to join the SaaS community. You will automatically be kept aware of new SaaS technical benefits and workshops and get the enablement help that you need to transform your application for delivery in the IBM Software as a Service model.

Then, as a member of IBM SaaS community, you can register at the Virtual Innovation Center (VIC) where you will get personalized access to product support and education to help build your Software as a Service knowledge and skills.

As an Advanced level member of PartnerWorld, you have the opportunity to gain access to additional marketing and sales support by qualifying for the Software as a Service specialty.

For more information, Visit our main site at www.ibm.com/partnerworld/saas.