[ Team LiB ] Previous Section Next Section

Chapter 33. WebLogic Server's jCOM Java/COM Bridge

By Mark Artiges


To date, a significant investment has been made by companies in the development and deployment of middleware component frameworks adept at serving up business logic to the enterprise. Sun Microsystems and Microsoft—chief among vendors providing such infrastructures—both offer extensive yet dissimilar solutions whose approach is inherently divergent if not wholly incompatible.

As these distributed object paradigms proliferate over the Internet, a transparent mechanism to integrate such differing techniques would be deemed nothing short of God-sent for most companies. jCOM is one of BEA's answers to this dilemma. It provides us with a formidable weapon in our arsenal to furnish a stable yet seamless mechanism for Microsoft COM and Java objects to interoperate with one another.

In the first part of this chapter, we define in detail what jCOM is and does, and discuss where it fits in with the other platform integration tools at our disposal. Under what circumstances does jCOM make sense? What are its advantages and disadvantages? When would another tool possibly be more appropriate?

We then look at the modes and methods of deploying jCOM and environmental issues, such as server setup and securing access to our objects. You'll learn how to use the WebLogic-provided jCOM tools that lie at the heart of jCOM. Those powerful tools do much of the work for us by automating configuration tasks and in the automatic generation of facilitating classes.

As always, the best way to know a thing is through experience, so the thrust of the information is presented in the context of individual examples. We go through a step-by-step example that depicts a Java client accessing a COM component, and then we turn around and go in the opposite direction with an example that shows a COM client accessing an Enterprise JavaBean.

Finally, we touch on the way that jCOM facilitates the event-driven aspects of COM and Java-based languages and the primitive data type mappings that occur between them.

    [ Team LiB ] Previous Section Next Section