Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

Rapid Enterprise Application Integration with BEA WebLogic

Rapid Enterprise Application Integration with BEA WebLogic

Your WebLogic applications have a diverse array of integration requirements, and WebLogic Application Server provides a rich set of technologies to meet these needs. In this article we'll survey these integration needs and show how you can rapidly meet them using WebLogic Application Server and NeuArchitect for rapid application development.

The integration needs of your application may be categorized (see Figure 1) as :

    1. Integration with packaged enterprise applications, such as SAP, Siebel, or PeopleSoft
    2. Integration with legacy systems, such as logic in a CICS application or data in an IMS database
    3. B2B integration with customers and partners
    4. Publishing and using components in a component-based development environment
    Technologies are now available to meet these application integration needs. They include messaging using XML and JMS, Web services, many types of connectors - J2EE connectors, legacy connectors, and API connectors. For each need, more than one type of integration technology may be available, and you'll need to select the one most suited to your needs.

Enterprise Application Integration
Your packaged enterprise applications, such as those from SAP, PeopleSoft, Siebel, and J. D. Edwards, may provide alternative methods of integration. SAP, for example, originally provided a proprietary API interface called BAPI, and a proprietary messaging system called iDocs. More recently, SAP has offered standards-based integration approaches that include XML messaging, J2EE Connector Architecture, and Web services. Most packaged application vendors are similarly moving toward offering standards-based integration.

Legacy Integration
Legacy integration requires that your application be able to interact with older systems that have data and program elements of noncontemporary technologies such as CICS or MVS programs and IMS, VSAM, IDMS, and ADABAS databases. These systems were written well before today's sophisticated integration technologies were available; therefore, legacy connectors are needed to wrap data and logic. These connectors are available from many vendors, including iWay Software and NeuVis.

B2B Integration
Business-to-business (B2B) integration allows your applications to interact directly with your partners' applications - for example, sending orders directly to your vendors or receiving them from your customers - to provide an efficient way of conducting your business. Originally, EDI messaging was developed to meet these needs, but it proved to be cumbersome and expensive and has been implemented mostly by large companies. Now XML messaging over the Internet is making B2B integration more flexible and less expensive. Web services will also be a promising technology for B2B integration after it has developed appropriate standards and infrastructure for security and reliability.

Component-Based Development
Component-based development allows you to reuse your application components across many applications. Integration at the component level involves developing a common interface that other programs and systems can use to access the features of the component. You have a choice of component technologies: you can publish and use your EJB components as session and entity beans, or you can bridge to COM and CORBA components. Most importantly, Web services promises to be the universal standard for component-based development - that will be implemented on all platforms and technologies.

Integration Technologies and Rapid Integration Development
Application integration needs can be met with a variety of technologies. In the following sections we'll examine key technologies available on WebLogic and see how you can rapidly develop your application integration solution using the WebLogic platform and NeuArchitect, a RAD tool from NeuVis software.

Messaging Using XML and JMS
Messaging is the most flexible and formal means of integrating your application with existing applications. It is suitable only if the applications being integrated have an agreed-upon and supported protocol for messaging. This protocol may be an industry standard, or a custom protocol adopted between the providers of the applications. Messaging is a very popular means of integration within the enterprise and for B2B integration. Messaging involves two technologies - XML as the format of the message and JMS-enabled transports for transporting the messaging between applications (see Figure 2).

XML - Lingua Franca of Integration
One of the main problems with early integration efforts was the lack of a standard for sending information between programs and partners. There was EDI, but it required a customized communications infrastructure to support that was also very expensive on a per-transaction basis. What was needed was something that could work (securely) over the Internet and could provide a significantly reduced per-transaction cost. Enter XML.

XML has had a profound impact on integration, as well as computing as a whole. It's the basis for other technologies, such as SOAP (Simple Object Access Protocol), the protocol used as part of Web services. XML provides a means of describing both the structure and content of data in a form that is easily exchanged over the Internet. The format is defined either in a DTD document or as an XML schema. These formats are then exchanged between trading partners. Additionally, a variety of industries have developed XML-based standards for describing data, which further eases the task of integration.

