Achim Scharf
"In diesem Jahr lagen die Schwerpunkte vor allem auf den drei Bereichen Web-Services, Embedded Systems und Agility. So gab es zu dem Thema Web-Services eine eigene Vortragsreihe und eine Live-Demo im Rahmen der Ausstellung. Aber auch das Projektmanagement, mit mehreren Vorträgen mit jeweils 200 bis 300 Teilnehmern, war ein weiteres hoch interessantes Thema. Trotz der allgemein schwierigen wirtschaftlichen Situation konnte die Veranstaltung 1.400 Konferenzteilnehmer, die durchschnittlich 3,25 Tage gebucht haben, verzeichnen. Damit wurden die Teilnehmerzahlen vom Vorjahr erreicht. Damit ist und bleibt die fünftägige Konferenz eine der größten Fortbildungsveranstaltung der IT-Branchen in Europa", unterstreicht Konferenzleiterin Dr. Frances Paulisch.
Auch Daniel Adelhardt, Senior System-Berater und "Java Ambassador" bei Sun in München führt die schwierige wirtschaftliche Lage der IT als Grund dafür an, dass mehr mit weniger Mitteln erreicht werden muss. "Die Sun One-Initiative mit ihren Web-Services ist auf die Erhöhung der Return on Information Assets fokussiert und beinhaltet die dafür erforderlichen Ressourcen wie Architektur, Produkte und Expertise".
Motor Web-Services
Wo früher fertig programmierte Anwendungen zum Einsatz kamen, werden nun immer mehr dynamisch zusammengefügte Dienste über das Internet bereit gestellt. Web-Services sind Laufzeit an Benutzerprofile angepasste Applikationen, die über das Internet zur Verfügung stehen. Technische Basis sind u.a. die Protokolle HTML (Hypertext Markup Language), TCP/IP (Transmission Control Protocol/Internet Protocol), ebXML (electronic business eXtensible Markup Language), SOAP (Simple Object Access Protocol) sowie UDDI (Universal Description, Discovery and Integration).
Sun ONE (Sun Open Net Environmet) steht für die Vision, Architektur, Plattform und Expertise, mit der die Services on Demand von heute und auch die von morgen bereitgestellt werden können. "Services on Demand sind die Transformation der unterschiedlichsten Daten- und Informationsquellen eines Unternehmens in Dienste, die zu jeder Zeit, überall, auf jedem Gerät und für jede berechtigte Person zugänglich sind. Services on demad können Web-Anwendungen, Web-Services und künftige Punkt-zu-Punkt-Technologien wie JXTA sein. Ziel des Konzeptes ist es, die vorhandenen IT-investitionen zu schützen und optimal auszunutzen, indem man bestehende und neue Technologien wie e-Services heran zieht", erläutert Adelhardt.
Oben in der Architektur steht die Community, bestehend aus Kunden, Partnern, Lieferanten oder Mitarbeitern. Ziel ist, diese Community zu pflegen, zu vergrößern und daraus auch Nutzen zu generieren, indem ihr ein Mehrwert in Form von Services on Demand zur Verfügung gestellt wird. Das Rohmaterial für diese Services kommt aus dem historisch gewachsenen Kapital im Unternehmen wie Daten, Applikationen, Reports und Transaktionen (DART).
Die Architektur muss in der Lage sein, jeweils genau die Daten zu aggregieren und zu präsentieren, die für die jeweiligen Zielgruppen von Bedeutung sind. Diese personalisierten Inhalte werden über Portale bereitgestellt. Der Hauptmechanismus, durch den der Benutzerzugriff auf Informationen gesteuert wird, ist das Verzeichnis (Directory). Verzeichnisse speichern alle relevanten Daten über die Nutzer - wer sie sind, welche Berechtigungen sie haben, und mit welchem Teil der Geschäftsabläufe sie interagieren müssen.
Anwendungen laufen auf einem Applikationsserver, der vorhandene Datenbanken und Anwendungen zusammenführt und den Zugriff auf die verschiedenen Legacy-Systeme der IT-Umgebung ermöglicht. Außerdem stellt er eine umfangreiche, skalierbare Plattform für den Betrieb von Java-basierten Unternehmensanwendungen bereit. Der Application Server sorgt für ununterbrochene Verfügbarkeit - ein Aspekt, der angesichts des exponentiellen Wachstums des Web-Traffics und neuer Service-Angebote immer wichtiger wird.
Die Verfolgung der Nutzung und des Werts der angebotenen Services ist von großer Bedeutung. Sun ONE bietet schnellen Webserver-Zugriff für die Bereitstellung wichtiger Reports.
Transaktionen sorgen dafür, dass die verschiedenen Anwendergruppen die ihnen zur Verfügung gestellten Informationen auf sinnvolle Weise nutzen können. Dies beinhaltet zum Beispiel den Kauf, Verkauf oder die Abrechnung von Produkten und Services, die Kommunikation mit anderen Personen innerhalb oder außerhalb ihrer Community oder die effizientere Abwicklung der täglichen Routinearbeit.
"Wichtigstes Merkmal von Sun ONE ist die Offenheit, denn alle Bausteine basieren auf offenen und anerkannten Standards", so Adelhardt. Dazu gehören LDAP (Lightweight Directory Access Protocol) für Verzeichnisse; IMAP, POP3 und iCAL für die Kommunikationsdienste; J2EE und JAX (Java APIs für XML) für die Web- und Applikations-Server oder XML, XSLT, UDDI, SOAP, WSDL und ebXML) für Integration und Auslieferung von Services on Demand. Mit Hilfe der Forte Tools können Daten in kollektiv nutzbare Services on Demand verwandelt werden. Mit auf Standards basierenden Tools für die Programmiersprachen Java, C++ , C und Fortran ermöglichen die Forte Tools die Nutzung vorhandener Systeme und legen gleichzeitig die Grundlage für zukünftige Innovationen.
"In der ersten Phase einer Implementierung geht es darum, eine robuste Services-Infrastruktur aufzubauen, beispielsweise durch Implementierung eines Unternehmens-Directories, einer Portal-Umgebung oder EAI. Parallel werden die Standards der Web-Services für die Entwicklung von Prototypen und Testen der neuen Konzepte eingesetzt. In der zweiten Phase werden Web-Services hauptsächlich für EAI und die Kommunikation mit ausgewählten Partnern über private Service Registries verwendet. Die dritte Phase ist gekennzeichnet durch öffentliche Service Registries und ausgereifte Standards für Web-Services, so dass registrierte Dienste dynamisch gefunden und genutzt werden können. Die Benutzer haben eine förderierte Netzwerkidentität und werden bei der Nutzung von Diensten gemäß den Standards der Liberty-Allianz authentifiziert", erklärt Adelhardt.
Zu der Liberty-Allianz gehören neben Sun u.a. AOL, American Express und Vodaphone. "Ziel ist, offene Standards für eine förderierte Netzwerkidentität zu etablieren, welche eine sichere Speicherung und Übermittlung von Benutzerdaten sowie ein Single Sign On für Web-Services ermöglichen. Im Gegensatz zu Initiativen wie Microsoft Passport und AOL Magic Carpet, wo ein einzelnes Unternehmen alle Benutzerinformationen besitzt, kann der Nutzer im Falle der Liberty-Allianz entscheiden, welche Informationen von ihm von welchem Liberty Provider gespeichert werden", stellt Adelhardt fest.
.NET ist nicht aufzuhalten
Bei Passport handelt es sich um einen in Websites eingebunden Dienst, der die eindeutige Identifizierung von Internetbenutzern ermöglicht. Er stellt laut Microsoft sicher, dass ausschließlich authentifizierte Anwender Kontrolle über den Inhalt und die Weitergabe ihrer persönlichen Informationen im Web erhalten. Ein besonderer Vorteil besteht dabei darin, dass sich Benutzer lediglich einmal zu Beginn einer Arbeitssitzung anmelden müssen. Anschließend werden sie bei allen entsprechenden Vorgängen automatisch über Passport identifiziert. Auch beim Zugriff auf unterschiedliche Websites oder Web-Services dient Passport als zentraler Authentifizierungsdienst.
Microsofts .NET-Architektur ist aufgrund der Dominanz des Softwareriesen auf dem Desktop und im Internet sowie bei Entwicklungstools offensichtlich nicht aufzuhalten. Das .NET-Web-Service-Modell eröffnet neue Möglichkeiten zur Erstellung von Unternehmensanwendungen. Die Verbindung interner und externer Dienste ermöglicht die vereinfachte Erstellung von Anwendungen, die Firmendaten mit den dazugehörigen Daten von Herstellern und Partnern verknüpfen. Die Webanwendung für die Mitarbeitervergünstigungen eines Unternehmens kann beispielsweise einfach Informationen der Personaldatenbank, den Web-Service des Sozialversicherungsträgers sowie den Web-Service der Firma für die Lohn- und Gehaltsabrechnung abonnieren. Die Endbenutzer können sich auf einer intuitiven Oberfläche die angesammelten Urlaubszeiten, die individuellen Sozialleistungen und die Höhe der letzten Lohn- und Gehaltszahlung anzeigen lassen.
Microsofts Component Object Model (COM) ist Dreh- und Angelpunkt der Portierung auf das .NET-Framework. Alle "Codeportionen" einer COM-Komponente können nach .NET portiert werden. "Je feingranularer Sie COM-Komponenten entwickelt haben, desto kleiner und weniger risikoreich können Sie voranschreiten. Die einzige Voraussetzung dafür ist, dass Sie sich schon heute auf COM einlassen", so Ralph Westphal, Regional Director bei Microsoft Deutschland.
.NET Compiler übersetzen Sourcecode nicht direkt in Maschinencode, sondern in die Microsoft Intermediate Language (IL). Die Philosophie der .NET Plattform ist, dass eigentlich alle Compiler für .NET-Sprachen (C#, VB.NET, Jscript.NET, aber auch andere Sprachen wie Eiffel#, ML usw.) nicht mehr direkt ausführbaren Maschinencode erzeugen, sondern IL-Code. Eine Ausnahme stellt lediglich C++ dar. "Da nun performancesensible Entwickler bei der bloßen Erwähnung des Begriffs IL (Zwischensprache) sofort zusammezucken, ist kritisches Stirnrunzeln natürlich zu erwarten gewesen. Zu sehr erinnert Zwischensprache an Java Bytecode oder unselig langsamen VB P-Code. Schon oberflächlich betrachtet lässt sich aber die von vielen gestellte Frage zum Glück recht leicht beantworten - IL-Code wird nicht wie P-Code oder Java Bytecode interpretiert. IL-Code wird immer in nativen Maschinencode übersetzt, bevor er zur Ausführung gelangt", so Westphal.
Die Übersetzung erfolgt Just-in-Time (JIT), d.h. meist erst wenn eine Methode während des Anwendungslaufs aufgerufen wird. Die .NET Common Language Runtime (CLR) bietet dafür mehrere JIT-Compiler, die Maschinencode unterschiedlicher Güte liefern bzw. zu verschiedenen Zeitpunkten aufgerufen werden. Auch eine Vorübersetzung von IL-Code bei der Installation auf der Zielmaschine ist möglich. Die JIT-Übersetzung ist darüber hinaus sehr schnell (Größenordnung mehrere MB Maschinencode pro Sekunde) und es werden immer nur sehr kleine Häppchen IL Code übersetzt (einzelne Methoden). Die Verzögerung durch JIT-Compilation ist also vergleichsweise vernachlässigbar. "Sehr einfache Tests haben ergeben, dass C# IL-Code maximal 50 Prozent langsamer ist als C++ Maschinencode, aber heutiger VB6 Maschinencode dagegen 300 Prozent. Freunde hoher Performance können sich also entspannen, .NET Sprachen-Code ist zwar durchaus noch etwas langsamer als nativer C++ Code, aber der Unterschied ist vergleichsweise klein - und schlägt heutiges VB6 um Längen. Weitere Verbesserungen sind mit zukünftigen Versionen der JIT-Compiler zu erwarten", meint Westphal. Darüber hinaus sorgt die gemeinsame IL-Code-Erzeugung und JIT-Compilation dafür, dass es höchstens unwesentliche Unterschiede zwischen der Performance von C#- und VB.NET-Programmen geben wird.
Vom Enterprise zu Embedded Systemen
"Seit mehreren Jahren zeichnet sich der Trend ab, bewährte Technologien aus der Enterprise-Welt in die Embedded-Welt zu übertragen: Objektorientierung, Komponenten, Frameworks, Muster, Middleware. Entscheidend für die erfolgreiche Übernahme dieser Technologien ist dabei die sorgfältige Berücksichtigung der besonderen Erfordernisse von eingebetteten Systemen", so Frank Buschmann von Siemens Corporate Technology. Er machte dies am Beispiel von JAVA-Applikationen sowie beim Einsatz von OOP in Mobilfunk Basisstationen deutlich. Eine direkte Anwendung von Enterprise-Technologien im Embedded-Bereich sei jedoch nicht möglich, da sich die für eingebettete Systeme typischen Anforderungen wie strenge Beschränkungen von Speicherplatz, Rechenkapazität und Energieverbrauch sowie die Vielfalt der Hardware nicht verändert haben. Bei der Auswahl der "Enterprise-Technologien" für eingebettete Systeme müsse daher sehr sorgfältig darauf geachtet werden, dass diese Anforderungen nicht verletzt würden. "Dies verlangt nicht nur, dass beim Einsatz einer bestimmten Technologie, zum Beispiel Objektorientierung, nur ausgewählte Leistungsmerkmale verwendet werden. Oft ist es auch notwendig, dass Enterprise Technologien erst an die Randbedingungen eingebetteter Systeme angepasst werden müssen, bevor sie dort gewinnbringend einsetzbar sind", meint Buschmann.
Die Entwicklung von Software-Systemen für neue Mobiltelefone erfolgt heutzutage fast ausnahmslos objektorientiert. Viele Hersteller verwenden dazu JAVA bzw. das Mobile Information Device Profile (MIDP oder auch KJava) für Telefoniehandys und das Personal Profile (auch PJava) für Datenhandys (Communicator/PDA Klasse). "Zum einen öffnen sich dadurch die Geräte für externe ladbare Funktionalitäten, insbesondere für Spiele und Organizer-Dienste. Zum anderen erlauben es die objektorientierten Konzepte von JAVA, die unterschiedlichen, oft noch proprietären Basissysteme der Mobiltelefone und somit die Unterschiede einzelner Modelle zu verdecken. Dies fördert die Entwicklung von Produkten, die für mehr als nur ein Modell und eine Plattform angeboten werden können", erläutert Buschmann. Applikationsentwicklungen seien dann ohne Detailkenntnisse der unterliegenden Schichten möglich.
Mit dem "Siegeszug" von Objektorientierung und JAVA hielten auch weitere Enterprise Technologien Einzug in die Welt der Mobiltelefonie. Die Architektur und Implementierung der Software-Systeme basiert auf erprobten Entwurfsmustern und auf existierenden JAVA-Desktop-Frameworks, die an die Gegebenheiten und Möglichkeiten heutige Mobiltelefone angepasst wurden. Um die Software-Systeme in die Systeminfrastruktur eines Mobiltelefons einbinden zu können, bieten Sie ihre Funktionalität in Form von objektorientierten Programmierschnittstellen (APIs) an.
Der konkret zu Verfügung stehende Hauptspeicherplatz (zwischen 100 und 250 KB) sowie die Leistung der eingesetzten Prozessoren sind die zentralen Faktoren, die den Einsatz von JAVA auf Mobiltelefonen beschränken. So dürfen von der eingesetzten Plattform und den infrastrukturellen Diensten nicht beliebig viel Speicherplatz in Anspruch genommen werden. Ansonsten kann nicht gewährleistet werden, dass überhaupt genügend freier Speicher zur Verfügung steht, um neue Funktionalität wie ein Spiel dynamisch laden zu können. "Auch muss der Speicherbereich für dynamisch ladbare Dienste explizit verwaltet werden, um diesen von mehreren Diensten optimal nutzen zu können. Wird zum Beispiel erst während des Herunterladens eines neuen Spiels festgestellt, dass der noch verfügbare Speicher nicht ausreicht, um das Spiel vollständig in das Mobiltelefon zu integrieren, so entstehen nicht vertretbare Telefonkosten. Gleiches gilt, wenn die Prozessorkapazität des Mobiltelefons nicht ausreicht, um ein bestimmtes Spiel vernünftig auszuführen. Um diese "Vorhersehbarkeit" zu realisieren, müsse auf "altbewährte" Embedded-Techniken zurückgegriffen werden, beispielsweise Speicherbudgets und ein weitest gehender Verzicht auf dynamische Betriebsmittelakquisition.
"Selbst wenn aufgrund des Fortschritts im Hardware-Bereich die Mobiltelefone leistungsfähiger werden, so bleiben die oben beschriebenen Einschränkungen noch längere Zeit relevant. Mit wachsender Leistungsfähigkeit der Hardware wird auch die Größe, Leistungsfähigkeit und Komplexität der dynamisch ladbaren Dienste und Anwendungen wachsen, die auf diesen Hardware-Plattformen laufen. Die oben beschriebenen Einschränkungen und Herausforderungen für den Einsatz von Enterprise Technologien auf Mobiltelefonen bleiben bestehen, sie spielen sich nur auf einer anderen Ebene ab", so Buschmann.
Bei der Entwicklung der Software für UMTS-Basisstationen setzt Siemens auf die objektorientierten Open-Source Frameworks TAO und ACE, um eine performante, aber dennoch flexible plattformunabhängige Kommunikations-Middleware bereitzustellen. Diese Plattform kapselt zudem die Komplexität und APIs des eingesetzten Betriebssystems und hält sie von den Anwendungsentwicklern fern. Die Architektur und Implementierung beider Frameworks basiert zudem auf erprobten Mustern für Verteilung, Nebenläufigkeit und Vernetzung. Mit Hilfe dieser Muster wurden Entwickler auch im Umgang mit den beiden Frameworks geschult - sie erhalten somit ein gutes Verständnis über ihre Funktionsweise.
"Um die Anwendung offen zu gestalten und effizient an andere Systeme anbinden zu können, wurden Standards eingesetzt, die ursprünglich für den Enterprise-Bereich entwickelt wurden. Hervorzuheben sind hier CORBA als Kommunikationsplattform und XML für Konfigurationszwecke", so Buschmann. "Aber auch bei der Software für UMTS-Basisstationen musste beim Einsatz aller dieser Technologien auf die speziellen Randbedingungen eingebetteter Systeme Rücksicht genommen werden. So wurde beispielsweise entschieden, beim Einsatz der Sprache C++ kein Exception Handling einzusetzen, obwohl diese Strategie der Fehlerbehandlung in Enterprise-Systemen sehr verbreitet ist und zum gängigen Instrumentarium objektorientierter Software-Entwicklung gehört. Analysen haben aber ergeben, dass durch Exceptions die Code-Größe von Klassen und Komponenten um bis zu 150 Prozent wachsen kann. Eine 100 KB große Komponente würde also auf bis zu 250 KB anwachsen. Dies ist jedoch in einem Anwendungsgebiet mit starken Speicherplatz Randbedingungen nicht akzeptabel. Daher wurde für die Fehlerbehandlung auf klassische Methoden wie Fehlerrückgabewerte zurückgegriffen".
Um die Anforderungen für die Anbindung des Systems an seine Umgebung zu gewährleisten, waren auch Anpassungen der Open-Source Plattformen TAO und ACE notwendig. So konnte die Zahl der Aufrufe, die der CORBA-ORB TAO pro Sekunde verarbeiten kann, um 30 Prozent gesteigert werden. Durch eine optimierte Konfiguration konnte der Speicherplatzbedarf des ORB um 10 Prozent sowie der des generierten IDL-Codes um 50 Prozent reduziert werden. "Nur durch solche Rücksichtnahme auf die Belange eingebetteter Systeme war es letztendlich möglich, Enterprise-Technologien erfolgreich in der Entwicklung der Software für die UMTS-Basisstationen einzusetzen", schließt Buschmann.




7/2011
6/2011
5/2011


Dunja Koelwel ist freie Journalistin in München. Die studierte Juristin arbeitet für Verlage und Agenturen und betreut vor allem die Themen Internet und Business-Software aus einem strategisch- wirtschaftlichen Blickwinkel. 