Presentation is loading. Please wait.

Presentation is loading. Please wait.

Configuring DirXML™ Drivers for JDBC, iPlanet, and Delimited Text

Similar presentations


Presentation on theme: "Configuring DirXML™ Drivers for JDBC, iPlanet, and Delimited Text"— Presentation transcript:

1 Configuring DirXML™ Drivers for JDBC, iPlanet, and Delimited Text
Novell BrainShare 2002 Configuring DirXML™ Drivers for JDBC, iPlanet, and Delimited Text Jason Elsberry Software Engineer Novell, Inc. Steve Trottier TUT236—Configuring DirXML Drivers for JDBC, iPlanet, and Delimited Text

2 Vision…one Net Mission
A world where networks of all types—corporate and public, intranets, extranets, and the Internet—work together as one Net and securely connect employees, customers, suppliers, and partners across organizational boundaries Mission To solve complex business and technical challenges with Net business solutions that enable people, processes, and systems to work together and our customers to profit from the opportunities of a networked world

3

4 What Do these Drivers Have in Common?
They are all multi-purpose Directories (LDAP Driver) Databases (JDBC Driver) Text files (Delimited Text Driver) Creative use of style sheets allows drivers to be flexible

5 DirXML™ Overview DirXML allows data synchronization between Novell eDirectory™ and other applications, directories and databases Novell eDirectory acts as the data “hub” Data can flow from an application into eDirectory (publisher channel) or from eDirectory into an application (subscriber channel)

6 DirXML Overview (cont.)
Two main types of DirXML configuration DirXML rules DirXML rules are optional DirXML rules define or modify the driver behavior XSLT style sheets XSLT is a standard way of modifying source XML documents Any DirXML rule can be replaced by an XSLT style sheet XSLT style sheets can be more flexible than DirXML rules XSLT is usually more difficult to learn than DirXML rules

7 DirXML Overview (cont.)
Other elements of DirXML configuration Sample driver configuration (import files) DirXML objects Driver set objects Driver objects Subscriber channel objects Publisher channel objects Filters

8 DirXML Driver for LDAP Supported LDAP servers
Netscape Directory Server 4.12 iPlanet Directory Server 5.0 IBM SecureWay Directory Critical Path InJoin Server Others are untested, but may work Requires standard LDAPv3 compliance Publisher channel requires LDAP change log

9 LDAP Sample Configuration
Supports bi-directional data synchronization New entries are synchronized in a flat fashion When an entry is added anywhere on the LDAP server, it gets synchronized to a single specified container in eDirectory When an entry is added anywhere in eDirectory, it gets synchronized to a single specified container in the LDAP server

10 LDAP Sample Configuration
Specific rules to match the default Netscape/iPlanet behavior User objects added to eDirectory get named with “cn” User objects added to the LDAP server get named with “uid”

11 Changing the Sample Configuration
If we wanted a mirrored subtree structure Change placement rule Make sure everything we want to synchronize is in the filter and the schema map

12

13 DirXML Driver for Delimited Text
Rather than interacting directly with any application, the Delimited Text driver operates on text files stored on the local file system Publisher channel processes input files Subscriber channel creates output files

14 DirXML Driver for Delimited Text (cont.)
Sample configuration supports Comma-separated value files (CSV) DirXML formatted XML files (XDS) Other file types require customized style sheets Input files must represent an entry (user) either with a single line of data, or as XML Style sheets convert single-line data input, or XML input, to a <record> and <field> XML structure

15 DirXML Driver for Delimited Text (cont.)
<record name=‘Joe Brown’> <field name=‘First Name’>Joe</field> <field name=‘Last Name’>Brown</field> <field name=‘Title’>Engineer</field> <field name=‘Department’>IS</field> </record>

16 DirXML Driver for JDBC Supported Databases Oracle 8i, 9i
IBM DB2 Universal Database (UDB) 7.x Microsoft SQL Server 7.x/2000 Sybase Adaptive Server Enterprise (ASE) 12.x

17 DirXML Driver for JDBC Minimum Database Requirements
Support SQL grammar used by the driver SQL92 entry level? JDBC-accessible Third-party JDBC driver Third-party ODBC driver via Sun’s JDBC-ODBC Bridge Support Schemas A schema is a logical grouping of database objects owned by a particular database user Example Microsoft Access does not support schemas

18 DirXML Driver for JDBC (cont.)
Supported Data Types JDBC 1.0 data types (java.sql.Types) time, date, timestamp char, varchar, long varchar binary, varbinary, long varbinary

19 DirXML Driver for JDBC (cont.)
1.5 Features Embedded SQL Allows for virtual database triggers Allows for native SQL queries Facilitates user account management Extended Set of Compatibility Parameters Further generalize the driver Allows for use with more databases and third-party JDBC/ODBC drivers

20 <add class-name=“EMP”>
<add-attr name=“LNAME”> <value>Elsberry</value> </add-attr> </add> <jdbc:statement> <jdbc:sql>UPDATE EMP SET FNAME = ‘Jason’</jdbc:sql> </jdbc:statement> INSERT INTO EMP(LNAME) VALUES(‘Elsberry’) UPDATE EMP SET FNAME = ‘Jason’