JMS Messaging
Java Message Service (JMS) is a standard J2EE API for reliable asynchronous messaging between applications. Many vendors, including BEA, have implemented this API. BEA's offering is composed of a transport mechanism and the JMS application layer API for administration and sending and receiving messages. These systems usually support two messaging paradigms: point-to-point (PTP) and publish-subscribe (pub-sub). PTP is a mechanism in which messages are sent from a particular source to a particular destination. The messaging system uses queues to accomplish this. Pub-sub works differently in that messages are sent to possibly multiple destinations. Receivers subscribe to a particular topic and when a message is generated for that topic all the receivers who subscribe to it receive the message.

With the release of the EJB 2.0 specification, a new mechanism was added to support JMS messaging: the message-driven bean or MDB. The MDB container provides a standardized listening service that monitors queues or topics for messages. It has a single standard interface method called OnMessage() that is executed once a message is received. This mechanism eliminates the need for the developer to write complicated listeners that would need to provide thread management, load balancing, and transactional controls. The container handles all of it. WebLogic supports the concept of the MDB in versions 6.0 and higher.

Now let's look at how you can create some rapid integration solutions using WebLogic and NeuArchitect.

Rapid Integration Using XML and JMS
As a first step, you will need to do some setup in the WebLogic Console. You need to do the following:

    1. Enable JMS for the main server instance. Click on the server instance and select the services tab and then the JMS tab.
    2. Create a JMS Server instance and assign it to your main server instance. You can do this by clicking on the JMS Servers node in the administration tree.
    3. Once a JMS Server is created, you need to create your destinations. Under your new JMS Server node, create your queues.
That's pretty much it as far as configuration. You can then use NeuArchitect to create the business logic to process either inbound or outbound messages. In NeuArchitect, you need to do the following:
    1. Create a project. Set the application server to BEA WebLogic
    6.1 (or later). Set the Messaging technology to JMS.
    2. Using the class diagram, create your business classes. The classes you define will be generated for the target technology with a host of essential plumbing code, so all you have to do is write your business methods.
    3. For a given class, use the Messages tab to define your message. You can identify it as inbound or outbound, and select what queue to use, encryption methods, and so on. For inbound messages, you can choose to use MDBs to process them.
    4. For your message, you can use the NeuArchitect Message Mapper to load a DTD for an XML message and then map the elements of the DTD to the business classes you created in the class model. It will generate all the code for reading the message and mapping the elements of the message to the business objects.
    5. Write your business method for processing the data that was mapped to your classes. Instead of parsing methods, you simply address objects and attributes. The NeuArchitect API allows you to insert the information into a database or do any further processing you wish.
    6. Press the Construct Messages button to generate the Java code, build the beans, and automatically deploy them onto WebLogic.
Web Services Web services is a newer technology that has the potential to transform integration and computing itself. The technology allows programs to communicate with one another using standard protocols such as HTTP. A service provider will write a piece of software that provides a useful business function. Using special tools, the service provider creates a definition of this service using Web Services Description Language (WSDL). Using this definition, the service provider will then publish the service to a Universal Description, Discovery, and Integration (UDDI) server that acts as a lookup registry similar to the way DNS works for finding hosts on the Internet. Anyone who wishes to use this service will query the UDDI server to discover a list of services from the provider and select the one they wish to use. As part of the discovery process, the user is provided with information on the nature of the service, how to call it, what parameters it accepts, and what information is returned from the service. The mechanism for communicating between a program and a Web service is Simple Object Access Protocol, or SOAP. SOAP is XML-based, and provides a powerful mechanism for making requests and receiving responses (see Figure 3).

