Smalltalk für Quereinsteiger

Slides:



Advertisements
Ähnliche Präsentationen
Forschungszentrum Informatik
Advertisements

Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
P-UMLaut Petrinetze, UML und automatisierte Simulation
:33 Architektur Moderner Internet Applikationen – Prolog Copyright ©2003 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner.
IT-Projektmanagement
Projektgruppe Abteilung Wirtschaftsinformatik
Datenbankzugriff im WWW (Kommerzielle Systeme)
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Anwendungsfalldiagramm
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Indirekte Adressierung
Java: Grundlagen der Sprache
ATHOS Benutzertreffen 16.Juni Report of the Lab. Glashütten, 16.Juni 2005 HighQSoft GmbH, Karst Schaap
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Introducing the .NET Framework
Projekt Web Engineering
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Software Design Patterns Extreme Programming (XP).
DVG Klassen und Objekte
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Georg Heeg - OOP Georg Heeg Objektorientierte Systeme Baroper Str. 337 D Dortmund Tel: Fax:
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
UML Begleitdokumentation des Projekts
Forschungszentrum Informatik, Karlsruhe Objektorientierte Systeme unter der Lupe Markus Bauer Oliver Ciupke.
Mailserver-Installation mit LDAP-Schnittstelle für die Firma XYZ GmbH
Visualisierung objektrelationaler Datenbanken
Software-Projektführung
12. Vorlesung: Aktivitätsdiagramme
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Entwurf und Realisierung einer digitalen Bibliothek zur Verwaltung von Notenhandschriften Dipl.-Ing. Temenushka Ignatova Datenbank- und Informationssysteme,
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Unified Modeling Language Repetition / Einführung zu UML
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Sesame Florian Mayrhuber
LV-Programm der BBWL „Wirtschaftsinformatik“
HORIZONT 1 XINFO ® Das IT - Informationssystem Eclipse Plugin HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
UML-Kurzüberblick Peter Brusten.
Innovator Die Komponenten.
Marktübersicht für Content Management Systeme
SPODAT - Blick nach vorn
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Torque robert.resch-wolfgang.schneider. uebersicht Was ist Torque Komponenten von Torque Generator Erzeugte Klassen Methoden Torque in Turbine Demobeispiel.
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Die Gruppe Tino Reuschel Andy Klay Michael Koppen.
Objektorientierung.
Objektorientierte Modellierung mit UML
Enhydra Shark Workflow-Management Frank Aurich Markus Reisch.
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
Vortrag - Diplomarbeiten (HS I)
Datenbanken im Web 1.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
MDA – Model Driven Architecture
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
Datenbanken Produkte Dienstleistungen Referenzen.
Datenbanken Produkte Dienstleistungen Referenzen.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
 Präsentation transkript:

Smalltalk für Quereinsteiger Clemens Hoffmann IT-Berater

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

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

Wie startet man eine Revolution

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

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

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

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

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.

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

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

Werkzeuge - PackageBrowser Kategorien Klassenliste Protokolliste Methodenliste Klassendefinition

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

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

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

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

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)

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

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

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

Betriebssystemschnittstelle

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

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

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>

Web - Smalltalk ServerPages

Web - Smalltalk ServerPages

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" /> </body> </html>

Web - Smalltalk ServerPages

Web - Smalltalk ServerPages

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

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

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

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