21 <add class-name=“EMP” jdbc:transaction-id=“0”>
<add-attr name=“LNAME”> <value>Elsberry</value> </add-attr> </add> <jdbc:statement jdbc:type=“manual” jdbc:transaction-id=“0”> <jdbc:sql>UPDATE EMP SET FNAME = ‘Jason’</jdbc:sql> </jdbc:statement> INSERT INTO EMP(LNAME) VALUES(‘Elsberry’) UPDATE EMP SET FNAME = ‘Jason’ Manual Transaction

22 DirXML Driver for JDBC Embedded SQL
Previously, the driver only synchronized data using Data Manipulation (DML) statements E.g., SELECT, INSERT, UPDATE, DELETE Embedded SQL support allows the driver to execute Data Definition (DDL) statements as a side effect of data synchronization E.g., CREATE USER, DROP USER

23 <add class-name=“EMP”>
<add-attr name=“LNAME”> <value>Elsberry</value> </add-attr> </add> <jdbc:statement> <jdbc:sql> <xsl:text>CREATE USER JELSBERRY </xsl:text> <xsl:text>IDENTIFIED BY NOVELL</xsl:text> </jdbc:sql> </jdbc:statement> INSERT INTO EMP(LNAME) VALUES(‘Elsberry’) CREATE USER ELSBERRY IDENTIFIED BY NOVELL

24 DirXML Driver for JDBC Compatibility Parameters
Further generalize the driver Nine new driver parameters One new subscriber parameter One new publication parameter Compatibility parameters are optional

25 DirXML Driver for JDBC (cont.)
Driver Compatibility Parameters Reuse statements? Use manual transactions? Use single connection? Default transaction isolation level Retrieve minimal metadata? Use qualified table names? Handle statement results? Connection initialization string Connection tester class

26 DirXML Driver for JDBC (cont.)
Reuse Statements? If set to “no”, the driver reallocates java.sql.Statement objects for each operation If set to “yes” (default), java.sql.Statement objects are allocated the first time they are used and reused for each subsequent operation Example Microsoft’s JDBC Driver for SQL Server 2000 does not allow multiple java.sql.PreparedStatement objects to be allocated when a manual transaction is in progress

27 DirXML Driver for JDBC (cont.)
Retrieve Minimal Metadata? If set to “no” (default), the driver calls required and optional metadata methods If set to “yes,” the driver only calls required metadata methods Example The Progress JDBC driver does not support the optional metadata method DatabaseMetaData.getExportedKeys().

28 DirXML Driver for JDBC (cont.)
Handle Statement Results? If set to “no,” the driver will not handle results generated from the Statement.execute() method If set to “yes” (default), the driver will handle results generated from the Statement.execute() method Example Microsoft’s ODBC driver does not support retrieval of result sets from this method via Sun’s JDBC-ODBC bridge driver IBM’s JDBC driver for DB2 UDB requires that statement results be handed before output parameters are retrieved from a stored procedure

29 DirXML Driver for JDBC (cont.)
Connection Initialization String Allows users to define statements to execute at connection time Example In order to facilitate user account management on Sybase, the driver’s login account must be granted system administrator rights Making the driver a sys admin, however, forces it to login to the “master” database instead of the database specified in the driver’s authentication parameters This parameter can be used to change database contexts at connection time

30 DirXML Driver for JDBC (cont.)
Connection Tester Class There is no method defined in the JDBC interface to determine connection state The java.sql.Connection.isClosed() method generally returns true only if you’ve explicitly called the close() method This parameter allows users to define a database-specific class to determine connection state Example The Microsoft SQL Server connection tester class MSSQLConnectionTester executes the statement SELECT NULL FROM sysusers WHERE -1=0.

31 DirXML Driver for JDBC (cont.)
Subscriber Compatibility Parameters Key Generation Timing

32 DirXML Driver for JDBC (cont.)
Key Generation Timing When should the driver attempt to retrieve primary key values with <add> events? Before or after rows are inserted into a table? Possible values Before (default) After Example For Oracle, values are available before insertion via sequence objects; for Microsoft SQL Server, DB2, and Sybase ASE, primary key values are generally available after insertion through identity columns

33 DirXML Driver for JDBC (cont.)
Publisher Compatibility Parameters Allow Loopback?

34 DirXML Driver for JDBC (cont.)
Allow Loopback? If set to “no” (default), the publisher will only process events caused by a database user other than itself If set to “yes,” the publisher will process events caused by any database user Example In order to facilitate user account management on Sybase, the driver’s database login account has to be granted system administrator rights Making the driver a sys admin, however, changes the driver’s identity to “dbo” Because the driver’s identity is no longer unique, the publisher is unable to determine whether an event was caused by the subscriber or another database user with sys admin rights

35 wiN big Novell Provisioning table one Net solutions lab
gear up, rope in, and climb on with Novell Provisioning solutions Novell Provisioning table pick up your entry card today in the one Net solutions lab at the

36


Download ppt "Configuring DirXML™ Drivers for JDBC, iPlanet, and Delimited Text"

Similar presentations


Ads by Google