Presentation is loading. Please wait.

Presentation is loading. Please wait.

Komponentbasert utvikling Den sanne objektorientering

Similar presentations


Presentation on theme: "Komponentbasert utvikling Den sanne objektorientering"— Presentation transcript:

1 Komponentbasert utvikling Den sanne objektorientering
Trygve Reenskaug Numerica Taskon UML Unified Modeling Language og komponentbasert utvikling Geilo 19 april 1999 Komponentbasert utvikling

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

3 Presentation Plan The Communication-Centered Paradigm
Building Systems with Components But the Real Challenge is … Summary and conclusion Komponentbasert utvikling

4 CPU-Centered paradigm
Output Input Central Processing Unit FORTRAN Algol 60 Tape Hardware Software Komponentbasert utvikling

5 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 Komponentbasert utvikling

6 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. Object Constraint Language Hardware Software Komponentbasert utvikling

7 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! Komponentbasert utvikling

8 Advantages Communication-Centered paradigm
Unlimited Scaling Distributed Ownership Support people’s Tasks Flexible Consistency Requirements Fideikommiss hits Komponentbasert utvikling © Trygve Reenskaug 1999

9 Presentation Plan Building Systems with Components
The Communication-Centered Paradigm Building Systems with Components But the Real Challenge is … Summary and conclusion Komponentbasert utvikling

10 App. for booking meeting rooms
Komponentbasert utvikling

11 We use objects to master the age of distribution
Object-B IN OUT-B OUT-C Methods Variables IN OUT-C Object-C Methods Variables Object-A IN Methods Variables Message triggers method causes response Komponentbasert utvikling © Trygve Reenskaug 1999

12 What is a Component? A Component is a reusable object
A Component is an object playing standardized roles in a specified container A component is reused by cloning Tools are used to compose systems Komponentbasert utvikling

13 Application Assembler (User expert)
Component Value Chain Application Assembler (User expert) Component Deployer (Operational environment expert) Component Provider (Domain expert) Component Container Provider (System programmer) Komponentbasert utvikling

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

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

16 Compose User Interface with Java Beans
Komponentbasert utvikling

17 The Enterprise Java Bean objects and their message paths
Multithreading Reuse EJBs Reuse DB conn. Persistence WEB Browser Name Server Booking Home 1: lookup("roombooker"); Booking Object 2: create(xx); 3: ejbCreate(xx); Could be Entity Bean Information Bus Booking Client Booking Bean java.sql. Connection 4: getRooms(); Room Chooser Java Bean 5: getRooms(); Session Bean 6: addItem(element) Transactions Security Komponentbasert utvikling

18 EJB Implementation We wrote:
BookingHome.java Intf. Client create its own server object Booking.java Intf: Client access booking service BookingBean.java Class: The booking business logic program itself BookingClient.java Class: The main user interface class The IONA EJBHome tool created these files for us: RoomBroker.ejbml Property file describing the booking EJB datasource.properties File: Maps datasource names to JDBC databases URLs. ejbhome.properties File: EJB Server configuration Iona*.java/class Class: A number of supporting java classes Komponentbasert utvikling

19 Presentation Plan But the Real Challenge is … Summary and conclusion
The Communication-Centered Paradigm Building Systems with Components But the Real Challenge is … Summary and conclusion Komponentbasert utvikling

20 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. Komponentbasert utvikling

21 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 Komponentbasert utvikling

22 The main problems We spend too much time and effort on low-level mechanics. Current offerings are NOT: Easy and intuitive to use Smooth development platforms Reliable Secure Extensible Komponentbasert utvikling

23 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 Komponentbasert utvikling © Trygve Reenskaug 1999

24 Do it! http://www.ifi.uio.no/~trygve Distributed systems
Komponentbasert utvikling


Download ppt "Komponentbasert utvikling Den sanne objektorientering"

Similar presentations


Ads by Google