Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

Microsoft COM Component Object Model Microsoft Corporation ™
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Distributed Systems Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Distributed Object Computing Weilie Yi Dec 4, 2001.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Middleware Technologies compiled by: Thomas M. Cosley.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Understanding Networked Applications: A First Course Chapter 16 by David G. Messerschmitt.
COM vs. CORBA Integration via middleware By: Don Villanueva CS 524 Software Engineering II Fall II 2007 – Sheldon X. Liang, Ph. D.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Common Object Request Broker Architecture (CORBA) CS-328.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
DCOM (Overview) by- Jeevan Varma Anga.
Frameworks for Component Based Client/Server Computing -Scott M. Lewandowski Presented by: Manish Mehta Tulika Rathi Sucharita Simhadri Anupama Vasanth.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Information Management NTU Interprocess Communication and Middleware.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
The World Leader in Making Software Work Together ™ Copyright IONA Technologies 1999 Building CORBA Applications (On OS/390 ?) Dusty Rivers Enterprise.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
The Middleware By Jiraphat Wattanapateepgorn Jearanai Muangsuwan.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Common Object Request Broker Architecture (CORBA)
CORBA Alegria Baquero.
What is RMI? Remote Method Invocation
The Client/Server Database Environment
Chapter 9 – RPCs, Messaging & EAI
CORBA Within the OS & Its Implementation
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts
Component--based development
Quality Assurance for Component-Based Software Development
What is Middleware? Application Application Middleware Middleware
1999년 10월 29일 김 정 선 한양대학교 공학대학 전자컴퓨터공학부
Inventory of Distributed Computing Concepts
#01 Client/Server Computing
Presentation transcript:

Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

Distributed Computing* “Parts of an application run on multiple computers simultaneously.” Definition: * aka: Client/Server and Distributed Object Computing/Technology (DOC/DOT)

Distributed Computing Models Data Management Data Management Business Logic/Rules Business Logic/Rules Presentation Application Architecture FileServer PC “Fat Client” “Thin Client” and “3-Tier (N-Tier)” Application Architecture PC Data Management Data Management Business Logic/Rules Business Logic/Rules Presentation Server(s) and/or mainframe(s) Note: Even though the figure depicts 3 physical tiers, 2 or more will accomplish the same result. = Network with Middleware on both ends (Methods of distributing the 3-tier Application Architecture across computing platforms)

Distributed Computing u Usability - seamless and transparent to users u Flexibility - processing independence u New Capabilities - the “net”; new business applications Challenges u Complexity - heterogeneous computing platforms u Compatibility - impedance matching u Manageability - distributed processing u Organizational Infrastructure & Cultural readiness Benefits

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

Middleware Complexity Compatibility Manageability Challenges “Software that facilitates the interoperability of objects between heterogeneous computing platforms.” Definition: } Middleware... u is the “slash” (/) in Client/Server (DOC) Technology u is the “glue” that holds Distributed Computing together u “sits” between clientware & serverware u is intended to make the network completely transparent u is “plumbing” which is not glamorous but very important

Middleware’s Position within the Distributed Computing Architecture Physical Data Link Network Transport Session Presentation Application OSI 7-Layer Reference Model Application Program Object Request Broker (ORB) TP Monitor (CICS, Tuxedo) RPC (DCE, Netwise) Messaging System (MOM) IPX, IP, DLC SPX, TCP, LU 6.2 Communication APIs (socket, APPC) Middleware 802.3, (CORBA, COM/DCOM, RMI, SOM/DSOM) Transport Service User Service Message Queuing Data Translation Directory Service Nameing Service Security Recovery Broadcasting Session Management NIC Driver Distributed Services: X.500 DNS LDAP etc... Message Routing: X.400 SMTP MAPI etc... Communication Building Block Layers

