Download presentation
Presentation is loading. Please wait.
Published byKari Henriksen Modified over 6 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.