1 / 33

Smalltalk für Quereinsteiger

Clemens Hoffmann IT-Berater. Smalltalk für Quereinsteiger. Wen spricht der Vortrag an?. Entwickler mit Programmiererfahrung in C++ oder Java auf dem Weg zu neuen Ufern. Projektleiter, die Alternativen zu bestehenden Entwicklungssystemen kennenlernen möchten.

paniz
Download Presentation

Smalltalk für Quereinsteiger

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. Clemens Hoffmann IT-Berater Smalltalk für Quereinsteiger

  2. Wen spricht der Vortrag an? • Entwickler mit Programmiererfahrung in C++ oder Java auf dem Weg zu neuen Ufern • Projektleiter, die Alternativen zu bestehenden Entwicklungssystemen kennenlernen möchten • Neugierige Menschen, die wissen wollen, was Smalltalk eigentlich ist

  3. Was ist Smalltalk VisualWorks 5i, Philosophie, Architektur • Wie arbeite ich mit Smalltalk Werkzeuge, Design, Teams • Was habe ich für ein Umfeld Schnittstellen, Web, Verteilte Systeme Was spricht der Vortrag an

  4. Wie startet man eine Revolution

  5. Entstanden im XEROX PARC 1972 1981 Going Public Gründung ParcPlace Systems Gründung Firma Georg Heeg 1988 1987 ObjectWorks 1990 1992 VisualWorks 1999 Cincom übernimmt VisualWorks VisualWorks - Historie

  6. ohne die gängigen Einschränkungen • Performanz • Komplexität • Unübersichtlichkeit • Wartbarkeit VisualWorks - Definition VisualWorks ist wie eine Skriptsprache • mächtig • hoch skalierbar • extrem stabil • objektorientiert

  7. VisualWorks - Philosophie Keine Typen Automatische Speicherverwaltung Reflexivität Das Verhalten (die Menge der verfügbaren Methoden) definiert ein Objekt. Nicht mehr referenzierte Objekte werden automatisch abgeräumt Smalltalk ist in Smalltalk geschrieben Klasse, Methode, Werkzeuge, Compiler, ...

  8. VisualWorks - Philosophie Alles ist ein Objekt “Lebende“ Objekte Jede Komponente im einem VisualWorks System ist ein Objekt, das mit anderen Objekten interagiert. Alle Objekte im System “leben“ in einem gemeinsamen Objektraum. Dieser Raum wird als Image gespeichert und existiert nach einem Neustart des Images exakt so weiter, wie er gespeichert wurde

  9. VisualWorks - Philosophie Uniformität Erweiterbarkeit Wissensbasis Uniformer Zugriff auf alle Konstrukte im Image. Alle Klassen können in sich erweitert werden Der gesamte Sourcecode des Systems kann direkt eingesehen werden.

  10. Java - Architektur Werkzeuge Bibliothek in Ver- zeichnisstruktur und jar-Dateien Laufzeitumgebung und Anwendung VM VM VM VM VM VM Windows Linux Macintosh Sun IBM HP

  11. VisualWorks - Architektur Image Werkzeuge Anwendung(en) Bibliothek VM Windows Linux Macintosh Sun IBM HP

  12. Werkzeuge - PackageBrowser Kategorien Klassenliste Protokolliste Methodenliste Klassendefinition

  13. kompilieren Binärcode *.class Kompilierfehler Laufzeit- oder Logikfehler Laufzeit- umgebung Laden und testen Programmierzyklus - Java Source *.java Binärcode *.class Binärcode *.class Binärcode *.class Binärcode *.class

  14. Syntaxfehler Syntaxfehler Class Erstellen CompiledMethod Speichern Instant kompiliert und verfügbar Programmierzyklus - VW Klassendefinition Methodendefinition Es kann jederzeit getestet werden Image

  15. Design Anforderungs- analyse Use-Cases Use-Case-Diagramm System- analyse Klassendiagramme Aktivitätsdiagramme Design Klassendiagramme Sequenzdiagramme Implementierung Quellcode Anwendung(en) Test Testprotokolle

  16. Anforderungsanalyse Systemanalyse Design Implementierung Test Roundtrip Design Smalltalk (VisualWorks) und UML

  17. Design Keine explizite Trennung zwischen Design und Implementierung Iterative (experimentelle) Implementierung • Verfeinerung von Design nach Realisierung • einfache Refaktorisierung (automatisiert mit RefactoringBrowser) • direkt testbar (SUnit-Test)

  18. Teams - Java Entwickler Werkzeuge Bibliothek in Ver- zeichnisstruktur und jar-Dateien Versionsverwaltung (SourceSave, PVCS, CVS, RCS, ...) VM Laufzeitumgebung Entwickler Werkzeuge VM Laufzeitumgebung

  19. Teams - VisualWorks Entwickler export ChangeSet Image VM import export Entwickler Image Parcels import VM

  20. Teams - VisualWorks Entwickler Image VM StORE-Repository Oracle DB2 MS-SQL PostgreSQL Access Entwickler Image VM

  21. *.h *.h *.h Betriebssystemschnittstelle

  22. Datenbankenschnittstellen Java VisualWorks SUN JDO Toplink ObjectLens GLORP OR-Mapping JDBC Datenbank- schnittstelle EXDI Database Database

  23. Web - Basisdienste • HTTP Client • FTP Client • IMAP Client • IMAP Mailbox • POP3 Client • POP3 Mailbox • SMTP Client • URI / URL Support • XML Support

  24. Web - Smalltalk ServerPages <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <% values := OrderedCollection new. count := (request anyParameterValueAt: 'count') asNumber. 1 to: count do: [:i | values add: i factorial]. %> <html> <head> <title>Computed factorials</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> List of all factorials up to <%=count%> <p> <% values do: [:item | response write: item key printString. response write: '! = '. response write: item value printString. response write: '<br>‘. Response cr]. %> </body> </html>

  25. Web - Smalltalk ServerPages

  26. Web - Smalltalk ServerPages

  27. Web - Smalltalk ServerPages <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ taglib uri="file:formel.tld" prefix="formel" %> <html> <head> <title>Computed factorials</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> List of all factorials up to <formel:getParameterValue parameter="count" /> <p> <formel:factorial parameter="count" /> <p> </body> </html>

  28. Web - Smalltalk ServerPages

  29. Web - Smalltalk ServerPages

  30. VisualWave ApplicationServer Web - Smalltalk Servlets doPost: aServletRequest response: aServletResponse HTTPServlet ToyzInput service: aServletRequest response: aServletResponse HTTP Request (POST) Web Server MartyHall: Core Servlets and JavaServer Pages

  31. VisualWave ApplicationServer Web - Application Server Web Server (Apache, IIS, ...) HTTP Request Fast CGI CGI ISAPI HTTP Request TinyHTTP Server

  32. UDDI Request WSDL Response SOAP Response Web-Services VisualWorks als Web-Services Client SOAP Request UDDI Server SOAP Server

  33. CORBA CORBA IBM Component Broker Borland VisiBroker IONA OrbixWeb ORBacus ... Distributed Smalltalk (DST) OpenTalk Smalltalk to Smalltalk Kommunikation RMI Java to Java Kommunikation Distribution - CORBA - RMI Java VisualWorks Basic Object Adaptor Portable Object Adaptor CORBA Remote Browsing Remote Debugging Remote Development

More Related