Presentation is loading. Please wait.

Presentation is loading. Please wait.

Component Architecture (CORBA – RMI) -Shalini Pradhan.

Similar presentations


Presentation on theme: "Component Architecture (CORBA – RMI) -Shalini Pradhan."— Presentation transcript:

1 Component Architecture (CORBA – RMI) -Shalini Pradhan

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

3 Object Oriented Architecture

4 Component Architecture Component Component Independent unit of Software Independent unit of Software It satisfies a set of behavior rules It satisfies a set of behavior rules Component Architecture Component Architecture Specifices set of interfaces and rules of interaction Specifices set of interfaces and rules of interaction [ http://www-unix.mcs.anl.gov/~curfman/cca/web/cca_paper.html ]

5 How do Components Interact? Components interact via clearly specified interfaces Customer Interface Focus on individual interfaces - precise external behavior (provided + required) - all implementation aspects completely hidden Focus on individual interfaces - precise external behavior (provided + required) - all implementation aspects completely hidden iGetMoney() Retailer Wholesaler iReceiveOrder() iOrderInventory() Supplier iReceiveInventory() iReceiveItem()

6 Component Architecture Standards CORBA CORBA CORBA is a distributed object specification supported by the OMG (Object Management Group), a consortium of over eight hundred partners. CORBA is a distributed object specification supported by the OMG (Object Management Group), a consortium of over eight hundred partners. Java Beans Java Beans JavaBeans and Enterprise JavaBeans (EJB) are component architectures developed by Sun and its partners. JavaBeans and Enterprise JavaBeans (EJB) are component architectures developed by Sun and its partners. COM COM is Microsoft's component standard that forms the basis for interoperability among all Window-based applications. is Microsoft's component standard that forms the basis for interoperability among all Window-based applications. Java RMI (Remote Method Invocation) 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. The Java remote method invocation system described in this specification has been specifically designed to operate in the Java environment.

7 CORBA http://students.cec.wustl.edu/~dm9/DCA/CORBA.htm

8 Advantages CORBA supports many existing languages. CORBA also supports mixing these languages within a single distributed application. CORBA supports many existing languages. CORBA also supports mixing these languages within a single distributed application. CORBA supports both distribution and Object Orientation. CORBA supports both distribution and Object Orientation. CORBA is an industry standard. 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. 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. Over 600 companies back CORBA, including hardware companies, software companies, and cable companies, phone companies, banks, etc.

9 Limitations Not free Not free costs can be substantial costs can be substantial developer licenses (­$800+ per developer) developer licenses (­$800+ per developer) runtime licenses (cost varies with vendor) runtime licenses (cost varies with vendor) standardized extensions (“Object services” inOMG speak) add more costs standardized extensions (“Object services” inOMG speak) add more costs Harder to use Harder to use no support for detecting software version mismatches no support for detecting software version mismatches runtime, sometimes resulting in silent errors runtime, sometimes resulting in silent errors Add-on to the language Add-on to the language[http://www.ociweb.com/javasig/knowledgebase/February1998/RMI_CORBA.pdf]

10 Application Manage constant diversity - Heterogeneous environment Manage constant diversity - Heterogeneous environment Good for accessing legacy systems Good for accessing legacy systems especially if Java is not supported on the legacy platform especially if Java is not supported on the legacy platform Good for extending existing CORBA-based systems with Java Good for extending existing CORBA-based systems with Java Good for leveraging expertise in other languages Good for leveraging expertise in other languages as long as there is a CORBA binding for that language as long as there is a CORBA binding for that language

11 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. 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 ] 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 ]

12 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. 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. Client VM stub RMI Registry skeleton OBJ Server VM

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

14 Limitations Works in only Java Environment Works in only Java Environment Not a full featured Middleware Not a full featured Middleware No mechanism for object description No mechanism for object description Server agents Server agents


Download ppt "Component Architecture (CORBA – RMI) -Shalini Pradhan."

Similar presentations


Ads by Google