by Uwe Meding
CORBA may seem like a somewhat odd choice today for Java, however, there are some very nice aspects that make it very compelling. First off, CORBA is a very mature stable technology which has been developed since about the early ’90. A general high-level overview of CORBA can be found in the Wikipedia, all the gory details can be found at the OMG CORBA website.
What is particularly interesting about the Java implementation is that
- it is part of the Java/SE edition
- very stable
- has a small memory footprint
- it is easy to deploy
- it is easily interoperable with other CORBA implementations
The CORBA implementation is part of the standard edition of Java, which is interesting in that it provides “enterprise” functionality without all the traditional Java/EE overhead. This is powerful in that it greatly simplifies the development and deployment of applications in a constrained environment.
In particular, customer-premise equipment (CPE) applications like data acquisition, security, or building management require small, compute systems (embedded, or Mini-ITX based) to perform enterprise type functions.
We can use this to easily separate implementation concerns. Various applications can perform different functions, like acquiring data, controlling access, etc while relying on application services that provide state-of-the-art database access and management. The application themselves can be designed and implemented in whatever suits the application best. For example, an application can interface with a particular driver, or port on the system in C or C++, whereas the Java application server provides the management support.
The deployment of a Java/CORBA application server is extremely simple, there are no outside dependencies, or third-party tools or libraries to manage. This is a great asset on small, possibly network constraint systems.