Skip to content

SOA Treibjagd

Jeff Schneider (president of MomentumSI) hat T-Shirts als Preis ausgesetzt, für jeden der einen nachprüfbaren Report über ein Web Service fähiges Microsoft Produkt einreicht. Schneider möchte die URL, den Produktnamen und das WSDL File haben. Bisher hat die große Microsoft WSDL Treibjagd erst wenige Ergebnisse gebracht. (via ZDNet)

IBM DB2 UDB Express-C

Download DB2 Express-CNach Microsoft und Oracle bietet nun auch IBM seine Enterprise Datenbank DB2 UDB 8.2 für Distributed Systems (Linux, Unix, Windows) als kostenfreie DB2 Express-C an. Interessant bei der Sache ist, dass im Gegensatz zu Oracles oder Microsofts Express Editionen keine Größenlimits für die Datenfiles existieren. Lediglich RAM Nutzung ist auf 4GB und CPU Nutzung auf 2 Dual-Core Prozessoren limtiert. Verfügbar ist die Software für x86, x64, IA64 und PPC64 Linux Systeme, als auch für x64 und IA64 Windows. IBM verwirrt ein klein wenig mit "Express-C, Express Edition und Express Runtime", aber das sind wir ja von IBM gewöhnt: No charge data server for the community
IBM DB2 Express-C is a version of DB2 UDB Express Edition designed for the community. It is a no-charge data server for use in development and deployment. It provides the same database server features, API support and system limits as DB2 Express in a smaller package. Ich habe die kostenlose Express Discovery CD bestellt, und parallel dazu läuft grade der 382MB Download für die Win32 Version. Hier kann ich nur empfehlen den Download Director zu benutzen. Mit HTTP Downloads kam bei mir nur ein defektes ZIP an. Der Download Direktor überträgt mit 100-420KB/s, HTTP hingegen nur mit 50 KB/s. Leider brachte das Download Director Applet meinen Windows Firefox zum Absturz, mit dem IE6 und Java 5 Plugin lief es aber problemlos. Update: Zwei Stunden später: nachdem das Setup 450MB Programmfiles auf meine Festplatte geschaufelt hat bin ich leider mit meinem Latein am Ende: DB29501E DB hat eine inkonsistente Umgebung festgestellt. Untersuchen Sie folgendes: DB2INSTANCE : -2029059915 Unter einer einfachen, schnellen und Problemlosen Installation stelle ich mir was anderes vor. Mal sehen welche Hilfe ich im Express Forum bekomme. Update2: Dem Hinweis im Forum folgenden (dass es defintiv ein Problem beim Anlegen der Instanz (=Exemplar in IBMisch) ist, habe ich mehrere Installationsversuche gemacht, um an die Logfiles ranzukommen (My Documents\DB2LOGS*) aber da ging es dann auch schon wie von Geisterhand :( Nun ja, war ja zu erwarten dass so eine Menge an Code nicht mehr stabil funktionieren kann. Auch das Anlegen einer Datenbank mittels Verwaltungsgui klappte erst, als ich die Sample Datenbank benutzt habe.... verwirrend. Und Morgen lesen Sie, wie viele JDBC Treiber es für die drei DB2 Produktlinien gibt...

Versionierte Konfigurationsfiles

Software ist nicht perfekt und wird auch ständig weiter entwickelt. Das führt dazu, dass bestimmt Konfigurationen der Software sehr viele Generationen überleben müssen. Problem dabei ist, dass durch neue Erkenntnisse Defaults geändert werden, neue Parameter notwendig werden, und dass es eben generell schwer ist den Benutzer bei Upgrades zu unterstützen:
  • Welche Parameter müssen hinzugefügt werden
  • Welche Defaults haben sich geändert
  • Für welche Version ist die Konfiguration
Eine gute Möglichkeit ist es einen Versions-Identifier in den Dateien mitzuführen, und bei jeder (nicht kompatibler) Änderung diesen hochzuzählen. Anwendungen haben dann die Möglichkeit entweder den Start zu verweigern, bis das Konfigurationsfile angepasst wurde, oder sich wie die alte Version der Anwendung zu verhalten. Welche alternative Strategien existieren? Nun eine Möglichkeit ist die Konfiguration der Anwendung zu trennen in Defaults (vom Hersteller) und Änderungen (installationsspezifisch). Damit kann der Hersteller neue Defaults ausliefern und muss nicht ermitteln welche Parameter der Anwender geändert haben möchte. Der Nachteil dabei ist allerdings, dass der Anwender sich natürlich auf bestimmte Defaults verlassen hat, und wenn diese geändert werden (typisches Beispiel: der Default für einen wenig benutzen Netzwerk Server wird von "on" auf "off" gendert. Der Anwender hatte in seiner Konfiguration die Option nicht überschrieben, da der Default ja OK war. Nach einem Update der Software kommt es zu einem Funktionalitätsverlust, weil der Benutzer nicht dazu agehalten wurde, sich über die geänderte Sematik zu informieren. Somit bleibt so oder so nur eine ausführliche Dokumentation der Änderungen. Üblicherweise geschieht dies in Release Notes, die zu umfangreichsind um die wichtigen von den unwichtigen Informationen zu trennen. Deswegen ist für den Anwender dabei hilfreich eine Versionsnummer zu sehen, die sein File aktuell hat, die von der Anwendung erwartet wird, und welche Änderungen dazu notwendig sind. Continue reading "Versionierte Konfigurationsfiles"

Wandschmuck (Telefonie)

Leider nicht kostenlos, dafür aber interessant, die Global Communications Traffic Map 2005 von TeleGeography.com für $225 die den Internationalen Telefon-Traffic nach Gesprächsminuten zeigt. Interessant an der Sache ist die Frage, wann TeleGeo Research wohl im 21sten Jahrhundert ankommt, und ganz Web 2.0-like das Poster zum Download anbietet, um damit mehr für sich zu werben, als sie mit 100 verkauften Kopien jemals verdienen können. Angekündigt sind auch die aktualisierten Karten für IP-Traffic und Untersehkabel Kapazitäten. Persönlich fänd ich ein Diagramm spassig, dass den Rückgang der internationalen Telefonminuten (durch VoIP) zeigt.

Business Networking im Internet

"Wie ich blogge?!" Die Weblog Umfrage 2005 hat die ersten Ergebnisse veröffentlicht. Kurz zusammengefasst: S9Y ist das beste und WordPress das verbreiteste Blog, bei Teen Girls hat das Blog das Poesiealbum ersetzt, und professionelle Blogger sind in der Minderheit. Daneben habe ich im work.innovation Blog grade einen Verweis auf die Studie Nutzen von Business-Networking im Internet von Andreas Stradner gefunden. In der Zusammenfassung der Studie beschreibt er den Nutzen von openBC für das Business Networking.

Einladung: JUGS-Talklet "Das Java Performance Modell" am 26. Januar 2006

Über den E-Mail Verteiler der Java-User-Group Stuttgart (JUGS) kam folgende Einladung rein:
Einladung zu einem
Vortrags- und Diskussionsabend
am Donnerstag, 26. Januar 2006, 18.30 Uhr
im Hörsaal H35 der Universität Hohenheim
Wegbeschreibung: http://www.jugs.org/anfahrt-hohenheim.html Titel: Das Java Performance Modell Referentin: Angelika Langer
Abstract In jeder Programmiersprache gibt es Prinzipien, die beschreiben,
wieviel Zeit ein bestimmtes Sprachkonstrukt beim Ablauf kosten wird. Diese Korrelation zwischen den Sprachmitteln und ihrer Performance bezeichnet man als Performance-Modell.
Continue reading "Einladung: JUGS-Talklet "Das Java Performance Modell" am 26. Januar 2006"

SOA Linkfarm

Nach meiner Ankündigung mich dieses Jahr verstärkt das Thema SOA hier im Blog zu behandeln, habe ich Nachfragen erhalten, ob ich Inforationsquellen zum Thema habe. Leider muss man sagen, dass das Thema SOA noch sehr jung, und vor allem sich ständig am wandeln ist. Deswegen gibt es keine eindeutige Erklärung, ein Kochrezept oder eine authoritative Quelle. Deswegen kann ich hier nur eine Liste von Links bringen, die ich regelmäßig zur Information und Weiterbildung nutze. Zudem habe ich hier im IT Blog eine eigene SOA Kategorie eingerichtet. Continue reading "SOA Linkfarm"

Patchen (WMF Exploit)

Microsoft hat eine schwere Image Schlappe erlitten durch den Exploit einer Grafik Library. Dabei haben sie sich für ein wirklich kritisches Problem zu viel Zeit gelassen, zumindest im Vergleich zu Ilfak Guilfanov (Blog), der mittels Reverse Engeneering das Problem mit einem eigenen, sehr beliebten Patch gelöst hatte. Inzwischen hat Microsoft aber nachgezogen, neben dem vorläufigen Work-Around existiert jetzt auch ein Patch mit Security Bulletin, und dies vor dem Patch Day: MS06-001 Zum Weiterlsen

Nicht-Funktionale Anforderungen

Randy Miller siniert über den Begriff non-functional requirements. Er bevorzugt den Begriff Quality of Service Requirements, und ich kann hier nur zustimmen. Nicht-Funktionale Anforderungen war für mich schon immer ein sehr irreführender Name: Das Verhalten von Anwendungen in Last Situationen, die Benutzerfreundlichkeit und vor allem auch die Skalierbarkeit, Erweiterbarkeit und Einbindung in Sicherheitsinfrastruktur ist ein wesentlicher Bestandteil von Software, der oftmals bei der Erstellung von Custom Inhouse Lösungen vergessen wird. Dabei kann man auch nicht mehr von funktionieren sprechen, wenn die Software unbenutzbar langsam ist, oder unverhältnismäßig hohe Betriebskosten verursacht. Randy Miller ist Teil des Microsoft Teams welches das Microsoft Solution Framework für Agile Software Prozesse entwickelt. (In diesem Zusammenhang möchte ich übrigens noch auf die Umfrage hinweisen, welche Sprachen werden bei Ihnen im Unternehmen für punktuelle Lösungen oder für das Custom Development eingesetzt?)

Persönlicher Jahrsrückblick: Hype Themen SOA und Web 2.0

Das Jahr 2005 (und auch schon 2004) hatte für mich beruflich viel mit dem Hype Thema SOA zu tun. Ich hatte die Gelegenheit mehrere kritische Artikel in den Mainstream Medien zu veröffentlichen. Die Beschäftigung mit dem Thema ergibt sich aus meiner Position. Ich definiere die Ausrichtung unserer Software Produkte, muss mich dazu mit "neuen" Technologien und Mode Themen beschäftigen. Ich kenne die Schmerzen unserer Kunden, weiss genau was Sie sich von SOA erwarten (und sehe was die Mitbewerber unter dem SOA Label verkaufen). Ich bin also durchaus SOA kritisch eingestellt, sehe aber durchaus die Einsatzgebiete. Für 2006 plane ich dieses Thema auch hier im Blog weiter zu verfolgen, um etwas aufzuzeigen was hinter der Service Orientierung steckt. Ganz anders hingegen das Thema Web 2.0. Bisher habe ich mir gegliche Äußerungen zu dem Thema verkniffen, und werde hier auch feierlich geloben mich auch im kommenden Jahr aus diesem grotesken Boom herauszuhalten. Nur ums zu erklären: natürlich sehe ich eine Evolution unserer Gesellschaft. Auch die Web Technologien entwickeln sich immer weiter. Aber für mich gibt es keinerlei Entwicklungen, die es Wert wären plötzlich von einer neuen Generation zu reden. Social Tools, Taggings, RSS, Blogs, Software as a Service, Yahoo (Flickr), Google, ebay und Amazon sind nicht neu, sie werden nur immer stärker genutzt und erwartungsgemäß halten sie einzug in unser Leben. Für Geeks ist das nichts neues, jetzt kommt der Rest der Bevölkerung dran. In dem Zusammehang finde ich es auch von Sun Microsystems gut gemeint, dass sie das Participation Age ausrufen, aber man sollte nicht verkennen, dass es immer noch umKonsum von Content geht. Ob dieser nun von der Medien Maschinerie erzeugt oder nur gelenkt wird: das dumpfe Internet Volk konsumiert. Klar kommen traditionelle Medien-Unternehmen dabei in Bedrängnis, aber ein Portal oder eine Blog Farm ist auch schnell gekauft. PS: aus gegebenen Anlass: Willkommen Sozialgericht Bremen im Internet-Age: ja so funktioniert Google.

IP-Addressen - Schreibweise

In meiner Freizeit pflege ich die net-tools für Linux. Das ist eine Sammlung der grundlegenden Netzwerk Konfigurationsbefehle wie netstat, arp und ifconfig. Deswegen bekomme ich öfters Anfragen und Fehlermeldungen wegen unerwartetem Verhalten dieser (und anderer) Netzwerk Programme, bei der Eingabe von IPv4-Addressen mit führenden Nullen, wie zum Beispiel: 010.010.010.010 oder 120.130.130.099. In der Literatur (RFC790 macht dies falsch), und vor allem beim Umgang mit dem Rechner sollte man diese formatierungen vermeiden (besonders fatal ist es, wenn Programme diese Art von formatierung selbst verwenden!). Der Grund: eine Reihe von Implementierungen erlauben traditionell eine gaze Reihe von Schreibweisen für IPv4 Addressen. Darunter fällt auch die Interpretation der einzelnen Punkt-getrennten Nummern als Octalzahlen (statt Decimal), wenn diese eine führende null besitzen (oder hexadezimale Interpretation bei einem 0x Prefix, wie in C üblich). Nicht alle Programme erlauben diese Schreibweise, und noch weniger Menschen ist diese geläufig. Das ist wohl auch ein guter Grund, warum man diese nicht verwenden sollte. Allerdings sollte man sich bewusst sein, dass manche Software die Zahlen anders interpretiert (oder sogar abweist, weil 100.100.100.09 keine gültige Octal-Zahl ist)
# ifconfig lo 010.010.010.010
# ifconfig lo | grep inet
inet addr:8.8.8.8 Mask:255.0.0.0
# ping -c 1 010.010.010.010
PING 010.010.010.010 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=64 time=0.070 ms
# ping -c 1 0x08080808
PING 0x08080808 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=64 time=0.078 ms
(Das Windows XP Ping.exe verhält sich übrigens genauso). Für Techniker: traditionell wird in der Unix Welt die Umsetzung von Strings in IPV4 Addressen mit der C-Library Funtion inet_aton(3) gemacht, die diese Interpretation vornimmt. Diese Function erlaubt auch die Angabe einer IP Addresse in Hexadezimalschreibweise 0x08080808 oder mit einer 16bit Komponente: 8.8.2056 oder eben mit Octal/Hexadecimal Prefix. Übrigens erlaubt RFC3986 (der den Syntax für URLs angibt) diese Schreibweise nicht, und definiert nur Decimal-Zahlen. Das ist auch eine Konsequenz aus den Angriffen auf String-basierende URL Fillter die sich zu leicht durch die vielen unterschiedlichen Schreibweisen haben auf das Kreuz legen lassen. Im Zuge der Umstellung auf IPv6 wurde die Fähigkeit der alternativen Schreibweisen übrigens in den meisten Implementierungen entfernt, z.b. inet_ntop weist diese Funktion nicht auf. Die IPv6 RFCs (RFC3531) haben den selben Fehler wie die IPv4 RFCs gemacht, und vergessen die IPv6 Literale formal zu definieren (keine BNF Definition), auch dies wurde in RFC3986 nachgeholt.