At Novell, identity is a serious topic. Novell will soon release Novell Integration Manager 6–a rebranding of the long-standing exteNd Composer product. While a new name is nice, the exciting news is what Integration Manager brings to Novell Identity Manager in addition to the traditional composite application developer.
A Brief Overview of Integration Manager
Integration Manager 6 is a rebranding of what many consider the hidden gem within the former exteNd product suite: Composer. Integration Manager 6, an XML integration broker, removes the complexities of traditional integration approaches such as CGI scripts, PERL and low-level API programming with the aid of an extremely powerful and intuitive development environment (IDE). With Integration Manager, it's a simple task to access and share data across a wide range of systems in a siloed and mixed-platform computing environment. By providing a drag-and-drop interface, expression builders and numerous wizards, Novell Integration Manager allows users with very little programming background to quickly become proficient at developing, testing and deploying integration services. Integration Manager 6 also supports more complex business logic, for users who prefer to dive down into Java or JScript.
At its core, Integration Manager 6 is a robust XML-transformation engine capable of performing a wide range of data transformations that virtually eliminate the need to write XSLT style sheets or Java code. Connectivity to numerous data sources is accomplished through the many available adapters called Connects. These Connects in Integration Manager 6 expose the full range of functionality available from the connected systems' API or protocol, allowing you to design enterprise application integration (EAI) applications and Web services to push and/or pull data to the connected systems (even legacy nonWeb-enabled systems).
The hub-and-spoke architecture of Novell Integration Manager is truly noninvasive to the connected systems and applications: there are no agents to install or code to modify on the target systems; the engine simply acts as another client logged in with the credentials you provide or that it obtains at run time.
XML requests drive Integration Manager services, which return XML documents as output. For most typical integration services, the structure and content of request and response documents are purely custom; you can either import custom XML samples or create them from scratch from within the development environment. You also get sample standard templates and documents with the product to assist in the development process of HIPAA, EDI, HL7 and Identity Manager Driver services. The engine automatically converts the XML request into a native call, communicates with the target system and converts the response back into XML.
Interactions with target systems and transformation of the response data is done visually using drag-and-drop features of the design environment. The designer provides a standard interface to represent input and output documents, as well as the Action Model, which is automatically built as you visually interact with the target system or transform XML data elements.
Debugging is also a snap, using the step-through animation facilities. Once an integration service is developed and tested, it can be deployed to any of the most popular J2EE application servers or servlet containers. Deployed services can be triggered as a servlet, SOAP service or EJB. Other deployment options include the ability to schedule the start of a service (batch style), as well as via e-mail triggers and file-listener services.
Where Integration Meets Identity
Imagine you are running Novell Identity Manager and need to provision account information from eDirectory into a Siebel or Lawson system, or perhaps even a home-grown application that is accessed via Telnet, 3270 or 5250. Previously, Identity Manager didn't provide native drivers to support these systems, so you had to integrate with them using delimited-text or SOAP drivers, or bind directly to the underlying data stores using the JDBC or LDAP driver. Another option might be to develop your own driver in Java or C++ with help from the Identity Manager Driver Development Kit (NDK).
With the release of Integration Manager 6, there is now another solution: create a custom Identity Manager driver by leveraging the design tools and connectivity offered by Integration Manager 6. A new feature available in the upcoming release makes it possible to quickly develop, test and deploy a custom Identity Manager Driver. When creating a new Integration Manager 6 project, simply check the box for IDM Driver Project and a skeleton Identity Manager Driver project is created in the design environment, complete with sample request and response templates, services and deployment objects. All that's left is for you to define a connection and map data to and from the connected system. Once the project is deployed as a driver, the Identity Manager engine can call the driver using the ComposerServiceDriver (shim) and use a standard Identity Manager policy to govern actions on eDirectory events.
Custom drivers can be developed for any system to which Integration Manager 6 can connect, thereby extending the reach of Identity Manager. Subscriber channel functionality is straightforward and always available, regardless of the connected system. The strategy for developing Publisher channel functionality will vary depending on the system to which you are connecting. ERP and CRM systems (for example, Baan, J.D. Edwards, Lawson, PeopleSoft, Oracle Applications, SAP and Siebel) have 'listening services' available directly to them, while most other systems will likely require creation of a polling service (deployed using the timer trigger, for instance).
Custom Driver Development using Integration Manager 6
Let's say you want to create a custom driver to synchronize data on the Subscriber Channel from eDirectory to a home-grown HR application accessible via Telnet. When a new user is added, modified or deleted from eDirectory, the HR system is to be synchronized. You can take the following basic steps to accomplish this:
- From within Integration Manager 6, create a new project; make sure to check the IDM2 Driver Project box.
- Create a new deployment profile of type IDM that points to a directory accessible to the Identity Manager engine.
- Create a new Connection Object for the Telnet system to which you intend to connect. This is where you define the IP address and login credentials required to connect to the target system.
- Create a new Telnet Component that will perform the required steps to add data to the HR system using the connection object defined above.
- Click on the record button from within Integration Manager 6 designer to connect to the target system. At this point, you can drag data from the sample nds input document into the Telnet screens displayed in the designer. Navigate through the required screens to add the new user to the target HR system.
- Debug and save the component.
- Open the skeleton project's AddUser XML-map component. You will see a comment indicating where to insert add actions. Using the Integration Manager 6 Action Wizard, create a single action that calls the component you just created to add data to the Telnet application.
- Repeat the last four steps, once each for Delete and Modify.
- Deploy the project using the deployment profile created above. This will jar the project and place it in a location accessible to the Identity Manager engine.
- Start an iManager session and create a new Driver.
- When prompted, navigate to a predefined configuration file provided by Integration Manager 6. The configuration file will make sure the new driver uses the ComposerServiceDriver shim instead of trying to fire a native Identity Manager driver.
- From iManager configuration, point to the jar you just deployed.
- Start the driver.
- Apply appropriate filters and policy.
For more complete instructions regarding the process of creating a custom driver, refer to the documentation for Integration Module for Enterprise - Custom Edition Guide for Identity Manager at novell.com/documentation/dirxmldrivers/.
What Does The Future Hold?
Integration Manager will continue to be enhanced and supported as a world-class platform for developing enterprise integration and SOA services. Near-term releases will focus on the interoperability of Integration Manager and Identity Manager, particularly in the area of custom driver development. The ultimate goal is to achieve a single design environment (based on Eclipse) which allows an Identity Manager administrator/developer to design an Identity Manager solution that includes native Identity Manager drivers such as AD and GroupWise, to name a few. It should also allow someone to very quickly create custom drivers that leverage Integration Manager and any of its connectivity. In other words, Integration Manager will become a true custom driver factory.