Indications in green = Live content Indications in white = Edit in master Template release: Oct 02 For the latest, go to http://w3.ibm.com/ibm/presentations Indications in blue = Locked elements Indications in black = Optional elements • IBM logo must not be moved, added to, or altered in any way. • Group name: 17pt Arial Regular, white IBM Software Group Maximum length: 1 line • Presentation title: 28pt Arial Regular, white Recommended maximum length: 2 lines For client presentations, client’s logo may go in this area Designing a Multi-tenant Data architecture using DB2 V9 • Presentation subtitle: 20pt Arial Regular, green R223 | G255 | B102 Recommended maximum length: 2 lines IBM Developer Skills © 2007 IBM Corporation • Confidentiality/date line: 13pt Arial Regular, white Maximum 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 • Copyright: 10pt Arial Regular, white 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. . Indications in green = Live content Indications in white = Edit in master Template release: Oct 02 For the latest, go to http://w3.ibm.com/ibm/presentations • Group name: 14pt Arial Regular, white Indications in blue = Locked elements Indications in black = Optional elements • IBM logo must not be moved, added to, or altered in any way. IBM Software Group Maximum length: 1 line SaaS Demo Series – The Banking Application • Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Maximum length: 2 lines Enterprise Scenarios • Slide body: 18pt Arial Regular, white Square bullet color: green R223 | G255 | B102 Recommended maximum text length: 5 principal points 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 • Background should not be modified, except for quotes, which use gray background. 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 developerWorks Optional slide number: 10pt Arial Bold, white © 2007 IBM Corporation • Title/subtitle/confidentiality line: 10pt Arial Regular, white Maximum length: 1 line Software as a Service • Copyright: 10pt Arial Regular, white by vertical strokes, In this series, thereInformation are 7separated demonstrations using “The Banking Application” that with two spaces on either side 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. Indications in green = Live content Indications in white = Edit in master Template release: Oct 02 For the latest, go to http://w3.ibm.com/ibm/presentations • Group name: 14pt Arial Regular, white Maximum length: 1 line Indications in blue = Locked elements Indications in black = Optional elements • IBM logo must not be moved, added to, or altered in any way. IBM Software Group Technical Challenge Addressed in this Demo • Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Maximum length: 2 lines • Slide body: 18pt Arial Regular, white How does a shared database environment differ from an isolated database environment? • Background should not be modified, except for quotes, which use gray background. Within a shared database environment, how can you customize the database schema for one tenant without affecting other tenants? Square bullet color: green R223 | G255 | B102 Recommended maximum text length: 5 principal points developerWorks Optional slide number: © 2007 IBM Corporation • Title/subtitle/confidentiality line: 10pt Arial Regular, white Software as a Service • Copyright: 10pt Arial Maximum length: 1 line 10ptof Arialthe Bold, white Regular, white Two SaaS challenges that will be addressed in this demo are: Information separated by vertical strokes, with two spaces on either side 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? Indications in green = Live content Indications in white = Edit in master Template release: Oct 02 For the latest, go to http://w3.ibm.com/ibm/presentations • Group name: 14pt Arial Regular, white Maximum length: 1 line • Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Indications in blue = Locked elements Indications in black = Optional elements IBM Software Group Data Architecture – Isolated vs Shared environments Isolated Shared Semi-shared Maximum length: 2 lines • Slide body: 18pt Arial Regular, white vs Separate Databases • IBM logo must not be moved, added to, or altered in any way. • Background should not be modified, except for quotes, which use gray background. vs Square bullet color: green R223 | G255 | B102 Recommended maximum text length: 5 principal points Shared Database, Separate Schema developerWorks Optional slide number: 10pt Arial Bold, white © 2007 IBM Corporation • Title/subtitle/confidentiality line: 10pt Arial Regular, white Maximum length: 1 line Shared Database, Shared Schema Software as a Service • Copyright: 10pt Arial Regular, white Information separated by vertical strokes, with two spaces on either side 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 Indications in green = Live content in white = Edit in master configuration complexity issue is removed, as Indications configuration using XML provides Indications in blue = Locked elements 02 release: Oct Template a comparable solution as using custom columns. Indications in black = Optional elements For the latest, go to http://w3.ibm.com/ibm/presentations • Group name: 14pt Arial Regular, white Maximum length: 1 line • Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 IBM Software Group Utilizing the XML Capabilities of DB2 v9 to enable tenant data tier configuration • Background should not be modified, except for quotes, which use gray background. Multi-tenant Banking Application Maximum length: 2 lines Bank 1 • IBM logo must not be moved, added to, or altered in any way. Bank 2 • Slide body: 18pt Arial Regular, white Square bullet color: green R223 | G255 | B102 Recommended maximum text length: 5 principal points Traditional SQL DBs CustomerProfile – Bank 1 customerid:Integer bankid:Integer firstname:String lastName:String cellPhone:String homePhone: String CustomerProfile Shared by both banks customerid:Integer bankid:Integer firstname:String lastname:String homePhone: String developerWorks Optional slide number: 10pt Arial Bold, white CustomerProfile – Bank 2 Utilizing DB2 v9 XML Capabilities bankid:Integer customerdoc:xml © 2007 IBM Corporation • Title/subtitle/confidentiality line: 10pt Arial Regular, white Maximum length: 1 line Software as a Service • Copyright: 10pt Arial Regular, white Information separated by vertical strokes, This scenario will show how weside shared the database schema across two tenant on either with two spaces 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. 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. Indications in green = Live content Indications in white = Edit in master Template release: Oct 02 For the latest, go to http://w3.ibm.com/ibm/presentations • Group name: 14pt Arial Regular, white Maximum length: 1 line Indications in blue = Locked elements Indications in black = Optional elements • IBM logo must not be moved, added to, or altered in any way. IBM Software Group CustomerProfile XSD • Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 • Background should not be modified, except for quotes, which use gray background. Maximum length: 2 lines • Slide body: 18pt Arial Regular, white Square bullet color: green R223 | G255 | B102 Optional Recommended maximum text length: 5 principal points developerWorks Optional slide number: © 2007 IBM Corporation • Title/subtitle/confidentiality line: 10pt Arial Regular, white Software as a Service • Copyright: 10pt Arial Maximum length: 1 line 10ptis Arial white of the white banking This aBold, view CustomerProfile xsd that was definedRegular, for the Information separated by vertical strokes, application. Noticewiththat theoncell phone element has a specification of two spaces either side 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. Indications in green = Live content Indications in white = Edit in master Template release: Oct 02 For the latest, go to http://w3.ibm.com/ibm/presentations • Group name: 14pt Arial Regular, white Maximum length: 1 line Indications in blue = Locked elements Indications in black = Optional elements • IBM logo must not be moved, added to, or altered in any way. IBM Software Group Conclusion • Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Maximum length: 2 lines The XML capabilities of DB2 v9 simplify tenant configurability of the data tier in a shared environment. • Background should not be modified, except for quotes, which use gray background. • Slide body: 18pt Arial Regular, white Square bullet color: green R223 | G255 | B102 Recommended maximum text length: 5 principal points developerWorks Optional slide number: 10pt Arial Bold, white © 2007 IBM Corporation • Title/subtitle/confidentiality line: 10pt Arial Regular, white Maximum length: 1 line Software as a Service • Copyright: 10pt Arial Regular, white separated by vertical strokes, In conclusion, we Information have demonstrated how the pureXML capabilities in DB2 v9 with two spaces on either side 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. Indications in green = Live content Indications in white = Edit in master Template release: Oct 02 For the latest, go to http://w3.ibm.com/ibm/presentations • Group name: 14pt Arial Regular, white Maximum length: 1 line Square bullet color: green R223 | G255 | B102 Recommended maximum text length: 5 principal points • IBM logo must not be moved, added to, or altered in any way. Ready to Go Further With IBM? • Background should not be modified, except for quotes, which use gray background. Join the SaaS Community Learn Register for PartnerWorld http://www.ibm.com/partnerworld/join Select Software as a Service as an interest area Network with other SaaS business partners at SaaSpace.com more. Deploy • Slide body: 18pt Arial Regular, white = Locked elements Indications in black = Optional elements IBM Software Group • Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Maximum length: 2 lines Indications in blue Visit the Virtual Innovation Center faster. Take the SaaS Education Courses http://www.ibm.com/partnerworld/vic Host secure and reliable solutions. Host with IBM to advance to the SaaS Specialty Fill out the Project Profile on the Virtual Innovation Center to engage a Program Resource Manager. Receive additional marketing resources and benefits Only with IBM. developerWorks Optional slide number: 10pt Arial Bold, white © 2007 IBM Corporation • Title/subtitle/confidentiality line: 10pt Arial Regular, white Maximum length: 1 line Software as a Service • Copyright: 10pt Arial Regular, white separated by vertical strokes, IBM has innovativeInformation resources and with two spaces on either side 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.