J-Integra® Espresso Documentation


Contents

  • Introduction
  • How Does J-Integra® Espresso Work?
  • Benefits and Features

  • Introduction

    Today there are three main component architectures competing within the software development market:

    Despite the popular view that CORBA and J2EE (specifically, EJB's) are competing against one another, both can smoothly interoperate because of EJB's adaptation of the IIOP protocol. The real gap exists between the vendor independent server-side technologies (CORBA and EJB) on the one side, and Microsoft's .NET on the other side. Intrinsyc's J-Integra® Espresso bridges this gap by providing a state of the art CORBA ORB implementation for the .NET platform.


    How Does J-Integra® Espresso Work?

    J-Integra® Espresso is a CORBA Object Request Broker written in C#. It runs as managed code on the Microsoft .NET platform and complies with the specification published by the Object Management Group.

    The IDL to C# language mapping (its formal OMG specification is still pending) is kept similar to the IDL to Java language mapping. The main reason for this approach are conceptual similarities between C# and Java. Both languages support interfaces with multiple inheritances which require explicit implementation by classes. A Java or C# class, on the other hand, can only inherit from a single base class. It therefore seems obvious to identify CORBA interfaces with C# interfaces. Similar to Java, all administrative functions associated with an IDL interface are made available as part of an additional generated class with the suffix 'Helper'.

    The major difference between the IDL to Java and IDL to C# language mappings is the absence of 'Holder' classes. C# allows for in/out (call by reference) parameters as compared to Java. These C# features make the introduction of extra container (or 'Holder') classes redundant.

    The language independent concept of the .NET framework allows the use of several languages within one application. Although J-Integra® Espresso has been implemented in C# and the corresponding IDL compiler produces C# code, the .NET application itself can be written in any .NET-based language. The generated C# code can be compiled into a separate dynamic link library which can be linked with any .NET application.

    An overall guideline for using C# may easily be deduced from Java-based CORBA applications. A comprehensive discussion on the IDL to Java language mapping can be found in the original OMG IDL to Java Language Mapping Specification.


    Benefits and Features

    While exisitng J-Integra® products implement standard Microsoft protocols in pure Java, J-Integra® Espresso implements a pure .NET version of the standard RMI/IIOP binary protocol present in all J2EE and J2SE Java environments. This approach remains consistent with Intrinsyc's simple, one-sided deployment philosophy and provides alternatives when deployment restrictions prevent any software changes on the Java side.

    Using J-Integra® Espresso, Java, CORBA, and .NET applications can seamlessly interact, enabling companies to take advantage of the best available software applications regardless of what technology they are based on and without sacrificing interoperability. J-Integra® Espresso also saves development time by enabling organizations to leverage exisitng Java, .NET, and CORBA skills.

    J-Integra® Espresso provides additional performance, scalability, and security benefits since it uses the Internet Inter-ORB Protocol (IIOP) present in virtually any Java environment along with Secure Socket Layer (SSL) support.

    Features: