Presentation is loading. Please wait.

Presentation is loading. Please wait.

COM vs. CORBA Integration via middleware By: Don Villanueva CS 524 Software Engineering II Fall II 2007 – Sheldon X. Liang, Ph. D.

Similar presentations


Presentation on theme: "COM vs. CORBA Integration via middleware By: Don Villanueva CS 524 Software Engineering II Fall II 2007 – Sheldon X. Liang, Ph. D."— Presentation transcript:

1 COM vs. CORBA Integration via middleware By: Don Villanueva CS 524 Software Engineering II Fall II 2007 – Sheldon X. Liang, Ph. D

2 Sources Code Complete by Steve McConnell Code Complete by Steve McConnell Classical and Object-Oriented Software Engineering 7 th Ed by Stephen R. Schach Classical and Object-Oriented Software Engineering 7 th Ed by Stephen R. Schach http://www.wikipedia.org http://www.wikipedia.org http://www.c2.com http://www.c2.com http://www.c2.com http://www.omg.org/corba/whatiscorba.html http://www.omg.org/corba/whatiscorba.html http://www.omg.org/corba/whatiscorba.html

3 Middleware Middleware is computer software that connects software components or applications. The software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. This technology evolved to provide for interoperability in support of the move to client/server architecture. It is used most often to support complex, distributed applications. It includes web servers, application servers, content management systems, and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and service- oriented architecture. Middleware is computer software that connects software components or applications. The software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. This technology evolved to provide for interoperability in support of the move to client/server architecture. It is used most often to support complex, distributed applications. It includes web servers, application servers, content management systems, and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and service- oriented architecture.software componentsinteroperabilitydistributed applicationsweb serversapplication servers content management systemsXMLSOAPWeb servicesservice- oriented architecturesoftware componentsinteroperabilitydistributed applicationsweb serversapplication servers content management systemsXMLSOAPWeb servicesservice- oriented architecture While core kernel functionality of course can only be provided by the operating system itself, some functionality previously provided by separately sold middleware is now integrated in operating systems. The typical example is the TCP/IP stack for telecommunications, nowadays included in virtually every operating system. While core kernel functionality of course can only be provided by the operating system itself, some functionality previously provided by separately sold middleware is now integrated in operating systems. The typical example is the TCP/IP stack for telecommunications, nowadays included in virtually every operating system.

4 Middleware definition Middleware is the enabling technology of Enterprise application integration. It describes a piece of software that connects two or more software applications so that they can exchange data. Middleware is the enabling technology of Enterprise application integration. It describes a piece of software that connects two or more software applications so that they can exchange data. Enterprise application integration Enterprise application integration ObjectWeb defines middleware as: "The software layer that lies between the operating system and the applications on each side of a distributed computing system in a network."[1] ObjectWeb defines middleware as: "The software layer that lies between the operating system and the applications on each side of a distributed computing system in a network."[1]operating system[1]operating system[1]

5 Organizations Oracle and IBM are the most important vendors in the middleware software. In addition to the existing vendors updating their wares to address the newly expanded vision, vendors such as TIBCO, Mercator Software, Crossflo, Vitria and webMethods were specifically founded to provide Web-oriented middleware tools. Groups such as the Apache Software Foundation and the ObjectWeb Consortium encourage the development of open source middleware. Oracle and IBM are the most important vendors in the middleware software. In addition to the existing vendors updating their wares to address the newly expanded vision, vendors such as TIBCO, Mercator Software, Crossflo, Vitria and webMethods were specifically founded to provide Web-oriented middleware tools. Groups such as the Apache Software Foundation and the ObjectWeb Consortium encourage the development of open source middleware. TIBCOMercator SoftwareCrossfloVitria webMethodsWebApache Software FoundationObjectWeb Consortiumopen source TIBCOMercator SoftwareCrossfloVitria webMethodsWebApache Software FoundationObjectWeb Consortiumopen source