Middleware Classifications Name Type Communication Modes Examples RPCs (Remote Procedure Calls) MOMs (Message Oriented Middleware) ORBs ( Object Request Brokers) Function- Oriented Object- Oriented Event- Oriented Request/Reply - Synchronous DCE Products IBM MQSeries BEA MessageQ BEA Tuxedo Microsoft MQ CORBAPlus* Orbix & NEO* ObjectBroker* VisiBroker* Java’s RMI Microsoft’s DCOM * = CORBA 2.0 Compliant Distributed Services Core Service X.500, DNS, LDAP Message Routing Core Service X.400, SMTP, MAPI TP Monitors Transaction- Oriented IBM’s CICS Microsoft’s Transaction Server BEA Tuxedo Request/Reply - Asynchronous Store-&-Forward - Asynchronous Publish-&-Subscribe - Asynchronous Request/Reply - Synchronous (Note: ORBs will be enhanced in the near future to support asynchronous communication modes) Request/Reply - Synchronous Request/Reply - Asynchronous Publish-&-Subscribe - Asynchronous

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

OMG’s CORBA u OMG is the Object Management Group Consortium organized by a handful of organizations in 1989; today it has over 800 member organizations including Microsoft u CORBA (Common Object Request Broker Architecture) is the OMG’s most visible Product u CORBA is a Reference Architecture Specification for object interoperability between heterogeneous computing platforms u CORBA Version 2.0 adopted in December 1994 u Software vendors create CORBA implementations based on the reference specification and have these implementations certified by the OMG as being CORBA-Compliant

The Common Object Request Broker (CORBA) 2.0 Architecture Client Object Implementation ORB Core Dynamic Invocation Interface IDL Stubs ORB Interface Static IDL Skeleton Dynamic Skeleton Interface Basic Object Adapter GIOP/IIOP Implementation Repository Interface Repository operation() in args out args + return value GIOP = General Inter-Orb Protocol IIOP = Internet Inter-Orb Protocol (TCP/IP) Current IDL mappings include: C/C++, Smalltalk, Ada, COBOL & Java

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

Microsoft’s DCOM u DCOM (Distributed Component Object Model) is Microsoft’s “answer” to distributed computing u COM (Component Object Model) is Microsoft’s framework for creating and using software components [on a single computer] u COM is Microsoft’s binary interoperability standard u DCOM is based on OSF’s DCE RPC specification u “DCOM is just COM with a longer wire.” - Charlie Kindel, Microsoft OSF = Open Software Foundation DCE = Distributed Computing Environ. RPC = Remote Procedure Call

Microsoft’s DCOM u COM/DCOM History: v DDE and OLE 1.0 (cut & paste) v OLE Automation (OLE2) & COM1 (compound documents) v Automation (COM2) & DCOM; ActiveX becomes the marketing name for Automation/COM/DCOM components v Sept COM+ (COM3) announced u Ships w/Windows NT 4.0 u Available for Windows95 and ships with Windows98 u Available now on a few heterogeneous OS platforms DDE = Dynamic Data Exchange OLE = originally: Object-Linking-and-Embedding

The COM/DCOM Architecture* Client Component  In the same process  Fast, direct function calls Client Component COM Client Process Server Process  On the same machine  Fast, secure IPC  Across machines  Secure, reliable and flexible DCE-RPC based DCOM protocol COM DCE RPC Client Server Machine Client Machine COM Component * Adapted from “ActiveX and the Web”, presented by Charlie Kindel, Architect & Chief Technical Advisor, Microsoft, 1997 “DCOM is just COM with a longer wire.” - Charlie Kindel

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

CORBA and DCOM Comparison Characteristics 1 of 3 Vendor Support CORBA is a “consortium-approved” specification, but not an actual reference implementation DCOM is a Microsoft (and now the independent ActiveX Consortium) specification AND a reference implementation Characterized as a shopping mall having several major “anchors,” such as Sun, IBM, HP, Digital, NCR, etc. and hundreds of ISV “boutiques,” such as Versant, IONA, Expersoft, etc. Characterized as a shopping mall having one major “anchor” - Microsoft - and thousands of ISV “boutiques” and is viewed as the current “product of choice” on the desktop Implementations are based on a written specification standard which is subject to interpretation and could lead to incompatible interpretations of the standard. Validation tests must be performed before OMG certification Implementations are based on source code provided by either Microsoft or the Open Group. Validation tests must be performed before certification CORBA DCOM

CORBA and DCOM Comparison Characteristics 2 of 3 Platform Support Viewed as the object-oriented middleware of choice for enterprises needing to develop/support distributed applications across heterogeneous platforms Leading contender for Windows 95, 98 and NT environments. Implementations across non-Windows platforms are occurring Was designed from the beginning to be truly object-oriented and distributed. Its roots are in the network and TCP/IP Has its origins in the single-user desktop and builds heavily upon the Windows programming model. It could also be said that its roots are derived from compound document technology CORBA DCOM

