RDB Synchronization, Transcoding and LDAP Directory Services ...

3,871 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,871
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

RDB Synchronization, Transcoding and LDAP Directory Services ...

  1. 1. Front cover RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access Version 4.1.1 Synchronize DB2 Everyplace data with back-end DB2 and Oracle databases Adapt portlet content using Transcoding Technologies Integrate WebSphere Portal with existing LDAP services Juan R. Rodriguez Gregory Mebberson LindaMay Patterson Gianfranco Rutigliano Luo Yuan Zhi (Anna) ibm.com/redbooks
  2. 2. International Technical Support Organization RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access Version 4.1.1 November 2002 SG24-6856-00
  3. 3. Note: Before using this information and the product it supports, read the information in “Notices” on page ix. First Edition (November 2002) This edition applies to Version 4, Release 1, Modification 1 of IBM WebSphere Everyplace Access for Multiplatforms. © Copyright International Business Machines Corporation 2002. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  4. 4. Contents Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi The team that wrote this redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Comments welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Part 1. Database synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. Synchronizing with DB2 databases . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.1 DB2 Everyplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.2 IBM Everyplace Client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.3 Secure Proxy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.4 DB2 Everyplace Sync Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Before you start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.1 Creating users and groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.2 Creating subscription and subscription set . . . . . . . . . . . . . . . . . . . . 12 1.4 Binding LDAP and MDAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.5 Client configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.6 Sample application synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.7 Verify the synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.8 Synchronization using SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.8.1 Enable server security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.8.2 Enable client security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.9 Synchronization with remote DB2 databases . . . . . . . . . . . . . . . . . . . . . . 43 1.10 Sync modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.11 Types of subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.11.1 DataPropagator subscription. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 1.11.2 Upload subscription. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 1.12 Filtering data from data sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 1.13 Debug and tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.13.1 Enable tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.13.2 Trace files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.13.3 DB2 Everyplace control database . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.14 Hints and tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.15 About Mobile Application Builder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 © Copyright IBM Corp. 2002. All rights reserved. iii
  5. 5. Chapter 2. Synchronizing with Oracle databases . . . . . . . . . . . . . . . . . . . 63 2.1 Common grounds with DB2 data source. . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.2 Create a subscription with Oracle data source . . . . . . . . . . . . . . . . . . . . . 65 2.2.1 Add Oracle JDBC driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.2.2 Create a JDBC subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.2.3 Create an upload subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 2.3 Sample dsysetjavahome.bat file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 2.4 Synchronize with remote Oracle database . . . . . . . . . . . . . . . . . . . . . . . . 79 2.5 Hints and tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Part 2. Transcoding Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Chapter 3. Transcoding Technologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.1 Transcoding Technologies overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.1.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.1.2 Preference profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.1.3 XML stylesheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.1.4 Annotators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.1.5 Transcoding plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.2 XMLConfig tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.3 Request Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.3.1 How to start Request Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.4 Logging and tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.4.1 Message files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.4.2 Tracing files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.4.3 Gather troubleshooting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.5 A simple portlet using Transcoding Technologies . . . . . . . . . . . . . . . . . . . 97 3.5.1 Enable transcoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.5.2 Use Request Viewer to monitor the process . . . . . . . . . . . . . . . . . . 105 Chapter 4. Using annotation for document clipping . . . . . . . . . . . . . . . . 107 4.1 Annotation overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.1.1 Annotation processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.2 Internal annotation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.2.1 Page Designer in WebSphere Studio . . . . . . . . . . . . . . . . . . . . . . . 110 4.2.2 Sample application: The Redbook News . . . . . . . . . . . . . . . . . . . . 110 4.3 External annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.3.1 The external annotation language. . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.3.2 Sample scenario: RedbookNews02 . . . . . . . . . . . . . . . . . . . . . . . . 120 Chapter 5. Using XSL stylesheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5.1.1 Configuring stylesheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5.2 Configure portal for stylesheet processing . . . . . . . . . . . . . . . . . . . . . . . 131 iv RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  6. 6. 5.3 Sample one: XML Feed. . . . . . . . . . . . . . . . . . ...... ....... ...... . 132 5.3.1 Configuring the XMLFeed portlet . . . . . . ...... ....... ...... . 134 5.3.2 An alternative - Register the stylesheet . ...... ....... ...... . 135 5.4 Sample scenario 2 - ITSO News XML Feed . . ...... ....... ...... . 136 5.4.1 Sample stylesheets . . . . . . . . . . . . . . . . . ...... ....... ...... . 138 Chapter 6. Portal-level transcoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.1.1 How it works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.1.2 Fragmentable elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.1.3 Common problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.1.4 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.2 WML fragmentation in Transcoding Technologies . . . . . . . . . . . . . . . . . 150 6.2.1 Scenario 1: Using a WAP reverse proxy . . . . . . . . . . . . . . . . . . . . . 151 6.2.2 Scenario 2: Using a forward proxy . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.2.3 Scenario 3: Using a forward proxy and reverse proxy . . . . . . . . . . 157 Part 3. LDAP Directory services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Chapter 7. IBM SecureWay Directory services in WebSphere Everyplace Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 7.1 Solution architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.1.1 Specifications for the sample scenario . . . . . . . . . . . . . . . . . . . . . . 163 7.2 Installing IBM SecureWay Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.3 Installing WebSphere Everyplace Access . . . . . . . . . . . . . . . . . . . . . . . . 165 7.4 Sample applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.4.1 Configuring the LDAP Search portlet . . . . . . . . . . . . . . . . . . . . . . . 169 7.4.2 Using IBM DB2e with a remote SecureWay Directory server . . . . . 171 7.5 Recommendations, hints and tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Chapter 8. iPlanet Directory services in WebSphere Everyplace Access . . 185 8.1 Solution architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 8.1.1 Specifications for the sample scenario . . . . . . . . . . . . . . . . . . . . . . 187 8.2 Installing and configuring iPlanet Directory . . . . . . . . . . . . . . . . . . . . . . . 187 8.2.1 Installing iPlanet Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 8.2.2 Configuring iPlanet for WebSphere Everyplace Access . . . . . . . . . 189 8.3 Installing WebSphere Everyplace Access . . . . . . . . . . . . . . . . . . . . . . . . 192 8.4 Sample applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 8.4.1 Configuring the LDAP Search portlet . . . . . . . . . . . . . . . . . . . . . . . 196 8.5 Recommendations, hints and tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Chapter 9. Active Directory services in WebSphere Everyplace Access201 9.1 Active Directory overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Contents v
  7. 7. 9.2 Solution architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 9.2.1 Specifications for the scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 9.3 Installing and configuring Active Directory . . . . . . . . . . . . . . . . . . . . . . . 203 9.3.1 Installing Windows 2000 support and administration tools . . . . . . . 205 9.3.2 Verifying Active Directory server installation . . . . . . . . . . . . . . . . . . 206 9.3.3 Configuring Active Directory for WebSphere Everyplace Access . . 208 9.3.4 Obtaining the LDAP schema for Active Directory . . . . . . . . . . . . . . 213 9.4 Installing WebSphere Everyplace Access . . . . . . . . . . . . . . . . . . . . . . . . 216 9.5 Sample applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 9.5.1 Creating users and groups in WebSphere Everyplace Access. . . . 223 9.5.2 DB2 Everyplace synchronization using Active Directory. . . . . . . . . 226 9.5.3 Configuring the client on the Pocket PC and synchronizing . . . . . . 232 Chapter 10. Domino Directory services in WebSphere Everyplace Access 237 10.1 Lotus Domino R5 overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 10.2 Solution architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 10.2.1 Specifications for the scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 10.2.2 Users and groups required in this scenario. . . . . . . . . . . . . . . . . . 240 10.3 Setting up Domino Directory services . . . . . . . . . . . . . . . . . . . . . . . . . . 241 10.3.1 Installing Lotus Domino server . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 10.3.2 Installing and configuring the Domino Administration client . . . . . 248 10.3.3 Configuring LDAP services on Domino . . . . . . . . . . . . . . . . . . . . . 252 10.3.4 Obtaining the LDAP schema for the Domino server . . . . . . . . . . . 258 10.4 Installing WebSphere Everyplace Access . . . . . . . . . . . . . . . . . . . . . . . 259 10.5 Sample applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 10.5.1 Creating users in WebSphere Everyplace Access . . . . . . . . . . . . 265 10.5.2 Configuring the LDAP Search portlet . . . . . . . . . . . . . . . . . . . . . . 268 Appendix A. WebSphere Everyplace Access sample installation . . . . . 271 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Server installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 10.6 Server installation verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 10.7 Client installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 10.8 Hints and tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Appendix B. Sample Oracle Enterprise Edition installation . . . . . . . . . . 323 Oracle installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Create a simple database using wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Create simple table using wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Populate table with data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 vi RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  8. 8. Other resources . . . . . . . . . . . . . . . . . . . . . . . . ...... ....... ...... . 349 Referenced Web sites . . . . . . . . . . . . . . . . . . . . . . ...... ....... ...... . 349 How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . ...... ....... ...... . 350 IBM Redbooks collections . . . . . . . . . . . . . . . . . ...... ....... ...... . 350 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Contents vii
  9. 9. viii RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  10. 10. Notices This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces. © Copyright IBM Corp. 2002. All rights reserved. ix
  11. 11. Trademarks The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: Redbooks(logo)™ Everyplace™ RETAIN® AIX® IBM® SecureWay® DataPropagator™ Informix® SP™ DB2® iSeries™ Tivoli® DB2 Universal Database™ Redbooks™ WebSphere® The following terms are trademarks of International Business Machines Corporation and Lotus Development Corporation in the United States, other countries, or both: Lotus® Lotus Notes® Domino™ Notes® The following terms are trademarks of other companies: ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. C-bus is a trademark of Corollary, Inc. in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. SET, SET Secure Electronic Transaction, and the SET Logo are trademarks owned by SET Secure Electronic Transaction LLC. Other company, product, and service names may be trademarks or service marks of others. x RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  12. 12. Preface This redbook will help you plan, install and implement Relational Database Synchronization (RDB) with back-end databases such as DB2 and Oracle using the JDBC interface, Transcoding Technologies and LDAP services, using Lightweight Directory Access Protocol (LDAP) directories such as IBM SecureWay Directory, iPlanet, Microsoft Active Directory and Domino LDAP Directory services in IBM WebSphere Everyplace Access Version 4.1.1. A step-by-step sample installation is also included to show you how to install this product to support connections using a Pocket PC. Hints and tips are also included where applicable. A basic knowledge of Lightweight Directory Access Protocol (LDAP), IBM SecureWay Directory Server, DB2 Everyplace, DB2 or Oracle databases, IBM HTTP Server, IBM WebSphere Application Server, IBM WebSphere Portal, Pocket PC, Windows CE, WAP devices and Transcoding Technologies is assumed. The team that wrote this redbook This redbook was produced by a team of specialists from around the world working at the International Technical Support Organization, Raleigh Center. Juan R. Rodriguez is a Consulting IT professional at the IBM ITSO Center, Raleigh. He received his Master of Science degree in Computer Science from Iowa State University. He writes extensively and teaches IBM classes worldwide on such topics as networking, Web technologies, and information security. Before joining the IBM ITSO, he worked at the IBM laboratory in the Research Triangle Park (North Carolina, USA) as a designer and developer of networking products. Gregory Mebberson is a software developer in IBM Global Services in Sydney, Australia. He has seven years of experience in developing customer solutions using Lotus Notes and other applicable technology, and has a Bachelor of Applied Science from Chisholm Institute of Technology, Melbourne, Australia. He has co-authored several IBM Redbooks. © Copyright IBM Corp. 2002. All rights reserved. xi
  13. 13. LindaMay Patterson is an Advisory Software Engineer in the eServer Custom Technology Center (eCTC) in IBM Rochester, Minnesota. She has 28 years of experience within IBM working with various software products to create business application solutions. She is currently working with the Enterprise Segment Strategy Team in the Pervasive Computing Division. Her current focus is on Pervasive Computing, XML, and related technologies. Prior to joining the eCTC, she worked in Partner World for Developers - iSeries creating educational material on various topics and helping ISVs incorporate new technology in their solutions. Gianfranco Rutigliano holds a degree in Systems Engineering from the University of Lima (Peru) and is a member of the Application Management Services (AMS) group in IBM Global Services working with e-business projects and related Internet technologies. He has worked with e-marketplace and home-banking implementation systems using Java technologies. Currently he is involved in wireless application solution projects using PDAs. Luo Yuan Zhi (Anna) is an Advisory IT Specialist from the Emerging Technology Center in IBM Singapore. She has eight years of experience in the telecommunications and IT fields. Her current area of expertise is centered around Web technologies and Pervasive Computing. She holds a Bachelor’s degree (with honors) in Control and Communication Engineering from University of Manchester Institute of Science and Technology (UMIST), United Kingdom, and a Master of Science degree in Computer Engineering from the University of Singapore. Thanks to the following people for their contributions to this project: Margaret Ticknor International Technical Support Organization, Raleigh Center James Thrasher, Alan Booth, Laurie Bader, Charlene Frazier, Curtis Ebbs IBM Research Triangle Park, Nort Carolina, USA Al Chakra, Darren M. Childress, Jim Brancato, Charlene Frazier IBM Research Triangle Park, North Carolina, USA Casey Paxton IBM Austin, Texas, USA xii RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  14. 14. Isaac Cheng, Garner Lee IBM Santa Teresa, California, USA May Wone IBM San Jose, California, USA Charles Ackeifi CourtBridge Consulting Group, Connectitut, USA Become a published author Join us for a two- to six-week residency program! Help write an IBM Redbook dealing with specific products or solutions, while getting hands-on experience with leading-edge technologies. You'll team with IBM technical professionals, Business Partners and/or customers. Your efforts will help increase product acceptance and customer satisfaction. As a bonus, you'll develop a network of contacts in IBM development labs, and increase your productivity and marketability. Find out more about the residency program, browse the residency index, and apply online at: ibm.com/redbooks/residencies.html Comments welcome Your comments are important to us! We want our Redbooks to be as helpful as possible. Send us your comments about this or other Redbooks in one of the following ways: Use the online Contact us review redbook form found at: ibm.com/redbooks Send your comments in an Internet note to: redbook@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HZ8 Building 662 P.O. Box 12195 Research Triangle Park, NC 27709-2195 Preface xiii
  15. 15. xiv RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  16. 16. Part 1 Part 1 Database synchronization DB2 Everyplace is a small-footprint relational database and enterprise synchronization architecture for mobile and embedded devices that includes the following: Supports any JDBC-compliant database DB2, Oracle, Microsoft SQL, Informix, Sybase WBXML encoded datastream SyncML-like interface Secure Sockets Layer (SSL) capability On-demand synchronization Integrated into IBM Everyplace Client DB2 Everyplace Client-side programming interfaces available User administration and access controls integrated into WebSphere Everyplace Access © Copyright IBM Corp. 2002. All rights reserved. 1
  17. 17. In this part we describe the DB2 Everyplace synchronization function available in IBM WebSphere Everyplace Access V4.1.1. 2 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  18. 18. 1 Chapter 1. Synchronizing with DB2 databases This chapter describes the configuration steps necessary to carry out DB2 Everyplace Synchronization with back-end DB2 databases. The following topics are covered: Overview DB2 Everyplace Synchronization Server configuration Everyplace Client configuration Sample application scenario Synchronize with remote databases Hints and tips Note: In this chapter, the root directory that WebSphere is installed to is referred to as “WebSphere_Install_Dir”. It should be replaced by the actual directory name in real cases. © Copyright IBM Corp. 2002. All rights reserved. 3
  19. 19. 1.1 Architecture overview The diagram shown in Figure 1-1 depicts the relational database synchronization environment for JDBC subscription types. Replication JDBC JDBC DB2e Sync Server source database WebSphere Application Server (DB2) mirror database (DB2) DB2 database (LDAP data) DB2e Sync LDAP JDBC WebSphere Directory Server Portal Services (servlet) Users and Groups WebSphere Application Server Subscription set and IBM HTTP Server DB2 Everyplace Subscriptions Mobile Devices m23vnx78.itso.ral.ibm.com Administration Synchronization Port 80 Basic Authentication Center (MDAC) JDBC subscription DB2 source database SSL (optional) Everyplace Client Secure 127.0.0.1 DB2e Sync proxy Port 1080 DB2e database Pocket PC Figure 1-1 DB2 Everyplace synchronization for JDBC subscriptions The hand-held device sits on the IBM Everyplace Client, which is the unified client for PIM and relational database synchronization. The unified client has a component called Secure Proxy, which is transparent to the user. Secure Proxy handles user authentication and data encryption between the client and the Web Server. On the server side, IBM HTTP Server handles incoming HTTP requests, and passes those destined for WebSphere Application Server via a plug-in. WebSphere Portal rides on top of the WebSphere Application Server. It provides administration portlets to manage portlets as well as users and groups. User and group information is stored within LDAP. 4 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  20. 20. Also on the server, DB2 Everyplace periodically replicates the back-end databases to mirror databases; this process for JDBC subscription type is also illustrated in Figure 1-1 on page 4. DB2 Everyplace Mobile Devices Administration Center or MDAC, together with WebSphere Portal, provide the complete administration functionalities for DB2 Everyplace Sync Server. MDAC stores its configuration information in a DB2 database. When synchronization is initiated at the client, the request is passed to Secure Proxy on the mobile device. Secure Proxy sends the request to IBM HTTP Server and, optionally, through SSL. Secure Proxy also takes care of the authentication required by WebSphere Application Server. The user is authenticated against the user registry in LDAP. Once the user is authenticated, DB2 Everyplace Sync Server is invoked and data synchronization is carried out between the client and the mirror databases. 1.1.1 DB2 Everyplace DB2 Everyplace consists of two main components: DB2 Everyplace database DB2 Everyplace Sync Server DB2 Everyplace is the database engine installed on the mobile device. DB2 Everyplace Sync Server carries out bi-directional synchronization of data between the database on the mobile device and the source database on the server. For synchronization of the relational database from the server to the mobile device, the selected data is replicated periodically to a mirror (or mid-tier) database, which acts as a temporary repository for the data. A subset of the mirror data is moved to the database on the mobile device. On the other hand, for synchronization from the mobile device to the server, data is also moved into the mirror database first, then gets replicated to the server periodically. DB2 Everyplace synchronization is controlled by DB2 Everyplace Sync Server, which has been integrated into WebSphere Everyplace Access’ Everyplace Synchronization Server. In order to set up synchronization, the following entities must be defined beforehand: Group User Subscription set Subscription Chapter 1. Synchronizing with DB2 databases 5
  21. 21. A user must belong to a group. A subscription must belong to at least one subscription set. A group subscribes to one or more subscription sets for data synchronization. 1.1.2 IBM Everyplace Client IBM Everyplace Client is an unified client application package for Personal Digital Assistants (PDAs). Everyplace Client provides a common interface that supports synchronization, security, device management, offline Portal content, offline Domino applications, and DB2 Everyplace database synchronization. Note: DB2 Everyplace Sync client is part of the Everyplace unified client. 1.1.3 Secure Proxy Everyplace Client relies on the Secure Proxy for authentication and encryption. Stand-alone DB2 Everyplace used MD5 for authentication. In WebSphere Everyplace Access, MD5 is disabled and the Secure Proxy takes over the responsibility. Everyplace Client supports SSL for encryption. Everyplace Client is also capable of storing and sending LTPA tokens. 1.1.4 DB2 Everyplace Sync Server DB2 Everyplace Sync Server has been integrated into WebSphere Everyplace Access. It is deployed in WebSphere Application Server as a Web module containing several servlets. DB2e Sync Server is HTTP based. Mobile devices can establish either a wireless or wired connection to synchronize data over the Internet, a wireless network, intranet, local area network (LAN), or wide area network (WAN). 1.2 Before you start Before you start configuring and testing relational database synchronization, it is important to make sure IBM DB2 Everyplace Server and Everyplace Synchronization Server are running without error. Do the following: 1. Open WebSphere Application Server’s Administrative Console by clicking Start -> Programs -> IBM WebSphere -> Application Server V4.0 -> Administrator’s Console. 6 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  22. 22. 2. When the console is ready, make sure IBM DB2 Everyplace Server and Everyplace Synchronization Server are running and there are no error messages in the Event Message window. 3. To verify the DB2 Everyplace Sync servlet is running, open a browser and type the following into the address box: http://hostname/db2e/db2erdb Enter the login information when prompted. You should see the page shown in Fig 1-3 which displays information about the sync servlet. Figure 1-2 DB2 Everyplace sync servlet If you see this page, you are ready to proceed. 4. If this page is not shown, check the following: a. Check whether the following file is present: WebSphere_Install_DirIBMSyncServerdb2eServerlibdsysync.jar b. In WebSphere Application Server Administrative Console, click IBM DB2 Everyplace Server. In the right pane, click the JVM Settings tab. Check the classpaths and make sure you have this line in the classpaths: WebSphere_Install_DirIBMSyncServerdb2eServerproperties Chapter 1. Synchronizing with DB2 databases 7
  23. 23. Figure 1-3 Check DB2 Everyplace Server’s classpaths 1.3 Server configuration For relational database synchronization, the server configuration and management activities are handled at two places: user and group management is done in WebSphere Portal, while subscription and subscription sets are managed by the Mobile Devices Administration Center (MDAC). 1.3.1 Creating users and groups Everyplace Synchronization Server supports multiple synchronization groups. Synchronization groups must be created using WebSphere Portal’s administration portlets. A user must be a member of a synchronization group in order to synchronize with the DB2 Everyplace Sync Server. When these synchronization groups are in use, their names are stored in the file DSYLDAP.properties, located at: WebSphere_Install_Dir/IBMSyncServer/db2e/Server/properties/com/ibm/mobile services 8 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  24. 24. Under the key “SYNCGROUP”. To use the relational database adapter, a special user and group configuration is required: Each group must have a prefix of DB2e (case-sensitive), such as DB2e_myemployees. DB2e groups should not be members of any synchronization group defined in the DSYLDAP.properties file. Relational Database synchronization users must be a member of one of the synchronization groups defined in the DSYLDAP.properties file. Relational Database synchronization users must also be a member of one group that begins with DB2e. Relational Database synchronization users can belong to only one DB2e group, but the user may belong to other groups in the Portal environment including other synchronization groups. The following steps demonstrate how to create groups and users for relational database synchronization: 1. To create a synchronization group: a. Click Start -> Programs -> IBM Everyplace Synchronization Server -> Administration Portlet. b. Log in to the WebSphere Portal as an administrator, for example, wpsadmin. c. Select the Portal Administration page group. d. Select the Users and Groups page. e. Select the Manage User Groups tab. f. Enter the synchronization group name in the Group Name field, for example, SyncGroup g. Click Create Group. Chapter 1. Synchronizing with DB2 databases 9
  25. 25. Figure 1-4 Create synchronization group The group should be created and appear in the User Groups field. h. Follow similar steps to create more synchronization groups. Important: The IBM DB2 Everyplace Server uses the group “SyncGroup” by default. If you choose to use a different name, for example “AllSyncUsers”, you will need to start up MDAC using your synchronization group, and then restart the IBM DB2 Everyplace Server. The group name can be confirmed by looking at the last line of the following file: WebSphere_Install_DirIBMSyncServerdb2eServerpropertiescomibmmob ileservicesDSYLDAP.properties For example: SYNCGROUP=AllSyncUsers We recommend having a parent synchronization group that contains all synchronization users, and to use this group when starting MDAC. 10 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  26. 26. After creating the desired synchronization group(s), users who are expected to synchronize with the database(s) must be added to the synchronization group(s). 2. To add users to synchronization group(s): a. Click Start -> Programs -> IBM Everyplace Synchronization Server -> Administration Portlet. b. Log in to the WebSphere Portal as an administrator, for example, wpsadmin. c. Select the Portal Administration page group. d. Select the Users and Groups page. e. Select the Manage User Groups tab. f. Search to find the synchronization group. g. Select the synchronization group. h. Click Membership. i. Select Add users to group. j. Use the Name is field to search for users. k. Select the user(s) to add from the Search Results field. l. Click Add to group. As mentioned earlier, relational database synchronization users must belong to both synchronization group(s) and DB2e groups (relational database adapter group). 3. To create a relational database adapter group: a. Click Start -> Programs -> IBM Everyplace Synchronization Server -> Administration Portlet. b. Log in to the WebSphere Portal as an administrator, for example, wpsadmin. c. Select the Portal Administration page group. d. Select the Users and Groups page. e. Select the Manage User Groups tab. f. Enter the synchronization group name in the Group Name field, for example, DB2e_employee. Note: The group name must begin with DB2e (case sensitive). g. Click Create Group. Chapter 1. Synchronizing with DB2 databases 11
  27. 27. Tip: After adding or removing users to a DB2e group, we recommend resetting that user in MDAC. 4. To add users to relational database adapter group(s): a. Click Start -> Programs -> IBM Everyplace Synchronization Server -> Administration Portlet. b. Log in to the WebSphere Portal as an administrator, for example, wpsadmin. c. Select the Portal Administration page group. d. Select the Users and Groups page. e. Select the Manage User Groups tab. f. Search to find the synchronization group. g. Select the synchronization group. h. Click Membership. i. Select Add users to group. j. Use the Name is field to search for users. k. Select the user(s) to add from the Search Results field. l. Click Add to group. Note: For relational database synchronization to work, user(s) must exist in both synchronization group(s) and one relational database adapter group. 1.3.2 Creating subscription and subscription set Synchronization-related information for a relational database is defined as a subscription. Subscriptions are grouped into subscription sets that the user groups can subscribe to. We have our users and groups, so now we must define the necessary subscriptions and subscription sets to make the synchronization work. 1. To create a subscription: a. Click Start -> Programs -> IBM Everyplace Synchronization Server -> Launch MDAC. The DB2 Control Center will automatically open. As the MDAC retrieves the users and groups information from LDAP, a WPS LDAP Logon window 12 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  28. 28. pops up and asks for the necessary information to retrieve data from LDAP (see Figure 1-5). Enter the LDAP administrator’s user name and password, and specify the synchronization groups defined through WebSphere Portal. We suggest having a parent group that contains all synchronization users, However multiple synchronization groups may be entered, separated by semicolons. Click OK. Figure 1-5 WPS LDAP Logon window The Mobile Devices Administration Center launches. Chapter 1. Synchronizing with DB2 databases 13
  29. 29. Figure 1-6 MDAC b. Click the Groups and Users folders to check that the DB2e group(s) and user(s) are imported into the MDAC. c. Right-click Subscription -> Create -> Table Subscription -> JDBC Subscription.... Note: JDBC Subscription is used in this scenario. Other types of subscription will be covered in later sections. The Create JDBC Subscription wizard opens. 14 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  30. 30. Figure 1-7 Create JDBC Subscription wizard d. Enter the name of the subscription and, optionally, a description. Click the Source tab. e. In this tab, the source database information should be provided. i. In the Database URL field, enter the source database URL, for example, jdbc:db2:VNURSE. Or you can also use the ... button besides this field to browse and choose the source database. ii. In the Driver field, use the down arrow to choose the desired JDBC driver from the list. iii. In the User ID field, provide the user ID that can be used to access this database. iv. In the Password and Verify Password fields, enter the password. v. You can click Test Connection to verify the connection to the database. vi. When done, click the Mirror tab. Chapter 1. Synchronizing with DB2 databases 15
  31. 31. Figure 1-8 Create JDBC Subscription - define source database f. In this tab, the mirror database information should be provided. i. In the Database URL field, enter the mirror database URL, for example, jdbc:db2:M_VNURSE. Or you can also use the ... button besides this field to browse and choose the source database. ii. In the User ID field, provide the user ID that can be used to access this database. iii. In the Password and Verify Password fields, enter the password. iv. You can click Test Connection to verify connection to the database. v. When done, click the Identification tab. 16 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  32. 32. Figure 1-9 Create JDBC Subscription - define mirror database g. On the Identification tab, click the Define subscription button. h. The Define Replication Subscription window is shown. Click Add. Figure 1-10 Create JDBC Subscription - define subscription i. The Add Table window is displayed. Chapter 1. Synchronizing with DB2 databases 17
  33. 33. Figure 1-11 Create JDBC Subscription - define subscription - add table Select the table to be synchronized. The Target schema and Target table fields are filled in automatically; accept the default or change it to anything desirable. Click the appropriate Access Privileges. Click Add. If there is more than one table to be synchronized, select more tables to add; when done, click Close. The tables have been added to the subscription now. 18 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  34. 34. Figure 1-12 Create JDBC Subscription - define subscription j. Click the Timing... button to adjust the replication frequency. Figure 1-13 Adjust replication frequency Click OK and OK to return to the Create JDBC Subscription wizard. k. Click the Subscription sets tab. Chapter 1. Synchronizing with DB2 databases 19
  35. 35. Figure 1-14 Create JDBC subscription - define subscription set Choose from the available subscription sets in the left pane and click -> to put it into the right pane. The subscription sets shown on the right pane will include this newly created subscription. You can also choose to create a new subscription set by clicking the Create... button. The Create Subscription Set wizard will be covered later. l. Now all the information have been gathered for the subscription. Click OK. m. The new subscription should appear in the right pane when clicking the Subscriptions folder. It can always be altered by right-clicking the subscription and choosing Edit. 2. To create a subscription set: a. With MDAC open, right-click Subscription sets -> Create -> Table Subscription -> JDBC Subscription. The Create Subscription Set wizard opens. 20 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  36. 36. Figure 1-15 Create Subscription Set wizard b. On the Identification tab, enter the name and description for this subscription set. Click the Subscriptions tab. c. Choose from the available subscriptions in the left pane and click -> to include it in this subscription set, or click ->-> to choose all. Figure 1-16 Create Subscription Set - select subscription to include You can also click the Create... button to create a new subscription, following the steps described in the previous section. Chapter 1. Synchronizing with DB2 databases 21
  37. 37. When done, click the Groups tab. d. Choose from the available groups in the left pane and click -> to subscribe it to this subscription set, or click ->-> to select all of the groups. Figure 1-17 Create Subscription Set - select groups e. Enough information has been collected to create a subscription set. Click OK. f. The newly created subscription set should appear in the right pane of MDAC when clicking the Subscription sets folder. It can be easily modified or examined by right-clicking the subscription set and choosing Edit. g. Now click the Groups folder; in the right pane, for each group, the number appearing in the Subscription sets column indicates the number of subscription sets this group is subscribing to. 22 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  38. 38. Figure 1-18 MDAC - groups The association with the subscription sets can be easily changed by right-clicking the group and choosing Edit. Select or deselect subscription sets in the Subscription sets tab. Chapter 1. Synchronizing with DB2 databases 23
  39. 39. Figure 1-19 MDAC - groups - change subscription sets 1.4 Binding LDAP and MDAC As discussed in previous sections, users and groups are created in WebSphere Portal and maintained in LDAP. The Mobile Devices Administration Center or MDAC retrieves this information from LDAP and keeps a copy in its control database DSYCTLDB. In MDAC, it is possible to refresh this binding if any changes take place in WebSphere Portal. For refreshing group information, right-click the Groups folder and select Refresh WPS LDAP groups. For refreshing user information, right-click the Users folder and select Refresh WPS LDAP users. By doing the refreshing, if new users or groups are added, they will be brought into the MDAC and its control database. If any user is removed from the sync group in WebSphere Portal, upon refreshing the LDAP users, MDAC will warn you of the inconsistency and prompt you to delete the user from MDAC’s control database. 24 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  40. 40. Figure 1-20 MDAC prompts for inconsistency in user information Click Yes to delete the user from MDAC. Figure 1-21 Confirmation for deleting user from MDAC Click OK to confirm the deletion. If any DB2e group is removed from WebSphere Portal, upon refreshing WPS LDAP groups, MDAC will warn you of the inconsistency and prompt you to delete the group from MDAC’s control database. Chapter 1. Synchronizing with DB2 databases 25
  41. 41. Figure 1-22 MDAC prompts for inconsistency in group information Click Yes to delete the group from MDAC. Figure 1-23 Confirmation for deleting user from MDAC Click OK to confirm the deletion. 1.5 Client configuration IBM Everyplace Client requires a minimal configuration to perform relational database synchronization. Do the following steps to set up this configuration: 1. On Pocket PC, open IBM Everyplace Client. 2. Click Tools -> User Options. 26 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  42. 42. Figure 1-24 Everyplace Client 3. In the User Options window, specify the host name of the Everyplace Synchronization Server. Also enter the user ID and password for the user who is to perform synchronization. You can set Everyplace Client to run after the system restart by checking Make a copy in “Startup Folder”. Chapter 1. Synchronizing with DB2 databases 27
  43. 43. Figure 1-25 Everyplace Client - User Options Click OK to close the User Options window. 4. Highlight the item DB2 Everyplace Sync and click Tools -> Configure. Figure 1-26 Configure DB2 Everyplace Sync 28 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  44. 44. 5. The Configuration window is shown. The server address and server port are those of the secure proxy. Do not attempt to change them unless you know the exact values. The user ID and password are automatically filled in from what you specified in the User Options window. Enter a device ID, which could be the same as the user ID. Note: A user is only allowed to be associated with one device ID. Once an initial synchronization is successful with a device ID, if the same user attempts to synchronize again with a different device ID, the synchronization will fail. Figure 1-27 DB2 Everyplace Sync configuration 6. The Everyplace Client should be ready for synchronization now. 1.6 Sample application synchronization IBM DB2 Everyplace provides a sample application that is installed automatically: the Visiting Nurse (VNURSE) application. This application simulates the scenario where a nurse visits some patients and take their medical data. The nurse uses the VNURSE application to retrieve a patient’s information, such as past medical record and contacts. The nurse also uses this application to record the newly collected medical data, and can synchronize with the Chapter 1. Synchronizing with DB2 databases 29
  45. 45. back-end database to upload or download the latest updated information about the patients. To get familiar with this sample application, click Programs -> DB2 Everyplace Samples -> VNURSE. To work with this sample application, there are also subscription and subscription sets in the Everyplace Synchronization Server. The subscription is JDBCSUB1 and the subscription set is SUBSCRIPTION_SET1. Explore the defined subscription and subscription sets in MDAC to get familiar with them. To try out the sample application VNURSE synchronization: 1. Create a synchronization group and add a user to it. 2. Create a relational database adapter group (DB2e group) and add the same user to this group as well. 3. In MDAC, add the DB2e group to subscription set SUBSCRIPTION_SET1. 4. Configure the Everyplace Client on Pocket PC, as described in 1.5, “Client configuration” on page 26. 5. In Everyplace Client, check the box next to DB2 Everyplace Sync; notice that the status of it changes to Scheduled. Figure 1-28 Schedule DB2 Everyplace Sync 6. Click Execute. The synchronization starts. 30 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  46. 46. Figure 1-29 Executing DB2 Everyplace Sync 7. When the synchronization is completed, it returns to the Everyplace Client window, and the status changes to Completed. Figure 1-30 DB2 Everyplace Sync completes 8. Now go the Configure window for DB2 Everyplace Sync and click the Subscription tab. SUBSCRIPTION_SET1 is shown here, and you can change the Sync Mode to Skip, Synchronize, or Refresh. Chapter 1. Synchronizing with DB2 databases 31
  47. 47. Figure 1-31 DB2 Everyplace Sync Configure - Subscription tab 9. If for any reason the synchronization failed, click Tools -> Show log to get some information about the failure. 10.Try adding a new medical record using the VNURSE application, then perform the synchronization again. 11.Use DB2 Control Center to view whether the new record appears in VNMEDICALRECORD table of the VNURSE database. 1.7 Verify the synchronization After completing the synchronization, you may verify the synchronization results. On the server side, use the usual ways to query the back-end database to verify the changes are there. On the client, if you have an application that can retrieve and display the data from the databases, such as the sample VNURSE application, use it to verify the results. Another generic way to verify the results is to use the DB2eCLP tool that comes with DB2 Everyplace: 1. Click the Programs icon. 32 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  48. 48. Figure 1-32 Pocket PC Programs 2. Click File Explorer. Navigate to My DeviceProgram FilesIsync. Figure 1-33 Pocket PC File Explorer 3. All the synchronized databases are stored in this directory. For example, DSY_VNMEDICALRECORD is the table VNMEDICALRECORD used by the VNURSE application. Verify that the database of interest appears here. 4. Go back to the Programs window. Click the DB2 Everyplace Samples icon. Chapter 1. Synchronizing with DB2 databases 33
  49. 49. Figure 1-34 DB2 Everyplace Samples 5. Select DB2eCLP and click OK on the welcome window. Figure 1-35 DB2eCLP 6. Type in the top pane: connect to program filesisync Make sure isync is followed by a backward slash (“”). Otherwise, the connection will not be established. Then click Execute. 34 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  50. 50. Figure 1-36 Using DB2eCLP 7. Type the SQL statement in the top pane, for example: select * from vnmedicalrecord where patientid=’900000001’ Click Execute and the query results will be displayed in the bottom pane for you to verify. Figure 1-37 Using DB2eCLP 8. Type other necessary SQL commands to verify. Chapter 1. Synchronizing with DB2 databases 35
  51. 51. 9. When done, make sure to exit the DB2eCLP by clicking the Close button to release the database connection. Otherwise, other DB2e applications will not be able to operate. 1.8 Synchronization using SSL To prevent synchronization data from being exposed to unintended parties, it is often desirable to turn on security between the server and the client. In the case of DB2 Everyplace Synchronization, security must be enabled on both the HTTP server, the application server, and the mobile client. This section describes an example of enabling SSL security on IBM HTTP Server and WebSphere Application Server, as well as on IBM Everyplace Client. 1.8.1 Enable server security In this section, we provide an example of how you will enable SSL in the IBM HTTP Server. Enable security on IBM HTTP Server Execute the following steps: 1. Create a new key database. A key database is a file that the server uses to store one or more key pairs and certificates. You can use one key database for all your key pairs and certificates or create multiple databases. IBM HTTP Server comes with the IKEYMAN tool, which is a key manager to manage the key databases. a. Make a directory for the key databases to be stored, for example, c:keys. b. Start the Key Management utility of IBM HTTP Server (IKEYMAN) by clicking Start -> Programs -> IBM HTTP Server -> Key Management Utility. c. Select Key Database File from the main interface and then select New. 36 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  52. 52. Figure 1-38 IBM HTTP Server Key Management Utility d. In the New window, enter the desired key database name, the directory to store the key database, and click OK. Figure 1-39 Create new key database e. In the Password Prompt window, enter and re-enter the desired password for the key database. Check Stash the password to a file? Click OK. Chapter 1. Synchronizing with DB2 databases 37
  53. 53. Figure 1-40 Set password for the key database file 2. Create a self-signed key file. In this example, we use IKEYMAN to create some self-signed certificates to use. Otherwise, you can use a certificate from a well-known Certificate Authority (CA). a. In IKEYMAN, select Key Database File from the main interface, then select Open. b. In the Open window, select the key database file just created and click OK. c. Enter the correct password when prompted. d. Select Personal Certificates in the Key Database content frame and click the New Self-Signed button. 38 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  54. 54. Figure 1-41 Create self-signed key e. In the Create New Self-Signed Certificate window, enter the following information: • Key Label: Enter a descriptive comment that is used to identify the key and certificate in the database, for example, my first key. • Key Size: For testing purposes, use the default value. Otherwise, check with your security administrator for the proper key size in your installation. • Common Name: Enter the fully qualified host name of the Web server as the common name. • Organization Name: Enter the name of your company, for example, IBM. • Organization Unit: This is optional, but you should check with your security administrator for the proper value in your installation. The calculated hash value to be used for the digital signature will include this and other values in the certificate. • Locality: This is optional. • State/Province: This is optional. Chapter 1. Synchronizing with DB2 databases 39
  55. 55. • Zipcode: This is optional. • Country: Enter a country code. Specify at least two characters, for example, US. • Validity Period: For testing purposes, use the default value. Otherwise, check with your security administrator for the proper value in your installation. Figure 1-42 Create the self-signed key f. Click OK and exit IKEYMAN. 3. Set up the IBM HTTP Server. The IBM HTTP Server configuration must be changed to allow for security. a. Open the IBM HTTP Server configuration file: Installation_Directoryconfhttpd.conf b. Add the SSL module: Locate the following line: LoadModule ibm_app_server_http_module After the above line, add the following LoadModule line: LoadModule ibm_ssl_module modules/IBMModuleSSL128.dll c. At the end of httpd.conf, add the following lines. The text shown in italics should be edited for your environment. Listen 443 40 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  56. 56. <VirtualHost yourServerName.raleigh.ibm.com:443-> SSLEnable SSLClientAuth none SSLCipherSpec 34 SSLCipherSpec 35 SSLCipherSpec 3A SSLCipherSpec 33 SSLCipherSpec 36 SSLCipherSpec 39 SSLCipherSpec 32 SSLCipherSpec 31 SSLCipherSpec 30 ServerName yourServerName.raleigh.ibm.com DocumentRoot "c:/IBM HTTP Server/htdocs" <Directory " c:/IBM HTTP Server/htdocs "->Options Indexes AllowOverride None order allow,deny all from all </Directory-> </VirtualHost-> Keyfile c:/keys/key.kdb SSLV2Timeout 100 SSLV3Timeout 1000 d. Save and close the httpd.conf configuration file. e. Restart IBM HTTP Server. 4. Verify that security is enabled on IBM HTTP Server. a. Open a browser. b. Type https://yourserver.raleigh.ibm.com in the address bar. c. If using a self-signed certificate, accept the certificate if prompted. Note: For security reasons, it is always recommended that you use certificates signed by a Certificate Authority (CA). Use self-signed certificates for testing purposes only. Enable security on WebSphere Application Server 1. Configure WebSphere Application Server. a. Open the WebSphere Application Server Administrative Console by selecting Start -> Programs -> IBM WebSphere -> Application Server V4.0 -> Administrator’s Console. b. Click Virtual Hosts. Chapter 1. Synchronizing with DB2 databases 41
  57. 57. c. Click the Add button. d. Add *.443 to the Host Aliases list. e. Click Apply. f. Expand nodes by clicking the +. g. Right-click yourServer. h. Click Regen Webserver Plugin. i. Right-click yourServer. j. Click Stop for Restart. You may want to check the Task Manager to verify that the WebSphere Application Server Java process has stopped. It is a large Java process (70 MB or greater). There may also be other Java processes associated with it. The only way to tell if it is a WebSphere Application Server Java process is that you will see a huge (70 MB or greater) Java process. k. Start the WebSphere Application Server Administration Server by selecting Start -> Programs -> IBM WebSphere -> Application Server V4.0 -> Start Admin Server. 2. Verify that security is enabled on WebSphere Application Server. a. Open a browser. b. Access the Portal home page: https://yourServer.raleigh.ibm.com/wps/portal Accept the certificate if prompted. 1.8.2 Enable client security IBM Everyplace Client uses a Secure Proxy for basic authentication. It is transparent to the user and requires minimal configuration. To enable the Everyplace Client to use SSL: 1. Open IBM Everyplace Client. 2. Select Tools -> User Options. 3. Check the box next to User SSL for Synchronization. 42 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  58. 58. Figure 1-43 Turn On SSL on IBM Everyplace Client 4. Click OK. Now the server and the client can communicate using SSL. 1.9 Synchronization with remote DB2 databases In an enterprise environment, the databases are often stored on separate machines from the Everyplace Synchronization Server. This section demonstrates how to configure a subscription to synchronize with a remote DB2 database. 1. Before you start, make sure to run db2jstrt command on the remote database machine so that the DB2 server can accept JDBC net connections. 2. Open the Mobile Administration Center. 3. Right-click Subscriptions and choose Create -> Table subscription -> JDBC subscription. 4. The Create JDBC Subscription wizard opens. Enter a name for the subscription and, optionally, a description. Click the Source tab. Chapter 1. Synchronizing with DB2 databases 43
  59. 59. 5. Click the down arrow besides the Driver field and choose IBM DB2 UDB Remote. The Database URL field will change to a different format automatically. Fill in the Database URL field, where the host is the host name or IP address of the machine where the remote data source resides, and the port number is 6789 by default. Enter the database name. Specify the user name and password that can access the source database. Click the Mirror tab. Figure 1-44 Specify remote data source 6. In the Mirror tab, specify the local mirror database and provide the user name and password used to access this database. Click the Subscription sets tab. 7. In the Subscription sets tab, specify the subscription sets this subscription should belong to. Click the Identification tab. 8. On the Identification tab, click the Define subscription button. 9. The Define Replication Subscription window is shown. Click Add. 10.Add the tables to be synchronized and click Close. 11.Modify the replication interval if necessary and click OK and OK. By now, the subscription to a remote data source is configured. 12.Click the + besides the Logs folder and click Replication. Sometimes it is necessary to refresh by right-clicking Replication and choosing Refresh. 44 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  60. 60. Make sure the replication for the newly created subscription is carried out successfully. You can also use the Control Center to view the contents of the mirror database to see whether the data has been replicated. 13.If the replication has no problem, this subscription is ready for use. 1.10 Sync modes In Everyplace Client, for the subscription sets of DB2 Everyplace Sync, there are three possible Sync modes, namely Skip, Synchronize, and Refresh. Skip If the Sync mode is configured to Skip, the subscription set will not participate in the next synchronization with the source. Synchronize With this mode, source and mobile databases are synchronized on their changes. Refresh With Refresh mode, the client drops and recreates all the relevant tables, and the server sends all the rows for the client for each table. 1.11 Types of subscription In the previous sections, we use JDBC subscription for data synchronization. There are three possible types of subscriptions for relational database tables: DataPropagator subscription DataPropagator subscription is used only with DB2 back-end data sources. The DB2 data source is left intact, but separate steps must be taken to enable replication between source and mirror databases. JDBC subscription JDBC subscription provides users with access to data in any source database with a JDBC interface. Triggers are inserted into the source database. Upload subscription Upload subscription only allows the user to directly insert rows into a table on a source database. The source table may reside on any database that supports JDBC. There is no mirror database involved. Chapter 1. Synchronizing with DB2 databases 45
  61. 61. 1.11.1 DataPropagator subscription With DataProgator subscriptions, DB2 Everyplace Sync Server uses DB2 DataPropagator to replicate data between the source DB2 database and the mirror DB2 database. Figure 1-45 illustrates this process. Replication JDBC DPropR DB2e Sync Server DPropR source database WebSphere Application Server (DB2) mirror database (DB2) DB2 database (LDAP data) DB2e Sync LDAP JDBC WebSphere Directory Server Portal Services (servlet) Users and Groups WebSphere Application Server Subscription set and IBM HTTP Server DB2 Everyplace Subscriptions Mobile Devices m23vnx78.itso.ral.ibm.com Administration Synchronization Port 80 Basic Authentication Center (MDAC) DPropR subscription DB2 source database SSL (optional) Everyplace Client Secure 127.0.0.1 DB2e Sync proxy Port 1080 DB2e database Pocket PC Figure 1-45 DataPropagator subscription - sample scenario In the whole synchronization scenario, different subscription types only affect replications. Client configuration and usage steps remain the same. Note: DataPropagator subscriptions can only be used with DB2 back-end databases. Before creating DataProgator subscriptions, the source database table must be defined as a replication source in DB2: 1. Open the DB2 Control Center and Mobile Devices Administration Center by clicking Start -> Programs -> IBM Everyplace Synchronization Server -> Launch MDAC. 46 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  62. 62. 2. In DB2 Control Center, expand the source database (for example, VNURSE) and select the Tables folder to list the available tables. 3. Locate the synchronization source table, for example, VNMEDICALRECORD, and right-click it. 4. Select Define as replication source -> DB2 Everyplace Sync Server. Figure 1-46 Define source database table as replication source 5. Select Run Now. Figure 1-47 Run Now 6. Click OK. Chapter 1. Synchronizing with DB2 databases 47
  63. 63. 7. Verify the replication source has been created by clicking the Replication Sources folder. Figure 1-48 Table added as replication source Now we can define the subscription. 8. In Mobile Devices Administration Center, select Subscription -> Create -> Table Subscription -> DataPropagator subscription.... 48 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  64. 64. Figure 1-49 To create DataPropagator subscription in MDAC 9. The Create DataPropagator Subscription wizard opens. In the Identification tab, type a name for this subscription, for example, MedicalRecord. Optionally, enter a description for this subscription. Chapter 1. Synchronizing with DB2 databases 49
  65. 65. Figure 1-50 Create DataPropagator Subscription wizard 10.Click the ... button next to the Source database field. Choose the source database from the list, and click OK. Figure 1-51 Choose source database 11.Click the ... button next to the Mirror database field. Choose the mirror database from the list, and click OK. If a mirror database was not created earlier, click Create to launch the Create Database wizard. 50 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  66. 66. Figure 1-52 Set mirror database 12.Click the Authentication tab. Enter the user ID and password information for both source and mirror databases. Figure 1-53 Enter authentication information for source and mirror databases Chapter 1. Synchronizing with DB2 databases 51
  67. 67. 13.Click the Subscription sets tab. Select the subscription set(s) that this subscription will belong to and click -> or ->-> to bring it to the Selected subscription sets pane. You can also click Create... to create a new subscription set. Figure 1-54 Select subscription set 14.Click the Identification tab again. Click the Define subscription... button. 52 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  68. 68. Figure 1-55 Define subscription 15.The Define Replication Subscription wizard opens. Figure 1-56 Define Replication Subscription wizard 16.Click the Add button to open the Add window. 17.The previously defined replication sources are displayed. Select the desired one and enter a name in the Target table field if it is different from the source. Click Add. Repeat for more replication sources. Click OK when done. Chapter 1. Synchronizing with DB2 databases 53
  69. 69. Figure 1-57 Add replication source 18.In the Define Replication Subscription wizard, click the Timing... button to modify the replication frequency. Figure 1-58 Define Replication Subscription wizard 19.Click OK and OK; upon successful creation of the subscription, a DB2 message is shown. 54 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1
  70. 70. Figure 1-59 Subscription creation successful Now there are some extra steps to take in order to bind the tables and start capture for the DataPropagator subscription: 1. Exit the DB2 Control Center and Mobile Devices Administration Center. 2. Open a DB2 command window by selecting Start -> Programs -> IBM DB2 -> Command Window. 3. Shut down all connected applications by entering: db2 force application all 4. In a DB2 command window, change to the bnd directory of the DB2 UDB, for example: cd c:program filesSQLLIBbnd 5. Then type: bindcap db_name db2user db2userpassword This will change the database configuration parameter LOGRETAIN to CAPTURE. Replace db_name with the name of the database you would like to update, such as VNURSE in our example. Please note that db2user must be a valid DB2 UDB user name and db2userpassword the corresponding password. 6. The same command must be run for the mirror database as well: bindcap mirror_db_name db2user db2userpassword Replace mirror_db_name with the name of the mirror database you would like to update, such as M_VN2 in our example. 7. Start the capture process by typing in the DB2 command window: asnccp db_name Where db_name is the source database, for example VNURSE in our example. Leave the DB2 command window open. The capture process will run continuously in the background. If the capture process stops, repeat these steps. Chapter 1. Synchronizing with DB2 databases 55
  71. 71. 8. The DataPropagator subscription has been fully configured now; check the LogsReplication folder in MDAC to make sure replication succeeds. Once the subscription is set up, IBM Everyplace Client can synchronize with the source database in exactly the same way with JDBC subscriptions. For other resources of how to configure DataPropagator subscription, please refer to the IBM DB2 Everyplace Sync Server Administration Guide 7.2, SC27-0845 and the IBM Redbook IBM Replication Solutions for Pervasive Computing with DB2 Everyplace and DB2 Satellite Edition, SG24-6217. 1.11.2 Upload subscription The upload subscription process, as the name suggests, is one way only. It allows the client to insert rows into the source database, but not the other way around. There is no mirror database involved in upload subscription process, which is illustrated in Figure 1-60. In this sample scenario, a DB2 back-end database is used as the source database. No mirror database No replication required source database (DB2) JDBC DB2 database (LDAP data) DB2e Sync LDAP WebSphere Directory Server Portal Services (servlet) Users and Groups WebSphere Application Server Subscription set and IBM HTTP Server DB2 Everyplace Subscriptions Mobile Devices m23vnx78.itso.ral.ibm.com Administration Port 80 Center (MDAC) Upload subscription Basic Authentication DB2 source database SSL (optional) Everyplace Client Secure 127.0.0.1 DB2e Sync proxy Port 1080 DB2e database Pocket PC Figure 1-60 Upload subscription - sample scenario 56 RDB Synchronization, Transcoding and LDAP Directory Services in IBM WebSphere Everyplace Access V4.1.1

×