1 / 62

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

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 Mühlenstr. 19 D-06366 Köthen Germany Tel: +49-3496-214 328 Fax: +49-3496-214 712. Georg Heeg AG Objektorientierte Systeme

issac
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Tel: +41-1-356 3311 Fax: +41-1-356 3312 Email: info@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 • Today’s 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 user’s 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 Today’s 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 I’ve 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 <EMBED NAME="VisualWorks Calculator" SRC="Calculator.pcl" WIDTH="233" HEIGHT="245" ALIGN="BOTTOM" TYPE="application/x-visualworks-parcel" VWOPEN="CalculatorExample" PLUGINSPAGE="vwplugin-install.html">

  23. 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)

  24. 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

  25. 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

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

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

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

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

  30. Subroutines Procedures Smalltalk and the "Software-Crisis" Object Oriented Programming 4th, 5th Generation Lanuages 4GL, 5GL CASE Structured Programming Normed Programming

  31. 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 don‘t understand this. $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ € $ €

  32. 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

  33. 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

  34. 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"

  35. Modeling in the Good Old Days Patient Form 1:1 Dentist Phenoma model File Person

  36. Traditional Computer Modeling States Data structures Processes Procedures “link“ Phenoma model runningprogram Person

  37. Object Oriented Modeling Concept Class 1:1 Viewpoint ofthe Domain Recognize, Define Instance Phenomon model Object “The World“

  38. 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

  39. 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.

  40. 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.

  41. What Does Little John Care About?

  42. What Does Little John Care About? DRAW

  43. About Pencils and Ball Pens • The object oriented (and Jonny’s) viewpoint: • Pencil = something, you can write and draw with • ball pen = something, you can write and draw with

  44. Class Hierachy Pen draw Pencil draw BallPen draw

  45. Jonny (Smalltalk) Boy hand (Instance Variable) Somewhere in class Boy you can write: hand := Mommy givePen. ... hand draw

  46. Jonny (Java) Boy private pen hand; (Instance Variable) Somewhere in class Boy you can write: hand = Mommy.givePen(); ... hand.draw()

  47. Lets evolve the application, what else does Jonny care about?

  48. What Does Little John Care About?

  49. What Does Little John Care About? PULL

  50. About Wagons • The object oriented (and Jonny’s) viewpoint: • Wagon = something, you can pull (and sit in)

More Related