Enterprise Application Integration Using J2EE

download Enterprise Application Integration Using J2EE

of 18

Transcript of Enterprise Application Integration Using J2EE

  • 7/27/2019 Enterprise Application Integration Using J2EE

    1/18

    Enterprise application

    integration using J2EE

    Learn EAI and integrate your applications with Java

    SummaryLet's face it, the Web boom is over. We must move on and change

    with the times. If you are like me, you may have noticed thatcompanies have shifted their focus inward toward something called

    EAI (enterprise application integration). You may ask, "I know J2EE(Java 2 Platform, Enterprise Edition) and Java, but I don't know EAI."

    You might not know it, but you are halfway there. Java represents anideal language for EAI because it runs on most, if not all, operating

    systems and boasts good support from EAI tool vendors. In addition,J2EE provides the security, messaging, and reliability services required

    in EAI. In this article, I explain EAI and how to integrate applicationswith your existing J2EE and Java skills. (4,000 words;August 9,2002)

    By Abraham Kang

    uring the 1990s, companies bought packaged software solutions such as SAP, Oracle

    ERP, PeopleSoft, JDEdwards, Siebel, Clarify, and so on. Although such packagedsoftware solutions worked well individually, they created information islands. In most

    cases, each system produced redundant information (like customer information). Asa result, when common data changed, employees manually updated the associatedinformation in each system, a process that quickly becames cumbersome.

    Eventually, some of the data across systems became inconsistent. When people

    noticed the resulting double data entry, inconsistent data, and data isolationproblems, they decided to find ways to integrate the systems. From that search,

    enterprise application integration (EAI) was born.

    Enterprise application integrationEAIcombines separate applications into a co-operating federation of applications.Two logical integration architectures for integrating applications exist: Direct point-

    to-point connections and middleware-based integration.

    Point-to-point integrationEAI developers pursue point-to-point integration because they find it easy to

    understand and quick to implement when they have just a few systems to integrate.A point-to-point integration example: One application makes direct JDBC (Java

    Database Connection) calls to another application's database tables. Initially, whenyou integrate two applications, the point-to-point integration solution seems like the

    right choice; however, as you integrate additional applications, you get a situationshown in Figure 1.

  • 7/27/2019 Enterprise Application Integration Using J2EE

    2/18

    Figure 1. The later stages of a point-to-point integration

    Considering all that, point-to-point integration's infrastructure proves brittle. Each

    application is tightly coupled with the other applications through their point-to-point

    links. Changes in one application may break the applications integrated with it. Asanother disadvantage, the number of integration points require support. If you have

    five applications integrated with each other, you will need 10 different integrationpoints, as Figure 2 illustrates. As such, each additional application becomes harder to

    integrate and maintain.

  • 7/27/2019 Enterprise Application Integration Using J2EE

    3/18

    Figure 2. Number of point-to-point connections

    To avoid that problem, we need an intermediate layer to isolate changes in one

    application from the others.

    Middleware-based integration

    Middleware has stepped up to the task of providing a mediation point betweenapplications. Middleware provides generic interfaces with which all integrated

    applications pass messages to each other. Each interface defines a business processprovided by an application. Figure 3 shows a logical depiction of the service-oriented

    architecture using middleware.

  • 7/27/2019 Enterprise Application Integration Using J2EE

    4/18

    Figure 3. Middleware-based integration

    A service-oriented architecture lets you add and replace applications withoutaffecting the other applications. If you have five applications to integrate, you'll have

    just five integration points. Compared to the point-to-point solution, middleware-based solutions easily support numerous integrated applications and require less

    maintenance. In addition, middleware can perform complex operationstransforming, aggregating, routing, separating, and converting messageson the

    data passed from application to application(s). The only downside: the added initialcomplexity of setting up the middleware and converting existing applications to use

    the middleware APIs.

    Integration methodsOnce you have selected the logical EAI architecture, you next must choose the

    integration method. EAI has five common integration methods:

    Data-level integration

    User interface (UI)-level integration

    Application-level integration

    Method-level integration

    Data-level integration

    With data-level integration, you integrate the backend datastores that the integratedapplications use. Data-level integration can be push- or pull-based. With push-based,

    one application makes SQL calls (through database links or stored procedures) onanother application's database tables. Push-based data-level integration pushes data

    into another application's database. In contrast, pull-based data-level integrationutilizes triggers and polling. Triggers capture changes to data and write the

    identifying information to interface tables. Adaptors can then poll the integratedapplication's interface tables and retrieve the pertinent data. You'd use pull-based

    data-level integration when an application requires passive notification of changeswithin another application's data.

    Use data-level integration when the application up for integration does not provideany APIs or client interfaces, and you intimately understand how business operations

    affect your application's data model. Data-level integration typically represents theonly option with custom applications lacking application APIs.

    In data-level integration, changes propagated from dependent systems bypass the

    integrated application, so all inserts, updates, and deletes are done to data that the

    integrated application accesses. Developers typically implement data-levelintegration with database gateways or triggers and stored procedures. The major

    downside: keeping the integrated application's data intact. For example, some ERP(enterprise resource planning) systems include thousands of tables. One table might

  • 7/27/2019 Enterprise Application Integration Using J2EE

    5/18

    have dependencies to others, and the integrated application may be the soleenforcer of those dependencies.

    UI-level integration

    UI-level integration ties integration logic to user interface code. UI-level integrationis scripting- or proxy-based. Scripting-based UI-level integration embeds integration

    code into the UI component events, common with client/server applications such asPowerBuilder or Vantive. For example, when you click the Submit button of an AddCustomer screen, data must be sent to the application's database and a JMS (Java

    Message Service) topic. Proxy-based UI-level integration uses the integratedapplication's interface (through screen scraping) to pass data to and from the legacy

    system.

    Use UI-level integration when you cannot easily or directly access the database, or

    when your business logic is embedded in the user interface. Mainframe andclient/server applications represent typical candidates for UI-level integration.

    Mainframes generally cannot access friendly data stores and usually do not providepublic APIs. For their part, many client/server applications embed the business logic

    in the client. In these cases, UI-level integration represents the only way to accessand maintain data integrity.

    In most cases, UI-level integration is your last resort. Adding scripting logic to catch

    events within client/server applications quickly becomes difficult to maintain as theintegration level increases and changes occur. In either case, UI changes can break

    the integration triggers and logic. Moreover, tight coupling forever links UImaintenance with the integration code's maintenance.

    Application-level integration

    Application-level integration, probably the best way to integrate applications, usesthe integrated application's integration frameworks and APIs. Application interfaces

    let you invoke business logic to preserve data integrity. Integration API examplesinclude Siebel's Java DataBeans and SAP's JCA (J2EE Connector Architecture). Prefer

    application-level integration because it is transparent to the integrated applicationand preserves the application's data integrity.

    Method-level integrationMethod-level integration, a less frequently used superset of application-level

    integration, aggregates common operations on multiple applications into a singleapplication that fronts the integrated applications.

    Use method-level integration when each integrated application provides a similar set

    of API or functional methods. Typically, you'd create an aggregating (front)

    application, which fronts the aggregated applications using distributed components

    (CORBA, Enterprise JavaBeans (EJB), DCOM (Distributed Component Object Model),and so on). A front integration component may resemble:

    // Code from a front application component

    addCustomer (CustomerInfo ci) {

    ERPComponent.addCustomer(ci.getName(), ci.getAddress(),

  • 7/27/2019 Enterprise Application Integration Using J2EE

    6/18

    ci.getEmail());ECRMComponent.insertCustomer(ci.getFName(), ci.getLName(),

    ci.getAddress(), ci.getEmail());

    }

    Method-level integration requires the integrated applications to support a RPC(remote procedure call) or distributed component technology. All applications thatinteract with the integrated applications do so through the front application. So, if a

    client application wants to add a customer, it would call the front component'saddCustomer() method. The component would then add the customer to the ERP

    and CRM (customer relationship management) systems.

    Method-level integration's major disadvantage stems from the tight application

    coupling in front components. Changes in the integrated application API break thefront application components and the applications that rely on them. Pursue method-

    level integration when you have CORBA-based integration technology or a distributedcomponent technology. Because method-level integration is a more complicated form

    of application-level integration, it usually makes more sense to pursue application-level integration using middleware.

    How to choose an integration methodSelecting the proper integration method is usually an exercise in constraint-based

    modeling. To wit, look at each system and define the possible interfaces into thatapplication. In some cases, the application does not have any API; therefore the

    backend data store represents the only option. In other cases, APIs and a CORBA

    infrastructure may exist; so employ application-level integration.

    Core integration componentsNow that we have looked at the different integration methods, let's look at the core

    features and services present within most EAI solutions. The following core featuresand services act as the building blocks of your integration solutions.

    Common XML Schema

    Once you have chosen an integration method for each target application, identify acommon integration XML Schema to encompass all integration objects and their

    associated attributes. The integration schema you develop must consider each of theintegrated applications' XML Schemas and future applications' XML Schemas. Most

    packaged ERP and CRM applications include their own XML Schema to describe theirinternal business objects. You will need to convert data extracted from these

    applications into the integration XML format and then into the target applications'XML format. The intermediate XML format isolates changes in one application's XML

    Schema from other applications. If you did not use an intermediate XML format, youwould have to define mappings from each application to the other applications and

    back.

    Data transformation

    Transformation converts XML or non-XML data from one format into another.Transformation, a major part of integration, is categorized into datatype and

    semantictransformations.

  • 7/27/2019 Enterprise Application Integration Using J2EE

    7/18

    A datatype transformation converts attribute values from one application's format toanother. For example, one application might use "M" and "F" to represent gender

    while another application uses "Male" and "Female." As another datatype exampletransformation, consider changing an XML element from:

    111

    to:

    111

    A semantic transformation, in contrast, converts the data from one format into

    another. For example, Oracle stores customer names in first, last, and middle initialfields. SAP, on the other hand, stores a customer name in a single field with a

    lastName, firstName format. Sending data from Oracle to SAP requires a semantictransformation to concatenate a last name with a comma and first name.

    Data transformations are typically part of the process definition.

    Define processes

    Every application has well-defined processes for completing business operations. Thesame is true when integrating processes across applications. You must understand

    the events, systems (source, intermediate, and targets), and routing requirementsfor the integrated applications. For example, a large company may own 12

    applications that store redundant customer data. When a new customer is inserted(event) into one of the applications, you must define a process to propagate the

    information to the other 11 systems. Each of the 11 systems may representcustomer information in different formats with different required fields. Sometimes

    you'll route messages through intermediate systems before ending at the targetsystems. You will eventually implement this information in the physical integration

    architecture.

    Physical integration architecturesThephysical integration architecture concerns the physical software components

    necessary to implement a middleware-based integration solution. Java-based EAIsupports three architectures: message bus, centralized, and JCA.

    Message bus architectureIn the message bus architecture, each application connects to a message bus (more

    of a glorified multicast network). Each integrated application associates with an

    integration node (also known as an adapter) connected to the multicast network. Theintegration node runs either on the same box as the integrated application or on abox with client- or API-level access to the integrated application (see Figure 4). Each

    integration node uses multicast to broadcast information to other integration nodes.When an application wants to share information with its peers, it sends a multicast

    message on the network. Each message has an associated subject. Participating

    integration nodes pick up the message and check whether they are interested in thesubject. If they are, the integration node processes the message by invoking some

  • 7/27/2019 Enterprise Application Integration Using J2EE

    8/18

    business logic on the application it is integrating. The message bus architecture iscommon with Tibco Rendezvous.

    Figure 4. Message bus architecture. Click on thumbnail to view full-size image.

    Advantages:With a message bus architecture, you can propagate a single message to multiple

    clients. When a multicast packet goes out, any interested application can pick up andprocess the packet. If multiple clients require exactly the same data, you can send

    the data once, and each interested application will pick up and process theinformation.

    Disadvantages:

    Message bus architectures often have security problems. It is difficult if notimpossible to support authorization-based access to multicast packets. Multicast-

    based integration architectures drop packets on a network that any network member

    can see.

    Message bus architectures also increase network traffic. Multicast packets negate the

    intelligent routing behavior of switches and bridges. Every client in the same networkas the integration nodes processes multicast packets to the application layer of the

    open system interconnection (OSI) model. Clients then waste CPU cycles processingand discarding invalid packets.

    The third disadvantage is a lack of centralized management. Each integration nodemust utilize some type of RAID (redundant array of inexpensive disks) configuration

    to support message log-file integrityan expensive proposition.

    http://www.devworld.com/microsites/javaworld/legacy/jw-08-2002/images/jw-0809-eaif4.jpg
  • 7/27/2019 Enterprise Application Integration Using J2EE

    9/18

    As another disadvantage, consider the proprietary nature of message busarchitectures. Currently, Tibco is the only vendor that implements the message bus

    architecture.

    Finally, multicast packets cannot cross network boundaries without help fromprotocol converters. If another application to be integrated resided in a separate

    network or subnet, another process must pick the multicast packets, convert them tounicast packets, then forward the packets to another process in the other network.That process in the remote network converts the unicast packets back to multicast

    packets for the integration nodes on the remote network to receive.

    Centralized architecture

    As with the message bus architecture, in a centralized architecture each integratedapplication associates with an integration node. Each integration node serves as a

    JMS event listener/notifier and interface into the integrated application. JMS providesmessage durability, message filtering, transactions, and ensures messages are

    delivered and routed to targeted applications (see Figure 5). When an applicationmust talk to other applications, it publishes messages to JMS topics. Topic listeners

    (message-driven beans) send the messages to business processes applying businessrules, transformation, routing logic, and workflow management.

    In contrast to the message bus architecture, with a centralized JMS architecture, all

    integration nodes communicate with a JMS server instead of a multicast network. Inaddition, the centralized architecture tends to be unicast-based. Unicast packets

    allow applications in different networks and subnets to easily talk to each otherwithout protocol converters. Because switches and routers can intelligently route

    unicast packets, clients receive only packets intended for them. That also keeps

    hackers from sniffing network segments and obtaining integration-relatedinformation. Moreover, a centralized architecture improves overall security. Most

    J2EE servers support SSL (Secure Socket Layer) and authentication to access JMSservices. Finally, the centralized architecture eases management by letting you

    manage your persistent message and transaction logs in a single location.

  • 7/27/2019 Enterprise Application Integration Using J2EE

    10/18

    Figure 5. Centralized JMS architecture. Click on thumbnail to view full-size image.

    Advantages:

    First, a centralized architecture improves maintenance and management. In themessage bus architecture, each integration node protects log files related to certified

    and guaranteed messaging. As a result, each message bus node ideally needs aRAID. However, the centralized architecture only needs a RAID on the JMS server.

    The business rules associated with routing and transformation are also located withinthe centralized message service. You'll find debugging and problem resolution easier

    in a centralized deployment because you can review log files and look for errors in

    one place. The message bus architecture requires you to interrogate suspectintegration nodes, coordinate information, and resolve problems in multiple

    locations.

    The centralized architecture also better utilizes network resources. Single messagesare rarely sent to multiple applications without transformation. That mitigates the

    benefits of the multicast protocol for integration-based applications. Switches andbridges can take advantage of intelligent routing provided by the MAC (media access

    control) address of a unicast frames. Network-friendly unicast packets do not requireprotocol converters to talk to applications in another network or subnet.

    Finally, the centralized architecture supports standards-based messaging like JMS,allowing you to switch different vendor implementations and give developers a

    unified interface into messaging.

    http://www.devworld.com/microsites/javaworld/legacy/jw-08-2002/images/jw-0809-eaif5.jpg
  • 7/27/2019 Enterprise Application Integration Using J2EE

    11/18

    Disadvantages:The centralized architecture lacks standardized integration nodes (adapters).

    Although an integration node standard does not exist, the popular openadaptor opensource adaptor framework supports JMS, sockets, files, IBM WebSphere MQ, Tibco

    Rendezvous, and databases.

    J2EE Connector ArchitectureTheJCA takes a radically different approach to integration by placing the integrationcomponents within the J2EE application server, giving you the centralized

    architecture's maintenance and management benefits. However, JCA adaptersrequire remoteable APIs (see Figure 6)classes that can invoke business logic on a

    remote host. Several remotable APIs examples include CORBA, EJB, DCOM, JDBC,and RPC. JCA standardizes the interfaces into enterprise information systems (EIS)

    so you can use a single JCA-compliant adapter in any J2EE-compatible server. JCA1.0 well supports transactions, security, and resource management. However,

    because the JCA spec is at version 1.0, it has many limitations. First, it lacks anasynchronous messaging mechanism. Second, all requests are unidirectional. Third,

    it doesn't support event-based processing. BEA WebLogic has extended JCA 1.0 byadding support for events, but that solution is proprietary.

    Figure 6. The J2EE Connector Architecture. Click on thumbnail to view full-size image.

    Advantages:

    The JCA boasts the same maintenance and management advantages as centralizedarchitecture, including centralized maintenance, management, and business rules.

    The network-friendly JCA directly supports J2EE services just like the centralizedarchitecture. JCA has the added advantage of standardized adapter interfaces to

    http://www.javaworld.com/javaworld/jw-08-2002/#resourceshttp://www.devworld.com/microsites/javaworld/legacy/jw-08-2002/images/jw-0809-eaif6.jpghttp://www.javaworld.com/javaworld/jw-08-2002/#resources
  • 7/27/2019 Enterprise Application Integration Using J2EE

    12/18

    support multiple application servers and EISs, as well as standardized semantics forsecure identity propagation, transactions, and resource pooling.

    Disadvantages:

    JCA 1.0's disadvantages relate to the specification's immaturity. First, JCA does notsupport asynchronous calls typically required in EAI solutions. Second, JCA 1.0 only

    supports calls made from the application server to the EIS. Last, JCA 1.0 does notdefine any semantics for receiving application events from EISs. JCA seems targetedtowards portal-based integration with the portal driving the integration process. The

    JCA 1.5 spec addresses most of these concerns by adding support for JMS plug-ability, EIS event notification, and asynchronous methods.

    Web service-based architectureAlthough Web service-based Simple Object Access Protocol (SOAP) integration is

    relatively new, some claim it will replace EAI as we know it. I do not totally agree

    with those claims, but I do see some places where SOAP can be a useful integrationtool. SOAP defines an XML-based object-invocation protocol useable over any

    transport protocol, usually HTTP. One of SOAP's strengths is its language

    independence. Application clients written in any language can invoke methods on aSOAP-based Web service as long as the method passes the correct XML. The majordrawbacks: SOAP does not define the semantics for transactions, reliable delivery, or

    guaranteed messaging.

    Let's examine a situation where SOAP fails. Let's say you wanted to use SOAP

    instead of JDBC to interact with a database. (Don't laugh, this has come up indiscussions.) You might think that by exposing the database as a SOAP-based Web

    service, clients in any language can access that database. But do you think theclients will generate the raw XML messages directly? No, they will probably use an

    XML-based API (probably XDBC (XML Database Connectivity)). Each language willhave its own XDBC API you must learn; in the end you must ask yourself what you

    gained?

    Figure 7 illustrates a typical business-to-business (B2B) problem.

  • 7/27/2019 Enterprise Application Integration Using J2EE

    13/18

    Figure 7. Typical B2B problems with multivendor solutions. Click on thumbnail to view full-size image.

    In Figure 7's the B2B problem, each partner has a different B2B solution. Partner A

    uses WebLogic Integration (WLI). For its partners to interact with Partner A's hub,

    they must run a WLI spoke at their sites. Each spoke in turn must integrate with thepartner site's backend applications. That process repeats for each partner's different

    B2B solution. As more partners are added, the integration points and software tosupport them becomes unwieldy. Each partner now needs system administrators

    who understand Vitria, webMethods, and WLI.

    Figure 8, in contrast, illustrates a situation in which Web services does make sense

    for integration.

    http://www.devworld.com/microsites/javaworld/legacy/jw-08-2002/images/jw-0809-eaif7.gif
  • 7/27/2019 Enterprise Application Integration Using J2EE

    14/18

    Figure 8. A scenario in which Web services proves effective. Click on thumbnail to view full-size image.

    The situations shown in Figures 7 and 8 differ most in that in Figure 8, each partner

    can now run its own software without running the other partners' software. All SOAPmessages are first placed on persistent queues, then an acknowledgement

    immediately returns. That keeps each partner loosely coupled to its partners.Message-driven beans process the messages and handle transactions, duplicatemessage processing, reliable delivery, and guaranteed messaging with the backend

    systems. At the end of every day, a record of successfully processed messages goesto partners for reconciliation.

    Integration in practiceNow that you understand the different architectures, lets apply what you've learned

    http://www.devworld.com/microsites/javaworld/legacy/jw-08-2002/images/jw-0809-eaif8.gif
  • 7/27/2019 Enterprise Application Integration Using J2EE

    15/18

    to real-world integration problems I have faced. (The names have been changed toprotect the innocent.)

    Description of requirements

    A major company has purchased WebLogic Integration to integrate customerinformation across a COBAL application, a custom in-house application, a packaged

    software application, and a data warehouse.

    Actors and eventsAny of the applications can generate events. XML will pass bidirectionally between all

    applications and the data warehouse:

    The COBOL application generates a new customer file in a certain directory. A

    process picks up and converts the file to XML. That information must be sentto each application with the files transferred in an all-or-nothing manner.

    Customer information updates proceed through COBOL business interfacesaccessible by JAM (Java Adapter for Mainframe).

    The data warehouse, as an information receiver only, does not propagate

    information. The custom and packaged applications notify the COBOL application of any

    customer information changes and receive new customer events.

    Transformation and routing

    Information from the COBOL application must convert from the COBOL file format toXML and back.

    Security

    All messages between systems require encryption.

    Transactions

    File transfers must support transactions (files must be sent in an all-or-nothingfashion) and be durable. After a file is sent to the server, it must be processed. If the

    server goes down, all persisted messages must be processed later.

    Description of the applications:

    Application 1: Custom COBAL CICS (customer information control system)

    application running on OS/390. The file-based interface uses a COBAL-specific

    format.

    Application 2: Distributed application providing APIs.

    Application 3: Custom application built in-house without APIs uses a relational

    database.

    Application 4: Data warehouse that aggregates information from all systemsfor DSS (decision support system) and OSS (operations support system)

    operations.

    The solution architecture:

    Figure 9 illustrates the solution architecture. The dashed arrows indicate directionalmessagingeither JMS- or mainframe-basedover a network interface. Solid lines

    indicate intra-process communication.

  • 7/27/2019 Enterprise Application Integration Using J2EE

    16/18

    Figure 9. Integration in practice solution. Click on thumbnail to view full-size image.

    Solution reasoning

    1. Because the customer decided to purchase WLI and build on its existinginfrastructure, we cannot chose the message bus architecture.

    2. Events pass bidirectionally and the integrated applications do not support

    event notification through a network transport, so we cannot use JCA.3. Encryption supported by openadaptor pipes is required between nodes. Pipes

    act as filtering components between a source and sink component. Eachadapter that utilizes the openadaptor framework consists of a source

    component, any number of filtering pipes, and a sink component. The sourcecomponent listens for events from JMS topics/queues, files, sockets,

    database, RV messages, or custom events. Once triggered, the source

    component passes the information through any configured pipes. In ourexamples, we use pipes for encryption and decryption. When the pipes finish,the resulting information passes to the sink (destination). Again, sinks can be

    JMS topic/queues, files, sockets, database, RV messages, or a customdestination.

    4. JMS provides the all-or-none message transferring semantics.5. WLI's Data Integration Plug-In can convert non-XML formats to XML and

    back.

    http://www.devworld.com/microsites/javaworld/legacy/jw-08-2002/images/jw-0809-eaif9.gif
  • 7/27/2019 Enterprise Application Integration Using J2EE

    17/18

    Integration made easyIn this article, I have given you a foundational understanding of EAI, EAIarchitectures, and EAI methods. You have examined the benefits and drawbacks of

    each EAI architecture, you saw the important EAI-related services, and you've seenhow Java and J2EE aid integration. With this knowledge, you can now design EAI

    solutions with Java. However, that knowledge represents just the beginning of your

    journey. Good luck and stay positive.

    About the author

    Abraham Kang is a security architect with Jamcracker. Before joining Jamcracker, he

    worked in Infogain's EIS group as a J2EE and integration architect. He has helpedcompanies like Cisco Systems define integration architectures. Kang has worked with

    Java for more than 5 years and with J2EE since its inception. He would like to thank

    his manager Steve Yu for his support and guidance, and Alexander Kuzmin andRakesh Gupta for sharing their message bus architecture knowledge.

    Resources For more on EAI and the JCA, read Dirk Reinshagen's "Connect the Enterprise

    with the JCA" series (JavaWorld):

    o Part 1: A look at the J2EE Connector Architecture (November 2001)

    o Part 2: Build your own J2EE Connector Architecture adapter (February

    2002)

    In "Integrate EJBs with CORBA," Matjaz B. Juric (JavaWorld, March 2002)

    explains how to access EJBs from non-Java-based applications:

    http://www.javaworld.com/javaworld/jw-03-2002/jw-0329-corba.html

    The JCA page from java.sun.com:

    http://java.sun.com/j2ee/connector/

    The Java Community Process's JSR 112 page, from which JCA 2.0 will spring:

    http://www.jcp.org/jsr/detail/112.jsp For more on BEA's WebLogic Integration, go to:

    http://edocs.bea.com/wli/docs70/

    Tibco's homepage:

    http://www.tibco.com

    For more on webMethods, visit:

    http://www.webmethods.com

    Vitria's homepage:

    http://www.vitria.com/

    The openadaptor open source adaptor framework:

    http://www.openadaptor.org

    Abraham Kang also wrote "J2EE Clustering" (JavaWorld):

    o Part 1: Clustering technology is crucial to good Website design; do youknow the basics? (February 2001)

    o Part 2: Migrate your application from a single machine to a cluster, the

    easy way (August 2001)

    For more J2EE articles, visit the Java 2 Platform, Enterprise Edition

    (J2EE) section ofJavaWorld's Topical Index:

    http://www.javaworld.com/channel_content/jw-j2ee-index.shtml

    Talk about EAI and J2EE in our Enterprise Java discussion:

    http://forums.devworld.com/webx?50@@.ee6b80a

    http://www.javaworld.com/feedbackhttp://www.javaworld.com/javaworld/jw-11-2001/jw-1121-jca.htmlhttp://www.javaworld.com/javaworld/jw-02-2002/jw-0201-jca2.htmlhttp://www.javaworld.com/javaworld/jw-03-2002/jw-0329-corba.htmlhttp://java.sun.com/j2ee/connector/%20http://www.jcp.org/jsr/detail/112.jsp%20http://edocs.bea.com/wli/docs70/http://www.tibco.com/http://www.webmethods.com/http://www.vitria.com/http://www.openadaptor.org/http://www.javaworld.com/jw-02-2001/jw-0223-extremescale.htmlhttp://www.javaworld.com/jw-02-2001/jw-0223-extremescale.htmlhttp://www.javaworld.com/javaworld/jw-08-2001/jw-0803-extremescale2.htmlhttp://www.javaworld.com/javaworld/jw-08-2001/jw-0803-extremescale2.htmlhttp://www.javaworld.com/channel_content/jw-j2ee-index.shtmlhttp://forums.devworld.com/webx?50@@.ee6b80ahttp://www.javaworld.com/feedbackhttp://www.javaworld.com/javaworld/jw-11-2001/jw-1121-jca.htmlhttp://www.javaworld.com/javaworld/jw-02-2002/jw-0201-jca2.htmlhttp://www.javaworld.com/javaworld/jw-03-2002/jw-0329-corba.htmlhttp://java.sun.com/j2ee/connector/%20http://www.jcp.org/jsr/detail/112.jsp%20http://edocs.bea.com/wli/docs70/http://www.tibco.com/http://www.webmethods.com/http://www.vitria.com/http://www.openadaptor.org/http://www.javaworld.com/jw-02-2001/jw-0223-extremescale.htmlhttp://www.javaworld.com/jw-02-2001/jw-0223-extremescale.htmlhttp://www.javaworld.com/javaworld/jw-08-2001/jw-0803-extremescale2.htmlhttp://www.javaworld.com/javaworld/jw-08-2001/jw-0803-extremescale2.htmlhttp://www.javaworld.com/channel_content/jw-j2ee-index.shtmlhttp://forums.devworld.com/webx?50@@.ee6b80a
  • 7/27/2019 Enterprise Application Integration Using J2EE

    18/18

    Sign up forJavaWorld's free weekly Enterprise Java email newsletter:

    http://www.idg.net/jw-subscribe

    You'll find a wealth of IT-related articles from our sister publications at

    IDG.net

    http://www.idg.net/jw-subscribehttp://www.idg.net/jump?id=1100http://www.idg.net/jw-subscribehttp://www.idg.net/jump?id=1100