Georg Heeg eK
Baroper Str. 337
D-44227 Dortmund
Tel: +49-231-97599-0
Fax: +49-231-97599-20
Email: [email protected]
http://www.heeg.de
Georg Heeg eK
Mühlenstr. 19
D-06366 Köthen
Tel: +49-3496-214 328
Fax: +49-3496-214 712
Georg Heeg AG
Riedtlistr. 8
CH-8006 Zürich
Tel: +41-1-356 3311
Fax: +41-1-356 3312
Georg Heeg
Offene Kommunikation in einer
zersplitterten IT-Welt:
Smalltalk spricht .NET
und wird mobil
Düsseldorf, Stuttgart, Wien
24. – 27. Juni 2003
Übersicht
• Wir über uns
• Smalltalk heute?
• DotNETConnect
• Smalltalk wird mobil
Wir über uns...
• Gegründet 1987 mit Hauptsitz in Dortmund,
seit 1996 in Zürich, seit 1999 in Köthen/Anhalt
• Beratungs- und Schulungsunternehmen
mit dem Schwerpunkt Smalltalk
• Hotline Support, Wartung, Bug-Fixes
• Neue Technologien für VisualWorks
• Technologiepartner von
Anspruchsvolle Projekte unserer Kunden
zum Erfolg führen!
Übersicht
• Wir über uns
• Smalltalk heute?
• DotNETConnect
• Smalltalk wird mobil
Smalltalk 1972
• Xerox Palo Alto Research Center
• Alan Kay, David Robson, Adele Goldberg
• Zielsetzung: Dynabook
– Der persönliche Computer für jedermann
• So groß wie ein Buch
• So schwer wie ein Buch
• Dynamisch
• Jederzeit verfügbar
• Von jedermann beherrschbar
Smalltalk 1980
• Smalltalk 80
– 1981 Veröffentlichung im Byte Magazine
• Grundlage der Objektorientierung
• Fenstersystem
• Softwareentwicklung im Browser
• Debugger
• Technologische Basis des heutigen
VisualWorks
Smalltalk Ende der 80-er Jahre
• Kommerzialisierung
– Gründung von Smalltalk-Unternehmen
• 1985 Digitalk
• 1987 Georg Heeg
• 1988 ParcPlace Systems
– Erste Anwendungsprojekte
• The Analyst (Xerox/CIA)
• ProfiSee (Ciba Geigy)
Smalltalk Anfang der 90-er Jahre
• Großprojekte
–
–
–
–
–
–
–
–
JP Morgan
Texas Instruments
Daimler Benz
BMW
Deutsche Bank
Deutsche Bahn
UBS
Siemens
• IBM bringt VisualAge auf den Markt
• Smalltalk-Bücher erscheinen
Smalltalk 1996-1999
• Das Zauberwort heißt Java
–…
• Smalltalk-Projekte werden in Betrieb
genommen
– Anwender sind zufrieden
Smalltalk 1999-2002
• Cincom übernimmt ObjectStudio und
VisualWorks
–
–
–
–
1968 gegründet
Ca. 800 Mitarbeiterinnen und Mitarbeiter
Seit Gründung von Tom Nies geführt
Sitz Cincinnati, Ohio
• Konsolidierung
– Langfriststrategie
• Smalltalk-Bücher sind vergriffen
Smalltalk 2003
• Neukundengeschäft beginnt wieder
• Neue Plattformen
– Webserver
– .NET
• Neue Märkte
– Mobilität
• Neue Smalltalk-Bücher erscheinen
Was zeichnet Smalltalk aus?
• „Everything is an Object“
– „normale“ Objekte
– Fenster
– Zahlen, Strings, Buchstaben
– Klassen
– Metaklassen
– Prozesse
– Stackframes (Kontexte)
Smalltalk-Eigenschaften
• Jedes Objekt ist eindeutig getypt
– Instanz einer Klasse
• Variablen sind ungetypt
• Information Hiding
– Einziger Zugriff auf Objekte über
Nachrichten
• Dynamisches Binden
Smalltalk-Theorie
• Smalltalk ist eine Modellierungssprache
– Smalltalk ist in der Lage, jedes sauber
formulierte Theoriekonzept sauber als
Klassen-System abzubilden
=>
– Smalltalk ist in der Lage, jedes Informatikkonzept sauber als Klassen-System
abzubilden
Die Angst vor Smalltalk
• Vorgebrachte Argumente
– Wird es nicht mehr lange geben
– Ist langsam
– Ist nicht Firmenstrategie
ABER
• Angst ist diffuse Befürchtung
Wie ist die Angst entstanden?
• „Wat de Buer nich kennt, dat fret he
nich“
– Mehr Marketing
– Mehr Sales
• Smalltalk ist anders
– Muss es auch sein, die Smalltalk-Ziele zu
erreichen
• Mit Stahl kann man keine Flugzeuge bauen
Die Angst vor Smalltalk ist begründet
• Intellektuelle Anforderungen
– Klassen = Konzepte
– Konzepte zu verstehen ist intellektuell
anspruchsvoll
– Konzepte zu erarbeiten verlangt Kreativität
– Konzepte zu verwerfen verlangt innere
Freiheit
– Kritik zu ertragen will gelernt sein
• und Kritik kommt!!!
Wer die Angst überwunden hat
• Will nichts anderes mehr machen
• Erreicht eine Produktivität, von der
andere nur träumen können
• Kann seine eigenen Ideen entfalten
• Fühlt sich als Schöpfer einer virtuellen
Welt
Smalltalk ist kostengünstig
• Ideal für Prototyping
• Ideal für Extreme Programming
• Ideal für Redesign
• Von der Idee über den Prototypen zu
Produktqualität
– Ohne Technologiebruch
– In kürzester Zeit
• Wenig Lines of Code
• Nähe zwischen Konzepten und Software
– Begriffe entsprechen Klassen
Eine Softwarebasis
• Vom Server bis zum Mobilgerät
–
–
–
–
Sun SPARC – HP UX – IBM AIX – SGI Irix
Linux 86 und PPC
Macintosh OS 9 und OS X
Windows 95, 98, ME, NT, 2000, XP, Server und
Desktop
– Windows CE 4.x
• Pocket PC 2003
• Binärkompatibel
Übersicht
• Wir über uns
• Smalltalk heute!
• DotNETConnect
• Smalltalk wird mobil
Bill Gates über
• „Wir glauben, dass .NET in der Lage ist,
– dem einzelnen Anwender ganz neue Möglichkeiten
zu eröffnen,
– Unternehmen ungeahnte geschäftliche
Perspektiven zu bieten
– und uns allen erneut bewusst zu machen, welch
ungeheures Potenzial im Internet steckt.“
BizTalk Server 2002
Was ist .NET laut Mikrosoft-Werbung?
• Die Microsoft Plattform für XMLWebdienste
• Verbindet in einer einheitlichen und
personalisierten Weise
– Informationen
– Geräte
– Anwender
Was ist das .NET technisch?
• Eine Entwicklungsumgebung für Windows
– VisualStudio .NET 2003
• Eine objektorientierte Ausführungsplattform
– Common Language Runtime
• Eine Klassenbibliothek
– .NET Framework
• ASP .NET, ADO .NET, Windows Forms, …
• Eine Schnittstelle für komplexe High-LevelTransaktionen
– Web-Services
Was ist .NET
• Microsoft bewirbt seit 2001 Webservices
(Internet-basierte Strategie)
• Tatsächlich gewinnt die Anwendungsseite an Gewicht mit dem Ziel:
– Vereinheitlicht die Programmierung
• gleiche Features in allen Sprachen
• einheitliche API
• einheitliche Plattform
– Vereinfachte Auslieferung und Wartung
– Sicherheit
.NET: zukünftige Plattform der Windows-Welt
• ersetzt COM, OLE, DDE
• ersetzt native Programmierung
• vereinheitlicht die Programmiersprachen
(C++, Java, VB, …)
• .NET vereinfacht massiv die Windowsprogrammierung
Architekturvergleich
.NET
Web
Web
Services Forms
VisualWorks
Windows
Forms
Open
talk
Web
Toolkit
Basis
image
Data and XML
EXDI/Lens and XML
Framework
VisualWorks Basisimage
CLR
VM
OS Platform
OS Platform
Ist .NET als Einbahnstraße geplant?
• Schnittstellen dienen
hauptsächlich der
Integration von
Legacykomponenten
• Die Erweiterungen
bestehender Systeme um
.NET Komponenten ist
nicht vorgesehen.
• Sanfter Druck zur
Migration bestehender
Systeme in die .NET-Welt
• Ein Rückweg ist nicht
vorgesehen
Java oder .NET
• Java versucht die Welt zu dominieren
– Alles andere wird ignoriert
– Alle Konzepte werden neu erfunden und neu
benannt
• .NET versucht die Welt zu dominieren
– Alles lässt sich in .NET integrieren
– .NET-Spezifika lassen sich nur innerhalb von
.NET benutzen
Smalltalk und .NET (Theorie)
• Wiederholung:
– Smalltalk ist in der Lage, jedes sauber formulierte
Theoriekonzept sauber als Klassen-System
abzubilden
• Siehe andere Vorträge am heutigen Tag über Frameworks
– Smalltalk ist in der Lage, jedes Informatikkonzept
sauber als Klassen-System abzubilden
=>
• Smalltalk ist in der Lage, .NET sauber als
Klassen-System abzubilden
Smalltalk und .NET (Marketing)
• Alle zukünftigen Entwicklungen von Microsoft
passieren in .NET
• Windows ist die dominierende Plattform für
VisualWorks-Client-Anwendungen
• Windows ist eine Plattform für VisualWorksServer-Anwendungen
• Daher ist eine Beschäftigung mit .NET
(zwingend) erforderlich
.NET Integrations-Möglichkeiten
1.
Smalltalk als .NET
integrierte Sprache
2.
3.
Umbau der VM auf
die CLR Bytecodes
Web Services
4.
Interoperabilität
Verfügbar als
Technology-Preview
(S#/Smallscript)
Wahrscheinlich
technisch nicht möglich
Verfügbar seit
VisualWorks 7.0 als
Server und Client
DotNETConnect
Smallscript alias S#
+hohe Akzeptanz in der Windows-Welt
+First Class Citizen
- geringe Akzeptanz in der SmalltalkGemeinde
- Verlust der Plattformunabhängigkeit
- Einschränkung der Sprache (.NET macht
alle Sprachen gleich)
- Qualität der Entwicklung
- Bruch mit der Anwendungsbasis
.NET Integration: Bytecode
• technisch nicht erforscht
• offen, ob überhaupt ohne massive
Beschränkung realisierbar
– statische Typisierung der CLR
Web-Services
• Verfügbar in VisualWorks seit Juni 2002
• Hoher strategischer Nutzen
• Integration auf der Ebene von
– Anwendungen
– Systemen
– Unternehmen
• Standardisiert
– XML, SOAP, WSDL, UDDI
Web-Services
• Nicht geeignet zur Integration von
– lokalen Komponenten
– Client-Server
– Betriebssystemdiensten
• „Niemand druckt ein Worddokument über
Web-Services“
DotNETConnect: Ziele
• Smalltalk und .NET bestehen nebeneinander
• .NET Objekte als Smalltalk-Objekte nutzbar
machen
• Leichgewichtige Lösung
• Einfach zu benutzen
– Time to Market
– Kein technisches Wissen über .NET notwendig
– Eigenschaften von Smalltalk bleiben erhalten
• Günstiges Kosten-Nutzen-Verhältnis
DotNETConnect: Konzepte
• Smalltalk als Client, .NET als Server
• Automatische Generierung von SmalltalkKlassen für .NET-Klassen
• Trennung der aus .NET generierten
Klassen vom Kommunikationsmedium
– Web-Services
– Managed Extensions for C++
– COM
– Remoting
• Garbage Collection mit .NET gekoppelt
DotNETConnect: Eigenschaften
• Keine Anpassung der .NET
Komponenten notwendig
• Werkzeug-basierte Generierung aller
notwendiger Komponenten in Quellcode
– Voller Zugriff auf generierten Code
• Komponenten für .NET Basisklassen als
Bestandteil von DotNETConnect
verfügbar
– mscorlib, data, xml
DotNETConnect: Architektur
Smalltalk
.NET
.NET-Objekt
SmalltalkObjekt
Registry
Stub-Klasse
Proxy
Interop (DLL, COM)
generiert
installiert
DotNETConnect: Verfügbarkeit
• Entwickelt von Georg Heeg eK
• Voraussichtlich Bestandteil der nächsten
Cincom-Smalltalk-Version
• Verfügbarkeit
– auf Basis COM
• August 2003
– auf Basis DLLs in C++
• August 2003
– auf Basis Remoting
• Februar 2004
DotNETConnect
• Macht .NET Dienste verfügbar
– Ohne den Zwang einer Unterordnung unter
das .NET Framework
• Ermöglicht Anwendungen alternativ zu
.NET andere Plattformen nutzen
– Mac OS/X
– Linux
Übersicht
• Wir über uns
• Smalltalk heute!
• DotNETConnect
• Smalltalk wird mobil
VisualWorks auf Windows CE
• Vollständige Implementierung des
gesamten VisualWorks-System auf
Windows CE .NET (alias 4.x)
• Sofortige Mobilität für jede VisualWorks
7.1 Anwendung
• Dem Traum des Dynabooks einen Schritt
näher
Derzeit verfügbare Geräte
• Siemens Simpad SLC
• skeye.pad SL
• Tatung WebPad
Prozessoren
• x86 z.B. National Semiconductor Geode
Processor
– Tatung WebPad
• StrongARM Processor
– Siemens Simpad SLC
– skeye.pad SL
• Geplante Prozessoren
– Intel PXA25x Prozessor-Familie
Weitere Planungen
• SmartPhone 2003
– Auf Basis Windows CE 4.x
– Sobald von Microsoft verfügbar
• Pocked PC 2003
– Auf Basis Windows CE 4.2
– Inoffiziell angekündigt für den 23. Juni 2003
– Codename Ozone
Verfügbarkeit
• Zu Testzwecken
– Sofort
• Als Produkt
– Herbst 2003
Mitgelieferte Image-Anpassungen
• In der Testphase sind für VisualWorks 7.1
folgende Anpassungen als Parcel
einzuladen:
– DLL&C-Connect auf Unicode-Unterstützung
angepasst
– Volle Unicode-Unterstützung auf der
Image/VM-Schittstelle
– Spezielle Windows-CE-Klassen
– Angepasste Plattform-Erkennung
Beispielanwendung
• Idee
– „Irgendeine kaufmännische Anwendung für
Hoeft&Wessel“
– 16. Juni 2003, 17.19 Uhr
• Lieferung
– 17. Juni 2003, 18.36 Uhr
– Ist-Bestandserfassung für die Inventur
• Vorführung
– jetzt!
Georg Heeg eK
Baroper Str. 337
D-44227 Dortmund
Tel: +49-231-97599-0
Fax: +49-231-97599-20
Email: [email protected]
http://www.heeg.de
Georg Heeg eK
Mühlenstr. 19
D-06366 Köthen
Tel: +49-3496-214 328
Fax: +49-3496-214 712
Georg Heeg AG
Riedtlistr. 8
CH-8006 Zürich
Tel: +41-1-356 3311
Fax: +41-1-356 3312

Offene Kommunikation in einer zersplitterten IT