Objektorientiertes Denken und das Finden von Objektmodellen - PowerPoint PPT Presentation

1 / 62
About This Presentation
Title:

Objektorientiertes Denken und das Finden von Objektmodellen

Description:

Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20 Georg Heeg Objektorientierte Systeme – PowerPoint PPT presentation

Number of Views:298
Avg rating:3.0/5.0
Slides: 63
Provided by: GeorgH157
Category:

less

Transcript and Presenter's Notes

Title: Objektorientiertes Denken und das Finden von Objektmodellen


1
Georg HeegObjektorientierte Systeme Baroper Str.
337D-44227 Dortmund Germany Tel
49-231-97599-0 Fax 49-231-97599-20
Georg HeegObjektorientierte Systeme Mühlenstr.
19D-06366 Köthen Germany Tel 49-3496-214
328 Fax 49-3496-214 712
Georg Heeg AGObjektorientierte
Systeme Riedtlistr. 8CH-8006 Zürich Switzerland T
el 41-1-356 3311 Fax 41-1-356 3312
Email info_at_heeg.de http//www.heeg.de
2
Java or Smalltalk?Users Care More AboutGetting
the Right FunctionsFrom Their IDE!
  • Georg Heeg - Object-Oriented Systems
  • Georg Heeg
  • May 22, 2000

3
Contents
  • Georg Heeg - The Company
  • Todays Trend Low Tech
  • Phenomenon Java
  • Why Use Smalltalk?
  • Phenomenon Smalltalk
  • Cincom Smalltalk and the Java Phenomenon
  • Object Modeling with Smalltalk and Java
  • Evolving Software

4
About us...
  • Founded 1987, headquarter in Dortmund,since
    1996 in Zurich, since 1999 in Köthen/Anhalt
  • Consulting- and training companyin Smalltalk
    (and Java)
  • Hotline support, maintenance, bug-fixes for
    VisualWorks and Visual Smalltalk
  • VM-Laboratory for VisualWorks
  • Porting service of old VisualWorks Applications
    to 5i.1
  • Technology-Partner of

Corporate Mission Make Sophisticated Projectsa
Success for the Customer!
5
VM-Laboratory for VisualWorks
  • Since 1987 VM source code licensee of Xerox
    PARC, ParcPlace Systems, ParcPlace-Digitalk,
    ObjectShare, Cincom
  • PCS-Cadmus (MUNIX)
  • Atari Mega ST
  • OS/2
  • Sinix Z
  • SNI RM 200 - 600 Reliant Unix
  • MIPS-ABI
  • SGI Irix
  • RS/6000 AIX Power2 and Power PC
  • Power-Mac
  • Compaq Tru64 Unix

6
Introduction
  • We are looking at Standard IT-Projects
  • The environment has a tremendous influence on the
    project
  • Legacy systems
  • Installed data base systems
  • Network infrastructure
  • General IT-Culture of the enterprise
  • Integration into the work process

7
Trend
  • Low-Tech Project Requirements
  • Steam Radio
  • Which tube?
  • Transistor Radio
  • How many transistors?
  • High Fidelity Radio
  • Tuner technology (PLL), equipment
  • Today
  • Design, price, usability, (Digital-Radio)

8
Project
  • The view from the outside counts!
  • External view
  • Functionality from the users point of view
  • Integration, interoperability
  • Distribution, maintenance
  • Internal view
  • Programming language
  • Used Standards
  • Tools

9
Phenomenon Java
  • Java is not perceived as technology
  • Technology does not play any role any more,
    today. It is only important that it is Java

10
Phenomenon Java
  • Java has large influence on projects
    Requirements, Decisions, Expectations
  • The possibilities of Java determine the
    requirements of projects

11
Java Technology
  • JTS, JDK 1.1.8, Java Servlet, JMS, JRE 1.2.2,
  • Java Media Framework, JDBC, Java IDL, JTA,
  • JDK 1.2.2, BDK, Java 2D, RMI-IIOP, JMAPI,
  • Java Mail, JRE 1.1.8, JDNI, Java Server Pages,
  • EJB, Java Help, COMM, Java Beans, Swing,
  • RMI, JDK 1.0.2, Hot Spot, JMX, JCE, Info Bus,
  • JSSE, JFC, Java 3D, JAF, JAAS
  • Todays Java technologies including Standard
    Extension and Enterprise

12
Java Technology
  • Which parts of the Java technology are important
    for the external view of a project?
  • All technologies, which influence following
    external properties of a project
  • Integration, interoperability
  • Distribution, maintenance

13
Java Technology
  • Project Requirements determined by Java
  • 1. Web-Server Applications (Servlets)
  • 2. Easy distribution (JAR)
  • 3. Runs inside the Web-Browser
  • 4. Write once, run everywhere
  • 5. Interoperability
  • 6. Database access (JDBC)
  • 7. Distributed architectures (RMI, RMI-IIOP,
    Corba)
  • 8. Application Server (EJB)