6 Types of Middleware Remote Procedure Call (RPCs) — Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous. Remote Procedure Call (RPCs) — Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous. Remote Procedure Callasynchronoussynchronous Remote Procedure Callasynchronoussynchronous Message Oriented Middleware (MOM) — Messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing. Message Oriented Middleware (MOM) — Messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing. Message Oriented Middleware Message Oriented Middleware Object Request Broker (ORB) — This type of middleware makes it possible for applications to send objects and request services in an object-oriented system. Object Request Broker (ORB) — This type of middleware makes it possible for applications to send objects and request services in an object-oriented system. Object Request Broker Object Request Broker SQL-oriented Data Access — middleware between applications and database servers. SQL-oriented Data Access — middleware between applications and database servers. SQL-oriented Data Access SQL-oriented Data Access Other sources include these additional classifications: Other sources include these additional classifications: Transaction processing (TP) monitors — Provides tools and an environment to develop and deploy distributed applications.[3] Transaction processing (TP) monitors — Provides tools and an environment to develop and deploy distributed applications.[3] Transaction processing (TP) monitorsdeploydistributed applications[3] Transaction processing (TP) monitorsdeploydistributed applications[3] Application servers — software installed on a computer to facilitate the serving (running) of other applications. Application servers — software installed on a computer to facilitate the serving (running) of other applications. Application servers Application servers

7 What is COM? Full name: Common Object Model Full name: Common Object Model Microsoft vendor-specific binary standard for objects/components. Microsoft vendor-specific binary standard for objects/components. More information: http://www.microsoft.com/com/ More information: http://www.microsoft.com/com/ http://www.microsoft.com/com/

8 COM in depth COM is a framework for creating and using objects. COM is a framework for creating and using objects. COM, the Component Object Model delivers on the long promised benefits of object technology: code reuse and off the shelf components. COM, the Component Object Model delivers on the long promised benefits of object technology: code reuse and off the shelf components.

9 How does COM do this? By providing a standard way to create and use components with a wide choice of tools, languages and applications. By providing a standard way to create and use components with a wide choice of tools, languages and applications.

10 How are COM services provided? COM services are provided in a standard way, whether those services are required within a single running process, within two different processes on the same machine, or on two different processes across a network using DCOM. COM services are provided in a standard way, whether those services are required within a single running process, within two different processes on the same machine, or on two different processes across a network using DCOM. COM is about choice; it provides the choice of the highest volume languages and tools available, as well as the largest base of applications. COM is about choice; it provides the choice of the highest volume languages and tools available, as well as the largest base of applications. COM also provides choice in the area of security, as it provides a common interface (SSPI) where various security providers can be plugged in. COM also provides choice in the area of security, as it provides a common interface (SSPI) where various security providers can be plugged in.

11 More on COM The COM specification has been complete since the end of 1992. Since then additions have been made, such as DCOM, but applications that worked then still work now. COM provides the major elements necessary for a technology to succeed: The COM specification has been complete since the end of 1992. Since then additions have been made, such as DCOM, but applications that worked then still work now. COM provides the major elements necessary for a technology to succeed: a solid specification, a solid specification, a single reference implementation which has been ported to multiple platforms. a single reference implementation which has been ported to multiple platforms. COM is everywhere; it is found on millions of systems worldwide and is a key part of most Microsoft software. COM is everywhere; it is found on millions of systems worldwide and is a key part of most Microsoft software.

