CORBA, or Common Object Request Broker Architecture, is a standard architecture for distributed object systems. It allows a distributed, heterogeneous collection of objects to interoperate. CORBA is well-known technology for not only system integration but distributed object framework like a J2EE technogies.

ORB Studio 7

ORB Studio 7 enables Java CORBA developers to ease-develop CORBA application and get going with Java CORBA development on the Eclipse platform. ORB Studio 7 provides developers with the basics for speed coding and debugging with an integrated, powerful source code editor, graphical debugger, IDL compiler.

ORB Studio 7 supports various CORBA implementations, IONA Orbix, Borland VisiBroker, JavaIDL, OpenORB, and JacORB. Therefore you can make use of it in any CORBA projects.

ORB Studio 7 supports some useful capabilities for CORBA developpers in Eclipse IDE. An IDL file editor with syntax highlighting, a tool for running IDL compilers, Simple IDL file, and CORBA Client/Server object wizards that supports to generate various Java codes based on Active Object Map/Servant Activator/Servant Locator/Default Servant , and choosing TIE approach and so on.

Open Source Edition
Function
Description
CORBA IDL Editor
  • Support IDL syntax highlighting.
  • IDL compiling error corresponding, reporting in Error View.
IDL Wizard
  • Auto-generate an IDL template with IDL wizard.
  • Auto-generate a Factory based IDL template with IDL wizard.
IDL Compiler
  • Manager stub/skeltons under Eclipse project.
  • Clean up stub/skeltons generated before.
Supported CORBA Products
  • Borland Enterprise Server(aka. VisiBroker)
  • IONA Orbix
  • Java IDL
  • JacORB
  • Open ORB
CORBA Client development
  • CORBA Client Wizard.
  • Auto-generation of CORBA Cilent implementation from an IDL file already exists.
CORBA Server Object development
  • CORBA Server Wizard
  • Auto-generation of CORBA Server implementation from an IDL file already exists.
  • Supports 4 types of CORBA server objects.
(1) Active Object Map

Active object map (AOM), most basic way to get objects activate/de-activate on the server side.

ORB Studio 7 supports fully-AOM Development as below.

  • Supports auto-generation of AOM based CORBA server implementation. Auto-generation of Server class.
  • Supports TIE approach structure.  
(2) Servant Activator

A ServantActivator creates a servant automatically for a CORBA object the first time the server receives a call for that object. The servant is registered in the POA's active object map so that subsequent calls are directed to it without further intervention from the ServantActivator.

ServantActivators are useful when:

  • Each servant takes a long time to instantiate, and you don't want to wait till all the servants are created in the server main () function before you can process any requests.
  • The server can implement several objects, but only a few are needed on most runs, so you only want to create the objects that are actually used.

The ServantActivator uses the Object ID to determine what object is being activated.Typically the object key is a database key or some other identifier that allows the ServantActivator to create an appropriate servant.

ORB Studio 7 supports fully-Servant Activator Development as below.

  • Supports auto-generation of servant activator based CORBA server implementation.
  • Supports auto-generation of extra servant activator class.
  • Supports TIE approach structure.
(3) Servant Locator

Servant locator allows the application to choose which servant will handle each CORBA call. The POA does not remember anything about servants, instead it asks the ServantLocator to choose the servant each time it has a request to process.

Servant Locators are useful when objects are persistent in some back-end data store, and there are too many objects to hold in memory at once. Since the POA asks the locator to choose the servant for each request, you have complete freedom to implement any servant management strategy.

  • Keep a cache of servants, remove the least recently used when the cache is full.
  • Use a single stateless servant per interface to implement a large number of objects.

The ServantLocator uses the Object ID to determine what object is being activated. Typically the object key is a database key or some other identifier that allows the ServantLocator to create an appropriate servant.

ORB Studio 7 supports fully-Servant Locator Development as below.

  • Supports auto-generation of servant locator based CORBA server implementation.
  • Supports auto-generation of extra servant locator class.
  • Supports TIE approach structure.

(4) Default Servant

Default servants provide scalability using the flyweight pattern the server does not grow with the number of objects. Rather, the server can produce arbitrary numbers of object references while the number of active servants is constant.

A database server is an example for the usage of a default servant. Each table would be represented using a different POA with the table's same name, and the table's key value is used as Object Id. This way, all table rows are objects with their own object reference. Only a single default servant is needed per table; in an invocation, this default servant would query the request's Object Id and use it as table index.

ORB Studio 7 supports fully-Default Servant Development as below.

  • Supports auto-generation of default servant based CORBA server implementation.
  • Supports TIE approach structure.

Supported Eclipse platform

ORB Studio 7 certified on the following platform.

  • Eclipse 3.X and Java 5 on Windows XP.
    The plugin was developped as Eclipse 3.X plugin so doesn’t work with Eclipse 2.X. And it supposed to work with Eclipse 3.X for any HW platform.
  • Tested with the following ORB Implementations.
    IONA Orbix 6.3
    Borland Enterprise Server 6 (aka. VisiBroker)  
    Java IDL (Java 5)
    JacORB 2.2.3
    Open ORB 1.4.0

Download

Document

License

ORB Studio 7 is delivered as it, without any responsablilities on the author (Michio Shimada). It is open source; it can be used or modified without any limitations. And it’s available under ther terms of Eclipse Public License.

Contact Information

Michio Shimada,
Michio.Shimada@gmail.com