Custom DirXML™ Driver Development Richard Matheson DirXML Driver Development Manager Manager

Slides:



Advertisements
Similar presentations
1 Integration Made Easy Agile Integration: Connecting Salesforce With Your Enterprise.
Advertisements

Novell eDirectory™ Deployment at Hydro Quebec Richard Cabana Enterprise Technology Account Manager Novell Canada Ltd.
Novell iChain ® 2.x Configuration Using the Web Server Accelerator Wizard Cary Andrews Senior Software Engineer Novell, Inc.
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
Introduction To System Analysis and Design
SiS Technical Training Development Track Day 10. Agenda  Introduction to Integration Broker  How to Expose and Consume WebServices.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
Jason Morrill NCOAUG Training Day February, 2008
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Securing Your GroupWise ® System Morris Blackham Software Engineer Novell, Inc. Danita Zanrè Senior Consultant Caledonia.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Managing time-driven entitlement policies with Identity Manager E. Axel Larsson Drew University 20 July 2005.
Configuring Novell Account Management with Identity Manager for Linux and UNIX Doug Anderson Product Manager Boyd Wilson Product Architect,
Implementing the DirXML ® Starter Pack on NetWare ® 6.5 Richard Moore, Novell DirXML Engineering Stuart Mansell, Novell Consulting.
December 15, 2011 Use of Semantic Adapter in caCIS Architecture.
Configuring Identity Manager 2 (formerly DirXML ® ) for JDBC (w/DirXML) Jason Elsberry Software Engineer
Nsure ™ Identity Manager 2 (formerly DirXML ® ) Driver Development Overview Richard Matheson DirXML Driver Engineering Manager Novell, Inc.
Integration Broker PeopleTools Integration Broker Steps –Introduction & terminologies –Application Server PUB/SUB services (Application Server)
Joe Skehan Senior Product Manager, Net Directory Services Novell, Inc. Introduction to Novell DirXML ™
Peoplesoft XML Publisher Integration with PeopleTools -Jayalakshmi S.
第十四章 J2EE 入门 Introduction What is J2EE ?
Using Novell iChain ® 2 to Deliver Internal Network Access without a VPN Brian Six Technical Account Manager Novell, Inc.
Philadelphia Area SharePoint User Group Building Customer/Partner Extranets Designing a Secure Extranet with Sharepoint 2007 Russ Basiura RJB Technical.
Windows 2000 Operating System -- Active Directory Service COSC 516 Yuan YAO 08/29/2000.
Extending Forefront beyond the limit TMG UAG ISA IAG Security Suite
Novell Nsure TM Identity Manager 2 andGroupWise Provisioning Art Purcell, GroupWise ® Engineering, David Holbrook, DirXML Engineering,
Nsure ™ Identity Manager 2 (formerly DirXML ® ) Driver Development Bill Bodine Senior Consultant
Introduction To System Analysis and Design
Novell iManager Introduction and Overview James Whitchurch Director—Software Engineering Novell, Inc. Karl Ford Engineering.
Novell DirXML ™ Commands, Events, and Transformations Shon Vella Software Engineer, Consultant Novell, Inc. Perin Blanchard.
Upgrading Legacy Novell Directory Services ® to Novell eDirectory ™ 8.6 Rick Killpack WSS Engineer Novell, Inc. Connie.
Beginning Programming with Novell GroupWise ® C3POs John Cox DSE Worldwide Developer Support Novell, Inc.
Introduction to NDS ® iMonitor Duane Buss Senior Software Engineer Novell, Inc. Tom Doman Senior Software Engineer Novell,
Using Novell GroupWise ® 6 Monitor Duane Kuehne Software Engineer Novell, Inc. Danita Zanre Senior Consultant NSC Sysop,
Keeping Your Business Online with eDirectory ™ Backup and Restore Brian Hawkins Software Engineer Novell, Inc. Roger.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Introduction to Novell GroupWise ® Administrative Object API Glade Monson Software Engineer Novell, Inc.
Understanding Novell DirXML™ Technology
FSU Metadirectory Project The Issue of Identity Management Executive Overview.
Dave Horne eSolutions Deployment Mgr Novell, Inc. Designing and Managing Novell DirXML ™ Deployments.
Enterprise Integration Patterns CS3300 Fall 2015.
DirXML ™ Competitive Comparisons Ed Anderson Director, Product Management Novell, Inc. Joe Skehan Product Management Directory.
Module 9 User Profiles and Social Networking. Module Overview Configuring User Profiles Implementing SharePoint 2010 Social Networking Features.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Integrating Active Directory with eDirectory ™ Using Novell Account Manager Reid Oakes Technical Team Manager Novell, Inc.
CSE300 EAIusing EJB & XML CSE Enterprise Application Integration Using EJB and XML by Prithwis Sett Mumtaz Lohawala Nayana Paranjape.
1 Active Directory Service in Windows 2000 Li Yang SID: November 2000.
Creating Custom User Management Plug-ins for iManager Eugene Baron Consultant III Novell, Inc. Adam Ruth Senior Software.
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Intermediate Programming with GroupWise® C3POs™
Programming with NetWare® XPlat APIs
Novell Account Management Introduction and Overview
Creating Novell Portal Services Gadgets: An Architectural Overview
Novell BrainShare 2002 Success in the City: Implementing Novell Solutions at the City of Los Angeles Bob Gillette Information Systems Manager City of Los.
Novell BorderManager® 3.7: Technical Overview
Jumpstart Solution: Novell Active Information Portal
Novell iPrint Deployment Strategies
Novell Government Solutions
Novell Workspace™ Architecture and Developer Concepts
Introducing Novell IPv6 Stack
Configuring DirXML™ Drivers for JDBC, iPlanet, and Delimited Text
Automating Mainframe Authentication Using SecureLogin
Introduction to NDS® iMonitor
Novell eDirectory™ Competitive Comparisons
Introduction to Novell GroupWise® Token API
Presentation transcript:

