Web Service Enabling CORBA Applications

Artix Encompass provides easy-to-use tools and run time services for non-invasively exposing CORBA objects as Web services. Using Artix Encompass, new Web service clients can send SOAP messages over HTTP/S or MQSeries (or any supported transport including IIOP), and Artix Encompass will convert the SOAP message into a CORBA call on the appropriate CORBA object. Furthermore, Artix Encompass can be configured to do this in a declarative fashion with no coding.

Development Time

To expose an existing CORBA class as a Web service, the developer imports into the Artix Designer the CORBA IDL that defines the interface of the CORBA class. The Artix Designer creates a WSDL service contract from the IDL that contains:

  • A logical contract for the CORBA object, which is independent of the underlying message formats and transports
  • A SOAP/HTTP(S) binding that is used for handling incoming Web service invocations for this CORBA class
  • A CORBA binding, which is used when communicating with this CORBA class

This newly created WSDL service contract can be made availiable to any developers building the Web service consumers. For example; it can be imported into Visual Studio if the Web service consumer is a .NET client. It can be used with the Apache AXIS toolkit if the Web service consumer is a Java client. It can be used with the Artix Designer if the Web service consumer is a C++ client (see C++ Web Service Clients).

As long as the web service consumer adheres to the logical contract defined in WSDL, Artix Encompass will be able to map the incoming SOAP messages to the CORBA class.

Deployment Time

At deployment time, the WSDL service contracts can be augmented with configuration data that the Artix Encompass run time uses to:

  • Route SOAP messages to the appropriate CORBA object instance
  • Propagate security credentials/attributes from the incoming SOAP/HTTP(S) message to the corresponding fields of the outgoing IIOP message.

Artix Encompass provides a great deal of flexibility for specifying the IOR of CORBA objects in WSDL service contracts

  • Specify a file location for the IOR
  • Specify the IOR directly by entering the object's stringified IOR
  • Specify that the IOR is published to a CORBA name service by entering the object's name
  • Specify the IOR by defining the port at which the service exposes itself using the corbaloc syntax.

This information is defined in a declarative manner using the Artix Designer, and does not involve any coding.

Run Time

At run time, the Artix Encompass run time receives incoming SOAP messages (over any supported transport but most likely HTTP/S or MQSeries), converts them to IIOP and dispatches them to the appropriate COBRA object instance.

  • The incoming SOAP message is directly mapped to an IIOP message based on the shared logical contract and routed to the appropriate COBRA object instance. For performance reasons, mapping is done directly without converting the data to a canonical format
  • The run time wait for the CORBA/IIOP response message
  • It maps the CORBA/IIOP response message into a SOAP response and reply to the original sender

In order to better integrate with deployed CORBA systems, Artix Encompass can use a CORBA naming service that supports the CosNaming interface. This allows Artix Encompass to dynamically look up CORBA objects using the CORBA naming service. It also allows Artix Encompass to register itself in the CORBA naming service so that CORBA clients can locate the Artix Encompass run time dynamically at run time.

In either case, Artix Encompass must be configured to have an initial reference for the running CORBA name service. Artix Encompass can be configured to enforce role-based access control using security credentials stored in an enterprise directory service or security service. Also, Artix Encompass can interoperate with any CORBA ORB that supports IIOP 1.0 or IIOP 1.1 including Orbix 3.x, Orbix 5.x, Orbix 6.x, ORBacus, and Visibroker.

Artix and Orbix 6.x (also known as ASP 6.x)

Because Artix Encompass is built on IONA's flexible ART platform, it can be embedded within any CORBA application implemented using IONA's Orbix 6.0 or later (aka ASP 6.0 or later) without modifying any of the CORBA application code.

Embedding Artix into your CORBA application has several advantages

  • Improves messaging performance over using the Artix Encompass standalone service
  • No need for a separate process to route messages to the non-CORBA portions of your application
  • Takes advantage of Orbix 6.x load balancing using the Locator Service
  • Leverages the CORBA infrastructure to provide enterprise level qualities of service and management

Extending CORBA Applications using Web Services

Artix Encompass also makes it easy for existing CORBA applications to call Web services created using Artix or third party tools.

In this case, a WSDL contract is imported into the Artix Designer and the Artix Designer generates client-side CORBA stubs for the Web service defined in the WSDL contract. You can than use the CORBA proxies to invoke SOAP web services over HTTP/S (or over any of the transports that Artix supports).

This provides an open way to augment existing CORBA applications by accessing business services available as SOAP-based Web services, and do it in a CORBA-friendly manner using the CORBA programming model/APIs.

IN DEVELOPER CENTER...

Related Content

Need More Info?

Feel free to reach us by phone or email anytime of the day.

Contact Sales

For pricing and license information please contact a sales representative in your region:
AMER, EMEA or APAC