Rapid Integration Using Web Services
BEA, along with several other vendors, has been an industry leader when it comes to Web services support. WebLogic Version 6.1 supports the deployment of Web services by providing automatic generation of WSDL definitions and the handling of SOAP messages for deployed Web services. NeuArchitect also provides development support to make it easy to create and deploy Web services on WebLogic. Here's what you need to do:

    1. There's no real setup for the WebLogic Server. The Web services support is supplied by the basic installation of Version 6.1 or higher.
    2. Using NeuArchitect, create an application and create your business classes.
    3. When you create your business classes, you also create your business rules in the form of methods on the classes. These rules are written in Java. With a click of a mouse, you can declare any of these methods to be Web services. Additionally, NeuArchitect allows you to create and publish components that can combine several classes and methods together. Again, with a click of a mouse, all the methods in the component can be defined as Web services.
    4. Once you've created your methods and/or components, construct them. NeuArchitect will use WebLogic's inherent WSDL creation facility to generate the WSDL. WebLogic also provides the location of the WSDL, which is needed for publishing to a UDDI server.
    5. The developer can point at a public or private UDDI server, and then provide the WSDL from WebLogic to indicate where the Web services are published. All of this is done with a few clicks of the mouse.

Web services can also be used to reinvigorate existing assets. NeuArchitect can create wrappers that call existing functions. These wrappers would then be published to WebLogic as Web services.

J2EE Connector Architecture
In the 1990s, enterprises began the process of consolidating internal systems by deploying enterprise resource planning (ERP) systems from companies such as SAP, Baan, J.D. Edwards, and PeopleSoft. These systems provided all the basic functionality for an enterprise: human resources, accounting, order processing, and inventory control, to name a few. These systems, once deployed, became the lifeblood of the organization, and a need arose to integrate them with other systems used by the enterprise.

Initial efforts required coding to a complex API provided by the ERP vendor. Sun has attempted to address this problem by providing the J2EE Connector architecture specification. WebLogic has introduced support for this in Version 6.1 and higher, providing a standardized method for accessing these ERP systems. ERP vendors write adapters to their systems that provide connectivity, as well as a discovery mechanism so the calling program can know the structure of the data that the ERP system supports.

Rapid Integration with Legacy Connectors
In order to integrate with legacy systems, you need to use the appropriate legacy connector. NeuArchitect provides legacy connectors to access data on IMS and VSAM databases and logic on CICS and MVS platforms. It also integrates with more than 140 legacy adapters offered by iWay Software. The following steps illustrate rapid legacy integration with the IMS database connector (see Figure 4).

    1. Using the mainframe translator software provided with NeuArchitect, translate your COBOL copy files into an XML schema file that will be imported into NeuArchitect and COBOL stored procedures that will perform the read/write access on the mainframe.
    2. Import the XML schema file into NeuArchitect. It's converted into a UML class model that remains mapped to your IMS database.
    3. You can now develop the rest of your application - e.g., you can integrate the application through messaging and Web services and design Web and wireless transactions. Auto-construct and deploy the application.
    4. When you use the application, it connects to the mainframe using JDBC through DB2 connect and uses the COBOL stored procedures that were generated in Step 1 to access the IMS database for read/write access.

In a similar manner, you can use other legacy connectors to access other types of legacy databases and logic.

Conclusions
There have been significant advancements toward easing the pain of EAI in the past few years. BEA, with its WebLogic platform, has provided support for the best of the emerging integration technologies. Moving forward, BEA will continue to refine and enhance WebLogic's integration capabilities.

Coupled with RAD tools such as NeuVis' NeuArchitect, the obstacles to integrating complex systems are being eliminated. This allows developers to use integration to form a comprehensive, cohesive enterprise information network that adds enormous value to the enterprise.

More Stories By Joseph Noonan

Joseph Noonan has been in
software development for 18 years. He is product development
manager at NeuVis Software, where he manages the runtime/J2EE
construction and system architecture groups
focusing on J2EE technologies and integration. Joe has an extensive
background in object-oriented analysis and design, UML, and
system architectural development. He is coauthor of a Windows 98 API
programming book.

More Stories By Arun Gupta

Arun Gupta is a Java evangelist working at Oracle. Arun has over 15 years of experience in the software industry working in the Java(TM) platform and several web-related technologies. In his current role, he works to create and foster the community around Java EE and GlassFish. He has been with the Java EE team since its inception and contributed to all releases. Arun has extensive world wide speaking experience on myriad of topics and loves to engage with the community, customers, partners, and Java User Groups everywhere to spread the goodness of Java.

He is a prolific blogger with over 1300 blog entries and frequent visitors from all around the world with a cumulative page visits > 1.2 million. He is a passionate runner and always up for running in any part of the world. You can catch him at @arungupta.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...