Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20."— Presentation transcript:

1 Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20 Email: info@heeg.de http://www.heeg.de Georg Heeg AG Objektorientierte Systeme Riedtlistr. 8 CH-8006 Zürich Switzerland Tel: +41-1-356 3311 Fax: +41-1-356 3312 Georg Heeg Objektorientierte Systeme Mühlenstr. 19 D-06366 Köthen Germany Tel: +49-3496-214 328 Fax: +49-3496-214 712

2 Java or Smalltalk? Users Care More About Getting the Right Functions From Their IDE! Georg Heeg - Object-Oriented Systems Georg Heeg May 22, 2000

3 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme About us... Founded 1987, headquarter in Dortmund, since 1996 in Zurich, since 1999 in Köthen/Anhalt Consulting- and training company in 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 Projects a Success for the Customer!

5 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme Phenomenon Java Java has large influence on projects: Requirements, Decisions, Expectations The possibilities of Java determine the requirements of projects

11 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 between success and failure

16 Georg Heeg - Objektorientierte Systeme Fast Development Cincom Smalltalk provides the most efficient system for Object Oriented Modeling Experiences show up to 20 times faster development and adaptation as Java or C++

17 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme VisualWorks 5i.1

19 Georg Heeg - Objektorientierte Systeme 1. Web-Applications VisualWave Mature Web Application server Load distribution Automatic HTML generation Session management Server monitoring All possibilities of a VisualWorks Application

20 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme Plugin –VM –Plugin-Image 3. Runs inside the Web-Browser VisualWorks PlugIn Web-Server –HTML page –Parcel sends loads shows

22 Georg Heeg - Objektorientierte Systeme 3. Runs inside the Web-Browser

23 Georg Heeg - Objektorientierte Systeme http://www.heeg.de/~georg/guendel.htm

24 Georg Heeg - Objektorientierte Systeme 4. Write once, run everywhere Binary compatibility since 1982 (ST80) Abstraction from platform specifics –file system –operating system calls –user interface selectable Look&Feel since VisualWorks 1.0 (1991)

25 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 5. Interoperability/Integration DLL&C-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 Georg Heeg - Objektorientierte Systeme 6. Database access (JDBC) Connections to –Oracle –Sybase –SQL Server –ODBC Low-level interfaces like JDBC High-level object relational mapper –Gemstone/S

28 Georg Heeg - Objektorientierte Systeme 7. Distributed Architectures DST (Distributed Smalltalk) First Corba ORB (Developed by HP)

29 Georg Heeg - Objektorientierte Systeme 8. Application Server (EJB) Opentalk –currently in beta –Frameworks for protocols Gemstone/S EJB with persistence

30 Georg Heeg - Objektorientierte Systeme VisualWorks 5i New in VisualWorks 5i –Name-Spaces –StORE –XML –Microsoft SQL-Server –Extended Parcels

31 Georg Heeg - Objektorientierte Systeme Smalltalk and the "Software-Crisis" Object Oriented Programming CASE Structured Programming Normed Programming Subroutines Procedures 4th, 5th Generation Lanuages 4GL, 5GL

32 Georg Heeg - Objektorientierte Systeme Change and the "Software-Crisis" Cost(change) = changeFactor * size(change) + projectFactor * size(project) In most software life cycles the projectFactor >> 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 Georg Heeg - Objektorientierte Systeme 1. Imperative Software World Computer Oriented: Von Neumann Computer: CPU+ Memory =>Procedure+ Data Structure Most programming languages have: Statements+ Declarations Analysis methods describe: Information+ Functions

34 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme Modeling in the Good Old Days Person Phenoma PatientForm File model 1:1 Dentist

37 Georg Heeg - Objektorientierte Systeme Traditional Computer Modeling Person Phenoma States Processes Data structures Procedures link running program model

38 Georg Heeg - Objektorientierte Systeme Object Oriented Modeling The World Phenomon ConceptClass Object model 1:1 Viewpoint of the Domain Recognize, Define Instance

39 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme What Does Little John Care About?

43 Georg Heeg - Objektorientierte Systeme What Does Little John Care About? DRAW

44 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme Class Hierachy Pen draw BallPen draw Pencil draw

46 Georg Heeg - Objektorientierte Systeme Jonny (Smalltalk) Boy hand (Instance Variable) Somewhere in class Boy you can write: hand := Mommy givePen.... hand draw

47 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme What Does Little John Care About?

50 Georg Heeg - Objektorientierte Systeme What Does Little John Care About? PULL

51 Georg Heeg - Objektorientierte Systeme About Wagons The object oriented (and Jonnys) viewpoint: –Wagon = something, you can pull (and sit in)

52 Georg Heeg - Objektorientierte Systeme Class Hierachy Vehicle sitIn Car makeNoise Wagon pull Van lookOut Trabi makeNoise stink

53 Georg Heeg - Objektorientierte Systeme Jonny (Smalltalk) Boy hand (Instance Variable) Somewhere in class Boy you can write: hand := Daddy getWagon.... hand pull

54 Georg Heeg - Objektorientierte Systeme Jonny (Java) Boy private object hand; (Instance Variable) Somewhere in class Boy you want to write: hand = Daddy.giveWagon();... ((Wagon)hand).pull() Then you have to change the pen example (check all occurences of hand): ((Pen)hand).draw() ? ? ?

55 Georg Heeg - Objektorientierte Systeme Change and Java Cost(change) = changeFactor * size(change) + projectFactor * size(project) In Java the projectFactor >> 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme What is Software? In Java –Software is a program which is started In Smalltalk –Software is a system which is modified

58 Georg Heeg - Objektorientierte Systeme Evolving Software

59 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme 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 Georg Heeg - Objektorientierte Systeme You can reach me Georg Heeg: georg@heeg.de http://www.heeg.de/~georg

62 Georg Heeg - Objektorientierte Systeme Discussion

63 Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20 Email: info@heeg.de http://www.heeg.de Georg Heeg AG Objektorientierte Systeme Riedtlistr. 8 CH-8006 Zürich Switzerland Tel: +41-1-356 3311 Fax: +41-1-356 3312 Georg Heeg Objektorientierte Systeme Mühlenstr. 19 D-06366 Köthen Germany Tel: +49-3496-214 328 Fax: +49-3496-214 712


Download ppt "Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20."

Similar presentations


Ads by Google