Part 1 - Introduction: CORBA Definition
Part 1 - Introduction: CORBA Definition
Part 1 - Introduction
CORBA Definition
o OMG’s open, vendor independent specification for an architecture and infrastructure
that computer applications use to work together over networks.
CORBA Key parts
o OMG Interface Definition Language (OMG IDL)
o Standardized protocols GIOP and IIOP
CORBA Benefits
o Interoperability among any vendor, almost any computer (including handheld or small embedded
device), OS, program language
o Load-balancing on multiple machines
o OMG’s standard fault tolerant architecture
CORBA History
o Founded in 1989 with 11 companies.
o Now includes about 800 members and is moving forward in establishing CORBA as the
“middleware that’s everywhere” through its worldwide standard specifications: CORBA/IIOP,
Object Services, Internet Facilities and Domain Interface Specifications, UML and other
specifications supporting analysis and design.
5. Are there any related standards? If so, list then and briefly explain how they differ from the
standard that you selected.
- EJB and DCOM are other widely known architecture as distributed system architecture.
The following table shows the similarities and dissimilarities among three architectures.
Distributed Network
Similarity3: Al services provide some sort of registry or repository to help locate the
corresponding service.
Naming and locating
service
EJB requires a J2EE server as container of beans while JINI is quite open architecture even
for device or other service providers. The method of invoking remote object is also different.
EJB use only RMI/IIOP but The JINI architecture lets programs use services in a network
without knowing anything about the wire protocol that the service uses. One
implementation of a service might be XML-based, and another RMI-based, and a third
CORBA-based.
Part 2 – Description of the Standard
The figure above describes the sequential flow of the basic object invocation mechanism
from client to server. Both stub in a client and skeleton in a server are compiled with IDL. So
clean separation of interface and implementation is achieved. The caller (client) does not
have to know where the actual implementation (object) resides since a client uses name
services (object reference) to access a remotely distributed object. The object reference is
defined by an IDL, which is the essential information of Name service in CORBAService. The
ORB delivers the request to the object and returns a result to the client through Transaction
service, which is also one of CORBAServices. Components/objects applications on both client
and server sides can be program language independent with client ORB interface and server
CORBA interface. The network protocol used in this communication is GIOP/IIOP.
2. What is the underlying basic architecture of the standard?
- The underlying basic architecture of CORBA is a layered architecture since the main
object of CORBA is to provide interoperability among a variety of vendors and systems.
Reusability (Interoperability)
A variety of systems, computer languages and vendors can be integrated into one total
enterprise system. This attribute goes into two “well known” Quality attributes. The
significant benefit of CORBA could be the integration of huge legacy systems such as
mainframe systems and new systems. For example, it is too costly to reengineer the
huge COBOL programs and systems in order to integrate with new systems while they
want a seamless integration for a total enterprise system. CORBA allows these
companies to reuse the most of legacy systems for the total system with minor
modification.
Modifiability
Since all implementation was hidden by IDL, the internal logic in a component can be
easily modified. And also the component location (server location) can be changed
without affecting calling components (clients) since Naming service provide the latest
information of server side components dynamically.
Extensibility
Since the number of vendors is growing, existing CORBA systems have a significant
probability to integrate more systems, devices and software into themselves. And also
naming service contributes extensibility by allowing the system to expand with more
servers.
Productivity
3. Discuss the quality attributes that are not well supported by the standard.
- The quality attributes that are not well supported by the standard is the Performance
and Security.
4. Why are these quality attributes not supported?
Performance
Since all communication with remote components has to go through CORBA
mechanism, the response time could be an issue because of more layers among
communication. So, platform dependent own socket programs over TCP/IP with C
language will produce much faster through put than the combined CORBA components.
Security
Since the total system will be highly distributed with multiple vendor products, more
security holes are likely to be embedded into the system. Moreover the root cause of
system troubles could be difficult to be identified in highly integrated environment.
- OMG provides ISO standards for some core specifications such as IDL and keeps
consistency among the products from a variety of vendor. In spite of the small number
(11) of the original organizations, the number of participants is growing up to 800 now.