14
If it is true, that Java is so dominant, why use
Smalltalk?
15
Reasons for Smalltalk
  • Flexibility
  • Projects with open or unclear concepts
  • Need for prototyping
  • Incomplete specification and modeling
  • Moving Targets
  • Cincom i-Business-Strategy
  • Flexibility and speed distinguish betweensuccess
    and failure

16
Fast Development
  • Cincom Smalltalk provides themost efficient
    system for Object Oriented Modeling
  • Experiences showup to 20 times
    fasterdevelopment andadaptation asJava or C

17
The Smalltalk Phenomenon
  • End-users say
  • This software is exactly what Ive always wanted
  • Example (many others exist)
  • Projection of German elections by Infratest Dimap
  • Every election is a new project
  • Preparation time sometimes 10 days, only
  • (Computerwoche 40/99, pp. 71-72)

18
VisualWorks 5i.1
19
1. Web-Applications
  • VisualWave
  • Mature Web Application server
  • Load distribution
  • Automatic HTML generation
  • Session management
  • Server monitoring
  • All possibilities of a VisualWorks Application

20
2. Easy Distribution (JAR)
  • Parcels provide the same services
  • transport of classes, methods, static variables
  • dependencies between Parcels
  • automatic load of missing Parcels
  • versioning
  • Parcels provide more than JAR
  • pre- and post-actions during load
  • dynamic load and unload any time
  • with/without Source

21
3. Runs inside the Web-Browser
  • VisualWorks PlugIn

sends
  • Web-Server
  • HTML page
  • Parcel

shows
loads
  • Plugin
  • VM
  • Plugin-Image

22
3. Runs inside the Web-Browser
  • ltEMBED
  • NAME"VisualWorks Calculator" SRC"Calculator.pcl
    "
  • WIDTH"233" HEIGHT"245" ALIGN"BOTTOM"
  • TYPE"application/x-visualworks-parcel"
  • VWOPEN"CalculatorExample" PLUGINSPAGE"vwplugin-
    install.html"gt

23
http//www.heeg.de/georg/guendel.htm
24
4. Write once, run everywhere
  • Binary compatibility since 1982 (ST80)
  • Abstraction from platform specifics
  • file system
  • operating system calls
  • user interface
  • selectable LookFeel since VisualWorks 1.0 (1991)

25
4. Write once, run everywhere
  • VisualWorks 5i.1 VMs are available for
  • Win 95/98/NT/2000
  • Apple Macintosh
  • Solaris
  • HP-UX
  • AIX
  • Tru64 UNIX
  • SGI
  • Linux 86

26
5. Interoperability/Integration
  • DLLC-Connect for all platforms
  • Prerequisite for COMConnect
  • Used in DatabaseConnect
  • COMConnect for Windows platforms
  • COM Client
  • COM Server
  • e.g. SAP-Connect, RoseLink
  • XML support
  • Help system, source code

27
6. Database access (JDBC)
  • Connections to
  • Oracle
  • Sybase
  • SQL Server
  • ODBC
  • Low-level interfaces like JDBC
  • High-level object relational mapper
  • Gemstone/S

28
7. Distributed Architectures
  • DST (Distributed Smalltalk)
  • First Corba ORB (Developed by HP)

29
8. Application Server (EJB)
  • Opentalk
  • currently in beta
  • Frameworks for protocols
  • Gemstone/S ? EJB with persistence

30
VisualWorks 5i
  • New in VisualWorks 5i
  • Name-Spaces
  • StORE
  • XML
  • Microsoft SQL-Server
  • Extended Parcels

31
Smalltalk and the "Software-Crisis"
Object Oriented Programming
4th, 5th Generation Lanuages 4GL, 5GL
CASE
Structured Programming
Normed Programming
32
Change and the "Software-Crisis"
Cost(change) changeFactor size(change)
projectFactor size(project) In most software
life cycles the projectFactor gtgt 0 and thus the
cost of a change is dominated by the project
size, not the size of the change. Users dont
understand this.


33
1. Imperative Software World
  • Computer Oriented Von Neumann Computer
    CPU Memory gt Procedure Data Structure
  • Most programming languages have Statements
    Declarations
  • Analysis methods describe Information
    Functions

34
2. Functional and Logical Software World
  • Mathematics Oriented
  • Declarative programming languages
  • Functional programming Lisp, Miranda
  • Logic programming Prolog
  • Set programming SETL
  • No Representation of Time Dynamics are
    represented by tricks

