Released: IronJacamar 1.0, a JCA connector


Industry news: Released: IronJacamar 1.0, a JCA connector

  1. Released: IronJacamar 1.0, a JCA connector (4 messages)

    JBoss has announced the release of IronJacamar 1.0, a JCA container, which provides for the use of resource adapters in applications. It also comes with tools to aid in development.

    What's JCA? Here's from the IronJacamar page:

    The connector architecture also defines a Common Client Interface (CCI) for EIS access. The CCI defines a client API for interacting with heterogeneous EISs.

    The connector architecture enables an EIS vendor to provide a standard resource adapter for its EIS. A resource adapter is a system-level software driver that is used by a Java application to connect to an EIS. The resource adapter plugs into an application server and provides connectivity between the EIS, the application server, and the enterprise application. The resource adapter serves as a protocol adapter that allows any arbitrary EIS communication protocol to be used for connectivity. An application server vendor extends its system once to support the connector architecture and is then assured of seamless connectivity to multiple EISs. Likewise, an EIS vendor provides one standard resource adapter which has the capability to plug in to any application server that supports the connector architecture.

    So I guess it's like JDBC except generic, so you'd be able to connect to other types of things. the JCA 1.6 spec even says JCA is like JDBC, except it's not meant for relational databases. from page 38:

    The connector architecture is a standard architecture for integrating Java EE applications with EISs that are not relational databases. Each of these EISs currently provides a native function call API for identifying a function to call, specifying its input data, and processing its output data. The goal of the Common Client Interface (CCI) is to provide an EIS independent API for coding these EIS function calls.

    JCA provides for conection management, transaction management, security, work lifecycles, inbound and outbound dataflow. And even caching.

    There's a reference implementation that's part of glassfish, but IronJacamar includes tools and looks to be really nice. You can imagine using this to connect to or manage almost anything, which is kinda neat when you think about it.

  2. JCA has been part of the Java EE APIs (J2EE back then) for quite some time, but this remains one of those APIs that one could almost call a 'hidden' one. There is very few documentation about it and I don't think even a single book has been written about it.

    Contrary to what the spec says, I believe connections pools in Java EE servers are not rarely implemented by using JCA under the hoods.

    Purely for the client (the average code in this case) it could be interesting to see if JCA could be used to define JDBC datasources directly inside an EAR. Java EE 6 has support for doing that (via an annotation on an EJB, or in application.xml), but you typically get a non-pooled low-performance connection in that case.


  3. Books[ Go to top ]

    There are a couple of books that have been out for a long time:

    J2EE Connector Architecture and Enterprise Application Integration, by Sharma, Stearns, Ng, Addison Wesley

    Java Connector Architecture by Atul Apte, SAMS press

    which are both JCA 1.0.

    between them they should get you started, and the spec for JCA 1.5. But you're right, there is very little documentation for anything other than the pure vanilla JCA. And nothing that goes into the detail of horrible issues you can get into.

  4. This is incredibly helpful for those of us in the EIP space.  We can run functional tests without having to fire up an entire app server.  Really looking forward to using this in anger.

  5. Feel free to drop by our forum to share your ideas. We will expand the functionality of our embedded environment in the 1.1 series which will help testing :)