Distribuerte Systemer Viktigere enn vi tror, vanskeligere enn det høres Komponenttorget ‘99 Trondheim Trygve Reenskaug Numerica Taskon Distaribuerte.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
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.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Basics on WAS WAS are necessary.
Intranet and internet based software components. 2 Overview  What are intranet and internet based map applications?  System Requirements  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.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
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.
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.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
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.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Java – in context Main Features From Sun Microsystems ‘White Paper’
Enterprise JavaBeans 3.0. What is EJB 3.0 -Reusable server-side component framework-technology -Designed to support building demanding enterprise – level.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
J2EE Platform Overview (Application Architecture)
Introduction to Oracle Forms Developer and Oracle Forms Services
Netscape Application Server
Distributed Computing
Database System Concepts and Architecture
Web Application Architecture
Introduction to Oracle Forms Developer and Oracle Forms Services
Chapter 1 Introduction to Computers, Programs, and Java
Introduction to Oracle Forms Developer and Oracle Forms Services
>> Introduction to Web Applications
Distribution and components
Topic 10: Design Elements
Introduction to J2EE Architecture
Enterprise Service Bus (ESB) (Chapter 9)
Interpreter Style Examples
Introduction to Enterprise JavaBean
UML for beskrivelse av distribuerte informasjonssystemer
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
Inventory of Distributed Computing Concepts
Unleashing the Power of Distributed Objects
Component--based development
“The UML Collaboration, a Standard for Role Modeling.”
Komponentbasert utvikling Den sanne objektorientering
Visjoner og arkitektur
Component-based Applications
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Design Yaodong Bi.
Criteria for rapid prototyping
Presentation transcript:

Distribuerte Systemer Viktigere enn vi tror, vanskeligere enn det høres Komponenttorget ‘99 Trondheim Trygve Reenskaug Numerica Taskon Distaribuerte Systemer

Personal Information Environments Content and Communication Digital Map Census Data Police Records House Drawings Aerial Photos Police Dispatcher Distaribuerte Systemer © Trygve Reenskaug 1999

The Connected Organization The Real Challenges The Connected Organization Effective Partitioning of Information Services Effective, Enjoyable and Instructive Tools Business processes Task / Use Case / Tool Information services Distaribuerte Systemer © Trygve Reenskaug 1999

Presentation plan Communication-centered architectures A new system generation The Collaboration Remote Method Invocation (+ CORBA, COM) The Component (+ Java Bean, Java Enterprise Bean) Summary and Conclusion Distaribuerte Systemer

CPU-Centered paradigm Output Input Central Processing Unit FORTRAN Algol 60 Tape Hardware Software Distaribuerte Systemer

Storage-Centered paradigm Shared database App.1 App.2 App.4 App.3 DB Schema language e.g. Entity-Relation e.g. NIAM Output Input Memory Central Processing Unit Disk Tape Hardware Software Distaribuerte Systemer

Communication-Centered paradigm Object 1 Object 2 Object 4 Object 3 Information Bus Central Processing Unit Input Output Disk Communication Bus Memory Tape Composition language e.g. ???? Hardware Software Distaribuerte Systemer

Summary - 1 Unlimited Scaling Distributed Ownership Support people’s Tasks Flexible Consistency Requirements Fideikommiss - 186 hits Distaribuerte Systemer © Trygve Reenskaug 1999

Presentation plan The Collaboration Summary and Conclusion Communication-centered architectures A new system generation The Collaboration Remote Method Invocation (+ CORBA, COM) The Component (+ Java Bean, Java Enterprise Bean) Summary and Conclusion Distaribuerte Systemer

No Main Program! Centralized solutions The designer sees everything knows everything understands everything controls everything The SYSTEM Distributed solutions The object - has responsibility knows its collaborators is robust Nobody knows everything! Distaribuerte Systemer

Network with Default Resource The (toy) sample user interface is a Java Applet that is run from a web browser. The interface interacts with a background service that is also written in Java. The top bars in the bar chart shows the earliest times when the activities can be performed. The bottom bars show when the activities can be done if all use the same resource, and this resource can only serve one activity at the time. Distaribuerte Systemer © Trygve Reenskaug 1999

