Clemens Hoffmann - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Clemens Hoffmann

Description:

Smalltalk f r Quereinsteiger Clemens Hoffmann IT-Berater – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 34
Provided by: cle141
Category:
Tags: clemens | hoffmann

less

Transcript and Presenter's Notes

Title: Clemens Hoffmann


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
4
Wie startet man eine Revolution
5
VisualWorks - Historie
6
VisualWorks - Definition
  • VisualWorks ist wie eine Skriptsprache
  • mächtig
  • hoch skalierbar
  • extrem stabil
  • objektorientiert

7
VisualWorks - Philosophie
Keine Typen Automatische Speicherverwaltung Re
flexivitä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
Programmierzyklus - Java
Source .java
Binärcode .class
Binärcode .class
Binärcode .class
Binärcode .class
14
Programmierzyklus - VW
Klassendefinition
Methodendefinition
Es kann jederzeit getestet werden
Image
15
Design
Anforderungs- analyse
Use-Cases
Use-Case-Diagramm
System- analyse
Klassendiagramme
Aktivitätsdiagramme
Klassendiagramme
Design
Sequenzdiagramme
Implementierung
Quellcode
Anwendung(en)
Test
Testprotokolle
16
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
Betriebssystemschnittstelle
22
Datenbankenschnittstellen
VisualWorks
Java
SUN JDO Toplink
ObjectLens GLORP
OR-Mapping
JDBC
EXDI
Datenbank- schnittstelle
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
lt?xml version"1.0"?gt lt!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http//www.w3.org/TR/xhtml1/DTD/xhtml1-transition
al.dtd"gt lt values OrderedCollection
new. count (request anyParameterValueAt
'count') asNumber. 1 to count do i values
add i factorial. gt lthtmlgt ltheadgt lttitlegtComput
ed factorialslt/titlegt ltmeta http-equiv"Content-Ty
pe" content"text/html charsetiso-8859-1"gt lt/hea
dgt ltbodygt List of all factorials up to
ltcountgt ltpgt lt values do item response
write item key printString. response write '!
'. response write item value
printString. response write 'ltbrgt. Response
cr. gt lt/bodygt lt/htmlgt
25
Web - Smalltalk ServerPages
26
Web - Smalltalk ServerPages
27
Web - Smalltalk ServerPages
lt?xml version"1.0"?gt lt!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http//www.w3.org/TR/xhtml1/DTD/xhtml1-transition
al.dtd"gt lt_at_ taglib uri"fileformel.tld"
prefix"formel" gt lthtmlgt ltheadgt lttitlegtComputed
factorialslt/titlegt ltmeta http-equiv"Content-Type"
content"text/html charsetiso-8859-1"gt lt/headgt
ltbodygt List of all factorials up to
ltformelgetParameterValue parameter"count" /gt
ltpgt ltformelfactorial parameter"count"
/gt ltpgt lt/bodygt lt/htmlgt
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)
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
TinyHTTP Server
32
Web-Services
VisualWorks als Web-Services Client
SOAP Request
UDDI Server
SOAP Server
33
Distribution - CORBA - RMI
Java
VisualWorks
Basic Object Adaptor
Portable Object Adaptor
CORBA
Remote Browsing Remote Debugging Remote
Development
Write a Comment
User Comments (0)
About PowerShow.com