Distributed Object Computing

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Web Service Architecture
Siebel Web Services Siebel Web Services March, From
RPC Robert Grimm New York University Remote Procedure Calls.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
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.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
1 Web Services Web and Database Management System.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
CORBA AND SOAP Unmesh Kulkarni i2 Group Ashish V. Tendulkar Directory Database integration group ( Persistent Systems Pvt. Ltd.
Electronic Commerce Semester 1 Term 1 Lecture 7. Introduction to the Web The Internet supports a variety of important tools, such as file transfer, electronic.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
E-Business Infrastructure PRESENTED BY IKA NOVITA DEWI, MCS.
Java Web Services Orca Knowledge Center – Web Service key concepts.
The Object-Oriented Thought Process Chapter 13
.NET Omid Darroudi.
The Client/Server Database Environment
Sabri Kızanlık Ural Emekçi
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
A Web Services Journey on the .NET Bus
WEB SERVICES.
Unit – 5 JAVA Web Services
Web Services Primer Overview of Web Services
CORBA Alegria Baquero.
Distributed web based systems
Chapter 9: The Client/Server Database Environment
Introduction to J2EE Architecture
Introduction to client/server architecture
#01 Client/Server Computing
Introduction to Web Services and SOA
Web Server Administration
Inventory of Distributed Computing Concepts and Web services
Chapter 27 WWW and HTTP.
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
CORBA Alegria Baquero.
Lecture 1: Multi-tier Architecture Overview
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Inventory of Distributed Computing Concepts
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Component--based development
Service Oriented Architecture (SOA)
Chapter 17: Client/Server Computing
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Quality Assurance for Component-Based Software Development
WEB SERVICES From Chapter 19, Distributed Systems
Introduction to Web Services and SOA
Web Programming : Building Internet Applications Chris Bates CSE :
#01 Client/Server Computing
Presentation transcript:

Distributed Object Computing David Naney 2/16/2019

Introduction Distributed object computing extends an object-oriented programming system by allowing object to be distributed across a heterogeneous network, so that each of these distributed object components interoperate as a unified whole. These objects may be distributed on different computers throughout the network. 2/16/2019

Topics Reasons for distributed object computing Survey of competing technologies 2/16/2019

Vocabulary Glossary of terms CORBA DCOM SOAP XML HTTP 2/16/2019

Why Are We Interested in Distributed Object Computing? There are many reasons, but here we will concentrate on only three: Flexibility Cost New user platforms 2/16/2019

Flexibility A network-centric architecture that supports open standards allows the user much greater flexibility in the selection of products. A major problem with today's legacy systems is that they are so difficult to change. This puts the user into the unfortunate position of having to either completely replace the system, or live with it. Using distributed object computing allows the user the flexibility to update the system piecewise, reducing risk and cost. Instead of being locked into proprietary solutions, provided by only one vender, open standards allow users to select from multiple venders for similar products. The product that best meets their requirements can then be selected. 2/16/2019

Cost Published research in the area that concerns distributed object computing (network-centric architecture) suggests that the use of this technology can provide a substantial cost benefit, up to 60% of the lifecycle cost of the computing infrastructure. [5] 2/16/2019

New User Platforms It appears that we will be seeing a large increase in the number and type of end user platforms that will be available for use by the general public. Unfortunately, (or maybe fortunately if you are a distributed objects programmer) most of these platforms are of the “thin” variety, small devices with limited computing power and storage capacity. 2/16/2019

New User Platforms These devices will not be able to use software designed for the traditional desktop system. Network based applications which have most of their functionality in the middle tier rather than in the client will be much more adaptable to this market. 2/16/2019

Survey of Competing Technology There are several different methods used to do distributed object programming. In this presentation, I will present two, CORBA and SOAP, with a brief mention of a third, DCOM. CORBA (Common Object Request Broker Architecture). SOAP (Simple Object Access Protocol). DCOM (Distributed Component Object Model). 2/16/2019

CORBA(Common Object Request Broker Architecture) CORBA defines a model that specifies interoperability between distributed objects on a network in a way that is transparent to the programmer. It achieves this by defining ways for specifying the externally visible characteristics of a distributed object in a way that is implementation-independent. 2/16/2019

How Does CORBA Work? In order to create a connection with an object on the server, the programmer creates an IDL file that specifies the object’s interfaces. When compiled, these interfaces can be used by a remote object (client) in a fashion very similar to using a local object. Each network system that participates in a CORBA interaction must have an object called an Object Request Broker (ORB) running and accessible somewhere on the network. 2/16/2019

How Does CORBA Work? The ORB is the distributed service that implements the request to the remote object. It locates the remote object on the network, communicates the request to the object, waits for the results and when available communicates those results back to the client. These ORBs do all of the dirty work of establishing connections between the client object and the server object. 2/16/2019

How Does CORBA Work? A CORBA enabled object registers its services with the ORB. This allows the ORB to figure out where a request from a client is supposed to go. 2/16/2019

Benefits of CORBA CORBA allows methods on a remote object to be accessed as if they were on the local machine, making the programming of clients simple. CORBA is a more mature technology, with better support and tools. 2/16/2019

Problems With CORBA Firewall problem Cross platform problem Complexity of use 2/16/2019

Firewall Problem When a stranger comes to your door and knocks, what do you do? Let him in? Find out what he wants, then let him in? Look at him through the peephole, and ask what he wants? Ignore him? 2/16/2019

Firewall Problem A computer network doesn’t have all of these options! If a strange protocol comes knocking, what IS the poor network to do!! Let it in (no firewall)? Ignore it, it’ll go away (firewall) 2/16/2019

Firewall Problem This is one of the major problems CORBA faces in the Internet world. You can set up your CORBA client/server system, but if you try to distribute this system beyond your own little pond, you have to deal with cranky system administrators in other parts of the world who may or may not be willing to open a port in their firewall to accommodate your system. 2/16/2019

Cross Platform Problem Although one of the main benefits that were supposed to accrue from CORBA was the reduction or elimination of cross platform issues, some still remain. Using CORBA entails setting up and configuring an Object Request Broker (ORB) on each system that is involved in the interaction. ORBs from different companies do not necessarily play well together. Even ORBs from the same company, which are designed for different operating systems sometimes don’t want to work together! In the Philips New York project, we attempted to set up an orb from Inprise, Visibroker on both a windows 95 system and a Solaris Unix system. We were unable to get them to communicate. This could have been a cross platform issue or a firewall issue. 2/16/2019

Complexity of Use CORBA requires the programmer to learn a new programming language, Interface Definition Language. IDL is not a difficult language but it does present a learning curve that some programmers would just rather not face. The different implementations work in different ways and are each fairly complicated to set up and configure. 2/16/2019

DCOM (Distributed Component Object Model) DCOM is Microsoft’s answer to the rest of the computing world. Not wanting to be an integral part of the Object Management Group (OMG), Microsoft has developed a competing protocol for distributed object computing, with which I do not have a great deal of experience, but which I mention here for the sake of completeness. 2/16/2019

SOAP(Simple Object Access Protocol) SOAP is one of the newest ideas to be endorsed by the World Wide Web Consortium (W3C), in response to the problems that are becoming apparent with other current distributed object architectures. 2/16/2019

SOAP(Simple Object Access Protocol) SOAP is a standard way of serializing the information needed to invoke remote services into a format that can be transported across the wire and interpreted by the remote server regardless of its platform. 2/16/2019

What’s So Special About SOAP? SOAP goes a long way toward solving the firewall problem by using a protocol that most system administrators have grown to know and love – or at least tolerate, the Hyper Text Transfer Protocol (HTTP). SOAP uses a text based payload, (XML) reducing to a minimum the cross platform problem. 2/16/2019

The eXtensible Markup Language (XML) XML is a new text based markup language, similar to HTML, but much more powerful. XML allows the programmer to define his or her own markup tags, hence, extensible in the name.It is a method for describing information so that every computer, and most humans can understand it. 2/16/2019

The eXtensible Markup Language (XML) Markup refers to instructions written into a document that inform someone or something how to handle a certain section of a document. This is sometimes referred to as metadata. With XML, the concept of markup has been extended to encode instructions that can tell an application what to do with chunks of the information. 2/16/2019

How Does SOAP Work? An object has need of a service provided by a server on a different system, across the Internet. for instance, a web browser user wants to make a purchase from an eCommerce site. The object creates an eXtensible Markup Language (XML) document, following the rules laid out in the official SOAP schemas. The document is then packaged into a soap message, placed as the payload in an HTTP Post operation, and sent to the web server. 2/16/2019

How Does SOAP Work? In order for the web server to handle SOAP requests, a SOAP listener must be provided. The listener takes care of receiving the HTTP message, parsing the SOAP payload and invoking the correct object to do the work. 2/16/2019

How Does SOAP Work? Like CORBA, SOAP uses a three tier architecture. However, instead of using an ORB for the middleware layer, SOAP uses the Web Server and the SOAP module. 2/16/2019

Problems With SOAP SOAP is a cutting edge technology, and as such, has LOTS of problems. The fact that the SOAP message has to be parsed with an XML parser makes this method slower than CORBA or DCOM for local implementations. Lack of tools and documentation. Doing things exactly as specified does not necessarily mean that your SOAP experiment will work. Must-have and nice-to-have technologies like schema support and XML namespaces are not yet fully supported. Namespaces are used when you have information from two different locations with the same elements. It allows the differentiation of these two items. 2/16/2019

Summary In this presentation, we have discussed the reasons for using distributed object computing, and looked at two methods currently used to implement this interesting technology. 2/16/2019

Where to Get More Information Books: Client/Server Programming with Java and Corba, by: Rober Orfali and Dan Harkey Professional XML, by Didier Martin, Mark Birbeck, Michael Kay, etal Applied XML, by: Alex Ceponkus and Faraz Hoodbhoy 2/16/2019

Where to Get More Information Articles: “A detailed Comparison of CORBA, DCOM and Java/RMI” and “DCOM and CORBA” by Gopalan Suresh Raj “What Does the Future Hold for Distributed Object Computing”, by Held, Susch and Golshan “SOAP for Platform-Neutral Interoperability”, by Kent Brown 2/16/2019

Where to Get More Information Specification: “Simple Object Access Protocol (SOAP)1.1”, W3c Note 08 May 2000 Web Sites: Introduction to CORBA http://developer.java.sun.com/developer/onlineTraining/corba/corba.html#anchor311757 Web Cornucopia© http://www.execpc.com/~gopalan/index.html 2/16/2019