Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.

Slides:



Advertisements
Similar presentations
Overview of Web Services
Advertisements

What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Distributed Systems Architectures
Distributed Components Week 6 – Lecture 2. A component request consists of three parts The name of the component The service to be performed The list.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Distributed Object Computing Weilie Yi Dec 4, 2001.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Chapter 13 Physical Architecture Layer Design
Middleware Technologies compiled by: Thomas M. Cosley.
Communication in Distributed Systems –Part 2
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
.NET Mobile Application Development Remote Procedure Call.
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.
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.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
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.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
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.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
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.
Distributed Component Object Model (DCOM)
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.
Slide 1 Physical Architecture Layer Design Chapter 13.
Unit 7 Patterns and Frameworks. Key Concepts Design classes Components Design architectures EAD Patterns Packages Frameworks.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
SOA support in J2EE Platform overview Primitive SOA support Support for service-orientation principles Contemporary SOA support.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
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.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
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.
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Chapter 6: Using Middleware Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt October 20, 2008.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Java Distributed Computing
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
Introduction to Enterprise JavaBean
Inventory of Distributed Computing Concepts
Component--based development
Quality Assurance for Component-Based Software Development
Copyright 1999 B.Ramamurthy
Inventory of Distributed Computing Concepts
Presentation transcript:

Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September 30, 2008

History of Middleware ● Chapter 2 was history of middleware into 1980's ● Chapter 3 continues at end of 1980s with resurgence in OO programming and a new kind of OO middleware  requestor calls a remote object  like RPC, replaces RPC/transactional  does not replace the two other kinds of middleware: message queue and remote DB  notable example: CORBA

CORBA ● Common Object Request Broker ● a standard, not a product ● developed by Object Management Group (OMG) a consortium of software vendors ● influental but seldom seen in implementations, similar situation with ISO 7-layer network model ● Problem: its complexity, interoperativity ● Rise of component technology made it less important

Component Technology ● Key characteristics  code file – can be interpreted or executed  run-time code has its own private data and provides an interface  can be deployed many times and on many different machines (reused)  component object creates one or more objects and makes the interface of these available

Microsoft Components ● Microsoft COM (Component Object Model), by end of 1990s  used extensively in windows  called from any language ( C++, Visual Basic)  don't need to know file name – find it in system registry ● Middleware Distributed COM (DCOM)  call a COM object on another Windows machine

Java Components ● Java emerged as an important language by 1995 ● Java component model is called JavaBean ● Java runs in Java Virtual Machine (JVM) – macnine independent ● Middleware called Remote Method Invocation (RMI)

Transactional Component Middleware ● solves some problems of using object component ● Microsoft Transaction Server evolved into COM+ ● Enterprise JavaBeans (EJB) ● issue is management of sessions, discussed later

Using Object Middleware ● program must have a reference pointing to the object on the other machine ● works like a pointer (to ram) but details are hidden ● Two steps  getting pointer to the object  repeatedly calling an operation(s) on the object  give up the reference

Object Interfaces ● Interface Definition Language  interfaces more explicit than in OOP  gives flexibility and encapsulation  generates a stub that converts messages into operation calls  marshalling, converting object reference to binary string  interface is not the same as a class – one interface can be used by many classes

OO Middleware compared to RPC ● OO middleware is a natural for OOP languages ● OO middleware is more flexible  interfaces delinked from the server program – this simplifies deployment by hiding details  changes to an interface can be handled by adding a new interface to an object, rather than creating a new object – eventually old interface can be removed allowing time for rewriting dependent code

Transactional Component Middleware ● a term coined by the textbook authors ● fills same niche in object middleware as transaction monitors in RPCs ● makes transaction processing easier to implement and more scalable ● components can be deployed with different settings to behave in different ways ● examples: COM+ and EJB

COM+

EJB

More about TCM ● compare COM+ and EJB – which is better solution? Disciples cannot agree ● Go with the one your skill level and experience favors ● EJB is operating system independent ● COM+ is language independent ● COM+ is now called Enterprise Services, a part of.NET ● New development: SOA and Service Orientation (next chapter)

Internet Applications

Summary ● TCM is the dominant technology for