View
789
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
®
NSFDB2: Converting an IBM Lotus Domino NSF to IBM DB2 back-end - How, What and Why?
Tom Truitt and Lance Spellman
BP106
Introduction
Why NSFDB2?
Analyzing a NSF Application Candidate
Required Tools and Resources
NSFDB2 Installation
NSF Conversion Process
Analyzing a NSFDB2 Application After Conversion
Adding New Design Modifications
Analyzing a NSFDB2 Application After Design Improvements
Wrap Up / Q&A
Agenda
Introducing your speakers and what NSFDB2 is all about?
Introduction
Introduction
Speakers Tom Truitt, Administrator Specialist Lance Spellman, Development Specialist
NSFDB2 A capability for running Notes applications from a DB2 server Allows Domino data to be accessed via SQL programs Allows DB2 data to be integrated inside of Notes Views Data for a Notes application physically is stored in DB2 Domino server is responsible for security, client communication,
replication It is NOT a program for interfacing directly with SQL Server/Oracle
®
NSFDB2 allows for Notes applications to offload disc storage, disk I/O, and enhance capabilities for integrating with DB2 resources
Why NSFDB2?
Why NSFDB2?
Data moves to DB2 server giving potential disk storage and I/O performance benefits
New design capabilities provide opportunity to eliminate views, while adding new view capabilities
External DB2 tables can be integrated into Notes applications
Notes data can be made available to application clients written for DB2
®
How to determine what applications could be candidates for moving to NSFDB2
Analyzing a NSF Application Candidate
Analyzing a NSF Application Candidate
What to look for Examine the diskspace used Count the number of views Examine the indexer performance Examine how long application takes to open Observe whether the database has a high number of transactions
How to do it? An automation tool Load an application on server and run the analysis agent
Loops through all databases on the server Uses criteria for diskspace, documents, views to flag databases Reports on all databases, highlighting NSFDB2 candidates
®
Demo of NSFDB2 Reporting Tool
Our Demo Application Candidate
A sample CRM application
Has a lot of data, over 2 GB
Has a lot of views, 66 of them
Users have new requirements that would require more views
Users have new requirements for external data integration
®
What you need to make it happen
Required Tools and Resources
Required Resources
Software IBM DB2 9.1 Universal Database Enterprise Server Edition or
Workgroup Edition DB2 Enterprise Server Ed 9.1 Fix Pack 2 - Microsoft Windows 32-bit DB2 Enterprise Server Ed 9.1 interim special build 2a - IBM AIX 5.3
and Linux (SLES10 & RHEL5) 64-bit DB2 Workgroup Server Ed 9.1 Fix Pack 2 - Microsoft Windows 32 bit DB2 Workgroup Server Ed 9.1 interim special build 2a - IBM AIX 5.3
and Linux (SLES10 & RHEL5) 64-bit IBM DB2 Access for Lotus Domino 8 (needed for external access to
data) IBM DB2 Run-time client IBM Lotus Domino 8.0 (32 bit)
Hardware A separate server for DB2 (optional but beneficial) Minimum 2 GHz processor and 1 GB RAM for Domino Server
Know-how
IBM Downloads for DB2
From Passport or PartnerWorld IBM DB2 9.1 Enterprise Server Edition 9.1 for Domino 8.0,
Multiplatform Multilingual eAssembly, part number CR5TPML which contains IBM DB2 Enterprise Server Edition 9.1 and DB2 Runtime Client for
Windows, part number C92APML IBM DB2 Access for Lotus Domino 8.0, part number C13P5EN
®
Setting up DB2 and performing the administrative configuration for Domino
NSFDB2 Installation
NSFDB2 Installation
Turn on Transaction Logging for Domino
Decide on your DB2/Domino server integration scheme
Install IBM DB2 Server Setup DB2 user accounts
Install IBM DB2 Run-Time Client on Domino Server except where Domino and DB2 are on same server
Install IBM DB2 Access for Domino Software
Register the DB2 server in Domino Run the DB2 Server Enablement Tool
Understanding DB2
A colorful introduction to DB2 http://www- 128.ibm.com/developerworks/db2/library/techarticle/0301chong/0301chong.html
Transaction Logging
Turn on Transaction Logging for Domino
Administrator client | Current Server | Configuration Transaction Logging tab Enable, select log dir location, circular type
DB2 / Domino integration scenarios
Domino and DB2 on same server Will not improve performance Likely to DEGRADE perfomance due to Transaction Logging and extra
load Requires pretty good hardware Use only to enable new DAV, Query View capabilities
Domino on 1 server, DB2 on 2nd server Moves transaction processing to DB2 Reduces storage and disk i/o on the Domino server
Multiple Domino servers to multiple DB2 instances on single DB2 server Each Domino server has its own DB2 instance and DB2 database for
domino
Understanding how NSF maps to DB2
All selected databases from a Domino server get put into a single DB2 database Consider naming the DB2 database the Domino server's name
Individual Notes databases become Table Spaces inside the DB2 database
Documents become table rows
Items on a Document become table columns
Views become Indexes
NSFDB2 and Notes replicas
If a Notes application has been moved to NSFDB2
Local replicas still work On replication, data is converted to NSF format for local replica
Transparent to clients End users would not know whether NSF or NSFDB2 storage is being
used
Install DB2 Server
Choose DB2 Enterprise Server from DB2 Setup Launchpad
Set admin account for DB2
Important to select a name that's valid for DB2 and Windows
Avoid: Spaces, numbers, or any other character, punctuation mark, or
accented characters SYS, DBM or IBM or any DB2 system or CLP command Cannot begin with IBM, SYS, SQL, DBM, be any DB2 command or
reserved word (such as USERS, ADMINS, GUESTS, PUBLIC, or LOCAL), or any SQL reserved word
Account setup dialog example
Configure DB2 Instance
DB2 is the default name for the instance
Configuration button shows: TCPIP is setup as the default Named Pipes is off Default service name is db2c_DB2, port 50000 Autostart the instance at startup is turned ON
Configure DB2 Instance Example Screen Shot
Prepare DB2 Tools Catalog
Select the checkbox for “Prepare the DB2 Tools Catalog”
Accept the defaults for Instance : db2 Database : TOOLSDB Schema : SYSTOOLS
Prepare DB2 Tools Catalog Screenshot
Enable Operating System Security for DB2 Objects
DB2 restricts access by first authenticating the user against a directory Could be AD, Domino via LDAP, etc...
Define an Administrator group for DB2 DB2ADMNS is the default
Define a User group for DB2 DB2USERS is the default
Enable Operating System Security for DB2 Objects
Enable DB2 License
Extract the DB2 Access .zip file, inside is a license file.
Open the DB2 Control Center
Go to Tools, License Center
Select the new instance of DB2 and go to the License Add menu
Select the license file from the DB2 Access extract performed earlier
Enable DB2 License Screenshot
Create Admin Users for Server
The Domino Server must have Admin rights in the DB2 system
Create an account in the “directory” for the server name
(if you're not using Domino for the directory)
Put the user in the DB2ADMNS group
In the DB2 Control Center, modify the Administration SYSCTRL_GROUP configuration value to be DB2ADMNS
Restart the Instance
Create Admin Users for Server Screenshot
Install DB2 Runtime Client
Not necessary if you're running a single server environment
DB2 Admin client is already present in single server environment
Required for remote Domino to DB2 server communication
Installs on the Domino server
Provides the communication protocol that Domino will use to communicate with the DB2 Server
Communication settings for this client will be used to configure Domino's access to the DB2 Server
Collect the DB2 Communication Parameters
Node Name:
From DB2 Control Center, go to All Systems, select your system and get the value from the Node Name column (column 2)
Instance:
Expand the Instance under your system and get the instance name (by default, DB2)
Host Name:
Right click the instance, and select Setup Communications, Properties for host name, service name, and port number
Service Name:
default: db2c_db2
Port Number:
default: 50000
DB2 Communication Parameters Screenshot
Configure Domino for DB2
Run the Enable Server for DB2 tool in the Domino Administrator
Using the Current Server, on the Configuration Tab, go to the Tools sidebar
Expand DB2 Server, choose Enable Server for DB2
Enable Server for DB2 Dialog
Checkbox field for “DB2 and Domino are on different systems” affects whether host name and port number fields are required
Use values captured from the DB2 communications step
Enter the OS username and password setup earlier
Set password expiration to 0 if you want the password to never expire
Choose the radio button for whether new db's will be created as NSF or DB2
Enable Server for DB2 Dialog Screenshot
Domino Server Restart Screenshot
Domino Server Console Commands for DB2
SHOW SERVER command will show whether DB2 is enabled
DB2 TEST command shows whether Domino can connect to DB2
Domino Server Console Commands (continued)
DB2 INFO command shows all the db2 connection info
Create a new Notes Application as NSFDB2
After creating, in the Administrator client, Files Tab, see that the new application is in fact a DB2 based application
Database properties also show that the app is DB2 enabled
Convert an existing NSF app to NSFDB2
load compact myapp.nsf -p
If database is ODS 48 (created as a Notes 8 ODS style), it has to be reverted to ODS 43 first
load compact myapp.nsf -r load compact myapp.nsf -p
Demo App Statistics
database size: 2,079 MB
documents: 32,532
index: 2,674 MB
views: 66
®
How does the application perform after being moved to NSFDB2
Analyzing a NSFDB2 Application After Conversion
Analyzing a NSFDB2 Application After Conversion
Diskspace reduced to 1KB on Domino Server The nsf file on the Domino server is just a link FT Index folder (if any) still resides on Domino server
A new table is created in the Domino instance on DB2 Server
Disk I/O on Domino server is reduced
Application access time is improved
Notes Domino View Indexer not affected, indexing is still a Domino server task The view indexes are stored in DB2, FT Index is stored on Domino
server
®
Reducing the number of views and adding new capabilities by adding Domino Access Views and Query Views
Adding New Design Modifications
Adding New Design Modifications
DB2 Access Views - DAV NSFDB2 data is stored in BLOB fields in DB2 and is private to Domino
only A DAV allows data from the NSFDB2 blob to be accessible as a DB2
View Records in DAVs can be read and modified from client applications
accessing DB2. Used to make Notes data accessible outside of the Notes context
Query Views A Notes View from one or more DB2 tables
Could also include DAVs Written with SQL select syntax
Used to make external data available in the Notes context Also can be used to combine data from Notes applications that
otherwise wouldn’t be available in normal Notes Views.
Modifying the Sample Application
New Domino Access Views for Company and Contact data, and for a supporting Notes application
New Query View that uses Domino Access Views for consolidated presentation
New Query View for customer billing data from a DB2 table
Creating a Domino Access View - DAV
In Domino Designer, create a DAV from the Shared Resources, DB2 Access View list
Choose fields for the DAV
Set DB2 Access View properties
Use the “Create/Update in DB2” button to create the DAV on the DB2 server, or after you've changed the design of the DAV
Use the “Populate in DB2” button to populate the DAV with data
Grant access to the DB2 view
Creating a Query View - QV
In Domino Designer, a Query View is just a View like any other view, except it uses a SQL Select statement rather than a Formula-based one.
Like HTML written in formula language, the SQL statement is written in formula language syntax
The SQL statement can use @Prompt to retrieve input from a user that can be used as part of a SQL where clause
#NOTEID is a special column in a DAV. If used in SQL statement, it allows the document to be opened from the view.
SQL statement can combine DAVs from source db, from other Notes Dbs, from DB2 databases
®
How does the application perform after design changes
Analyzing a NSFDB2 App After Design Change
Analyzing a NSFDB2 App After Design Change
The database size is larger, but the storage is now on DB2 server
The database has new Domino Access Views (DAVs) that are actually duplicates of table data in DB2
Indexing for those DAVs are DB2's responsibility not Domino
Provides visibility into Domino data to SQL users and provides combination opportunities for the Notes client
The database has new Query Views that provide new functionality for combining Notes data and DB2 data
Indexing is DB2's responsibility
®
Summary
Wrap Up / Questions
Summary
NSFDB2 provides the ability: To leverage Domino data to DB2 To leverage DB2 data to Domino To leverage Domino data to itself via combining DAVs in a Query View
Under the right circumstances, NSFDB2 can reduce load on a Domino server by leveraging DB2 for Disk storage and I/O
NSFDB2 is almost completely transparent to the end user
NSFDB2 will become a better solution with the conversion of BLOB fields to XML, and complete round-trip fidelity of DXL for Domino
Updated Slides
The Lotusphere site, the week after Lotusphere is over
Spellbound Ramblings Blog Look in Downloads section for Lotusphere 2008 workflowstudios.com/lance/blog.nsf
Genie Sessions Database
Resources
Waresource, DB2 for Domino 8 Administrators and Developers waresource.com
DB2 9.1 Infocenter http://publib.boulder.ibm.com/infocenter/DB2luw/v9/topic/com.ibm.DB2.udb.doc/welcome.htm
Domino 8 Administrator Help