CORBA and DCOM Comparison Characteristics 3 of 3 Deployment Characteristics An ORB needs to be deployed on each server and each client COM is included as part of Windows 95/98 and NT and soon many other operating systems. DCOM is available for Windows 95, included with Windows98 and NT 4.0 Different ORB implementations that adhere to the standard can achieve, at the most, source level compatibility, but not interchangeability of binary components A single implementation is accomplished by a defined binary interoperability specification for how to access its interfaces using pointers and remote proxies; DCOM language bindings available for Visual C++, Visual J++, Visual Basic and Inprise’s Delphi (Pascal) and JBuilder CORBA DCOM

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

CORBA and DCOM Integration u True or False? - “The desktop belongs to Microsoft.” u True or False? - “The world will never be all NT.” u True or False? - “We will have to live with both.” u Potential CORBA and DCOM Integration Strategies: v Home-Grown - not recommended v OMG-Compliant via commercial middleware products that conform to the OMG’s “Interworking Specification - Part A - COM/CORBA”; Part B - DCOM/CORBA is being developed at this time v Visual Edge Software’s Object Bridge product

CORBA and COM Integration Strategies Bridge Automation Client COM Client CORBA Client CORBA Client CORBA Object CORBA Object Automation Object COM Object OMG’s Interworking Specification (Part A) has Four Mappings: Client Machine Server Machine IIOP

CORBA and DCOM Integration True or False? - “The desktop belongs to Microsoft.” True or False? - “The world will never be all NT.” True or False? - “We will have to live with both.” Potential CORBA and DCOM Integration Strategies: Home-Grown - not recommended OMG-Compliant via commercial middleware products that conform to the OMG’s “Interworking Specification - Part A - COM/CORBA”; Part B - DCOM/CORBA is being developed at this time v Visual Edge’ Software’s Object Bridge product

CORBA and DCOM Integration Strategies +Transparent- Proprietary even though the +Vendor neutral mappings are OMG compliant +Provides many-to-- Limited products (one?) many bi-directional- Cost communication- Complexity +Does not require- Limited exception handling ActiveX developers to learn CORBA and vice versa +Licensed by ORB vendors Visual Edge Software’s Object Bridge

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

What about Java? u Created by Sun Microsystems (James Gosling et al.) u Sun’s JavaSoft division is now responsible for it u About 3-1/2 years old now u Another “blue-collar” language u “Best of” C++, Objective C, Modula-3, Lisp, and Mesa u Object-oriented from the ground up (unlike C++) u Syntactically approximates C++ 1 of 3

What about Java? u Platform independent due to its bytecode compilation and Java Virtual Machine runtime (anybody remember UCSD’s p-System from the 1970’s?) u Becoming an excellent “mobile objects” language via its applets and servlets and its own Java OS [useful for PDA’s and other personal appliances] u JVM’s supported by most popular web browsers u Microsoft’s Internet Explorer JVM treats Java applets as an ActiveX (COM) component u Netscape includes Visigenic’s VisiBroker/Java CORBA ORB via IIOP (Internet Inter-ORB Protocol) 2 of 3

What about Java ? u Remote Method Invocation (RMI) is Java’s native communication for distributed computing (ORB-like) u SunSoft (not JavaSoft) division of Sun developed Java Object Environment (Joe) to integrate Java with its CORBA-compliant NEO ORB u JavaSoft will include Java IDL in the core Java platform u JavaSoft will add RMI support for CORBA IIOP u JavaSoft will work with OMG to extend CORBA IIOP functionality to support popular RMI features 3 of 3

Presentation Topics Distributed Computing Middleware CORBA Overview DCOM Overview CORBA & DCOM Comparison CORBA & DCOM Integration Java - Where does it fit in? Summary

u Neither CORBA nor DCOM by itself will cover all aspects of distributed computing requirements u Many other issues must be considered (ie., MOMs, RPCs and/or TPs) u Project requirements and system configurations will need to be evaluated to determine the appropriate object technology to apply u Management commitment to develop and/or recruit personnel having expertise in object technology within the MIS/IT organization

End of the Presentation Thank you!