You are on page 1of 14

Component Architecture

(CORBA – RMI)
-Shalini Pradhan
Common Architectures
 Data Flow Systems
 Batch Sequential & Control Loops
 Pipes and Filters
 Call and Return Systems
 Main Programs & Subroutines
 Object Oriented Systems
 Independent Components
 Communicating Processes & Event Systems
 Data – Centered Systems (Repositories)
 Databases & Blackboards
 Virtual Machines
 Rule based systems
Object Oriented Architecture
Component Architecture

 Component
 Independent unit of Software
 It satisfies a set of behavior rules
 Component Architecture
 Specifices set of interfaces and rules of
interaction
[http://www-unix.mcs.anl.gov/~curfman/cca/web/cca_paper.html]
How do Components Interact?
Components interact via clearly specified interfaces

iGetMoney()

iReceiveItem()

Interface Customer Supplier

iReceiveInventory()

iOrderInventory()
iReceiveOrder()
Wholesaler

Retailer

Focus on individual interfaces


- precise external behavior (provided + required)
- all implementation aspects completely hidden
Component Architecture
Standards
 CORBA
 CORBA is a distributed object specification supported by the OMG
(Object Management Group), a consortium of over eight hundred partners.
 Java Beans
 JavaBeans and Enterprise JavaBeans (EJB) are component architectures
developed by Sun and its partners.
 COM
 is Microsoft's component standard that forms the basis for interoperability
among all Window-based applications.
 Java RMI (Remote Method Invocation)
 The Java remote method invocation system described in this specification
has been specifically designed to operate in the Java environment.
CORBA

http://students.cec.wustl.edu/~dm9/DCA/CORBA.htm
Advantages
 CORBA supports many existing languages. CORBA also
supports mixing these languages within a single
distributed application.
 CORBA supports both distribution and Object
Orientation.
 CORBA is an industry standard.
 CORBA provides a high degree of interoperability. This
insures that distributed objects built on top of different
CORBA products can communicate.
 Over 600 companies back CORBA, including hardware
companies, software companies, and cable companies,
phone companies, banks, etc.
Limitations
 Not free
 costs can be substantial
 developer licenses ($800+ per developer)
 runtime licenses (cost varies with vendor)
 standardized extensions (“Object services” inOMG
speak) add more costs
 Harder to use
 no support for detecting software version mismatches
 runtime, sometimes resulting in silent errors
 Add-on to the language
[http://www.ociweb.com/javasig/knowledgebase/February1998/RMI_CORBA.pdf]
Application

 Manage constant diversity - Heterogeneous


environment
 Good for accessing legacy systems
 especially if Java is not supported on the legacy
platform
 Good for extending existing CORBA-based
systems with Java
 Good for leveraging expertise in other languages
 as long as there is a CORBA binding for that language
Java RMI
 Java language's RMI system assumes the
homogeneous environment of the Java Virtual
Machine, and the system can therefore take
advantage of the Java object model whenever
possible.
 Remote method invocation (RMI) is the action of
invoking a method of a remote interface on a
remote object. Most importantly, a method
invocation on a remote object has the same syntax
as a method invocation on a local object.
[http://java.sun.com/products/jdk/1.1/docs/guide/rmi/spec/rmi-objmodel.doc.html#213]
Java RMI
 The interfaces and classes that are responsible for
specifying the remote behavior of the RMI system are
defined in the java.rmi and the java.rmi.server
java.rmi.registry packages.

RMI Registry

Client VM
Server VM

stub skeleton

OBJ
Advantages
 Simple to use - sending objects
 implement “Serializable” interface
 optionally specify codebase
 automatic version mismatch detection
 Integrated into platform
 remote method calls are nearly identical to normal
method calls
 distributed garbage collection preserves automatic
memory management
 Can pass objects
 Supports Distributed Processing
Limitations

 Works in only Java Environment


 Not a full featured Middleware
 No mechanism for object description
 Server agents

You might also like