Custom DirXML™ Driver Development Richard Matheson DirXML Driver Development Manager Manager

Vision…one Net 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.

one Net business solutions model Net Services Software Core Services Platform Operating Systems Networking & Storage AccessSecurityAccessSecurity Application Provisioning User Provisioning CollaborationCollaboration NetWareNetWareWindowsWindowsSolarisSolarisLinuxLinux AIXAIX…… eDirectoryeDirectory IntegrationServicesIntegrationServicesResourceManagementResourceManagementStorageManagementStorageManagementFileFilePrintPrint Web Access Content Delivery DeliveryContent Portal Services MessagingMessaging …… Product Groups Employees Employees SuppliersSuppliersCustomersCustomers One Net Business Strategy Professional Services Solutions Practices RapidTechnologyRationalizationRapidTechnologyRationalization BPM for Local Govt BPM for Local Govt ActiveInformationPortalsActiveInformationPortals…… Secure Partner Portal Identity Provisioning for PeopleSoft Identity Provisioning for PeopleSoft

Session Roadmap DirXML™ Overview DirXML Architecture DirXML Driver Overview Driver Design Considerations DirXML Driver Architecture Demonstration Resources Conclusion

What is DirXML? Data-sharing service  Provides bi-directional data flow between eDirectory and enterprise applications  Administrator determines the data to be shared Matches Existing Business Processes  Runs on all Novell eDirectory ™ supported platforms (NetWare, Win2K, NT, Solaris, Linux, AIX)  Requires no changes to existing applications  Transforms data into the format required by the target application.

Bringing the Directory to the Application General method for directory enabling applications  The applications don’t have to change Sharing data through the directory  Transform data to/from the application’s native format  Common data is stored in the directory

Islands of Isolated Data HRERPDENDir. OSDB

Sharing Data through the Directory HRERPDENDir.MailOSDB Novell eDirectory Novell eDirectory ™ with DirXML

DirXML Architecture Novell eDirectory DirXML Engine DirXML Driver Shim Novell eDirectory Server Application Subscriber Channel Publisher Channel Rules & Stylesheets

DirXML Architecture- The Remote Loader Novell eDirectory DirXML Engine Novell eDirectory Server Application DirXML Driver Shim Remote Loader Shim Remote Loader Service Subscriber Channel Publisher Channel Rules & Stylesheets

Components of DirXML DirXML engine  eDirectory interface  Join engine DirXML Driver Shim  XML interface  Application’s native interface Subscriber and publisher channels  Filters manage flow in both directions  Policies may be applied differently to each channel

DirXML Engine eDirectory interface  Supports loading of multiple drivers  Guaranteed delivery of eDirectory events  eDirectory event loop-back detection Join engine  Handles data transformations  Rules processor  XSLT processor

DirXML Driver Shim XML interface  Issue and receive XML documents  Document Object Model (DOM) Application’s native interface  Applications don’t have to change  Can be either remoted via the remote loader or can use the application’s own remote capability (if any)