Network with Gantry Resource An example of specialization: Some activities use a Gantry crane. Our crane has two independent hooks: One can lift a light load and the other can lift any load. Activity B is to lift a light load. It can be performed concurrently with activity C, which is a heavy load. Activities D and E are both heavy loads, they have to be performed in sequence. Activities A and F use the old resource that can serve one at the time. Distaribuerte Systemer © Trygve Reenskaug 1999

The objects and their message paths WEB Browser paint(); Button Code is invisible! Applet ActivityGraph Project BarChart Project activity-B activity-D activity-A Activity-F activity-C activity-E Distaribuerte Systemer

Summary - 2 Move from closed to open systems Distributed solutions The object has responsibility knows its collaborators is robust Nobody knows everything! Move from closed to open systems Move from centralized to distributed control Change focus from build-time to run-time aspects Abstraction: The role the object plays in collaboration context Distaribuerte Systemer

Presentation plan Remote Method Invocation (+ CORBA, COM) Communication-centered architectures A new system generation The Collaboration Remote Method Invocation (+ CORBA, COM) The Component (+ Java Bean, Java Enterprise Bean) Summary and Conclusion Distaribuerte Systemer

Java RMI Remote Method Invocation WEB Browser Client Button Server App ActivityGraph Information Bus BarChart Project activity-B activity-D activity-A Activity-F activity-C activity-E Remote access is slow and error prone. Simplify and clarify!!! Distaribuerte Systemer

RMI middleware (1 second can grow to 3 hours!!) Client Server The BarChart object The ActivityGraph object The Project object (A Server) An Activity object (A server) Project Stub represents the Project Activity skeleton represents sender Activity Stub represents an Activity Information Bus Project skeleton represents sender Java Naming & RMI Services (or CORBA or COM) HTML - web page language TCP/IP - Guaranteed end-to-end data stream Physical communication (ISDN/Ethernet/….) Distaribuerte Systemer

Presentation plan The Component (+ Java Bean, Java Enterprise Bean) Communication-centered architectures A new system generation The Collaboration Remote Method Invocation (+ CORBA, COM) The Component (+ Java Bean, Java Enterprise Bean) Summary and Conclusion Distaribuerte Systemer

Why use components Use componets to Simplify remote communication Avoid coding to save time Avoid coding to increase quality Use tools to increase your productivity Get transactions, security, etc. for free Distaribuerte Systemer

What is a Component Tools are used to compose systems A component is reused by cloning A Component is an object playing standardized roles A Component is a reusable object Technology System user System composer Component creator Tool developer and vendor Component environment standardizer Organization Distaribuerte Systemer

Compose User Interface with Java Beans Distaribuerte Systemer

Bean object plays several roles BeanBox Composer Use Case Run-time display Use Case App Bean Object Distaribuerte Systemer

Component standardization examples Information Bus Java Bean User Interface Properties Events Composition Run time context Enterprise Java Bean Naming Persistence Transactions Security Load sharing Client Server Distaribuerte Systemer

Presentation plan Summary and Conclusion Communication-centered architectures A new system generation The Collaboration Remote Method Invocation (+ CORBA, COM) The Component (+ Java Bean, Java Enterprise Bean) Summary and Conclusion Distaribuerte Systemer

Distributed Systems What you get: Unlimited scaling Distributed ownership Specific task support Information partitioning How you do it: Think in terms of objects, their responsibilities and collaboration. Think in terms of open systems, no main program. Distaribuerte Systemer

Component-based development What you get: Build by composing library objects, avoid coding. Leverage infrastructure mechanisms (transactions, security, persistence,…) How you do it: Think in terms of objects. (Responsibilities, environment, collaboration.) Penetrate vendor fog - find essentials Insist on high product quality Adapt to new layers in value chain Distaribuerte Systemer

The competing technologies CORBA™ Object Management Group (OMG) Public standards Java™ SUN Microsystems Build once, run anywhere COM™ Microsoft Dominating on desktops Distaribuerte Systemer

You can do it! http://www.ifi.uio.no/~trygve Distributed systems Distaribuerte Systemer

Kaffe Distaribuerte Systemer