Thursday, December 28, 2006
[OOP 2007] Referenzen
- Ein Muss ist der erläuternde Artikel von Tim O'Reilly der den Begriff geprägt hat, sozusagen als Pionier des Web 2.0 : http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html. O'Reilly veranstaltet auch Konferenzen zu dem Thema (http://www.web2con.com/)
- Sehr interessent das Video http://media.aperto.de/google_epic2015_de.html, das visionär Historie und mögliche Zukunft des Web 2.0 verpackt
- Eine meiner Ansicht nach eine sehr gute Linksammlung zu dem Thema findet sich auf http://www.drweb.de/weblog/weblog/?p=457
- Spiegel Online hat immer weider das Thema in seinen Facetten beleuchtet, so zum Beispiel Mashups in http://www.spiegel.de/netzwelt/web/0,1518,411147,00.html
- Der unvermeidliche Link zu Wikipedia darf natürlich nicht fehlen: http://en.wikipedia.org/wiki/Web_2.0
- Hier ein Link zu del.icio.us zum Tag "Web 2.0": http://del.icio.us/search/?fr=del_icio_us&p=web+2.0&type=all
Haben Sie ebenfalls noch interessante Quellen? Ja? Dann lassen Sie mich es wissen.
Monday, December 25, 2006
[OOP 2007] Böse Buben 2.0
Am Schluß eine Ankündigung in eigener Sache: Die Ausgabe 2/2007 von OBJEKTspektrum (Schwerpunkt Web 2.0 und Kollaboration) wird auch meinen Übersichtsartikel zu dem Thema Web 2.0 enthalten - wie gewohnt all inclusive, also auch mit den Schattenseiten.
Sunday, December 24, 2006
[OOP 2007] X-Mas 2.0
Mal sehen ob unter dem Gabentisch auch Web 2.0 kompatible Präsente lauern. Ich selbst habe mir den neuen Baukasten Lego Mindstorms NXT gegönnt. Die Zeit kindlicher Freude ist endlich zurück gekehrt. Als erstes Projekt werde ich versuchen, eine Web-basierte Fernsteuerung zu konstruieren, um dann per Webcam den Gang der Dinge zu verfolgen. Nachdem selbst Microsoft eine Entwicklungsumgebung für Robotics entwickelt hat und Sun mit den SPOTS für Furore sorgt, bleibt zu überlegen, wie Roboter zukünftig Bedeutung gewinnen. Microsoft vermutet, Roboter könnten den nächsten "PC" darstellen. Es bleibt also spannend. Was Roboter mit Web 2.0 zu tun haben? Da gibt es einige denkbare Zusammenhänge. Schliesslich liesse sich ein Roboter ebenfalls ins "Netz" stellen so wie es in der Automatisierungstechnik heute schon teilweise der Fall ist. Vielleicht haben Sie da noch einige Ideen.
Meine Katzen haben jedenfalls den Bau des ersten Beispielsroboters zunächst mit Neugier verfolgt, sind aber nach dem Start panikartig geflüchtet. Einer Cat 2.0 könnte so etwas natürlich nicht passieren, aber die hätte euch eine RFID und eine IP-Addresse, aber null EQ.
In diesem Sinne möchte ich es dabei belassen. Die Familie ruft!
An dieser Stelle wünsche ich allen, die diesen Blog oder den OOP-Planeten verfolgen, ein frohes, friedliches, besinnliches Weihnachtsfest.
Friday, December 22, 2006
[OOP 2007] Der Track
- Es startet gleich mit Pauken und Trompeten. Joel Webber von Google stellt 9h-10.30h das berühmte Google Web Toolkit (GWT) vor und erläutert nicht nur das "Was" sondern auch das "Wie" und "Warum".
- Anschließend folge ich mit einem Vortrag um 14h-14.45h, der einen Gesamtüberblick zu Web 2.0 vermitteln soll.
- Steve Marx von Microsoft adressiert 16.15h bis 17.15h die Nutzung der AJAX-Technologien in ASP.NET für die .NET Welt.
- Last but not least wird Markus Völter 17.45h bis 18.45h das Thema Podcasting im Detail erläutern.
Der Track wird also eine Mischung aus technischen Themen und nicht-technischen Aspekten bieten. Aus meiner Sicht ist das eine klare Auflockerung in einer sonst eher rein IT-zentrischen Welt.
Der Dienstag ist also der Web 2.0 Tag. Ich denke, dass die Qualität der Speaker (Markus Völter, Joel Webber, Steve Marx) den Track zu einem Highlight werden lässt.
Friday, December 15, 2006
[OOP 2007] Wo bin ich?
Eine interessante Technologie, die meiner Meinung nach in das Umfeld des Web 2.0 gehört ist Geotagging oder Geocoding. Darunter ist zu verstehen, dass geografische Information an Resourcen geheftet wird. Schreibe ich also in meinem Blog einen Reisebericht, kann ich durch Geotagging die entsprechende Ortsinformation hinzufügen, sodass ein Leser etwa mit Google-Maps die Orte lokalisieren und visualisieren kann. Zu den Geodaten gehören dabei Länge, Breite und optional die Höheninformation. Noch spannender dürfte das Ganze meiner Ansicht nach werden, kommen erst einmal bewegliche Resourcen ins Spiel, die ihre Geotags dynamisch aktualisieren könen, etwa Handies, Fahrzeuge oder GPS-Systeme. Zum Austausch dieser Daten bedürfte es natürlich eines einheitlichen Microformats. Interessant ist auch die Mischung zwischen RFIDs und Geotags. Klar sind die meisten RFIDs passiv, aber wenn Sie einen fest montierten Scanner passieren, der seinerseits einen Geotag besitzt, lassen sich RFIDs mit Geotags verknüpfen. Natürlich gibt es hier auch Nachteile. Was Geotags besitzt, läßt sich auch entsprechend überwachen. "Big Brother is watching you", Sie wissen schon. Aber dieses Dilemma hat nun einmal jede Technologie, sollte aber gerade deshalb schon im Vorfeld adressiert werden.
Sunday, December 10, 2006
[OOP 2007] Das (vor)letzte Wort
Ganz klar gibt es immer noch und zurecht Befürworter von HTTP, genauso wie es wohl noch Proponenten pro IPv4 und contra IPv6 geben soll. Als OMG-Vertreter hab ich noch genau in Erinnerung wie wir mehrere Runden durch die IIOP-Standardisierung gedreht haben. Damals waren übrigens viele der Meinung, CORBA's IIOP könne sich als weiteres Internet-Protokoll etablieren. Aber das ist Geschichte. Dass HTTP lose Kopplung offeriert, gilt als Segen und Fluch. Probleme mit der Zustandslosigkeit von HTTP sind u.a. laut diverser Quellen im Internet:
- mangelnde Sicherheit (z.B. Man in the Middle Attacks)
- Performanzprobleme
Gerade bei verbindungsorientierter Middleware, die auf Basis von HTTP betrieben werden soll, kommen die diversen Nachteile zum Tragen wie sich unschwer beweisen lässt. Stellt man Perfomanzanalysen gegenüber, die HTTP (selbst mit binärer Kodierung) mit TCP/IP basierenden Implementierungen vergleichen (z.B. CORBA IIOP) so werden Performanznachteile von HTTP in der Größenordnung von 30% bis teilweise mehr als 300% gemessen. Wir haben jedenfalls in Projekten derartige Vergleichsbenchmarks genutzt, um einen Vergleich zu erhalten. Diese Performanznachteile sind aber oft gar nicht relevant, weil es eben bei Enterprise-Anwendungen nicht immer auf jede Sekunde ankommt.
Vorteile von HTTP sind ganz klar die lose Kopplung und die Leichtgewichtigkeit möglicher Implementierungen. Nachteile entstehend demenentsprechend für alle Web-Anwendungen, die enger gekoppelt interagieren müssen.
Moral der Geschicht: HTTP ist für ganz bestimmte Zwecke und Einsatzgebiete entworfen. Sobald in Zukunft das ursprünglich angenommene Anforderungsprofil nicht mehr mit der Realität übereinstimmt, werden wir neue Protokolle benötigen, etwa für das Internet der Dinge. Mag natürlich sein, dass das neue Web 2.0 konforme Protokoll dann den Namen HTTP 2.0 trägt :-)
[OOP 2007] The Empire Strikes Back
“HTTP ist denkbar ungeeignet, um Nachrichten über das Web zu transportieren?” Michael: Nur HTTP ist geeignet, Nachrichten über das Web zu transportieren. Das Problem ist nicht HTTP und schon gar nicht REST, die HTTP und dem Web zugrunde liegende Architektur, sondern die Tatsache, dass das Verständnis derselben leider viel zu wenig verbreitet ist. Inbesondere Web Services haben dazu beigetragen, HTTP einen schlechten Ruf zu verpassen — indem sie es nicht benutzen, sondern missbrauchen.
Ja, da lasse ich mich doch gerne "provozieren" :-) Ich bleibe natürlich bei meiner Meinung, dass kein Weberfinder mit dem heutigen Wissen ein Protokoll wie HTTP entwerfen würde. Das ist nicht etwa eine despektierliche Retrospektive oder Herabwürdigung der damaligen Pioniere, sondern bedeutet schlicht: Mit dem damaligen Wissen und Anforderungen waren eben nur die damaligen Konzepte möglich. Auch heute würde es herausragender Persönlichkeiten wie Tim Berners-Lee bedürfen, um ein neues Web zu erfinden. Mit Nachrichten meine ich in diesem Kontext übrigens Nachrichten im Sinne von Transportprotokollen, also Pakete - ich beschränke mich also nicht etwa auf WebServices oder REST. Betrachten wir das heutige Web, so sehen wir eine ganze Menge an Workarounds, um Zustandslosigkeit und andere fehlenden Eigenschaften zu kompensieren. Zu erwähnen ist hier etwa HTTPS. Das betrifft natürlich nicht nur die Kommunikationsprotokolle. Nicht umsonst kämpfen wir heute mit ActiveX-Controls, Web-Server-proprietären Addons wie z.B. Filter und Interzeptoren, URL-Rewriting, Cookies, JavaScript, um nur die Spitze des Eisbergs in den Blickwinkel zu rücken. Das Web in der heutigen Form wurde Anfang bis Mitte der 90er konzipiert. Zu den Basisrequirements zählten damals u.a. die Darstellung von statischen Webseiten und deren Verlinkung über Hypercard-artige Konzepte. Siehe dazu die Dokumentation über die Historie des Web (u.a. http://infomesh.net/html/history/early/). Das heutige Web [1.0++, 2.0, ...] basiert hingegen auf der Darstellung verschiedener Arten von Information (Webseiten, Mediastreams), der interaktiven Kommunikation und Konversation von Benutzern mit Webanwendungen, der Annotation semantischer Information und dem programmatischen Zugriff auf das Web. Da liegt es klar auf der Hand, dass die ursprünglichen Web-"Middleware" auch nur die ursprünglichen Anforderungen beücksichtigt, nicht aber die neuen Herausforderungen. Gänzlich unberücksichtigt blieben damals auch die "-ilities" wie Verfügbarkeit, Skalierbarkeit, Sicherheit, Zuverlässigkeit, Erweiterbarkeit, ... Es ist also wie bei jeder Softwareentwicklung. Nach einiger Zeit nehmen die Änderungswünsche überhand und die ursprüngliche Rahmenarchitektur geht entweder dank zahlreicher Backpacks und Workarounds an "Design Erosion" zu Grunde oder muss komplett überarbeitet werden. Das gilt für Betriebssysteme, IDEs, Standards, Java, .NET und eben auch für die Web-Infrastruktur. Ich empfehle an dieser Stelle übrigens die Arbeiten von Henry Petroski: Wann immer eine Technologie erfunden wird, dann basiert sie auf den zeitgenössischen Erfahrungen und Anforderungen. Typischerweise werden Technologien aber nach einer gewissen Zeit über ihre Grenzen beansprucht und kollabieren dadurch oder weisen Probleme auf. Daher ist es wichtig aus den Fehlern zu lernen, um die Technologien entsprechend weiterzuentwickeln. Das ist sozusagen ein evolutionärer Prozess.
Wenn da nur die Kompatibilitätsaspekte nicht wären, auf deren Altar so manche Neuerung geopfert werden muss. Wer behauptet, mit den heutigen Anforderungen würde dennoch exakt die gleiche Architektur mit den selben Protokollen und Technologien entstehen wie zur Gründerzeit des Web, der muss mir schlicht erklären, wie sich die heutigen Anforderungen in der damaligen Infrastruktur berücksichtigt finden.
Über Kommentare bin ich hoch erfreut, nicht "nur" von Stefan