Publisher and Subscriber Channels Publisher channel  Propagates events from the application to eDirectory Subscriber channel  Propagates events from eDirectory to the application Filters  Manage the flow of data on both channels  A list of desired classes and their attributes  Determines the authoritative source(s) of data

Driver Overview What is a DirXML driver?  Data pipe DirXML engine to target application Operates on passed data In general, doesn’t make synchronization decisions  Standard objects/methods DriverShim Subscriber Publisher

Driver Overview Driver communication and threads  Two channels of communication Subscriber=NDS->App Publisher=App->NDS  Two threads Subscriber thread –Initializes DriverShim –Initializes subscriber –Waits in engine for events Publisher thread –Initializes publisher –Polls application for changes

Driver Overview Driver lifecycle  Modes of operation Schema query –Driver started explicitly to determine app schema –No synchronization possible Normal synchronization –Once driver is started for synchronization the getSchema method won’t be called

Driver Lifecycle—Normal Sync Subscriber thread  Driver constructed  Init called  getSubscriptionShim  getPublicationShim  Subscriber init  The DirXML engine calls subscriber’s execute method to request the drivers identity.  The DirXML engine calls subscriber’s execute method zero or more times  Engine calls shutdown Publisher thread  Publisher init  Publisher start  Publisher sends updates to eDirectory  Publisher thread returns on notice

Driver Lifecycle—getSchema Subscriber thread  Driver constructed  getSchema called with all initialization parameters  Driver is destroyed Publisher thread  Not used

Driver Design Considerations Research Target application information Approaches to building a driver

Driver Design Considerations Research  XML Parsing –DOM or SAX  XSLT  DirXML architecture  NDS.DTD  Rules and stylesheets

Researching the Target Application Is it standards-based?  LDAP, JDBC Or proprietary  Notes, Exchange Schema  Fixed or extensible

Researching the Target Application Data synchronization and application behavior  In general, drivers are just data pipes Don’t make decisions about data, just route it  Supporting an application may require more than just moving data Creation of system entities –Mailbox creation, for instance Establishment of credentials on new system

Researching the Target Application Access methods  Standards-based protocol  Proprietary API  Is it remotable?  Reading and writing information  Discovering changes in the application space Authentication issues Associations  What value uniquely identifies objects in the application space?

Approaches to Building a Driver Am I building for a specific case or for general reuse?  Custom behaviors modeled in code or XSLT? Become an expert in the target application  Understanding of application data  Understanding of application behavior based on data  Understanding of user expectations Mining changes from the application is the hardest part of driver development

Application Native Format An NDS object is passed as XDS (XML representation of NDS object) The driver must have application native format data to submit to the application  Schema mapping translates namespace  XSLT can transform XDS to another format  Driver can implement data translation for APIs

Application Integration Points How can I get at the application data?  Protocol Is the protocol standard? Is it remotable?  Application Programming Interface (API) Driver will be application-specific Can I get change events?  Flat-file import/export mechanism Unable to properly manage associations or queries

Platform and Language Choice What language should I use?  What language best supports my application’s integration points?  Java has better DOM support Where can my driver run?  Drivers execute as part of Dhost  What APIs will I need local to Dhost? Can restrict platform choice Use Remote Loader to solve deployment issues.  Can the driver securely bind remotely to the application?

Driver Architecture Driver responsibilities Deployment responsibilities Required driver interfaces Rules and stylesheets

DirXML Architecture Novell eDirectory DirXML Engine DirXML Driver Shim Novell eDirectory Server Application Subscriber Channel Publisher Channel Rules & Stylesheets

Driver Responsibilities Initialization and shutdown Read application schema for DirXML engine Translate XML from NDS (XDS) to app format Identify changes in target application Translate application native format into XDS Process queries against application Submit queries against eDirectory Provide foreign key for driver associations

Requirements for ‘Production’ Drivers Effective change event detection  Publish only changed attributes, if possible Guaranteed delivery  Can’t drop events for the Publisher channel Loopback detection  Prevents driver-caused changes from causing unnecessary replication traffic or erroneous data Prefiltering publisher data  Prevents unnecessary traffic by only processing changes interesting to the driver

‘Production’ Drivers - cont. Support for multiple running instances  Publish only changed attributes, if possible Support Remote Loader  Shouldn’t require code changes. Just validate the functionality. Driver identity query  In DirXML 1.1 the engine queries each driver for its identity and activation levels

