1 / 30

Connecting to the Enterprise Using VisiConnect

Connecting to the Enterprise Using VisiConnect. David Lucas President Lucas Software Engineering, Inc DDLUCAS@LSE.COM. Agenda. Introduction What is a Connector? Overview of Sun’s JCA VisiConnect Deployment to BAS Client Interface Summary. Introduction. Welcome Application Servers

cecile
Download Presentation

Connecting to the Enterprise Using VisiConnect

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Connecting to the Enterprise Using VisiConnect David Lucas President Lucas Software Engineering, Inc DDLUCAS@LSE.COM

  2. Agenda • Introduction • What is a Connector? • Overview of Sun’s JCA • VisiConnect • Deployment to BAS • Client Interface • Summary

  3. Introduction • Welcome • Application Servers • JDBC • Enterprise Information System

  4. What is a Connector? • Like a bridge, it attaches two ends together, J2EE and EIS EIS AppServer Connector Resource Adapter

  5. Overview - Terms • EIS Resource (CICS, SAP, …) • Resource Manager • Managed Environment • Non-Managed Environment

  6. Overview of Sun’s JCA • Part of J2EE 1.3 Specification • Provide plug and play integration between EIS and J2EE AppServers • Simplifies EIS vendor work • System Contracts • Common Client Interface (CCI) • Deployment (RARs)

  7. Overview of Sun’s JCA

  8. Overview - Potential Connectors • PeopleSoft • SAP • Siebel • IMS / VSAM or other data records • B2B SOAP or XML-RPC • TIBCO • IBM MQ Series • Hogan • IBM CICS ECI • JD Edwards • Lawson

  9. Overview - Potential Tools • Actional • Attunity • Borland • CrossWorlds • IONA • Merant • Mercator • Sybase / NEON • TIBCO • Vitria • webMethods • WRQ

  10. Overview - System Contracts • Security Management • EIS Signon via JAAS • Transaction Management • 1PC & 2PC • Container Managed • Component Managed • Connection Management • Pooling • Error Logging & Tracing • Connection Event Notification

  11. Overview - Deployment • J2EE Resource Archive • Resource Adapter with embedded JAR and Native files • RA.XML Descriptor • JNDI-Definition Descriptor (vendor)

  12. Overview - Deployment Roles • Resource Adapter Provider (EIS Vendor) • Application Server / Container Provider (Borland and others) • Component Provider (EJB implementations that take advantage of the Connector)

  13. Overview - CCI • Remote Function Call Interface (similar to JDBC) • Independent and Consistent (vendor neutral) • Optional support for Service Provider Interfaces • Execute Interactions with Records for Input and Output • Supports Result Record Sets

  14. VisiConnect • JCA is still in draft • Borland VisiConnect is early access • Provides Management of Resource Adapters • Currently supports basic password security

  15. Deployment to BAS • RAR file is created to package classes, interfaces, and native files • RA and JNDI Deployment descriptors describe meta information • Can deploy to BAS as standalone or as part of an EAR

  16. Deployment Strategy • EJB Session wraps EIS Vendor access Client AppServer AppServer EJB Session Bean AppServer CORBA Resource Adapter EIS

  17. Client Invocation • Obtain factory context and get Connection to Resource Adapter • Create Interaction (like JDBC Statement) • Get Record Factory and create input and output Records as needed (like JDBC Result Set layout) • Create Interaction Spec that maps function to execute with records • Invoke execute and retrieve results

  18. Client Invocation • Obtain factory context and get Connection to Resource Adapter javax.naming.Context context = new InitialContext(); ConnectionFactory cxfactory = (ConnectionFactory) context.lookup(“java:comp/eis/MyEIS”);

  19. Client Invocation • Create Interaction (like JDBC Statement) • Get Record Factory and create input and output Records as needed (like JDBC Result Set layout) Interaction ix=cx.createInteration(); RecordFactory rfact=cxfactory.getRecordFactory(); MappedRecord input=rfact.createMappedRecord("INPUT"); IndexedRecord output= rfact.createIndexedRecord("OUTPUT");

  20. Client Invocation • Create Interaction Spec that maps function to execute with records • Invoke execute and retrieve results InteractionSpec ixSpec = new my.eis.InteractionSpec(); ixSpec.setFunctionName("INQUERY"); boolean response = ix.execute(ixSpec, input, output);

  21. Resource Adapter • Execute on the Resource side class MyInteraction implements Interaction { ... public boolean execute(ixSpec, input, output) throws ResourceException { boolean success = false; // grab input // execute EIS business logic // map output return success; } … }

  22. Resource Adapter Descriptor <connector> <display-name>CciBlackBoxLocalTx</display-name> <vendor-name>Java Software</vendor-name> <spec-version>1.0</spec-version> <eis-type>JDBC Database</eis-type> <version>1.0</version> <resourceadapter> <managedconnectionfactory-class>com.sun.connector.cciblackbox.CciLocalTxManagedConnectionFactory</managedconnectionfactory-class> <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface> <connectionfactory-impl-class>com.sun.connector.cciblackbox.CciConnectionFactory</connectionfactory-impl-class> <connection-interface>javax.resource.cci.Connection</connection-interface> <connection-impl-class>com.sun.connector.cciblackbox.CciConnection</connection-impl-class> <transaction-support>local_transaction</transaction-support> <config-property> <config-property-name>ConnectionURL</config-property-name> <config-property-type>java.lang.String</config-property-type> <config-property-value>jdbc:borland:dsremote://localhost//home/ddlucas//test.jds</config-property-value> </config-property> <auth-mechanism> <auth-mech-type>basic-password</auth-mech-type> <credential-interface>javax.resource.security.PasswordCredential</credential-interface> </auth-mechanism> <reauthentication-support>false</reauthentication-support> </resourceadapter> </connector>

  23. Resource Adapter JNDI Objects <jndi-definitions> <jndi-object> <jndi-name>serial://eis/JDSResource</jndi-name> <class-name>com.sun.connector.cciblackbox.CciConnectionFactory</class-name> <property> <prop-name>userName</prop-name> <prop-type>java.lang.String</prop-type> <prop-value>test</prop-value> </property> <property> <prop-name>password</prop-name> <prop-type>java.lang.String</prop-type> <prop-value>test</prop-value> </property> </jndi-object> </jndi-definitions>

  24. Resource Adapter ejb-jar.xml <ejb-jar> <enterprise-beans> <session> <ejb-name>JDSResourceTest</ejb-name> <home>untitled2.JDSResourceTestHome</home> <remote>untitled2.JDSResourceTest</remote> <ejb-class>untitled2.JDSResourceTestBean</ejb-class <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <resource-ref> <description>JDSResource Connector</description> <res-ref-name>JDSResource</res-ref-name> <res-type>com.sun.connector.cciblackbox.CciConnectionFactory</res-type> <res-auth>Container</res-auth> </resource-ref> </session> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>JDSResourceTest</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>

  25. Resource Adapter ejb-inprise.xml <inprise-specific> <enterprise-beans> <session> <ejb-name>JDSResourceTest</ejb-name> <bean-home-name>JDSResourceTest</bean-home-name> <resource-ref> <res-ref-name>JDSResource</res-ref-name> <jndi-name>eis/JDSResource</jndi-name> <cmp-resource>False</cmp-resource> </resource-ref> </session> </enterprise-beans> </inprise-specific>

  26. DEMO

  27. Summary • JCA 1.0 • Still Draft, more is needed in next spec • Support for only synchronous calls • VisiConnect early access • Working environment in BAS 4.5 • Deployment tools with JB 5.0 • Major impact to EIS vendors today • In about a year it will impact integrators that will use Connectors

  28. Questions? All trademarks in this presentation are those of their respective owners.

  29. Thank You! Additional Info - http://www.borland.com- http://java.sun.com/j2ee/connector- Integrating Java Applications With the Enterprise, by Vijay Sarathy and Rahul Sharma, eAI Journal, May 2001- Java Connector Architecture: The Future of EAI, by Mark Hansen and Peter Mamorski, posted to eAI Journal, May 15, 2001 Please fill out the speaker evaluation. You can contact me further at … DDLUCAS@LSE.COM

More Related