12 What is CORBA? Full Name: Common Object Request Broker Architecture Full Name: Common Object Request Broker Architecture CORBA is a Middleware standard specified by the Object Management Group. CORBA is a Middleware standard specified by the Object Management Group. Quoting from http://www.omg.org/corba/whatiscorba.html - Quoting from http://www.omg.org/corba/whatiscorba.html -http://www.omg.org/corba/whatiscorba.html "The Common Object Request Broker Architecture (CORBA), is the Object Management Group's answer to the need for interoperability among the rapidly proliferating number of hardware and software products available today. Simply stated, CORBA allows applications to communicate with one another no matter where they are located or who has designed them. CORBA 1.1 was introduced in 1991 by Object Management Group and defined the InterfaceDefinitionLanguage and the ApplicationProgrammingInterfaces that enable client/server object interaction within a specific implementation of an Object Request Broker (ORB). CORBA 2.0, adopted in December of 1994, defines true interoperability by specifying how ORBs from different vendors can interoperate." "The Common Object Request Broker Architecture (CORBA), is the Object Management Group's answer to the need for interoperability among the rapidly proliferating number of hardware and software products available today. Simply stated, CORBA allows applications to communicate with one another no matter where they are located or who has designed them. CORBA 1.1 was introduced in 1991 by Object Management Group and defined the InterfaceDefinitionLanguage and the ApplicationProgrammingInterfaces that enable client/server object interaction within a specific implementation of an Object Request Broker (ORB). CORBA 2.0, adopted in December of 1994, defines true interoperability by specifying how ORBs from different vendors can interoperate."InterfaceDefinitionLanguageApplicationProgrammingInterfaceInterfaceDefinitionLanguageApplicationProgrammingInterface

13 Strengths of CORBA Cross-platform and multi-vendor. Very strong support in Unix and mainframe systems. Cross-platform and multi-vendor. Very strong support in Unix and mainframe systems. Is an industry standard. Is an industry standard. Some really excellent implementations are available for free. Some really excellent implementations are available for free. Many free versions are OpenSource Many free versions are OpenSourceOpenSource A wider range of programming language bindings. A wider range of programming language bindings. ALL objects/interfaces can be called dynamically at run time through a data-driven interface: CORBA DII (DynamicInvocationInterface?). ALL objects/interfaces can be called dynamically at run time through a data-driven interface: CORBA DII (DynamicInvocationInterface?).? Multiple inheritance in interfaces. (COM has single inheritance between interfaces, but discourages its use, favoring multiple interfaces instead.) Multiple inheritance in interfaces. (COM has single inheritance between interfaces, but discourages its use, favoring multiple interfaces instead.)

14 Strengths of COM Strong versioning support of interfaces; one can "easily" support upward and/or backward compatible interfaces on an object. Strong versioning support of interfaces; one can "easily" support upward and/or backward compatible interfaces on an object. Microsoft backs it. They have lots of money, and widely used tools (on Windows platforms). MS is now encouraging use of.NET/SOAP, but COM is still supported. Microsoft backs it. They have lots of money, and widely used tools (on Windows platforms). MS is now encouraging use of.NET/SOAP, but COM is still supported. Price: Comes with Windows -- and so is perceived as being "free" on that platform. Price: Comes with Windows -- and so is perceived as being "free" on that platform. Tool support (like within VB, VC++, J++) Tool support (like within VB, VC++, J++) More flexible pointers; CORBA object references can only be to whole objects (as in Java), whereas COM pointers can point into the middle of structures (as in C++). More flexible pointers; CORBA object references can only be to whole objects (as in Java), whereas COM pointers can point into the middle of structures (as in C++). Strong definition of object identity: COM has a clearly-defined way to determine if two different interface pointers really refer to the same object; even if the two interfaces aren't related to each other in any way by inheritance. Strong definition of object identity: COM has a clearly-defined way to determine if two different interface pointers really refer to the same object; even if the two interfaces aren't related to each other in any way by inheritance.

15 Summary Windows or UNIX Windows or UNIX Java or Microsoft Java or Microsoft Internet Explorer or Firefox Internet Explorer or Firefox IIS or Apache IIS or Apache List goes on and on……. List goes on and on…….


Download ppt "COM vs. CORBA Integration via middleware By: Don Villanueva CS 524 Software Engineering II Fall II 2007 – Sheldon X. Liang, Ph. D."

Similar presentations


Ads by Google