‘Production’ Drivers - cont. Support multiple events/commands in a single XML document  Engine doesn’t send more than one.  Additional events added by XSLT  Generate a line in the output document for each event based on event-id. Don’t ‘batch’ events in a single XML doc on the publisher channel  Prevents driver-caused changes from causing unnecessary replication traffic

Deployment Responsibilities Data requirements  Schema mapping  Filtering objects and attributes  Authoritative Source  Required data  Data translation  Additional functionality

Deployment Responsibilities - cont. Driver selection  Where is the data?  What protocols or transports are supported?  What application features are needed?  Remote?

Required Driver Interfaces

DriverShim Interface The DriverShim interface consists of five methods in Java and six methods in C++  DriverShim init—Performs channel-independent initialization  DriverShim getSubscriptionShim—Returns a reference (Java) or pointer (C++) to the object implementing the SubscriptionShim interface  Driver getPublicationShim—Returns a reference (Java) or pointer (C++) to the object implementing the PublicationShim interface  DriverShim shutdown—Notifies the driver to disconnect from the application, cleanup, and otherwise shutdown  DriverShim getSchema—Called to obtain a representation of the application schema

SubscriptionShim Interface The SubscriptionShim interface consists of two methods  SubscriptionShim init—Performs subscriber channel specific initialization  SubscriptionShim execute—Accepts commands from the DirXML engine and executes those commands on the application Execute method is inherited from the XmlCommandProcessor interface

PublicationShim Interface The PublicationShim interface consists of two methods  PublicationShim init—Performs publisher channel specific initialization  PublicationShim start—Monitors the application and publishes application changes to the DirXML engine

XmlQueryProcessor Interface The XmlQueryProcessor interface is required because it is a parameter to XMLCOMMANDPROCESSOR.EXECUTE Used by the DirXML interface to query publisher when additional data is required to complete an operation

Support Code Tracer class  Provides ability to output information to DSTrace Output can be controlled based on DriverTraceLevel DriverState support  Driver can save state information between invocations  Done by adding an tag to a return doc or a published document  Can set parameters for driver, subscriber, or publisher state

Rules XML rules  Schema mapping rule translates namespaces  Create rule declares required attributes  Matching rule declares how to identify matching objects  Placement rule determines hierarchical placement

Rules and Stylesheets XSL rules  Event transformation defines how to map one event to another based on XSLT logic Using XSL to override XML rules  Create, match and placement rules can be implemented as XSL Create DirXML rule object Paste XSL into object editor Add the rule as a attribute of the subscriber or publisher

demonstratio

DirXML Sessions at BrainShare 2002 Developer Track DCB125—Novell DirXML Introduction Lab DCB230—DeveloperNet University: DirXML Driver Installation. DCB330—DeveloperNet University: Developing DirXML Drivers DL303—Novell DirXML Commands, Events and Transforms

DirXML Sessions at BrainShare 2002 IS&T Track IO118—Introduction to Novell DirXML IO119—DirXML Competitive Comparisons

DirXML Sessions at BrainShare 2002 Deployment Track TUT235—Understanding Novell DirXML Technology TUT236—Configuring DirXML Drivers for JDBC, iPlanet and Delimited Text TUT237—Configuring DirXML Drivers for eDir, AD and NT TUT238—Configuring DirXML Messaging Drivers TUT239—Configuring DirXML Drivers for ERP Systems TUT335—Designing and Managing DirXML Deployments TUT362—Creating a Meta Directory with DirXML

Training & Education Directory & Database Integration Using DirXML (Course 992)  Import Drivers  Implementation Strategies ATT - Advanced DirXML  Troubleshooting Techniques  Customization  XML, XDS Rules, and XSLT Additional information at

Training & Education at BrainShare Study and preview Directory and Database Integration Using DirXML (Course 992) at The Learning Zone Purchase DirXML self-study materials at the Bookstore ATT - Advanced DirXML course in Provo March

DirXML Links For the latest information on DirXML and drivers  For course schedules and registration information 

DirXML Links For the DirXML Developer’s Kit on the NDK  developer.novell.com/ndk/dirxml.htm For DeveloperNet ® ’s online driver development course  developer.novell.com/servlet/devnet/education/tut orials/dirxml2/01.htm  For XML information   For XSLT information we recommend XSLT Programmer’s Reference, by Michael Kay

Conclusion DirXML provides the platform for data sharing and synchronization DirXML drivers provide the plumbing for an application to participate with the directory With DirXML, Novell is delivering on the promise of one Net