Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Smalltalk für Quereinsteiger

Ähnliche Präsentationen


Präsentation zum Thema: "Smalltalk für Quereinsteiger"—  Präsentation transkript:

1 Smalltalk für Quereinsteiger
Clemens Hoffmann IT-Berater

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 spricht der Vortrag an
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

4 Wie startet man eine Revolution

5 VisualWorks - Historie
Entstanden im XEROX PARC 1972 Going Public 1981 Gründung Firma Georg Heeg 1987 Gründung ParcPlace Systems 1988 ObjectWorks 1990 Parc Alan Kay Daniel H. H. Ingalles Adele Goldberg Peter Deutsch Glen Grasner ParcPlace Adele Goldberg VisualWorks 1992 Cincom übernimmt VisualWorks 1999

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

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 Laufzeitumgebung und Anwendung
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 Programmierzyklus - Java
Source *.java Binärcode *.class kompilieren Laufzeit- oder Logikfehler Kompilierfehler Binärcode *.class Binärcode *.class Binärcode *.class Binärcode *.class Laufzeit- umgebung Laden und testen

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

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

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

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
Parcels import VM

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

21 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" " <% 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 "> </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" " taglib uri="file:formel.tld" prefix="formel" %> <html> <head> <title>Computed factorials</title> <meta http-equiv="Content-Type" content="text/html; charset=iso "> </head> <body> List of all factorials up to <formel:getParameterValue parameter="count" /> <p> <formel:factorial parameter="count" /> </body> </html>

28 Web - Smalltalk ServerPages

29 Web - Smalltalk ServerPages

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

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

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

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


Herunterladen ppt "Smalltalk für Quereinsteiger"

Ähnliche Präsentationen


Google-Anzeigen