35
3. Object Oriented Software World
  • Who is Responsible?
  • Oriented to Concepts of the Application Domain
  • Concepts are mapped directly into Software
  • "Modeling instead of Programming"

36
Modeling in the Good Old Days
Patient
Form
11
Dentist
Phenoma
model
File
Person
37
Traditional Computer Modeling
States
Data structures
Processes
Procedures
link
Phenoma
model
runningprogram
Person
38
Object Oriented Modeling
Concept
Class
11
Viewpoint ofthe Domain
Recognize, Define
Instance
Phenomon
model
Object
The World
39
Object Oriented Modeling
  • The viewpoint determines the modeling
  • The correct model does not exist!
  • For an Application there are only
  • adequate models and
  • not adequate models

40
What is this?
  • Wooden body in the form of a cylinder with
    approx. 20 cm (8 inch) height and 6 mm (1/4
    inch) in diameter.
  • In the center of the cylinder are a drilling of 1
    mm and this are filled with pressed graphite.
  • At end end the cylinder is conically tapered.
  • The graphite can be transferred to other bodies
    by rubbing.

41
What is this?
  • Plastic tube in the form of a cylinder with
    approx. 20 cm (8 inch) height and 6 mm (1/4 inch)
    in diameter.
  • Inside is another plastic tube with 2 mm (1/12
    inch) in diameter and at the top there is a metal
    ball.
  • The inner tube is filled with a viscous liquid.
  • The liquid can be transferred to other media with
    the help of the ball.

42
What Does Little John Care About?
43
What Does Little John Care About?
DRAW
44
About Pencils and Ball Pens
  • The object oriented (and Jonnys) viewpoint
  • Pencil something, you can write and draw with
  • ball pen something, you can write and draw with

45
Class Hierachy
Pen draw
BallPen draw
Pencil draw
46
Jonny (Smalltalk)
Boy hand
(Instance Variable)
Somewhere in class Boy you can write hand
Mommy givePen. ... hand draw
47
Jonny (Java)
Boy private pen hand
(Instance Variable)
Somewhere in class Boy you can write hand
Mommy.givePen() ... hand.draw()
48
Lets evolve the application, what else does
Jonny care about?
49
What Does Little John Care About?
50
What Does Little John Care About?
PULL
51
About Wagons
  • The object oriented (and Jonnys) viewpoint
  • Wagon something, you can pull (and sit in)

52
Class Hierachy
Vehicle sitIn
Car makeNoise
Wagon pull
Van lookOut
Trabi makeNoise stink
53
Jonny (Smalltalk)
Boy hand
(Instance Variable)
Somewhere in class Boy you can write hand
Daddy getWagon. ... hand pull
54
Jonny (Java)
Boy private object hand
?
(Instance Variable)
Somewhere in class Boy you want to write hand
Daddy.giveWagon() ... ((Wagon)hand).pull() T
hen you have to change the pen example (check all
occurences of hand) ((Pen)hand).draw()
?
?
55
Change and Java
Cost(change) changeFactor size(change)
projectFactor size(project) In Java the
projectFactor gtgt 0 and thus the cost of a change
is dominated by the project size, not the size of
the change. Users dont understand this.


56
Change and Smalltalk
Cost(change) changeFactor size(change)
projectFactor size(project) In Smalltalk the
projectFactor 0 and thus the cost of a change
is defined by the change size. Users DO
understand this.


57
What is Software?
  • In Java
  • Software is a program which is started
  • In Smalltalk
  • Software is a system which is modified

58
Evolving Software
59
Proven Technology
  • Cincom Smalltalk is used
  • 24 hours 7 days a week 52 weeks a year
  • in banks
  • in the automitive industry
  • in insurance
  • in university administration
  • in internet services
  • in intranet applications
  • in more than 1,000 companies world wide
  • since more than 10 years

60
Conclusion
  • Cincom Smalltalk
  • is faster in development than Java
  • is faster in adaptation than Java
  • fulfills the Java-Requirements
  • maps easily onto Customers thinking
  • enables evolving servers
  • is proven technology

Smalltalk is the superior alternative to Java
61
You can reach me
Georg Heeg georg_at_heeg.de http//www.heeg.de/geo
rg
62
Discussion
63
Georg HeegObjektorientierte Systeme Baroper Str.
337D-44227 Dortmund Germany Tel
49-231-97599-0 Fax 49-231-97599-20
Georg HeegObjektorientierte Systeme Mühlenstr.
19D-06366 Köthen Germany Tel 49-3496-214
328 Fax 49-3496-214 712
Georg Heeg AGObjektorientierte
Systeme Riedtlistr. 8CH-8006 Zürich Switzerland T
el 41-1-356 3311 Fax 41-1-356 3312
Email info_at_heeg.de http//www.heeg.de
Write a Comment
User Comments (0)
About PowerShow.com