Big Sister is watching
Transcription
Big Sister is watching
Ausgabe 3/2002 € 4,00 Bildverarbeitung mit Java Wir stellen Ihnen die Bildverarbeitung mit Hilfe des mächtigen Frameworks JAI vor Apache-Tuning mittels Crypto-Karten Schnell und sicher soll´s sein. - Crypto-Karten bringen Sie diesem Ziel deutlich näher Big Sister is watching ... Open Source Software als Alternative zu kommerziellen Produkten aus dem Bereich System- und Netzwerkmanagement Mit Object Systems und ORDIX den Einstieg ins eBusiness finden • ORDIX NEWS • EDITORIAL Paderborn, September 2002 ... alles unter Wasser Bezogen auf die Gesamtsituation steht unser Titelbild sinnbildlich für das „Land unter“ in der IT-Branche. Dass der Sommer, der wieder keiner war, parallel dazu auch noch große Teile Deutschlands, Österreichs und Tschechiens unter Wasser setzte, ist eher trauriger Zufall. Während den Bewohnern in den bedrohten Gebieten das Wasser buchstäblich bis zum Hals steht, jammert die IT-Branche auf relativ hohem Niveau. Wurde in den Boom-Jahren fast jeder zu jedem Preis eingestellt, übertreffen sich zur Zeit nahezu dieselben Firmen mit den angekündigten Entlassungszahlen. So etwas soll zumindest in den USA das Steigen des Aktienkurses bewirken?! Anzeige PRO CONSULT 70 Prozent der amerikanischen Bevölkerung befürworten einen Krieg gegen den Irak, das scheint man dort zu benötigen, um den angeknacksten Nationalstolz wiederherzustellen. Dass dadurch die Opfer des 11. September nicht wieder lebendig werden, interessiert nicht. Während man also am einen Ende der Welt an Krieg denkt, tobt hier der Wahlkrieg, nein, natürlich Wahlkampf – und jetzt auch noch im Wasser. Da werden plötzlich die Millionen locker gemacht, denn alle könnten ja am 22.9. zur Wahlurne gehen. Und wer mehr verspricht, der wird gewählt. Das kennt man ja. Wenn Sie diese Zeilen lesen, haben sich „Eddie ääh“ Stoiber und „Gerd, die ruhige Hand“ Schröder schon das erste Mal im übertragenen Sinne auf der Mattscheibe darum „gekloppt“, wer es nach dem 22.9. besser macht. Erstaunlicherweise erzählen sie dem Wähler vor der Wahl gerne, was nach der Wahl besser gemacht wird. Meist passiert dummerweise nach der Wahl nicht viel. Und wenn es ganz anders wird, dann sind die Umstände daran schuld ... vielleicht aber auch, weil nach der Wahl ja quasi schon wieder vor der Wahl ist? Außer am 22. September, können wir in der IT-Branche zum Glück noch etwas anderes wählen, z. B. zwischen Microsoft und Open Source oder zwischen Linux und Windows/2000. Das überlegen derzeit zumindest diejenigen, denen im finanziellen Sinne das Wasser bis zum Hals steht und die nicht mehr bereit sind, Lizenzgebühren ohne Ende an Microsoft zu überweisen. Die Rede ist von einigen öffentlichen Verwaltungen. Wir haben das Thema Open Source in dieser News aufgegriffen und ich erwähne gerne, dass ich bereits 1995 an dieser Stelle Linux und Open Source als Alternative zu MS Produkten ins Gespräch brachte. Trotzdem dieses Thema brandaktuell ist, mussten wir aus organisatorischen Gründen unseren Konferenztag verschieben. Doch aufgeschoben ist nicht aufgehoben. Jetzt endlich nur noch die guten Nachrichten: Wie immer finden Sie interessante Artikel zum Thema Java, Neues von Oracle und aus dem Bereich System Management. Auch im Schulungsumfeld tut sich bei uns momentan sehr viel. Und da ich neulich gelesen habe, dass die Presse doch nur noch gute Nachrichten über die IT-Branche schreiben soll, denn allein daran liege es, dass Alles so schlecht sei: Nehmen Sie diese News, sehen Sie auf das Titelbild, drehen Sie es auf den Kopf und schon geht die Umsatzstatistik nicht baden, sondern reicht in den Himmel ... Nein? ... Denken Sie bitte nicht zu genau darüber nach! In diesem Sinne viel Spaß beim Arbeiten nach Ihrem wohlverdienten Urlaub wünscht Ihnen Wolfgang Kögler (Vorstandsvorsitzender) Ausgabe 3/2002 3 • ORDIX NEWS • STANDARDS Inhalt 03 ... Editorial 04 .... Inhalt 39 .... Impressum ... und es geht auch ohne Agent System Management Java 05 .... Hardwareüberwachung mit BMC PATROL Teil II: ... und es geht auch ohne Agent Hardware-Komponenten überwachen, obwohl es unmöglich ist, auf ihnen einen PATROL Agenten zu installieren? Wir zeigen Ihnen, wie es trotzdem geht. 08 ... Bildverarbeitung mit Java Wir stellen Ihnen die Bildverarbeitung mit Hilfe des mächtigen Frameworks, der Werkzeug- und Algorithmensammlung JAI vor. 20 .... Big Sister is watching ... Open Source Software als Alternative zu kommerziellen Produkten aus dem Bereich System- und Netzwerkmanagement. 14 ... eSelect Teil I: Realitätsnahes eBusiness Kostengünstiger Start beim eBusiness. Durch die ORDIX Beteiligung bei der Essener Object Systems profitieren auch ORDIX Kunden vom zusätzlichen Know-how. Systeme & Netze 32 ... Sudo - Im Auftrag des Herrn ... Aufgaben delegieren, die ausschließlich über den Root-Account erledigt werden können? Ab jetzt ja! - Sogar ohne das Root-Passwort preiszugeben! 28 ... Eclipse: Das Schweizer Messer für den Softwareentwickler? Ein sehr variables, qualitativ hochwertiges und vor allem freies Framework, das kostengünstige Entwicklungen nicht nur mit Java ermöglicht. 36 ... Sun + Fire = Power ? Ein High End System geht ins Rennen um den Konsolidierungs-Markt. 37 ... Veritas Cluster Server Einer der wichtigsten Cluster Server im Überblick. Veritas Cluster sind auf mehreren Plattformen verfügbar. Nicht ausfallsicher, aber hochverfügbar. Systeme & Datenbanken 12 .... Oracle 9i New Features Teil II: OMF Die Verwaltung von Dateien auf Betriebssystemebene durch die Oracle Instanz. 42 ... Apache-Tuning mittels Crypto-Karten Schnell und sicher soll´s sein. - CryptoKarten bringen Sie diesem Ziel deutlich näher. 40 .... Oracle 9i New Features Teil III: SQL in Oracle 9i Mit 9i ist man in der Lage, auf vielfache Art sogenannte Multitable Inserts durchzuführen. - Ein Feature, auf das Entwickler schon lange warteten. 44 .... RAC Features Teil II: Recovery mit Oracle RAC 9i „Fast Reconfiguration“ Dieses Mal geht es um die einfachere Verwaltung von Ressourcen und Sperren und wie diese das Instance Recovery beschleunigt. Aus- & Weiterbildung 23 .... Neue Seminare: Projekte mit J2EE und WebSphere, Softwareentwicklung mit Java und Eclipse. 24 .... Seminarübersicht Preise, Termine ... bis Mitte April 2003. - Dieses Mal zum Herausnehmen! 26 .... Neue Seminare: Testen mit JUnit, Oracle und XML. 35 .... Neues Seminar: XML Programmierung unter Java mit DOM und SAX. 4 • ORDIX NEWS • Hardwareüberwachung mit BMC PATROL Teil II: Ausgabe 3/2002 Standards SYSTEM MANAGEMENT Aktuell 11 .... Lösungspartner im eBusiness Mit den Dienstleistungen von Object Systems und ORDIX unter Einsatz der „eSelect Suite“ den kostengünstigen Einstieg ins eBusiness finden. 18 .... Promitreff in Mainz beim Weltklasse-Schnellschachturnier „Chess Classic 2002“ mit ORDIX als Sponsor der „ORDIX Open“. 19 .... Auf, auf zu neuen Taten! Behindertensportreiterin Hannelore Brenner verzeichnet erste Erfolge mit neuem Spitzenpferd Fabiola. 27 .... Newsticker 46 .... Interaktive Möbelschau in Eigenkomposition Pflegen Sie Ihre Web-Seiten doch einfach selbst! So wie die Helms GmbH. Ausgabe 3/2002 Im zweiten Teil der Hardwareüberwachung gehen wir besonders auf die Möglichkeit der Überwachung von Hardware-Komponenten ein, auf denen per se kein PATROL Agent installiert werden kann. Solche Komponenten sind normalerweise mit Standard-PATROL-Methoden nicht zu überwachen. Die Abfrage von Variableninhalten mittels SNMP bietet hierbei eine interessante Alternative. Überblick Komplexe IT-Landschaften verlangen eigentlich zwingend ein entsprechendes Monitoring, um die gewünschte Verfügbarkeit zu garantieren. Nun gut, Sie, als verantwortlicher Administrator, haben bereits mit PATROL ein ausgefeiltes System-Monitoring implementiert und können (die meisten) Probleme rechtzeitig erkennen und abfangen. Was tun Sie aber, wenn z. B. schlicht der Strom ausfällt? Unerwartet aber nicht unvorhersehbar. Dazu werden in den meisten Firmen mehr oder weniger stark Finanzmittel in eine unterbrechungsfreie Stromversorgung (USV) investiert. Aber woher wissen Sie, ob diese überhaupt funktioniert? Wie und wie oft überprüfen Sie deren Funktion tatsächlich? Schalten Sie etwa stündlich den Strom ab, um zu überprüfen ob die USV funktioniert? Sicher nicht – und unsinnig wäre es außerdem. Wir wollen Ihnen hier eine Methode vorstellen, mit der dieses Problem mit PATROL einfacher zu lösen ist. An dieser Stelle möchten wir erwähnen, dass Administratoren, die bereits ein Netzwerkmanagement betreiben und mit Werkzeugen wie z. B. HP OpenView Network Node Manager oder IBM Netview arbeiten, im Folgenden prinzipiell nicht mehr viel Neues erfahren. Es sei denn, sie sind Ausgabe 3/2002 dennoch an einer (zusätzlichen) SNMP-Überwachung durch PATROL oder einer speziellen Integration in PATROL interessiert. Im ersten Teil dieser Serie wurde Ihnen eine Individualprogrammierung eines Knowledge Moduls (KMs) zur Hardwareüberwachung vorgestellt. Dazu musste ein Programm ausgewählt werden, das in der Lage ist, entsprechende Hardwareinformationen zu generieren. Mittels eines individuell programmierten KMs werden die Ergebnisse des Abfrageprogramms ausgewertet und interpretiert. Für SNMP-fähige Hardware-Devices gibt es die Möglichkeit, sich ein KM mittels des Programms „mib2km.exe“ (NT) bzw. „mib2km“ (UNIX-Binary) mit Hilfe eines Wizards auf einfache Weise selbst zu erstellen. SNMP Integration in PATROL Das Monitoring von Objekt-Informationen, die via SNMP erhalten werden, ist dabei nicht neu. Im Gegenteil, viele Tools können SNMP Informationen bearbeiten und der PATROL-Agent beinhaltet schon seit jeher einen SNMP-Subagenten. Dabei basiert das von PATROL verwendete SNMP auf dem Industrie-Standard SMUX. Die Kommunikation erfolgt über einen TCP SMUX Port (Default: TCP 199). Das Zusammenspiel der PATROL SNMP-Komponenten sehen Sie in Abb. 1. Jeder PATROL-Agent wird zusammen mit einem SNMP-Master-Agenten und einem SNMP-SubAgenten installiert. Der Master-Agent kann mit den SNMP-Sub-Agenten kommunizieren. Der Master-Agent ist die zentrale Verteilstelle für GETund SET-Operationen an andere Sub-Agenten. Standardmäßig werden SNMP-Master- und -SubAgent beim Starten des PATROL-Agenten mitgestartet. 5 • ORDIX NEWS • SYSTEM MANAGEMENT Abb. 1: Zusammenspiel der PATROL SNMP-Komponenten. Abweichende Einstellungen können in einer entsprechenden Konfigurationsdatei vorgenommen werden. Dort können auch einzelne Befehle (z. B. SET) abgeschaltet werden. PATROL unterstützt die SNMPv1-Befehle, eingeschränkt auch SNMPv2. SNMP stellt ein einfaches Request-Response-Verfahren dar, bei dem das Netzwerk-Managementsystem (NMS) einen Request auslöst und das verwaltete Gerät den entsprechenden Response liefert. Der PATROL-Agent stellt alle notwendigen SNMP-Befehle zur Verfügung: Zum Lesen und Ändern von Variablen die PSL-Funktionen snmp_get(), snmp_get_next(), snmp_walk() und snmp_set(); zum Empfangen bzw. Verschicken von SNMP-Traps gibt es snmp_trap_[ignore|listen|receive|register|send]. Außerdem gibt es dann noch einige Verwaltungsbefehle, z. B. zum Starten oder Stoppen des SNMPSub-Agenten. Die MIB-Objekte können über eine ASCII-Konvertierung in den PATROL-Namespace übertragen werden. Eine uns bekannte „Variable“, nämlich - 1.3.6.1.4.1.1031. 1.1.1.5.1.4.25.47.67.80.85.47.67.80. 85.47.67.80.85.67.112.117.85. 116.105.108.47.118.97.108.117. entspricht dem Wert des Parameters „/CPU/CPU/CPUCpuUtil“ im PATROL-Namensraum und kann mit „snmp_h_get“ problemlos verarbeitet werden. Dass dieser doch unhandliche Ausdruck dem uns bekannten CPU-Parameter entspricht, ist natürlich nicht ohne weiteres zu erkennen, sondern nur aus der MIB-Hierarchie zu erfahren. Die Ziffern „.1.3.6.1.4.1.1031“ stellen dabei die normierte Darstellung des MIB-Objektbaumes für den Einstieg in die BMC-Hierarchie dar (siehe Abb. 2). Um die CPU-Parameter (oder andere „bekannte“ Objekte) zu überwachen, wird sicher auch weiterhin der klassische PATROL-Agent eingesetzt. Zur Überwachung einer USV, eines Druckers oder einer Netzkomponente (wie z. B. Switch oder Router), auf der kein Agent laufen kann, wird dann aber prinzipiell lediglich seine MIB benötigt. Für die meisten Netzkom- Die Management Information Base (MIB) Welche Objekt-Variablen können nun in der Praxis per Request-Response abgefragt und z. B. in der PATROL-Konsole dargestellt werden? Prinzipiell können alle Objekte, die in der MIB beschrieben sind, angesprochen werden. Die MIB ist eine hierarchisch organisierte Sammlung von Informationen, bei der jedes MIB-Objekt eine definierte Eigenschaft des verwalteten Geräts darstellt. Auf die einzelnen Objekte kann via MIB-Objekt-ID zugegriffen werden. Die MIB-Definitionen werden in den entsprechenden RFCs genauer beschrieben, sollen aber hier nicht weiter ausgeführt werden. 6 Community-Name ein, so generiert das Tool automatisch ein KM, beispielsweise mit dem Namen ROUTER-XY_ 161.km (<IP-Adresse/ Name>_<Portnummer>.km), das dem bekannten „klassischen“ KM entspricht. Dies kann wie gewohnt in der PATROL-Konsole geladen und dargestellt werden. Fazit Ausgabe 3/2002 Mittels SNMP können auch Netzwerkkomponenten oder andere SNMP-fähige Geräte, auf denen kein eigener Agent läuft, ins gewohnte PATROL-Monitoring einbezogen werden. Dies bedeutet eine signifikante Erweiterung des herkömmlichen Monitoring. Abb. 3: Beispiel-KM zur Überwachung der Netzwerk-Aktivitäten, generiert durch mib2km und <Default>-MIB (patrol.mib). ponenten der bekannten Hersteller wird die MIB mitgeliefert. Um sich das teilweise mühsame Abfragen der Variablen mittels MIB O-ID zu ersparen, stellt BMC im SDK-Kit das Tool „MIB2KM“ zur Verfügung. In einer grafischen Oberfläche können sehr leicht KMs generiert werden. Dabei handelt es sich um eine selbstentpackende Datei, die eine Struktur mit weiteren ausführbaren Dateien, KMund PSL-Dateien, sowie einer Reihe bereits vordefinierter MIBs liefert. Die Datei mib2km muss im %PATROL_HOME-Verzeichnis entpackt werden. Dabei entsteht das Verzeichnis „PAK“, das u. a. eine Reihe von Standard-MIBs enthält. Lädt man die neuen WIZ_CUSTOM.km und WIZ_mib2km.km mit der PATROL Entwicklerkonsole, kann der Wizard als zusätzliches KM-Kommando aufgerufen werden. Es erscheint das Eingangsbild. Die nötigen Schritte können sehr leicht mittels eines selbsterklärenden Wizards durchgeführt werden. Abb. 2: Baumstruktur der MIB-Objekte. • ORDIX NEWS • SYSTEM MANAGEMENT Wählt man dazu die passende MIB aus, gibt den SNMP-Port und den Ausgabe 3/2002 Die Konfiguration eines zusätzlichen Monitoring via SNMP ist zwar nicht ganz so trivial und mit einigem Arbeitsaufwand behaftet, aber da diese Komponenten teilweise essentiell für die Performance bzw. Verfügbarkeit einer ganzen IT-Landschaft sind, sollte man diese Möglichkeit, sich einen Zustandsbericht über die Komponenten seines Netzwerkes zu verschaffen, durchaus nutzen - insbesondere, wenn die MIB der Komponente vorhanden ist und der Wizard genutzt werden kann. Durch den Einsatz des Tools MIB2KM erhält man ein KM, das sich nahtlos in die bisherige PATROLÜberwachung einfügt. Darüber hinaus gibt es bereits eine Reihe vorgefertigter Monitoring-Lösungen in der BMC-SNMP-Usergroup (über die BMCDeveloper-Site zugänglich). Der Einstieg in diesen Informationspool ist anfangs zwar gewöhnungsbedürftig, hat man diesen aber erst einmal geschafft, erhält man eine Fülle weiterer, nützlicher Informationen zur Überwachung eines komplexen und heterogenen Netzwerkes. Dr. Ulrich Schwanke (info@ordix.de). 7 • ORDIX NEWS • JAVA Bildverarbeitung mit Java In vielen IT-Systemen gibt es die Notwendigkeit, Bilder in Form von 2-dimensionalen Bilddaten einzulesen, anzuzeigen, auszuwerten und wieder abzulegen. ORDIX ist derzeit in einem Projekt bei einer großen Rundfunkanstalt involviert, in dem es um die Ablage und Archivierung von großen Bildbeständen geht. Diese bestehen aus den unterschiedlichsten Bildarten, wie z. B. aus eingescannten Abzügen oder Zeichnungen, per Digitalkamera aufgenommenen Szenen, o. ä. Wie nicht anders zu erwarten, findet sich auch für das Thema der Bildverarbeitung innerhalb des Java Universums eine mächtige Werkzeug- und Algorithmensammlung: Das Framework JAI. JAI steht für Java Advanced Imaging, und wir wollen hier nun einige Grundzüge und Einsatzmöglichkeiten dieser API etwas genauer unter die Lupe nehmen. JAI und die Vorfahren • In den frühen Java Versionen steckten im Abstract Windowing Toolkit (AWT) die Klassen und Methoden für den Umgang mit Bilddaten. Es ging hauptsächlich um die Darstellung von HTML Seiten mit eingebetteten Images. Dabei wurde nur eine sehr kleine Anzahl an Bildformaten unterstützt, wie GIF oder JPEG. Einmal eingelesen, konnte das Bild im Wesentlichen „nur“ angezeigt werden, wobei es für weitergehende Operationen oder Manipulationen an Funktionalität fehlte. Für die Erstellung von einfachen Bildern existierten im frühen AWT einfache Zeichenfunktionen für Linien, Formen und primitive Füllmuster. • • • • • • • Das Paket Java 2D stellte die erste deutliche Erweiterung in diesem Bereich dar, wurde in das AWT integriert und hielt mit dem Release JDK 1.2 (auch bekannt als Java 2) Einzug in die Standard API. In Java 2D fanden sich erste Klassen und Methoden, um anspruchsvollere grafische und „rendering“ Operationen auszuführen. Darüber hinaus wurde auch eine große Anzahl zusätzlicher Bildformate zumindest für den lesenden Zugriff unterstützt. Neben einer eher einfach gehaltenen API zur Analyse und Manipulation von Bildern hat Java 2D hauptsächlich Funktionalitäten zur Darstellung von Bildern zu bieten. JAI stellt nun seinerseits eine Erweiterung zu Java 2D dar und kann mit Fug und Recht als umfangreiche Sammlung für Bildverarbeitungsmethoden bezeichnet werden. In der Dokumentation zu JAI werden die folgenden Merkmale gesondert herausgestellt: 8 Plattformunabhängige Bildverarbeitung Verteilte Bildverarbeitung Objektorientierte API Flexibel und erweiterbar Geräteunabhängig Mächtig Hochperformant „Interoperabel“ Einige dieser Punkte ergeben sich allein aus dem Java Kontext (plattformunabhängig, objektorientiert, flexibel, usw.), andere wollen wir beleuchten. Ein Punkt, der in diesem Artikel nicht weiter behandelt wird, ist die „Verteilte Bildverarbeitung“. Dahinter verbirgt sich die Funktionalität, längere Ketten von Bildverarbeitungsmodulen auf verschiedene Rechner zu verteilen, unter Verwendung von Remote Method Invocation (RMI). Erste Schritte: Darstellung von Bildern Im JAI findet sich eine Zweiteilung der beteiligten Klassen und Interfaces analog zum Stream Konzept aus dem JAVA I/O Bereich (InputStream, OutputStream). Grundsätzlich unterscheidet man im Kontext des JAI zwischen Bildquellen („source“) und Bildsenken („sinc“). Eine typische Bildquelle ist ein Ausgabe 3/2002 • ORDIX NEWS • JAVA Java Objekt, das eine Bilddatei einliest und bereithält (Beispielklasse aus JAI: PlanarImage). Eine typische Bildsenke ist ein Java Objekt, das die Darstellung vornimmt (Beispielklasse: ImageDisplay). Die Verbindung der Quelle mit der Senke kann z. B. bei der Instantiierung erfolgen, oder durch expliziten Methodenaufruf. Dabei kann es durchaus hybride Objekte geben, die sowohl die Rolle einer „source“, als auch die Rolle einer „sinc“ annehmen und die damit eine Art Durchgangsstation bilden. Mit diesem Prinzip lassen sich ganze Ketten von Bearbeitungskomponenten bilden, die im JAI Kontext auch processing graphs heißen. Dieser Ansatz ist auch als „Dekorationsprinzip“ bekannt. Für eine gewünschte Funktionalität kommt dabei nicht eine genau darauf spezialisierte Klasse zum Einsatz, sondern eine Kombination aus verschiedenen JAI Klassen, die, jede für sich, häufig nur einen einzigen Aspekt bedienen. Das System wird solange „dekoriert“ bis das gesuchte Input-Output Verhalten vorliegt. Wir sehen uns in einem ersten Beispiel die Funktionalität „Bildausschnitt vergrößern“ etwas genauer an. Dieses und eine Reihe weiterer, sehr instruktiver Beispiele sind in einem Tutor-Programm des JAI zusammengefasst, welches einen sehr guten Überblick zum Themenkomplex bietet, jedoch separat aus dem Internet herunter zu laden und zu installieren ist (http://java.sun.com/products/ java-media/jai/downloads/ download.html) . In Abb. 1 sehen wir einen Auszug des zugehörigen Java Quellcodes. JAI.create(...) in Zeile 1 stellt eine zentrale Generierungsmethode des JAI Frameworks zur Verfü- Ausgabe 3/2002 ... import javax.media.jai.JAI; import javax.media.jai.PlanarImage; public class MagnifierTest extends JPanel { private PlanarImage source = null; public MagnifierTest (String filename) { File f = new File(filename); 1 2 3 4 if ( f.exists() && f.canRead() ) { source = JAI.create("fileload", filename); ImageDisplay canvas = new ImageDisplay(source); Magnifier mag = new Magnifier(); mag.setSource(canvas); mag.setMagnification(3.0F); mag.setSize(128, 128); mag.setLocation(150, 150); ... Abb. 1: Auszug aus dem Java Quellcode des Beispielprogramms „Magnifier“. gung, mit der in unserem Beispiel eine Bilddatei vom Datenträger eingelesen und einer Variablen vom Typ PlanarImage zugewiesen wird. Ein Beispiel für ein hybrides Objekt ist canvas, das sich zum einen um die Darstellung des Gesamtbildes kümmert (Bildsenke), zum anderen aber gegenüber einem weiteren Objekt (Magnifier mag) als Quelle fungiert. Die Verbindung zwischen diesen beiden Instanzen geschieht in Zeile 3 mit einem expliziten Methodenaufruf, wohingegen das Verbinden per Instantiierung in Zeile 2 zum Einsatz kommt. Das Ergebnis dieser Operation ist in dem Farbbild in Abb. 2 zu sehen. Das Magnifier Objekt ist mit einer 3fachen Vergrößerung ausgestattet (Zeile 4 in Abb. 1) und innerhalb der Bildgrenzen beliebig verschiebbar. Abb. 2: Ausschnitt-Vergrößerung mit Faktor 3 in einem Farbbild. Analyse und Manipulation von Bildern Die eigentlichen Stärken des JAI liegen jedoch im Bereich der Bildanalyse und -manipulation, was man gemeinhin unter Bildverarbeitung zusammenfasst. Zunächst folgt jedoch eine kurze Einführung der grundlegenden Sachverhalte. Ein 2-dimensionales, digitales Bild ist in einem Array der Größe m x n (m Zeilen und n Spalten) abgelegt. An jeder Koordinate (i,j) befindet sich der Wert des Bildpunktes, häufig auch einfach als Pixel (kurz für picture element) bezeichnet. Vom Typ des Bildes hängt der Typ eines Pixels ab. So setzt sich 9 • ORDIX NEWS • JAVA ein Farbbild i. A. aus den 3 Einzelkanälen Rot, Grün und Blau (sog. RGB-Bilder) zusammen, so dass dessen Pixel ebenfalls eine 3-komponentige Größe bilden, mit jeweils einem Wert (0-255) für Abb. 3: Verbesserung eines Grau- den Rot-, Grün-, wertbildes mit Auswertung von Hisund Blauanteil. togrammen. Die Pixel von Grauwertbildern besitzen nur eine Komponente für den Grad der Helligkeit an der zugehörigen Bildposition. Operatoren Um Bilder analysieren oder manipulieren zu können, definiert JAI eine Reihe von Bildoperatoren, die sich in den folgenden Oberbegriffen zusammenfassen lassen, und die hier nur ansatzweise mit einer z. T. knappen Erläuterung erwähnt werden: • • • • • • • • • Punkt-Operatoren: Das Pixel des Zielbildes hängt nur vom korrespondierenden Pixel des Quellbildes ab. Ein Einsatzgebiet ist bspw. das Aufhellen von Bildern. Flächen-Operatoren: Bei der Transformation von Bildern hängt ein Pixel des Zielbildes auch von benachbarten Pixeln des korrespondierenden Quellpixels ab. Sie werden häufig bei Bildverbesserungen eingesetzt (Bsp. Störungs- und Rauschunterdrückung). Geometrische Operatoren werden verwendet, um Bilder oder Bildbereiche zu skalieren, zu drehen oder zu verschieben (allgemein als affine Transformationen bezeichnet). Auch nichtlineare Transformationen wie das „Warpen“ gehören dazu. Farbquantisierung File Operatoren Frequenz Operatoren Statistische Operatoren Kanten Extraktion Weitere Operatoren Der Einsatz von JAI Operatoren soll anhand eines weiteren Beispiels aus dem Tutorial veranschau- 10 licht werden. Quelle ist ein Grauwertbild mit vorwiegend dunklen Bildbereichen (Abb. 3). Darunter ist das zugehörige Histogramm zu sehen. Ein Histogramm beinhaltet die Häufigkeiten der in einem Bild vorkommenden Grauwerte und wird häufig in einem Diagramm dargestellt. Die Häufung im niederwertigen Bereich des Histogramms (0 = Schwarz, 255 = Weiß) deutet auf ein dunkles Quellbild hin. Man kann nun eine Bildverbesserung erreichen, indem man die Grauwertverteilung im Histogramm besser und gleichmäßiger anordnet. Das Verfahren ist auch bekannt als „Histogramm Egalisierung“. Der Effekt ist im rechten Teil von Abb. 3 zu sehen: Hier sind im Zielbild deutlich mehr Details erkennbar. Diese Operation setzt sich aus Punkt- und Flächenoperatoren zusammen und besteht im Wesentlichen nur aus ein paar Java Quellcodezeilen, da die wichtigen Bestandteile des Verfahrens (Histogrammbildung, Lookup-Operationen, ...) im JAI Framework vorliegen. Fazit Wie so oft bei der Vorstellung von eigenständigen Java Paketen kann auch in diesem Artikel zu JAI nur die Spitze des Eisberges zum Vorschein kommen. Wer in seinem System mit digitalen Bilddateien zu tun hat, und diese auch noch auswerten und manipulieren muss, bekommt mit JAI eine mächtige Werkzeugsammlung an die Hand. ORDIX hat sich dieses Themas angenommen, da es in dem oben erwähnten Projekt zur Bilddatenarchivierung um die Integration dieser API geht. Dr. Hubert Austermeier (info@ordix.de). Ausgabe 3/2002 • ORDIX NEWS • AKTUELL Object Systems als eSelect-Lösungspartner Wie in der letzten Ausgabe der ORDIX News berichtet, führten die Kontakte der ORDIX AG und der Essener Object Systems GmbH zu einer engen, strategischen Partnerschaft. Object Systems ergänzt das ORDIX Know-how insbesondere im Umfeld der objektorientierten Technologien. In die Entwicklung der eSelect Suite (siehe Artikel S. 14) investierte Object Systems bisher mehr als 10 Personenjahre an Aufwand. Als Partner für innovative IT-Lösungen hat sich das Essener Unternehmen die Aufgabe gestellt, das Business ihrer Kunden mit moderner und zukunftssicherer Informationstechnologie zu verbinden. Hochqualifizierte Mitarbeiter mit langjähriger Erfahrung in Objektund Datenbanktechnologien sowie Projekt- und Qualitätsmanagement wuchsen in Projekten mit renommierten Großunternehmen zu kompetenten und zuverlässigen Teams zusammen. Die Object Systems GmbH bietet ihren Kunden eine durchgängige Kette von Dienstleistungen, die sich von der ersten Beratung über die Konzeptionierung bis hin zur Realisierung, Schulung und Betreuung erstreckt. • IT-Solutions Erstellung von individuellen Kundenlösungen auf Basis der eSelect Suite. • IT-Consulting Beratung und Entwicklung in externen Kundenprojekten. • IT-Learning IT-Experten vermitteln ihre Kernkompetenzen in speziellen Trainings. Spezialisiert auf individuelle Lösungen im Internet, sorgen die Fachberater dafür, dass Unternehmen die Chancen des eBusiness voll und ganz nutzen können. Damit Ausgabe 3/2002 bleiben eBusiness-Lösungen im Internet nicht nur glänzende Fassaden. Innovative Ideen setzt das Unternehmen bei der Synergie von eBusiness und Data Warehousing um. In enger Zusammenarbeit mit bewährten, zukunftsorientierten Herstellern entstehen offene Systeme, die sich durch Qualität, Flexibilität und Wartbarkeit auszeichnen und mit der Entwicklung von Kundenund Technologieumfeld stets Schritt halten können. Veranstaltung zur eSelect Suite Am 10. September 2002 stellt die ORDIX Beteiligung Object Systems ihr TechnologieFramework eSelect Suite interessierten Unternehmen aus dem Ruhrgebiet vor. Die eSelect Suite bietet (mittelständischen) Unternehmen einen leichten Einstieg ins eBusiness. Die offene und plattformunabhängige Architektur der eSelect Suite ermöglicht die Integration in bereits vorhandene IT-Strukturen und ist aufgrund des modularen Aufbaus jederzeit um gewünschte Funktionalitäten erweiterbar. Im Partnerspektrum bei Object Systems ist vor allem auch Sie sind neugierig geworden? Dann besuchen Sie Ascential Software die Veranstaltung am 10. September, 13.00 Uhr im Sheraton Hotel Essen. hervorzuheben. Zusammen mit dem ObSie können sich über www.objectsystems.de jectS ystems Knowoder telefonisch unter 02054/9503-50 anmelden. how im Datawarehouse Bereich stellt Mehr zur eSelect Suite lesen Sie auf Seite 14. der Einsatz der Ascential Werkzeuge eine gewinnbringende Investition für den Kunden dar. Ihr Ansprechpartner für Fragen zum Object Systems Dienstleistungsspektrum ist Herr Ralf Hüls, Geschäftsführer der Object Systems GmbH, oder der ORDIX Vertrieb (info@ordix.de). 11 • ORDIX NEWS • SYSTEME & DATENBANKEN Neuigkeiten bei Oracle 9i Teil II: Oracle Managed Files (OMF) Oracle 9i bietet mit Oracle Managed Files (OMF) die Möglichkeit, der Instanz die Verwaltung von Daten-, Online Redolog-Dateien und Control-Dateien auf Betriebssystemebene zu überlassen. Diese Funktionalität wird im folgenden vorgestellt. Ein Oracle Managed File wird, je nach Bedarf, automatisch von einer Instanz erstellt beziehungsweise gelöscht. Es ist somit möglich, Datenbankdateien ohne Angabe des darunterliegenden Filesystems anzulegen. Nicht mehr verwendete Daten-, Online Redolog- und Control-Dateien werden neben Verwaltungsaufgaben (Austragen aus dem Data Dictionary, Control-File) auch automatisch physikalisch gelöscht. Die Dateinamen werden eindeutig generiert, so dass beim Erstellen von Daten-, Online Redologund Control-Dateien eine bereits existierende Datei nicht überschrieben werden kann. Der Administrator braucht nur das Verzeichnis anzugeben, in dem sich die Dateien befinden. Aufbau einer OMF Umgebung Wir setzen die dynamischen Initialisierungsparameter in der init.ora: DB_CREATE_FILE_DEST = <Verzeichnis der Datendateien> DB_CREATE_ONLINE_LOG_DEST_n = <Verzeichnis der Online Redolog- und Control-Dateien> Die Zahl n gibt an, wie oft die Online Redolog– Datei bzw. Control-Datei gespiegelt werden soll. Eine Spiegelung ist der bevorzugte Fall, da eine gute Aufteilung der Datenbankdateien erfolgt. Mit Hilfe des ALTER SYSTEM SET Befehls lassen sich diese Parameter dynamisch ändern und bei Verwendung eines spfile (binäre init.ora) auch direkt hier eintragen. Die angegebenen Verzeichnisse müssen bereits existieren, da die Oracle Instanz Datei keine Verzeichnisse erstellt. Control-Dateien Struktur der OMF-Dateien Die OMF-Dateien entsprechen der Oracle Flexible 12 Architecture (OFA), die Namensgebung ist abhängig von der jeweiligen Betriebssystemplattform. Unter Solaris sehen die Dateinamen beispielsweise wie in Abb. 1 gezeigt aus. Die Buchstaben bedeuten: %u ein String von 8 Zeichen (Eindeutigkeit) %t Name des Tablespaces %g Gruppen-Nummer der Online Redolog-Datei ora_ identifiziert diese Datei als ein OMF Die Dateien werden in den in der init.ora (bzw. spfile) angegebenen Verzeichnissen angelegt und bekommen den im Kasten dargestellten Namen. Raw Devices sind bei OMF nicht möglich. Datendateien mit OMF Die Größe der Datendateien beträgt standardmäßig 100 MB. Die automatische Erweiterung (AUTOEXTENDED Klause) ist auf UNLIName Beispiel ora_%u.ctl ora_xbw5rtg7.ctl Online Redolog-Dateien ora_%g_%u.log ora_3_g74g7jdr.log Datendateien ora_%t_%u.dbf ora_users_g6djlezh.dbf Temporäre Datendateien ora_%t_%u.tmp ora_tmp_nvgtre5g.tmp SYSTEME & DATENBANKEN MITED gesetzt. Da das Tablespace standardmäßig ab Oracle 9i lokal verwaltet wird, reduziert sich die Syntax bei der Tablespaceerstellung: CREATE TABLESPACE <Tablespacename> [DATAFILE [SIZE <n> [K|M] [,SIZE <n> [K|M]]]; Eine neue Datenbank auf Verwaltung mit OMF umstellen Den kompletten Vorgang möchten wir nun anhand eines Beispiels verdeutlichen: Die Oracle 9i Datenbank ordix wurde bisher noch nicht mit OMF verwaltet. Wir wollen einen neuen Tablespace develop erstellen, der mit Hilfe von Oracle Managed Files verwaltet werden soll. Wir setzen zunächst den dynamischen Initialisierungsparameter. Die Instanz legt alle Datenbankdateien in diesem Verzeichnis an. Anschließend erstellen wir mit Hilfe des folgenden Befehls das Tablespace develop mit zwei Datendateien der Anfangsgröße von 500 MB. Wir überprüfen dies, indem wir die Data Dictionary View DBA_DATA_FILES abfragen. • ORDIX NEWS • Umbenennen von Datendateien OMF Datendateien können wir auf herkömmliche Weise in normale Datendateien umbenennen. Ein Umbenennen von normalen Datendateien in OMF Datendateien ist hingegen nicht möglich. Das heißt, zunächst wird das entsprechende Tablespace OFFLINE gesetzt und die gewünschte Datei mit Betriebssystemmitteln kopiert. Das Umbenennen erfolgt mit Hilfe des folgenden Befehls. Danach wird das Tablespace wieder ONLINE gesetzt. ALTER TABLESPACE <Tablespacename> RENAME DATAFILE <OMF_Dateiname> TO <Dateiname> Löschen von OMF Tablespaces Löschen wir ein OMF Tablespace, so entfernt die Instanz automatisch auch alle dazugehörigen Datendateien auf Betriebssystemebene. Dazu wird der folgende Befehl verwendet: DROP TABLESPACE <Tablespacename>; Fazit Wird auf die einfache Administration Wert gelegt, (und weniger auf eine gestreute Verteilung im Filesystem und auf den Sicherheitsaspekt) d. h. Online Redolog-Dateien und Control-Dateien befinden sich in demselben Verzeichnis, so ist dieses Feature unter 9i für kleine Datenbanken zu empfehlen. ALTER SYSTEM SET DB_CREATE_FILE_DEST = ‘/ORADATA/ORDIX’; CREATE TABLESPACE develop DATAFILE SIZE 500M,SIZE 500M; SELECT file_name FROM dba_data_files WHERE tablespace_name =’DEVELOP’; FILE_NAME —————————————————————— /ORADATA/ORDIX/ORA_DEVELOP_YC7VMN00.DBF /ORADATA/ORDIX/ORA_DEVELOP_YC7VMN01.DBF Hinzufügen einer OMF Datendatei Möchten wir eine Datendatei einem bereits existierenden Tablespace manuell hinzufügen, so geben wir die folgende Syntax ein: Zukünftig wird uns dieses Feature oft bei Installationsskripten begegnen, denn so können Skripte ausgeliefert werden, die komplett unabhängig vom Betriebssystem erstellt werden können und somit nicht mehr angepasst werden müssen. ALTER TABLESPACE <Tablespacename> ADD DATAFILE [SIZE <n> [K|M] [,SIZE <n> [K|M]]; Stephan Sippel (info@ordix.de). Abb.1: OMF Namensvergabe unter Solaris. Ausgabe 3/2002 Ausgabe 3/2002 13 • ORDIX NEWS • JAVA Die eSelect Suite Teil I: Realitätsnahes eBusiness Spätestens seit dem Börsencrash diverser Internetfirmen ist deutlich geworden, dass die Realisierung von Systemen für das eBusiness eine Aufgabe mit vielen Herausforderungen ist. Diese Technologien lassen sich nicht einfach über Reseller-Strukturen verkaufen. Die Welt des eBusiness ist äußerst dynamisch; die eingesetzten Systeme müssen schnelle Reaktionen ermöglichen; Offenheit und Skalierbarkeit sind dabei herausragende Eigenschaften. Die eSelect Suite ist ein Java-Technologie-Framework mit vorgefertigten, erweiterungsfähigen Anwendungsfunktionalitäten zur effizienten Erstellung individueller Kundenlösungen im eBusiness. Standardsoftware versus Individuallösung Wie einfach ein Unternehmen auch ins eBusiness startet, das Projekt sollte nicht unabhängig von den übrigen Geschäftsprozessen und IT-Architekturen des Unternehmens geplant und realisiert werden. Neue Anforderungen werden wachsen und die eingesetzten Systeme müssen diese steigende Komplexität und Individualität bewältigen können. probten Standard-Komponenten, in denen die Erfahrung des jeweiligen Themas enthalten ist und sie bietet die Möglichkeit, diese anzupassen bzw. um maßgeschneiderte, individuelle Features zu erweitern und damit Alleinstellungsmerkmale zu schaffen. Nutzenaspekte Gerade in der heutigen Zeit muss ein Anbieter von eBusiness-Software aber auch das Investitionsspektrum potentieller Kunden im Auge haben. Es muss ein preiswerter Start ermöglicht werden und eine Absicherung für schnelle, wirtschaftliche Erweiterungen und Integration in bestehende Systeme garantiert sein. Standard-Produkte können diesen Anforderungen nicht gerecht werden. Sie sind zu unflexibel, nur wenig skalierbar und die im eBusiness so wichtige Differenzierung zum Wettbewerb ist nicht möglich. Weiterhin ist meist eine hohe Belastung durch vorhandene Lizenzmodelle gegeben. Bei reinen Individuallösungen muss der Kunde bei den wichtigen Faktoren Zeit und Geld ganz auf die Professionalität und Verlässlichkeit des Anbieters vertrauen. Es ist mit hohen Anfangsinvestitionen und dem Eintreten von Schwierigkeiten bei der Zeitund Budgeteinhaltung zu rechnen. Die eSelect Suite als Technologie-Framework vereint die Vorteile von Standardsoftware und Individuallösung und vermeidet einen Großteil der Nachteile beider Lösungskonzepte. Sie besteht aus er- 14 Untersuchungen haben ergeben, dass die am meisten befürchteten Schwierigkeiten bei eBusinessProjekten die Zeiteinhaltung (51 Prozent) und Budgeteinhaltung (43 Prozent) sind. Mit der eSelect Suite kann ein großer Leistungsumfang bei kurzer Entwicklungszeit realisiert werden. Damit ist das – im eBusiness so wichtige – Time-toMarket gewährleistet. Trotz kurzer Entwicklungszeiten wird eine hohe Qualität der Systeme garantiert. Hier werden die Vorzüge vorgefertigter Framework-Komponenten deutlich; diese haben bereits wiederholte Zyklen von Qualitätskontrollen während der Entwicklung durchlaufen. Für die Nutzung der Komponenten der eSelect Suite fallen keine Lizenzkosten an. Dies führt zur weiteren Kostenentlastung beim Kunden. Projektlaufzeiten werden Ausgabe 3/2002 • ORDIX NEWS • JAVA durch die bereits vorhandenen und umfassenden Standardfunktionalitäten immens verkürzt. Damit sind sichere Planungsgrundlagen geschaffen und die Einhaltung von Budget-Rahmen garantiert. In Summe wird dem Kunden somit ein frühzeitiger Return on Investment gesichert. Durch Verwendung herstellerunabhängiger Standardtechnologien lassen sich neue Komponenten schnell entwickeln, bestehende um zusätzliche Funktionalität erweitern und vorhandene Legacy-Systeme effizient einbinden. Damit kann dem Kunden die Optimierung der internen Geschäftsprozesse garantiert werden; diese können jederzeit an die sich ständig wandelnden Marktverhältnisse angepasst werden. Dies sichert dem Kunden einen hohen Investitionsschutz. Gerade in Bereichen des eBusiness, wo die Abbildung von Geschäftsprozessen mit starker Involvierung des Kunden realisiert werden muss, ist Originalität wichtig. Die eSelect Suite bietet alle Möglichkeiten, die Differenzierung zum Wettbewerb zu schaffen und stetig anzupassen. Unternehmen, die Systeme auf der Basis der eSelect Suite im Einsatz haben, profitieren darüber hinaus von den positiven Auswirkungen in der Praxis: Das sind u. a. eine Reduzierung der Bearbeitungszeiten, die hohe digitale Beratungskompetenz, die höhere Aktualität und der Ausschluss von Fehlvorgängen. Foundation Components: eSelect Security Universeller Einsatz in eBusiness-Projekten - Registrierung, Authentifizierung und Autorisierung eSelect Persistence - Datenbankunabhängigkeit Diverse - Internationalisierung, Klassifizierungen, GUI-Elemente u. a. Interactive System: eSelect Manager Bewältigung der Komplexitätsskala im eBusiness - Erstellung der regelbasierten Wissensbasis eSelect Category - Kategorisierung von Katalogen eSelect Search - Komfortable Suchfunktionalitäten eSelect Compositor - Unterstützung plausibilitätsgesteuerter Prozesse eSelect Comparator - Alternativ-Vergleiche („Was wäre wenn?“) eSelect Visualizer - Visualisierung mittels 3D u. a. eSelect Media - Übertragung unterstützender Inhalte eSelect Customer - eCRM mittels Personalisierung eCommerce Plattform: eSelect-Lösungen als eigenständige eCommerce-Systeme eSelect Sales - Elektronischer Bestellvorgang eSelect Order - Warenkorbfunktionalität eSelect Offer - Angebotserstellung eSelect Account - Kundenindividuelle Bereiche Business Values ERP Backoffice: Die eSelect Suite ist lösungsorientiert und besitzt eine vielfältige und flexible Komponenten Infrastruktur mit eBusiness-Funktionalität, die einen nachhaltigen Mehrwert für Unternehmen schafft. Ausgabe 3/2002 Integration mit bestehenden Systemen eSelect Fusion - Integration Backoffice (EAI) eSelect Connectors - Integration Backoffice (Schnittstellen) eSelect Content - Integration mit Portallösungen Abb. 1: Komponenten-Infrastruktur der eSelect Suite. 15 • ORDIX NEWS • Technologie-Features Die Flexibilität der eSelect Suite wird insbesondere durch den Einsatz der herstellerunabhängigen Standardtechnologien Java 2 Enterprise Edition (J2EE) und Extensible Markup Language (XML) möglich. Sie gewährleisten, dass alle Komponenten der eSelect Suite reibungslos zusammenarbeiten und dass die fertigen Systeme herstellerübergreifend auf den unterschiedlichsten TechnologiePlattformen lauffähig sind. Die eSelect Suite basiert zu 100 Prozent auf dem Standard der J2EE. Die Konzepte des Java Enterprise Model - Servlets, Java Server Pages (JSP), Enterprise Java Beans (EJB) - ermöglichen eine umfassende Skalierbarkeit: Angefangen von einem Webserver mit angebundener Servlet Engine und einer Datenbank bis hin zu einer verteilten, heterogenen Systemumgebung unter Einsatz von J2EEkompatiblen Applikationsservern wie IBM WebSphere oder BEA Weblogic. Bei der Hinzunahme weiterer Technologien wurde immer darauf geachtet, dass diese eng mit J2EE verknüpft sind, wie dies z. B. bei XML der Fall ist. Dank der offenen Industriestandards ist auch die Unterstützung der neuen, innovativen Technologie der Web-Services mit der eSelect Suite gewährleistet. Das Design der eSelect Suite trennt strikt zwischen Präsentation, Geschäftslogik und Datenhaltung (3-Schichten-Architektur). JAVA Wie die Abb. 2 zeigt, bestehen die drei Schichten wiederum aus einzelnen Komponenten, die miteinander kommunizieren. Das Gesamtsystem lässt sich so vom einzelnen physikalischen Server, auf dem alle Komponenten angesiedelt sind, bis hin zu einer heterogenen Multi-Server-Umgebung ausbauen. Benutzerinterfaces sind als JavaApplikationen, HTML-Seiten mit Java-Applets oder als reine HTMLSeiten implementiert. Durch die Verwendung eines Persistence Frameworks wird von der eingesetzten relationalen Datenbank abstrahiert. Alle Datenbanken mit JDBC-Treiber werden unterstützt. Je nach Leistungsumfang können für die verschiedenen Komponenten physikalisch getrennte Datenbanken unterschiedlicher Hersteller eingerichtet werden. Je komplexer desto besser Simple Katalogstrukturen wie sie z. B. für Pick-and-Pay Produkte eingesetzt werden, reichen im eBusiness nicht mehr aus. Gerade bei heterogenen, variantenreichen und be- ratungsintensiven Produkten und Prozessen steckt ein hohes Rationalisierungspotential, das von der Leistungsfähigkeit der eSelect Suite optimal erschlossen werden kann. Die Abbildung komplexer Vorgänge erfolgt auf Grundlage einer strukturierten Wissensbasis. Zur Beherrschung von Variantenvielfalt kann ein Regelsystem genutzt werden. Die erfassten Regeln ermöglichen ständige Plausibilitätsprüfungen während der Arbeit mit der fertigen Lösung. Nicht erfüllbare Wünsche und Anforderungen sind damit jederzeit ausgeschlossen. In dieser Weise abgesichert, kann die Ausstattung eines technischen Gerätes ebenso festlegt werden wie die Gestaltung einer Reise, die Positionen eines Versicherungsvertrages oder die Anlage und Optimierung eines Wertpapiere-Depots. Steigt die Komplexität von Auswahlvorgängen, nimmt auch der Wunsch zur Vergleichbarkeit mit interessanten Alternativen zu. Die eSelect Suite bietet hier die Möglichkeit der automatischen Alternativsuche und des Side-by-Side Vergleiches zur Evaluierung nach verschiedenen Merkmalen („Was wäre wenn?“). Für die anwendergerechte Präsentation und Begleitung existiert Multimedia-Unterstützung auf Basis modernster Technologien. 3D-Technologie mit Zoom- und Animations-Funktionalität lässt kein Detail von komplexen Produkten verborgen. Virtuelle Assistenten (Avatare) begleiten den Kunden bei seiner Tour durch das Internet und verringern so die technologiebedingte Distanz. Abb. 2: Mehr-Schichten-Architektur der eSelect Suite. 16 Ausgabe 3/2002 • ORDIX NEWS • JAVA Ausgabe 3/2002 Anwendungsbereiche Gerade in traditionellen Branchen der Sachgüterund Dienstleistungsproduktion und auch im nichtwettbewerblichen Bereich findet derzeit ein grundlegender und nachhaltiger Wandel hin zur Internet-Ökonomie statt. Die eSelect Suite ist auf diesen Wandel vorbereitet. Als branchenneutrales Framework konzipiert, existiert eine Vielfalt von Einsatzmöglichkeiten. Anwendungsbereiche sind ebenso die Möbel-, Hardware-, Investitionsgüter- und Automobilindustrie wie auch der Reise-, Verwaltungs-, Finanz- und Versicherungssektor (B2C, B2B). Das breite Einsatzspektrum erstreckt sich von der Konfiguration konkreter Produkt- bzw. Dienstleistungswünsche bis hin zur ziel- und problemorientierten Kundenberatung. Weiterhin kann die eSelect Suite zur Realisierung des technischen Büros (B2E) eingesetzt werden. Anwendungsbereiche sind hier u. a. die Erstellung von Angeboten, die Projektierung, Vertriebspräsentationen, der Einsatz in Call Centern, Service und Wartung, die Verwaltung von Ersatzteilen und wiederverwendbaren Komponenten in der Produktion. Ein weiterer Einsatzbereich ist die Abbildung und das Handling komplexer Preis- und Tarifmodelle, wie sie z. B. bei Strom- oder TK-Anlagen-Anbietern zu finden sind. Ausblick In den nächsten Ausgaben der ORDIX News werden wir die eSelect Suite im Detail anschauen. Wir werden die Vorteile der verwendeten Technologie herausheben, die Funktionalitäten der Komponenten beschreiben, einen Einblick in das Redaktionssystem zur Erfassung regelbasierter Strukturen und einen detailierten Überblick über die Einsatzbereiche geben. Manfred Lingk, Object Systems GmbH (info@ordix.de). 17 • ORDIX NEWS • AKTUELL Sponsoring Hannelore Brenner oder ... Promitreff in Mainz ... auf, auf zu neuen Taten! Vom 15.-18.08.2002 fand wieder eines der größten Schnellschachturniere der Welt statt: Die „Chess Classic 2002“ in der Rheingoldhalle in Mainz. Alles übertroffen! Veranstalter Hans-Walter Schmitt hat auch in diesem Jahr mal wieder versucht, das letzte Jahr zu toppen und das gleich in mehrfacher Hinsicht. Mit Erfolg! Zum einen hat er zum erneuten Male die weltbesten Schachspieler - darunter Viswanathan Anand und Ruslan Ponomarjow - für die Spiele verpflichtet. Zum anderen hat sich auch der Preisfond noch mal um Einiges erhöht. So waren die Open Turniere beispielsweise diesmal mit insgesamt 30.000 Euro - statt wie im letzten Jahr 45.000 DM - dotiert. Bereits seit drei Jahren unterstützt ORDIX die Behindertensportreiterin Hannelore Brenner. Das Engagement der erfolgreichen Reiterin imponierte ORDIX so sehr, dass der Sponsoring Vertrag in 2001 noch einmal um drei Jahre verlängert wurde. Elisabeth Pähtz und die schöne Vizeweltmeisterin Alexandra Kosteniuk im „Duell der Grazien“. In 8 Partien Schnellschach hatten beide gleichsam die „Nase vorn“. Sie trennten sich 4:4 (Tiebreak 1:1). Schon mehrfach berichteten wir in der ORDIX News (3/2000, 4/2000, 3/2001) über die Zusammenarbeit mit Frau Brenner. Nach einem Reitunfall wurde Sie inkomplett querschnittsgelähmt, doch Dank ihres Mutes und ihres Kampfgeistes schaffte sie es wieder „aufs Pferd“. Und nicht nur das: In 1999 war sie Weltmeisterin im Behindertensportreiten und startete in 2000 sogar bei den Paralympics in Sydney. Einer gegen Alle „Am Ball bleiben“... ... nicht ganz – sonst wären es ca. 400 Gegner! Zwei spannende Simultans erwarteten das interessierte Publikum. Im 1. Simultan spielte der amtierende Weltmeister Ruslan Ponomarjow gegen 40 teilweise prominente Gegner, während die „Lolita“ des Schachs Alexandra Kosteniuk im 2. Simultan versuchte, 25 Gegner zu bezwingen. So würde es in Fußballerkreisen heißen - ist auch Frau Brenners Devise. Für die entschlossene Reiterin steht eine Reihe von neuen Projekten auf dem Programm. So nahm sie bereits an einigen Trainingslehrgängen teil, die sie u. a. fit für die EM in Portugal machen sollen und nicht zuletzt natürlich auch eine gute Der amtierende Weltmeister Ruslan Ponomarjow. Highlights Eines der „Sahnehäubchen“ der Veranstaltung war das alljährlich von ORDIX gesponserte „ORDIX Open“. Der Sieger hieß in diesem Jahr Viorel Bologan, der zahlreiche Großmeister aus den Top 100 der Weltrangliste souverän hinter sich ließ. Im „Duell der Weltmeister“ verteidigte FIDE-Weltmeister 2000/2002 Viswanathan Anand aus Indien erfolgreich das „Schwarze Jackett“ gegen den jüngsten Weltmeister aller Zeiten Ruslan Ponomarjow in einem 8-Partien Wettkampf. Alles in Allem Großmeisterin Elisabeth Pähtz (links), Vizeweltmeisterin Alexandra Kosteniuk. Frauen Power „Nicht nur die Männer sind des Schachbretts mächtig“ bew iesen die jüngste deutsche Großmeisterin 18 • ORDIX NEWS • AKTUELL ... wieder mal eine abgerundete Veranstaltung in einem glamourösen Rahmen, wobei wir in diesem Artikel nur einige Höhepunkte genannt haben. Weitere Informationen finden Sie im Internet unter http://www.frankfurtwest.de/ ChessClassic/CC02/default.htm Stefanie Heither (info@ordix.de). Ausgabe 3/2002 Vorbereitung für die nächsten Paralympics sind. Ein neues Team Reiten ist ein Teamsport - Reiter und Pferd müssen immer eine Einheit bilden, um Erfolg zu haben. So kann auch ein Reiter immer nur so gut sein, wie sein Pferd. Daher benötigt man neben intensivem Training stets gute Pferde, um seinen Leistungsstandard zu halten. Um der weiteren Reitkarriere den Weg zu ebnen, hatte daher auch Hannelore Brenner nach einem zusätzlichen Standbein Ausschau gehalten. Einen wahren Glücksgriff hat sie mit der 7-jährigen Stute Fabiola der Kampmann GmbH gemacht, die ihr im Rahmen eines Sponsoring-Vertrags für anstehende Prüfungen uneingeschränkt zur Verfügung steht. Genau wie ihre neue Reiterin, ist auch die Stute auf Erfolgskurs und erhielt neben Verbands- und Staatsprämie zahlreiche Platzierungen bei Prüfungen der Klassen L und M. Als starkes Team erwiesen sich die beiden schon vom ersten Tag ihrer Zusammenarbeit an. So erreichten sie bereits drei Erstplatzierungen auf den diesjährigen Dutch Open und gleich wieder drei Erstplatzierungen auf den Deutschen Meisterschaften in Lingen! Mit ihrem neuen „As im Ärmel“ konnte Frau Brenner hier ihren Titel als Deutsche Meisterin im Behinderten-Dressurreiten von 1999 bestätigen. An dieser Stelle wünschen wir Frau Brenner alles Gute und drücken ihr jetzt schon die Daumen für die EM in Portugal! Frau Brenner mit dem neuen Spitzenpferd Fabiola. Ausgabe 3/2002 Stefanie Heither (info@ordix.de). 19 • ORDIX NEWS • SYSTEM MANAGEMENT Big Sister is watching ... Stellt Open Source Software eine Alternative zu kommerziellen Produkten aus dem Bereich System- und Netzwerkmanagement dar? Für die Darstellung der Meldungen oder die Weiterleitung als Mail sind Server-Module verantwortlich, die ebenfalls auf Basis von SkriptSprachen realisiert wurden. Kleinere Unternehmen scheuen häufig die hohen Kosten solch umfassender Lösungen und verzichten unnötig auf eine Überwachung ihrer IT-Landschaft. Denn seit einigen Jahren gibt es auch Lösungen im Bereich der Open Source Software, die wir Ihnen im Folgenden näher vorstellen werden. Da beide Produkte das gleiche Protokoll für die Kommunikation verwenden können, kann ein Big Brother Client die von seinen Modulen ermittelten Status-Meldungen auch an einen Big Sister Server senden (und natürlich umgekehrt). Um die Limitierungen von ShellSkripten zu umgehen, startete der Schweizer Programmierer Thomas Aeby wenig später die Entwicklung von Big Sister, einem eigenen, an Big Brother angelehnten Produkt auf Basis der Skriptsprache Perl. Auch wenn beide Produkte unabhängig voneinander weiterentwickelt wurden, so liegt ihnen nicht nur das gleiche Konzept zugrunde. Sie sind auch weitgehend kompatibel und können so gemeinsam eingesetzt werden. Das Grundprinzip: Eine ClientServer-Architektur mit modularem Aufbau Abb. 1: Big Sister stellt den Status der überwachten Komponenten auf einer Web-Seite dar. Basis beider Produkte sind zentrale Komponenten, die die Kommunikation zwischen den Clientund den Server-Systemen übernehmen und die notwendigen Module starten und verwalten. Bei Big Brother ist dies ein in C geschriebenes Programm, das sowohl als Server als auch als Client betrieben werden kann. Bei Big Sister übernehmen verschiedene PerlSkripte diese Aufgaben. Ausgabe 3/2002 • ORDIX NEWS • Die eigentliche Überwachung wird durch unterschiedliche Client-Module realisiert. Bei Big Brother sind diese meist in Form von ShellSkripten, bei Big Sister durchweg in Form von Perl-Skripten realisiert. Kaum ein großes Unternehmen verzichtet heute auf eine umfassende Überwachung seiner Systeme, um Probleme und Engpässe bereits frühzeitig zu erkennen und einen Ausfall der Systeme zu verhindern. Dabei kommen vielfach kommerzielle Produkte wie BMC PATROL, HP OpenView oder Tivoli zum Einsatz. Die Hersteller dieser Produkte bieten Lösungen für fast alle Betriebssysteme und Applikationen an, die eine Vielzahl von Parametern überwachen. Bereits 1996 begann Sean McGuire mit der Entwicklung des auf einem C-Programm und ShellSkripten basierenden Produktes „Big Brother“. Das Programm ermittelt den Status unterschiedlicher System- und Netzwerk-Komponenten und stellt diese Informationen auf einer Web-Seite dar. Über Status-Änderungen kann der Administrator per Mail oder SMS benachrichtigt werden. 20 SYSTEM MANAGEMENT Die verschiedenen Module haben definierte Schnittstellen zu den zentralen Komponenten, so dass jederzeit eigene Module integriert werden können. Die Überwachung lässt sich so flexibel an die Bedürfnisse des Betreibers anpassen. Der offene Quellcode bietet zusätzlich die Möglichkeit, auch die zentralen Komponenten anzupassen. Vorteil Vielfalt: Agenten-Module zur SystemÜberwachung ... Für beide Produkte ist eine Vielzahl an Client-Modulen verfügbar. So kann die Auslastung der CPU, der freie Platz auf den Dateisystemen oder die Anzahl der laufenden Prozesse überwacht werden. Aber auch speziellere Anforderungen lassen sich mittels im Internet frei verfügbarer, kostenloser Module realisieren. Das können z. B. die Temperatur-Überwachung von CPUs oder der Zustand von USVs Ausgabe 3/2002 Abb. 2: Die verschiedenen Komponenten der beiden Produkte. sein. Die Gültigkeit von SSL-Zertifikaten auf Webservern oder der Zustand von Veritas-Clustern kann ebenfalls ermittelt werden. ... und zur Netzwerk-Überwachung Neben Modulen zur System-Überwachung stehen für beide Produkte auch verschiedene Module zur Überwachung von Netzwerk-Diensten zur Verfügung. Neben der Überwachung von Web- oder Mail-Servern können auch Netzwerk-Dienste wie DNS oder SSH überwacht werden. Aktive Netzwerkkomponenten wie Switches oder Router können mit Hilfe eines SNMP-Moduls überwacht werden. Kein passendes Modul vorhanden? Für die von Ihnen zu überwachende Applikation steht noch kein Modul zur Verfügung? Natürlich kann man auch eigene Überwachungen realisieren, wozu dann allerdings Programmierkenntnisse in den verwendeten Skriptsprachen erforderlich sind. Durch den offenen Quellcode und die definierten Schnittstellen ist dies jedoch kein Problem. Hier stehen wir Ihnen gerne mit Rat und Tat zur Verfügung. 21 • ORDIX NEWS • SYSTEM MANAGEMENT Modularität auf beiden Seiten: Für jeden Fall das passende Server-Modul In der Grundversion der Programme werden eingehende Alarme auf Status-Webseiten angezeigt und zusätzlich per Mail versendet. Dabei sind beide Programme sehr flexibel konfigurierbar. So können die Mails in Abhängigkeit von der Tageszeit, dem betroffenen Rechner oder der betroffenen Komponente an verschiedene Mail-Adressen gesendet oder auch unterdrückt werden. Zusätzlich können weitere Server-Module selbst programmiert und eingebunden werden, um so eine Weiterleitung an andere Management-Produkte zu ermöglichen. Vorteil von Big Sister: Erstellung von Zeitreihen-Grafiken Im Gegensatz zu Big Brother können die Agenten von Big Sister nicht nur Status-Informationen, sondern auch Performance-Werte an den Server übermitteln. Dieser generiert daraus auf Anforderung eine Zeitreihen-Grafik, mit der sich zum Beispiel die Auslastung der überwachten Systeme anschaulich darstellen lässt. Open Source Software Unter Open Source verstehen viele Leute sehr unterschiedliche Dinge. Generell kann man wohl sagen, dass zunächst mal der Quellcode verfügbar ist. Weiterhin ist mit einer bestimmten Lizenz geregelt, was man mit dem Quellcode machen darf. Meist besagt die Lizenz, dass man den Quellcode für eigene Zwecke modifizieren darf und das Programm einsetzen darf, solange man eigene Verbesserungen bei Produkten, die man selber vertreibt, wieder im Quellcode heraus gibt. Ausserdem profitiert Big Sister von der Plattformunabhängigkeit der Basissprache Perl. Fazit: Große Möglichkeiten für kleines Geld Auch wenn Open Source Software wie Big Brother oder Big Sister nicht den gleichen Funktionsumfang und Komfort wie kommerzielle Produkte erreichen, so haben sie doch einen entscheidenden finanziellen Vorteil bei den Lizenzen – auch wenn die ausschließliche Betrachtung der Lizenzkosten etwas blauäugig ist. AUS- & WEITERBILDUNG Neues Seminar: Projekte mit J2EE und WebSphere Dauer: 5 Tage Kursgebühr/Teilnehmer: 1.800,00 Euro zzgl. MwSt. Termine/Orte: 13. - 17.01.2003 Wiesbaden 31.3. - 4.4.2003 Wiesbaden Inhouse Seminare nach Absprache. Die Basismodule für die wichtigsten Systemkomponenten werden gleich mitgeliefert und zusätzliche Module können den Anforderungen entsprechend ergänzt werden. Gute Unterstützung erfährt man durch die jeweiligen „Communities“ im Web. Einige Unternehmen (wie z. B. ORDIX) bieten aber auch Unterstützungsleistungen und Support-Verträge für diese Produkte an, so dass man bei der Einführung oder im Fehlerfall nicht alleine da steht. Daher bieten diese Produkte den Unternehmen, deren IT-Landschaft nicht allzu groß ist, die Möglichkeit, eine sinnvolle und notwendige System- und Netzwerküberwachung zu realisieren und damit zur besseren Verfügbarkeit der ITSysteme beizutragen. Dauer: 5 Tage Kursgebühr/Teilnehmer: 1.800,00 Euro zzgl. MwSt. Termine/Orte: 18. - 22.11.2002 Wiesbaden 10. - 14.02.2003 Wiesbaden 05. - 09.05.2003 Wiesbaden Inhouse Seminare nach Absprache. Zielgruppe Programmierer, Entwickler Inhalte • J2EE Modell und Server-Side Technologien • WebSphere Überblick und Architektur • Eclipse Java Workbench und Test Environment • Servlet Grundlagen und Servlet API • Java Server Pages (JSP) und JavaBeans Grundlagen • Verwendung des MVC Design Pattern (Model-View-Controller) • Praktischer Einsatz auf dem WebSphere Applikationsserver • Mapping von Objekten zu relationalen Domains • Implementierung der Business Logik mit Enterprise Java Beans (EJB) • Session- und Entity-Beans • Deployment und Test von J2EE basierenden Applikationen • Erfahrungen aus der Praxis Der Kurs vermittelt dem Teilnehmer, wie er in den verschiedenen Phasen des Softwareentwicklungsprozesses die Eclipse-Plattform nutzen kann, um sowohl Client/ Server- und Web-Applikationen als auch Desktop-Anwendungen mit Java effizient zu entwickeln. In praxisnahen Übungen lernt der Teilnehmer in verschiedenen Szenarien den Umgang mit dem Open-Source-Entwicklungswerkzeug Eclipse. Dabei steht die Verwendung der Plug-Ins zur Entwicklung in einer Java-Umgebung im Mittelpunkt. Voraussetzung Unbedingt notwendig sind grundlegende Java-Programmierkenntnisse. Fortgeschrittene Java-Kenntnisse, sowie Kenntnisse des Webs (JSP/Servlets) und in HTML sind von Vorteil. Inhalte • Überblick Eclipse-Plattform • Installation und Konfiguration • Ressourcenverwaltung • Team-Support • Debugging (Java, JSP, Servlets) • Entwicklung mit unterschiedlichen JDKs • Refactoring • Dokumentation • Testen mit JUnit • Plug-Ins • Tipps und Tricks Andreas Jordan / Michael Güting (info@ordix.de). Ausgabe 3/2002 Voraussetzung Unbedingt notwendig sind grundlegende Java-Programmierkenntnisse. Fortgeschrittene Java-Kenntnisse, sowie Kenntnisse des Webs (JSP/Servlets) sind von Vorteil. Zielgruppe Software-Ingenieure und Internet-Entwickler, die effizient Web- und Client/ServerApplikationen entwickeln wollen. Big Brother ist zwar im Quellcode verfügbar aber nicht uneingeschränkt frei verwendbar. 22 Der Kurs vermittelt dem Teilnehmer, wie er die Technologien der J2EE-Plattform auf Basis eines Applikationsservers der WebSphere-Familie nutzen kann. Neues Seminar: Softwareentwicklung mit Java und Eclipse Einen Überblick über die recht unterschiedlichen Lizenzen findet man unter: http://www.opensource.org/licenses/ Big Sister untersteht der GPL (GNU Public License) und kann damit ohne Lizenzgebühren in Produktionsumgebungen verwendet werden. • ORDIX NEWS • Ausgabe 3/2002 23 Seminartermine - heraustrennbare Übersicht Informix Informix SQL Informix Dynamic Server Administration Informix Dynamic Server Tuning und Monitoring Informix Backup und Recovery mit ON-Bar Internet Web-Design mit HTML Web-Design mit JavaScript Web-Design mit PHP4 Webservices und SOAP Web-Server und Mail mit Apache und Linux Unix/Linux Security im Internet XML Einführung in XML Oracle und XML XML Programmierung unter Java mit DOM und SAX Java/Objektorientierung Objektorientierte Softwareentw. auf Basis von UML Java Basics Java GUI Entwicklung mit Swing Java Advanced Workshop: Java und JDBC Workshop: Java und Servlets Workshop: Java und RMI JSP und Servlet Programmierung mit Tomcat C++ Programmierung C# Programmierung Entwurfsmuster Projekte mit J2EE und Websphere Softwareentwicklung mit Java und Eclipse Testen mit Junit Oracle Oracle SQL Oracle PL/SQL Oracle Administration Basics Oracle Administration Advanced Oracle Administration für Informix Umsteiger Oracle Backup und Recovery Oracle Tuning und Monitoring Oracle 9i Neuheiten PATROL PATROL Basics PATROL Advanced PATROL Customizing and Development PATROL End-to-End Response Timer PATROL Service Reporting PATROL for Oracle PATROL for SAP Solutions PATROL Operations Manager (POM) BMC SQL Backtrack Perl Perl Programmierung Basics Perl Programmierung Advanced Projektmanagement IT-Projektmanagement Grundlagen des IT-Controlling Unix / Linux / Solaris / Samba Unix Basics Unix Shell, Awk und Sed Linux Basics Linux Advanced Solaris Administration Basics Solaris Administration Advanced I Solaris Administration Advanced II Solaris für Reliant Unix Umsteiger Samba Administration und Konfiguration KW 16 KW 15 KW 14 April KW 13 KW 12 KW 11 KW 10 März KW 9 KW 8 KW 7 KW 6 KW 5 KW 4 KW 3 KW 2 KW 52 KW 51 KW 50 KW 49 Februar Preis in Euro*)**) 2.050,00 2.150,00 1.400,00 1.350,00 2.050,00 2.150,00 1.400,00 1.350,00 1.800,00 1.550,00 1.950,00 1.100,00 2.050,00 2.150,00 1.800,00 1.550,00 1.950,00 1.100,00 2.050,00 2.150,00 1.300,00 1.600,00 900,00 1.300,00 1.600,00 900,00 1.200,00 2.050,00 2.050,00 2.050,00 1.100,00 1.100,00 1.100,00 2.050,00 1.800,00 2.050,00 1.300,00 1.800,00 1.800,00 1.100,00 1.200,00 2.050,00 2.050,00 2.050,00 1.100,00 1.100,00 1.100,00 2.050,00 1.800,00 2.050,00 1.300,00 1.800,00 1.800,00 1.100,00 2.050,00 2.050,00 2.150,00 2.150,00 2.150,00 2.150,00 2.190,00 2.190,00 2.050,00 2.050,00 2.150,00 2.150,00 2.150,00 2.150,00 2.190,00 2.190,00 1.800,00 1.800,00 1.800,00 950,00 1.350,00 950,00 950,00 950,00 950,00 1.800,00 1.800,00 1.800,00 950,00 1.350,00 950,00 950,00 950,00 950,00 1.950,00 2.050,00 1.950,00 2.050,00 2.050,00 1.300,00 2.050,00 1.300,00 1.800,00 2.050,00 1.800,00 2.050,00 2.150,00 2.150,00 2.190,00 2.150,00 1.230,00 1.800,00 2.050,00 1.800,00 2.050,00 2.150,00 2.150,00 2.190,00 2.150,00 1.230,00 Informix Informix SQL Informix Dynamic Server Administration Informix Dynamic Server Tuning und Monitoring Informix Backup und Recovery mit ON-Bar Internet Web-Design mit HTML Web-Design mit JavaScript Web-Design mit PHP4 Webservices und SOAP Web-Server und Mail mit Apache und Linux Unix/Linux Security im Internet XML Einführung in XML Oracle und XML XML Programmierung unter Java mit DOM und SAX Java/Objektorientierung Objektorientierte Softwareentw. auf Basis von UML Java Basics Java GUI Entwicklung mit Swing Java Advanced Workshop: Java und JDBC Workshop: Java und Servlets Workshop: Java und RMI JSP und Servlet Programmierung mit Tomcat C++ Programmierung C# Programmierung Entwurfsmuster Projekte mit J2EE und Websphere Softwareentwicklung mit Java und Eclipse Testen mit Junit Oracle Oracle SQL Oracle PL/SQL Oracle Administration Basics Oracle Administration Advanced Oracle Administration für Informix Umsteiger Oracle Backup und Recovery Oracle Tuning und Monitoring Oracle 9i Neuheiten PATROL PATROL Basics PATROL Advanced PATROL Customizing and Development PATROL End-to-End Response Timer PATROL Service Reporting PATROL for Oracle PATROL for SAP Solutions PATROL Operations Manager (POM) BMC SQL Backtrack Perl Perl Programmierung Basics Perl Programmierung Advanced Projektmanagement IT-Projektmanagement Grundlagen des IT-Controlling Unix / Linux / Solaris / Samba Unix Basics Unix Shell, Awk und Sed Linux Basics Linux Advanced Solaris Administration Basics Solaris Administration Advanced I Solaris Administration Advanced II Solaris für Reliant Unix Umsteiger Samba Administration und Konfiguration Für weitere Informationen stehen wir Ihnen jederzeit gerne zur Verfügung. Auf Wunsch senden wir Ihnen auch gerne unser komplettes Seminarprogramm zu. Seminarorte: Wiesbaden Nürnberg Saarbrücken Lippstadt Januar Dezember KW 48 KW 47 KW 46 KW 45 KW 44 November KW 43 KW 42 KW 41 Oktober KW 40 KW 39 Preis in Euro*)**) KW 38 Sept. September 2002 - April 2003 Alle Seminarinhalte und alle aktuellen Termine finden Sie jederzeit im Internet unter http://training.ordix.de Seminare in Nürnberg finden in Zusammenarbeit mit der Fujitsu Siemens Computers GmbH statt. Seminare in Saarbrücken finden in Zusammenarbeit mit der META LEVEL Software GmbH statt. Seminare in Lippstadt finden in Zusammenarbeit mit der G.i.S. mbH statt. *) Preise pro Seminar pro Teilnehmer in Euro. **) Inhousepreise auf Anfrage. Alle Preise gelten zzgl. ges. MwSt. Anmeldungen an: Westernmauer 12-16 D-33098 Paderborn Tel.: +49 (0) 52 51 / 10 63 - 0 Fax: +49 (0) 52 51 / 10 63 - 99 ORDIX AG Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: +49 (0) 6 11 / 7 78 40 - 00 Fax: +49 (0) 6 11 / 7 78 40 - 11 Informationen und Online-Anmeldung unter http://training.ordix.de. E-Mail: training@ordix.de Einige der hier aufgeführten Bezeichnungen sind eingetragene Warenzeichen ihrer jeweiligen Inhaber. Irrtümer vorbehalten. • ORDIX NEWS • AUS- & WEITERBILDUNG Kursgebühr/Teilnehmer: 1.100,00 Euro zzgl. MwSt. Termine/Orte: 17. - 19.02.2003 Wiesbaden 28. - 30.04.2003 Wiesbaden Inhouse Seminare nach Absprache. • ORDIX NEWS • +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER Neues Seminar: Testen mit JUnit Dauer: 3 Tage AKTUELL Der Kurs vermittelt dem Teilnehmer, wie er die Open Source Testumgebung JUnit bei Komponententests sinnvoll einsetzen kann. Betrachtet werden auch die in diesem Zusammenhang sinnvollen Methodiken des Refactoring und des Pair Programming. System Management beim Rechenzentrum der Finanzverwaltung NRW, Düsseldorf Das Rechenzentrum der Finanzverwaltung (RZF) ist für den Betrieb der DV Infrastruktur aller Finanzämter in Nordrhein Westfalen zuständig. Um einen reibungslosen Ablauf aller EDV-gestützten Vorgänge zu gewährleisten, werden zahlreiche Hard- und Softwarekomponenten mit BMC PATROL überwacht. Zur Infrastruktur gehört weiterhin ein zentrales Repository für Konfigurationen und eine Event Konsole mit verschiedenen Reportingmöglichkeiten. Neben der heterogenen DV Landschaft stellt die Überwachung von über eintausend NT Rechnern eine besondere Herausforderung dar. Voraussetzung Grundlegende Java-Programmierkenntnisse. Zielgruppe Programmierer, Entwickler Aufgrund eines Rahmenvertrages zwischen dem RZF und der ORDIX AG unterstützen mehrere Berater der ORDIX die Mitarbeiter des RZF bei ihren vielfältigen Installations-, Konfigurations- und Entwicklungsarbeiten. Inhalte • Testen nach Industriestandards • Testen als Design- und Analysetechnik • JUnit Grundzüge und Architektur • Automatisches Testen von Java Projekten • Testklassen und -methoden anlegen • Testsuits anlegen • Tests ausführen • Anwendung im Praxisbeispiel • Testgetriebene Entwicklung (JUnit im SW-Entwicklungsprozess) • Inkrementelle Entwicklung mit Ant und JUnit • Erweiterungen von JUnit • Testen von GUI-orientierten Applikationen • JUnit als Voraussetzung für Refactoring • Refactoring vs "Never change a running system!" • Anwendung im Praxisbeispiel • Refactoring in Kombination mit Pair Programming und Reviews • Kosten- und Nutzen-Überlegungen +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER Oracle Fail Safe auf Windows 2000 Cluster Als weltweit operierender Konzern der Automobil- und Luftfahrtindustrie ist die GKN die Nummer 1 auf dem Markt der Automobilzulieferer im Bereich Antriebswellen. Die Tochtergesellschaft GKN Löbro GmbH, mit Sitz in Offenbach/Main ist einer der deutschen Produktionsstandorte der GKN Automotive. Hier werden die Antriebswellen für nahezu alle Automobilhersteller weltweit gefertigt. Für die GKN Löbro GmbH hat die ORDIX AG ein Oracle Hochverfügbarkeitskonzept unter Windows 2000 mit Hilfe von Oracle Fail Safe implementiert. Auf dem hochverfügbaren Cluster läuft die ATOSS Software für Arbeitszeitmanagement. Weiterhin unterstützt ORDIX den Autozulieferer bei allen Fragen rund um das Thema Oracle. ORDIX hat bereits bei unterschiedlichen Kunden die Oracle Konfigurationen und Tuning-Maßnahmen im Bereich ATOSS Standardsoftware durchgeführt. Neues Seminar: Oracle und XML Dauer: 3 Tage Kursgebühr/Teilnehmer: 1.600,00 Euro zzgl. MwSt. Termine/Orte: 10. - 12.02.2003 Wiesbaden 26. - 28.05.2003 Wiesbaden Inhouse Seminare nach Absprache. Der Teilnehmer lernt in diesem Seminar die Oracle Features in Verbindung mit XML zu nutzen. +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER Voraussetzung XML Grundkenntnisse,Oracle SQL und PL/SQL Kenntnisse. ORDIX unterstützt Hessischen Rundfunk in der Java Entwicklung Zielgruppe Programmierer, Entwickler, Datenbankadministratoren Inhalte • Grundlagen: Oracle XML Komponenten, Beispiel: DB-Daten -> XML -> HTML • Oracle XML Parser: PL/SQL DOM API • XML in Clob’s speichern • XML Type: DBMS_XMLGEN • XSU - Generieren: Einführung, Generiertes XML Format, PL/SQL API, Generierung XML mit DTD • XSU – Speichern: DBMS_XMLSave (Insert, Update, Delete) • XSQL Servlet: Voraussetzungen, Parameter, Deklaration, Action Elemente • Übungen Der Bereich „EDV Organisation und Entwicklung“ beim Hessischen Rundfunk in Frankfurt nimmt unter den bundesweiten ARD Anstalten zentrale Aufgaben im EDV-Umfeld wahr. Seit nunmehr 10 Monaten unterstützt ORDIX die Java Entwicklung eines mehrschichtigen ClientServer Systems und deckt dort in erster Linie die Anbindung des Client ab. Daneben betätigen sich die ORDIX Mitarbeiter im Bereich „Konzeptionierung und Realisierung von Testszenarien“. In dem Projekt geht es um die Neugestaltung einer Host-basierten Archiv-Anwendung. Als Integrationsplattform dient dabei J2EE (Java 2 Enterprise Edition), die zunehmend in großen Unternehmenskontexten an zentraler Stelle zum Einsatz kommt. +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER ORDIX Konferenz: Terminverlegung Die für Herbst 2002 angekündigte ORDIX Konferenz zum Thema „Open Source Software: Lösung der Softwareprobleme?“ muss aus organisatorischen Gründen auf das kommende Jahr verlegt werden. Über Thema, Inhalte und den genauen Termin der neuen Veranstaltung werden wir Sie in 2003 rechtzeitig in der ORDIX News informieren. 26 Ausgabe 3/2002 Ausgabe 3/2002 27 AKTUELL • ORDIX NEWS • +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER System Management beim Rechenzentrum der Finanzverwaltung NRW, Düsseldorf Partnerschaft auf festes Fundament gesetzt: ORDIX übernimmt Mainzer Software- und Systemhaus Das Rechenzentrum der Finanzverwaltung (RZF) ist für den Betrieb der DV Infrastruktur aller Finanzämter in Nordrhein-Westfalen zuständig. Um einen reibungslosen Ablauf aller EDV-gestützten Vorgänge zu gewährleisten, werden zahlreiche Hard- und Softwarekomponenten mit BMC PATROL überwacht. Zur Infrastruktur gehören weiterhin ein zentrales Repository für Konfigurationen und eine Event Konsole mit verschiedenen Reportingmöglichkeiten. Neben der heterogenen DV Landschaft stellt die Überwachung von über tausend NT Rechnern eine besondere Herausforderung dar. Seit Anfang des Jahres steht die ORDIX AG mit dem Mainzer Software- und Systemhaus CONTIX System Management GmbH wegen einer Übernahme der gesamten Gesellschaftsanteile in Kontakt. Der Vertragsabschluss wird voraussichtlich im September erfolgen. Aufgrund eines Rahmenvertrages zwischen dem RZF und der ORDIX AG unterstützen mehrere Berater der ORDIX die Mitarbeiter des RZF bei ihren vielfältigen Installations-, Konfigurations- und Entwicklungsarbeiten. +++ TICKER +++ TICKER +++ TICKER +++ TICKER ORDIX unterstützt Hessischen Rundfunk in der Java Entwicklung Der Bereich „EDV Organisation und Entwicklung“ beim Hessischen Rundfunk in Frankfurt nimmt unter den bundesweiten ARD Anstalten zentrale Aufgaben im EDV-Umfeld wahr. Seit nunmehr zehn Monaten unterstützt ORDIX die Java Entwicklung eines mehrschichtigen Client-Server Systems und deckt dort in erster Linie die Anbindung des Client ab. Daneben betätigen sich die ORDIX Mitarbeiter im Bereich „Konzeptionierung und Realisierung von Testszenarien“. In dem Projekt geht es um die Neugestaltung einer Hostbasierten Archiv-Anwendung. Als Integrationsplattform dient dabei J2EE (Java 2 Enterprise Edition), die zunehmend in großen Unternehmenskontexten an zentraler Stelle zum Einsatz kommt. +++ TICKER +++ TICKER +++ TICKER +++ TICKER ORDIX Konferenz: Terminverlegung Die für Herbst 2002 angekündigte ORDIX Konferenz zum Thema „Open Source Software: Lösung der Softwareprobleme?“ muss aus organisatorischen Gründen auf das kommende Jahr verlegt werden. Über Thema, Inhalte und den genauen Termin der neuen Veranstaltung werden wir Sie in 2003 rechtzeitig in der ORDIX News informieren. Durch die Übernahme ergänzt ORDIX hervorragend sein bisheriges Know-how im Umfeld System Management im Bereich Tivoli und HP OpenView. Neben BMC PATROL und Open Source Lösungen decken die alten und neuen ORDIX Mitarbeiter dann fast die gesamte Bandbreite bei System Management Lösungen ab. Die CONTIX hat im abgelaufenen Geschäftsjahr (31.3.2002) einen Umsatz von ca. 2,4 Mio EURO erwirtschaftet. Zusammen mit dem CONTIX Umsatz nach der Übernahme plant ORDIX für das laufende Geschäftsjahr (Ende: 30.6.2003) eine Steigerung auf ca. 11 Mio EURO Umsatz. Die Mitarbeiter der CONTIX System Management GmbH werden sukzessive in die ORDIX AG übernommen werden. Der bisherige geschäftsführende Gesellschafter Folker Sewtz wird als Bereichsleiter System Management bei ORDIX auch weiterhin die Geschäftsführung von CONTIX inne haben. +++ TICKER +++ TICKER +++ TICKER +++ TICKER Oracle Fail Safe auf Windows 2000 Cluster Als weltweit operierender Konzern der Automobil- und Luftfahrtindustrie ist die GKN die Nummer 1 auf dem Markt der Automobilzulieferer im Bereich Antriebswellen. Die Tochtergesellschaft GKN Löbro GmbH, mit Sitz in Offenbach/Main ist einer der deutschen Produktionsstandorte der GKN Automotive. Hier werden die Antriebswellen für nahezu alle Automobilhersteller weltweit gefertigt. Für die GKN Löbro GmbH hat die ORDIX AG ein Oracle Hochverfügbarkeitskonzept unter Windows 2000 mit Hilfe von Oracle Fail Safe implementiert. Auf dem hochverfügbaren Cluster läuft die ATOSS Software für Arbeitszeitmanagement. Weiterhin unterstützt ORDIX den Autozulieferer bei allen Fragen rund um das Thema Oracle. ORDIX hat bereits bei unterschiedlichen Kunden die Oracle Konfigurationen und Tuning-Maßnahmen im Bereich ATOSS Standardsoftware durchgeführt. +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER +++ TICKER Ausgabe 3/2002 27 • ORDIX NEWS • JAVA Eclipse: Das Schweizer Messer für den Softwareentwickler? Seit IBM den Quelltext seiner Plattform für Entwicklungsumgebungen als OpenSource veröffentlicht hat, ist einige Zeit vergangen. Kürzlich wurde das Final Release der Version 2.0 freigegeben. Dies soll zum Anlass genommen werden, Eclipse ein wenig genauer unter die Lupe zu nehmen. Die Plattform Eclipse alleine ist eigentlich zu fast nichts zu gebrauchen. Es stellt lediglich ein Framework zur Verfügung, das die Entwicklung integrierter Entwicklungsumgebungen ermöglicht. Seine Fähigkeiten bekommt Eclipse durch Plug-Ins verliehen, die je nach Bedarf und Zweck von unterschiedlichen Herstellern integriert werden können. Für den Entwickler bedeutet dies, dass er, egal ob er in Java, C++ oder einer anderen Sprache arbeitet, die entsprechenden Plug-Ins installiert und eine einheitliche Umgebung vorfindet. Dies gilt im Übrigen auch für die Art des Projektes, mit dem er sich gerade beschäftigt. Benötigt er einen HTMLEditor, ein Tool zum Datenbank-Mapping oder ein UML-Design-Werkzeug, kann er der Entwicklungsumgebung die gewünschte Fähigkeit durch ein Plug-In beibringen. Eclipse selbst ist in Java implementiert und bringt wohl nicht zuletzt aus diesem Grund in der frei verfügbaren Version alle Werkzeuge (in Form von Plug-Ins) für die Softwareentwicklung in Java mit. Voraussetzung für die Ausführung von Eclipse ist eine installierte Java Laufzeitumgebung (JRE) der Version 1.3. Zur Zeit ist Eclipse für Windows, Linux und andere Unix-Derivate verfügbar. Die Historie Mit „VisualAge for Java“ war IBM im Bereich der Java-Entwicklungsumgebungen glänzend positioniert. Die besonderen Fähigkeiten, wie das inkrementelle Übersetzen, die Möglichkeit der Codeänderung während der Laufzeit bzw. des Debuggens, die ausgezeichnete Kreuzreferenzsuche und die Team-Komponenten, verhalfen dem Werkzeug zu einer großen Entwicklergemeinde. 28 Mit der Zeit stellte sich jedoch heraus, dass auch mit der immer Web-zentrierteren Softwareentwicklung einige Nachteile in den Vordergrund rückten. IBM konnte mit der Entwicklung der Java Development Kits (JDK) nicht mehr Schritt halten, da die jeweilige virtuelle Maschine fester Bestandteil der IDE war. Zudem erwies sich das nicht filebasierte Repository zunehmend als Hindernis für die Anbindung externer Tools. Nachdem die technischen Möglichkeiten nach einigen überarbeiteten Versionen ausgereizt waren, entschied sich IBM zu einer kompletten Neuentwicklung, die im Rahmen der Weiterentwicklung des Applikationservers WebSphere im „WebSphere Studio Application Developer“ (WSAD) mündete, welcher auf der ersten EclipseVersion basiert. • ORDIX NEWS • JAVA ser Firmen haben bereits ihre Werkzeuge für Eclipse angepasst, andere sind noch dabei, dies zu tun. Die Federführung im Konsortium hat zur Zeit noch IBM, vertreten durch seine Tochter Object Technology International (OTI), die bis zur Gründung des Konsortiums auch sämtliche Arbeiten zu Eclipse geleistet hatte. In Zukunft soll der Einfluss der einzelnen Mitglieder des Konsortiums durch deren Beiträge zum Projekt bestimmt werden. Nachdem sich weitere Firmen dem Konsortium angeschlossen haben und auch außerhalb des Konsortiums eine Menge Projekte für Plug-Ins initiiert wurden, scheint sich Eclipse in der Entwicklergemeinde zu etablieren. Damit wäre auch ein weiteres Ziel erreicht, das IBM nicht ganz uneigennützig mit der Gründung des Konsortiums verfolgte, nämlich die Platzierung eines starken Konkurrenzproduktes zu SUNs NetBeans und Microsofts .NET Werkzeugen. Die Architektur Die Eclipse-Plattform stellt zunächst nur einen leeren Rahmen zur Integration verschiedener Werkzeuge zur Verfügung. Dieser Rahmen besteht aus folgenden fünf Komponenten (siehe Abb. 1): welche Plug-Ins vorhanden sind und registriert sie. Der Code des Plug-Ins wird erst dann in den Speicher geladen, wenn es zum ersten Mal angesprochen wird. • Workspace Die verschiedenen Plug-Ins arbeiten auf normalen Dateien, die sich im Workspace des Benutzers befinden. Alle Dateien sind hierarchisch in Projekten organisiert, die mit Verzeichnissen im Dateisystem assoziiert sind. Der Workspace kann mehrere Projekte gleichzeitig beinhalten. • Workbench Die Workbench stellt das eigentliche User-Interface, also die grafische Benutzeroberfläche dar. Alle Plug-Ins müssen von den in ihr vorhandenen Komponenten zur Darstellung von Editoren, Formularen, etc. Gebrauch machen. Das Standard Widget Toolkit (SWT) stellt dabei eine betriebssystemunabhängige API für die Darstellung einiger grundlegender Komponenten wie Buttons, Menüs, usw. zur Verfügung. JFace hingegen baut auf dem SWT auf, und bietet eine API auf einer höheren Abstraktionsebene zur Programmierung von Formularen, Wizards und anderen komplexeren Komponenten. JFace ist unabhängig von dem verwendeten Fenstersystem (Windows, Motif, GTK, …). Die Verwendung des SWT (als Alternative zu den Swing-GUI-Komponenten) bringt zwei große Vorteile. Zum einen ist das SWT eine native API, die eine höhere Performance aufweist als die Swing-API, da deren Komponenten für das Das Konsortium • Platform-Runtime-Modul Als IBM sich entschloss, Eclipse als Open-Source-Projekt zu veröffentlichen, entschied man sich, dies nicht allein zu tun. Man versuchte, andere namhafte Firmen für ein Konsortium zu gewinnen, um dem Projekt ein entsprechendes Gewicht zu verleihen. Dem Eclipse-Konsortium gehören u. a. Borland, IBM, Merant, Rational Software, RedHat, SuSE, TogetherSoft und WebGain an. Einige die- Ausgabe 3/2002 (PRM) Das Platform-Runtime-Modul ist für die Verwaltung der Plug-Ins verantwortlich. Jedes Plug-In verfügt über ein sogenanntes Manifest-File, eine Beschreibung des Plug-Ins und seiner Beziehungen zu anderen PlugIns in Form einer XML-Datei. Nach dem Start überprüft das Platform-Runtime-Modul anhand der Manifest-Dateien, Ausgabe 3/2002 Abb. 1: Architektur der Eclipse-Plattform. 29 • ORDIX NEWS • JAVA jeweilige Betriebssystem emuliert werden. Zum anderen sind die Komponenten des SWT optimal an das Look-and-Feel des entsprechenden Betriebssystems angepasst. Dadurch erkennt der Anwender quasi nicht, dass er es mit einer Java-Applikation zu tun hat. Ein Nachteil des SWT darf dabei nicht verschwiegen werden: Die Plattformunabhängigkeit geht verloren. Für jede Benutzeroberfläche (Windows, Motif, …) wird eine eigene Implementierung der SWT-API benötigt. • Team-Unterstützung Die Team-Unterstützung erweitert die EclipsePlattform um ein Versions- und Konfigurationsmanagement (VCM). Dieses kann versionierte Ressourcen (Projekte, Verzeichnisse, Dateien) in verschiedenen, heterogenen Repositories verwalten. Die Unterstützung für das „Concurrent Versions System“ (CVS) ist bereits in der Grundversion von Eclipse enthalten. • Hilfesystem Das Hilfesystem arbeitet mit einer Kombination aus XML- und HTML-Dateien. Dabei enthalten die XML-Dateien Informationen zur Navigation, während HTML-Dateien die eigentlichen HilfeInhalte zur Verfügung stellen. Die Hilfe-Dateien werden ähnlich den Plug-Ins in der Eclipse-Plattform integriert. Die frei verfügbare Version von Eclipse bringt von Haus aus die „Java Development Tools“ (JDT) als Plug-Ins mit. Damit existiert eine hervorragende, freie Entwicklungsumgebung für die Sprache Java. 30 Analoges gilt für die Editoren, die zur Bearbeitung der verschiedenen Dateitypen existieren. Der Editor zur Bearbeitung einer Java-Klassendatei bietet z. B. Javaspezifisches Syntax-Highlighting und semantische Auto-Vervollständigung. Die Konzepte Die Features Die zentralen Begriffe bei der Arbeit mit Eclipse sind „Projekt“, „Perspektive“, „View“ und „Editor“. Ein Projekt strukturiert eine Vielzahl von Dateien und Verzeichnissen. Es können mehrere Projekte gleichberechtigt nebeneinander existieren. Jedes Projekt wird durch einen Typ klassifiziert. Die Klassifizierung ist nicht sprachenabhängig. So kann es zwar Javaund C++-Projekte geben, aber auch Projekte zur Erstellung von Websites mit unterschiedlichen Technologien. Die Palette der Fähigkeiten von Eclipse-JDT ist vielfältig. An dieser Stelle sollen nur einige Highlights kurz genannt werden: • Semantische Auto-Vervollständigung • Semantische Kreuzreferenzfunktionen • Inkrementelles Übersetzen • Hot Code Replace • • Eclipse bietet die Möglichkeit, jedes Projekt unter verschiedenen Perspektiven zu betrachten. Die möglichen Perspektiven sind abhängig von der Art des Projektes. In einem Java-Projekt kann dies beispielsweise die normale Ansicht zum Erstellen und Bearbeiten der Klassen und Methoden sein (siehe Abb. 2). Andererseits benötigt der Entwickler beim Debuggen des Projekts völlig andere Informationen. Diese sind in der Debugging-Perspektive (siehe Abb. 3) zusammengefasst. Abb. 2: Normale Ansicht zum Erstellen und Bearbeiten der Klassen und Methoden aus der Java-Perspektive. • ORDIX NEWS • JAVA Die einzelnen „Fenster“ einer Perspektive werden als Views bezeichnet. Jede View stellt die Informationen einer Datei in einer oder mehreren für diesen Dateityp spezifischen Weise dar. Für eine HTML-Datei kann dies z. B. die Ansicht als Vorschau oder Quelltext sein. Ausgabe 3/2002 (Modifizieren des Codes zur Laufzeit/beim Debugging) Unterstützung für beliebige Java Development Kits CVS-Unterstützung Fazit IBM´s Strategie, Eclipse als OpenSource-Projekt zu fördern, scheint goldrichtig zu sein. Immer mehr Firmen verwenden Eclipse als Basis für ihre eigenen Produkte. Eine kostengünstige Entwicklung effizienter Tools wird so durch das Vorhandensein eines qualitativ hochwertigen Frameworks ermöglicht. Mit der vorliegenden Eclipse-Version existiert eine sehr gute, freie Entwicklungsumgebung für die Software-Entwicklung in Java. Die kommerziellen Varianten „WebSphere Studio Site Developer“ (WSSD) und „WebSphere Studio Application Developer“ (WSAD) von IBM sind besonders im Umfeld der Web-Entwicklung schon sehr weit entwickelt. Der Markt für Entwicklungsumgebungen befindet sich zur Zeit in Ausgabe 3/2002 Abb. 3: Debugging-Perspektive. einer Konsolidierungsphase. Mit WebGain (VisualCafé) hat gerade ein weiterer prominenter Vertreter die Segel gestrichen. Dies ist ein klares Zeichen dafür, dass sich die Geschäfts modelle, bei denen IDEs zu hohen Preisen vermarktet werden konnten, wahrscheinlich überlebt haben. Durch die kostspielige Entwicklung lassen sich keine ausreichenden Margen mehr erzielen. Eclipse hat sich mittlerweile einen festen Platz in der Riege der etablierten Entwicklungsumgebungen sichern können. In Zukunft könnte sich bei weiter steigender Akzeptanz der Himmel für JBuilder, NetBeans & Co. tatsächlich verdunkeln. Seit kurzem bietet ORDIX in Zusammenarbeit mit Object Systems Seminare für Eclipse an. Informieren Sie sich über Inhalte und Termine auf der herausnehmbaren Seminarübersicht in der Mitte dieser ORDIX News. Zusätzliche Informationen finden Sie unter http://training.ordix.de im Internet. Weitere Informationen zum Thema Eclipse finden Sie im Internet unter http://www.eclipse.org. EclipsePlug-Ins sind unter http://eclipse-plugins.2y.net verfügbar. Andreas Flügge, Object Systems GmbH (info@ordix.de). 31 • ORDIX NEWS • SYSTEME & NETZE Sudo - Im Auftrag des Herrn ... Sudo bietet “normalen” Benutzern die Möglichkeit, bestimmte Programme unter einer anderen Kennung auszuführen. Besonders interessant sind hierbei Administrationskommandos, die ausschließlich über den Root-Account laufen. • ORDIX NEWS • SYSTEME & NETZE so verschafft man sich zunächst Klarheit darüber, mit welcher Version man es zu tun hat. sudo -V zeigt dem normalen Benutzer an, welche Version installiert ist; unter der root-Kennung ausgeführt, erfährt man darüber hinaus, welche Eigenschaften in das Programm einkompiliert wurden (siehe Abb. 1). Password: You type like i drive. Password: Do you think like you type? Password: Are you on drugs? Password: What, what, what, what, what, what, what, what, what, what? Password: Your mind just hasn't been the same since the electro-shock, has it? Password: I've seen penguins that can type better than that. Password: Speak English you fool --- there are no subtitles in this scene. ... Divide et Impere Wie kann man z. B. die User-Verwaltung an einen bestimmten Benutzer delegieren, sprich: es jemandem ermöglichen, Accounts anzulegen und zu löschen, ohne dafür jedes Mal das Root-Passwort preiszugeben oder umzusetzen? Dieser Artikel zeigt das Konzept von sudo auf, nennt dessen Vor- und Nachteile, und erläutert, wie man das Tool sinnvoll einsetzt. Quellen und Tools Wenn sich die Software noch nicht auf dem System befindet, oder wenn die vorhandene Version zu alt und/oder mit bekannten Fehlern behaftet ist, kann man sich die aktuellen Quellen aus dem Internet besorgen (Version 1.6.6; Todd Millers Kurtisanen-Seite http://www.courtesan.com/sudo). Hier rn@vantage:~ > sudo sudo -V Password: Sudo version 1.6.3 Authentication methods: 'pam' Syslog facility if syslog is being used for logging: auth Syslog priority to use when user authenticates successfully: notice Syslog priority to use when user authenticates unsuccessfully: alert Ignore '.' in $PATH Send mail if the user is not in sudoers Use a separate timestamp for each user/tty combo Lecture user the first time they run sudo Require users to authenticate by default Root may run sudo Set $HOME to the target user when starting a shell with -s Allow some information gathering to give useful error messages Insult the user when they enter an incorrect password Visudo will honor the EDITOR environment variable Set the LOGNAME and USER environment variables Length at which to wrap log file lines (0 for no wrap): 80 Authentication timestamp timeout: 5 minutes Password prompt timeout: 5 minutes Number of tries to enter a password: 3 Umask to use or 0777 to use user's: 022 Path to mail program: /usr/sbin/sendmail Flags for mail program: -t Address to send mail to: root Subject line for mail messages: *** SECURITY information for %h *** Incorrect password message: Sorry, try again. Path to authentication timestamp dir: /var/run/sudo Default password prompt: Password: Default user to run commands as: root Path to the editor for use by visudo: /usr/bin/vi When to require a password for 'list' pseudocommand: any When to require a password for 'verify' pseudocommand: all Abb. 1: Beispiel für Standardeinstellungen unter SuSE7.3. 32 gibt es auch Hinweise zu weiteren Tools im sudo-Umfeld, zu bekannten Sicherheitslücken und deren Bugfixes. Neben den gängigsten Betriebssystemen (Solaris, HP-UX, AIX, RU, Linux, ...) werden ebenfalls eine Reihe von „Exoten“ unterstützt. Im Einzelfall lässt sich unter o.g. Webadresse klären, ob das eigene System dabei ist. Alternativ zu den Quellen gibt es häufig auch vorkompilierte Software, bzw. installierbare SW-Pakete. Übersetzen und Installieren Sind die Quellen heruntergeladen und entpackt, beginnt die Konfiguration. Dazu wird zunächst das configure-Script angestoßen, welches das eigentliche Makefile erzeugt. Mit make und make install werden die Quellen übersetzt, bzw. das Kompilat installiert. Das configure-Script kennt eine Fülle von Schaltern, über die man sich mit configure --help einen Überblick verschaffen kann. Einige der hier festgelegten Eigenschaften lassen sich auch später noch zur Laufzeit konfigurieren (s. u.). Befindet sich bereits ein entsprechendes Paket auf dem System, Ausgabe 3/2002 Nun kann es an die Aufgabenverteilung gehen! Die zentrale (und einzige) Konfigurationsdatei ist /etc/sudoers. Hierin wird festgelegt, wer was darf (Vergabe von Zusatzrechten). Des weiteren kann über eine Reihe von Parametern das Verhalten von sudo eingestellt werden. Es gibt es drei Typen von Einträgen: 1. Anpassen von Default-Werten, 2. Definition von Aliasen und 3. Vergabe von Berechtigungen. Die folgenden Besonderheiten können in /etc/sudoers verwendet werden: - ALL ist ein built-in-alias Unterstützung von Shell-Wildcards ! als Negationsoperator bei Aliasen und vor Kommandos (Achtung: ALL in Kombination mit ! kann schnell zu einem Eigentor führen!) 1. Defaults Durch Zeilen, die mit dem Schlüsselwort Defaults beginnen, werden die einkompilierten Standards übersteuert. sudo -L erzeugt eine Liste aller möglichen Parameter. Beispiel: Defaults:BOSS Defaults Ausgabe 3/2002 Abb. 2: Vorsicht bei „Insulting“- Die „Reaktionen“ auf falsche Passworte mögen recht amüsant sein, sind aber nicht jedermanns Sache! Hier eine kleine Kostprobe. Die erste Zeile mit dem vorangestellten Schlüsselwort Defaults sorgt dafür, dass die Mitglieder der Gruppe BOSS nicht vom System beschimpft werden, wenn sie ein falsches Passwort eingeben. Stattdessen wird durch Zeile 2 die neutrale Meldung „Falsches Passwort!“ bevorzugt (siehe Abb. 2.). 2. Aliase Die Aliasdefinitionen dienen der einfacheren Handhabung und zur Zusammenfassung von Objekten. Sudo kennt vier Typen von Aliasen: - User_Alias Runas_Alias Host_Alias Cmnd_Alias Ein Alias definiert sich durch die Zuordnung von Werten, die selbst auch Alias sein können. Beispiel: User_Alias BOSS User_Alias ROOTADM Cmnd_Alias INIT Cmnd_Alias SHUTDWN Cmnd_Alias REBOOT Cmnd_Alias RLCHANGE Cmnd_Alias USBIN Cmnd_Alias USERCMD = = = = = = = = Host_Alias RU400 Host_Alias RU600 Host_Alias RU Host_Alias SOLARIS = = = = !insults badpass_message=“Falsches Passwort!“ ts, rn %root, %admin, alex, BOSS /usr/sbin/init [06] /usr/sbin/shutdown * /usr/sbin/reboot INIT SHUTDWN REBOOT /usr/sbin/* /usr/sbin/useradd -c [A-Z.a-z]* \ -d /export/home/[a-z]* \ -m -s /bin/[a-z]* -u [0-9]* \ -g ordix [a-z]* , \ /usr/sbin/userdel [a-z]* , \ ! /usr/sbin/userdel root rm200, rm400, nevada jupiter, zeus RU400, RU600 asterix, obelix, solarix In der ersten Zeile wird der User Alias BOSS durch die User ts und rn definiert; in der Zeile 33 • ORDIX NEWS • SYSTEME & NETZE darunter wird ein Alias ROOTADM definiert, dem alle angehören, die in der Gruppe root oder admin sind, sowie der User alex und die User, die als BOSS eingetragen sind. ist. Alternativ kann man auch dafür sorgen, dass sudo die EDITOR-Variable aus der Umgebung auswertet. Die nächsten vier Zeilen definieren je einen Kommando-Alias, der in der darauffolgenden Zeile als Alias RLCHANGE zusammengefasst wird. Just Do It! Über den Alias USBIN werden alle Kommandos unter /usr/sbin verfügbar. Bei generellen Freigaben dieser Art sollte man sich aber über die Konsequenzen und möglichen Gefahren im Klaren sein: Es wird jemandem mit dieser Erlaubnis nicht schwer fallen, eine uneingeschränkte Root-Berechtigung zu erlangen, z. B. wenn er ein Kommando startet, aus dem selbst wieder eine Shell gestartet werden kann! Der Alias USERCMD erlaubt das Anlegen von Benutzern, aber auch das Löschen von Accounts - mit Ausnahme des root-Accounts. In ähnlicher Weise verfahren Host Aliase: Sie fassen Maschinen zu Klassen zusammen. Damit der Benutzer nun ein per sudo freigegebenes (Superuser-) Kommando ausführen kann, stellt man dem Kommando ein „sudo“ voran. Wer seine sudo-Rechte einsehen möchte, sollte als erstes ein sudo -l ausprobieren. Anschließend wird man aufgefordert, ein Passwort einzugeben. Hierbei ist das eigene gemeint! Dieser Mechanismus kann dem Missbrauch von offenen, aber verlassenen Sitzungen vorbeugen. Ist die Authentifizierung erfolgreich verlaufen, wird das Kommando unter den entsprechenden Rechten ausgeführt. AUS- & WEITERBILDUNG ... May May May Mai Mai May May Mai May May May ... 28 28 28 28 28 28 28 28 28 28 28 22:17:35 22:30:26 22:30:37 22:30:37 22:30:37 22:30:41 22:30:45 22:30:49 22:30:54 22:32:16 22:33:15 corrado corrado corrado corrado corrado corrado corrado corrado corrado corrado corrado • ORDIX NEWS • -- MARK -sudo: rn : TTY=pts/8 ; PWD=/tmp/sudo-1.6.6 ; USER=root ; COMMAND=list sudo: rn : TTY=pts/8 ; PWD=/tmp/sudo-1.6.6 ; USER=root ; COMMAND=/bin/su - kwp su: (to kwp) root on /dev/pts/8 PAM-unix2[11622]: session started for user kwp, service su sudo: kwp : command not allowed ; TTY=pts/8 ; PWD=/home/kwp ; USER=root ; COMMAND=list sudo: kwp : command not allowed ; TTY=pts/8 ; PWD=/home/kwp ; USER=root ; COMMAND=validate PAM-unix2[11622]: session finished for user kwp, service su sudo: rn : TTY=pts/8 ; PWD=/tmp/sudo-1.6.6 ; USER=root ; COMMAND=validate sudo: rn : TTY=pts/8 ; PWD=/tmp/sudo-1.6.6 ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/messages sudo: rn : TTY=pts/2 ; PWD=/home/rn ; USER=root ; COMMAND=/bin/ls Abb. 3: Auszug aus einer Logdatei. Fazit Sudo ist eine freie Software. Es stellt ein kompaktes und einfach zu handhabendes Tool dar. Durch die Verfügbarkeit auf diversen Plattformen ist es (fast) universell einsetzbar. Es ist sehr flexibel konfigurierbar und ermöglicht eine ebenfalls sehr differenzierte Rechtevergabe. Hierbei muss natürlich mit entsprechender Sorgfalt vorgegangen werden, um keine ungewollten Freiheiten zu eröffnen! Es eignet sich somit besonders gut dafür, Administrationsaufgaben auf mehrere Schultern zu verteilen. Durch das explizite und ausführliche Loggen der sudo-Kommandos lassen sich die Aktionen gut nachvollziehen. Zu weiteren Details sei auf die mitgelieferten, ausführlichen „man pages“ hingewiesen, die ebenfalls jede Menge Beispiele parat halten. Roger Niemeyer (info@ordix.de). 3. Berechtigungen Die Einträge erfolgen gemäß folgendem Muster „Wem ist auf welchem Rechner (unter welcher Kennung) was erlaubt?“, oder symbolisch: <User> <Rechner> = <(Kennung)> <Kommando> Beispiel: ROOTADM BOSS ALL = (ALL) ALL ALL = NOPASSWD: ALL Alle Benutzer, die ROOTADM zugeordnet sind, dürfen auf allen Systemen alle Kommandos ausführen (1. Zeile); ebenso alle Personen, die dem Alias BOSS zugeordnet sind, allerdings brauchen diese sich nicht zu authentifizieren (2. Zeile)! Achtung: Zum Editieren der sudoers-Datei sollte das im Paket enthaltene Programm visudo benutzt werden. Zum einen wird dadurch eine Sperre auf die Datei gesetzt und zum anderen führt es eine Syntaxprüfung nach dem Editieren durch. Wie der Name schon andeutet, wird hierbei standardmäßig der vi benutzt. Wer das nicht mag, sollte beim configure-Lauf den Schalter --with-editor=PATH setzen, wobei PATH der Pfad zu dem Editor der Wahl 34 Damit nicht bei jedem sudo-Kommando das Passwort eingegeben werden muss, wird die Authentifizierungszeit festgehalten (/var/ run/<user>). Nur wenn innerhalb einer bestimmten Zeit (default: 5min; configure-Schalter --withtimeout, bzw. über Parameter passwd-timout in der sudoers-Datei modifizierbar) kein weiteres sudo-Kommando abgesetzt wird, muss beim nächsten Mal wieder authentifiziert werden. Dieser Zeitstempel kann auch einfach durch das ansonsten „leere“ Kommando sudo -v aktualisiert werden, bzw. direkt gelöscht werden (sudo -k), was z. B. in einem logout-Script sinnvoll ist. Neues Seminar: XML Programmierung unter Java mit DOM und SAX Dauer: 2 Tage Kursgebühr/Teilnehmer: 900,00 Euro zzgl. MwSt. Termine/Orte: 20. - 21.02.2003 Wiesbaden 08. - 09.05.2003 Wiesbaden Inhouse Seminare nach Absprache. Die Teilnehmer dieses Seminars lernen an praktischen Beispielen mit Java unter Anwendung von DOM- und SAX-Parsern auf den Inhalt und die Struktur von XMLDokumenten zuzugreifen und diese zu bearbeiten. Voraussetzung XML-Kenntnisse entsprechend dem Seminar XML Einführung, Java-Grundkenntnisse. Zielgruppe Anwendungsentwickler, Programmierer Inhalte • Funktion eines XML-Parsers • Die Interfaces des Document Object Model (DOM) • Struktur und Anwendung von DOM-Parsern • Struktur und Anwendung von SAX -Parsen • Praktisches Arbeiten mit SAX- und DOM-Parsern Die Benutzung des sudo-Kommandos wird vom syslogd mitprotokolliert (Abb. 3). Dabei wird local2.noticebzw. local2.alert verwendet, und kann bei Bedarf angepasst werden. Ausgabe 3/2002 Ausgabe 3/2002 35 • ORDIX NEWS • SYSTEME & NETZE Sun + Fire = Power ? Veritas Cluster Server Mit dem Namen Sun Fire 15K schickt Sun Microsystems ihr High End System ins Rennen um den Konsolidierungs-Markt. Für uns Grund genug, sich das System einmal näher anzuschauen und die angebotenen Leistungsmerkmale aufzuzeigen. Der Veritas Cluster Server (VCS) ist einer der renommiertesten auf dem Markt. Ein guter Grund, sich mit der Architektur dieses Produkts einmal näher vertraut zu machen. In Zeiten, wo IT-Abteilungen mit immer knapperen Ressourcen konfrontiert werden und Kostenreduktion eines der wichtigsten Themen darstellt, ist die Frage berechtigt, warum in Systeme investiert werden soll, die nicht nur wegen Ihrer Leistung mit dem Begriff „High End“ tituliert werden können. • Für das Betriebssystem Solaris 8 (und höher) gibt es im Vergleich zu anderen Plattformen eine große Menge von portierten Standardanwendungen. • Für die Server-Verwaltung stellt das Sun Management Center eine einfache java-basierte Schnittstelle, einen Webbrowser und ein Kommandozeileninterface mit rollenbasierter Zugriffskontrolle zur Verfügung. Die eigentliche Kostenersparnis kann nur während des Betriebs gewonnen werden, indem erhöhte Service Level Agreements eingehalten werden und komplexe System-Umgebungen flexibel und einfach administrierbar sind. Neben erhöhter Leistung ist Verfügbarkeit das wichtigste Kriterium beim Betrieb von Systemen. Um beide Ziele zu erreichen, bietet Sun Microsystems mit der Sun Fire 15K folgende Merkmale an: • Ausbau bis zu 106 UltraSPARC III Prozessoren mit Taktraten von 900 MHz • Über 0,5 Terabyte Arbeitsspeicher • Bis zu 18 Domains konfigurierbar. Eine Rekonfiguration der Domains ist mittels Dynamic Systems Domain während des Betriebs möglich. Somit lassen sich bei Performance-Engpässen Systemressourcen (CPU, Speicher, I/ O-Boards) einer Domain zuweisen, ohne einen Neustart des Betriebssystems zu veranlassen. • • 36 • ORDIX NEWS • SYSTEME & NETZE Vollständige Hardware-Redundanz. Vom Lüfter über Netzteile bis zum Systemcontroller sind alle wichtigen Komponenten redundant ausgelegt, so dass der Ausfall einer Komponente nicht gleich zu einem Komplett-Ausfall führt. Viele Hot-Swap Komponenten (CPU, Speicher, PCI-Boards) lassen sich im laufenden Betrieb austauschen. Durch das sun-einheitliche Uniboard-Design der Prozessor- und Speicherplatzplatinen lassen sich diese innerhalb der Produktlinie von der Sun Fire 3800 bis zur Sun Fire 15K einsetzen. • Sollte die Basisverfügbarkeit des Systems mal nicht ausreichend sein (z. B. bei komplettem Stromausfall), so kann mittels HochverfügbarkeitsSoftware der Ausfall der betroffenen Domains durch Übernahme auf andere Domains aktiviert werden. Hier gibt es die Auswahl zwischen mehreren Lösungen wie z. B. das eigene Sun Enterprise Cluster oder auch den VeritasCluster. (Dieser wird im Artikel „Veritas Cluster Server“ auf S. 33 näher beschrieben.) Trotz aller Leistungsmerkmale: Auch dieses System ist keines, was von der „Stange“ gekauft wird. Ein gutes Design-Konzept (vor der Integration in die vorhandene Infrastruktur), Mitarbeiterschulung und durchgehende Betreuung durch den Hersteller sind Voraussetzungen dafür, dass ein System einwandfrei rund um die Uhr betrieben werden kann. Antonio Salguero (info@ordix.de). Ausgabe 3/2002 Ein Cluster ist ein vernetzter Verbund von mehreren Maschinen, die sich einen gemeinsamen Speicher („shared storage“) von Applikationen und deren Daten teilen. Dadurch können die Dienste und Applikationen, die der Verbund zur Verfügung stellt, auf jeder der beteiligten Maschinen laufen. Das Herzstück ist die Cluster Software. Sie steuert, welche Dienste auf welchem System laufen. Bei dem Ausfall einer Maschine sorgt sie z. B. dafür, dass die ausgefallenen Dienste auf einem anderen System wieder gestartet werden. Die Steuerung des Verbunds erfolgt an zentraler Stelle durch die Clusterkonsole. Ist eine Maschine Mitglied eines Clusters, bezeichnet man sie auch als Node. Im Falle des VCS sind 2 bis 32 Nodes innerhalb des Clusters möglich. Die Nodes besitzen alle eine Kopie der Cluster Software, die auf ihnen läuft. Ausfallsicher? Der Begriff Cluster wird meist in einem Atemzug mit den Begriffen Hochverfügbarkeit und fälschlicherweise auch Ausfallsicherheit genannt. Letzteres ist nicht ganz korrekt, da ein Cluster, wie oben erklärt, eine Applikation nicht durch komplett redundant ausgelegte Systeme vor einem Ausfall schützt. Durch Automatisierung verkürzt er lediglich die Zeit, die benötigt wird, um die Applikationen des abgestürzten Systems auf einem anderen System zu starten. Die Ausfallzeit einer Applikation bzw. eines Dienstes verringert sich durch die Automatisierung immens, weshalb man von Hochverfügbarkeit, nicht jedoch von Ausfallsicherheit spricht. Das Netzwerk Die VCS Nodes können untereinander über das Heartbeat Netzwerk (auch private Network genannt) kommunizieren. Es steht exklusiv für die im Cluster anfallende Kommunikation zur Verfügung. Dieses Ausgabe 3/2002 Netzwerk ist nicht öffentlich und kann nur von den Maschinen des Verbunds verwendet werden. Die Mindestanforderung für ein solches Netzwerk sind zwei Kanäle mit separater Infrastruktur, also z. B. zwei Netzwerkkarten (nicht etwa zwei Ports auf einer Karte). Generell gilt es, das Heartbeat Netzwerk komplett redundant auszulegen. Dadurch wird verhindert, dass der Ausfall einer Komponente den kompletten Betrieb blockiert („Single Point of Failure“). Zusätzlich gibt es die Möglichkeit, den Cluster auf einen Ausfall des private Network vorzubereiten. Dazu wird eine öffentliche Netzwerkschnittstelle („normales“ LAN) als niedrig priorisierter Link im Cluster konfiguriert. Über diesen Link werden im Normalbetrieb lediglich Heartbeats bei niedrigerer Frequenz als im private Network versendet. Kommt es zu einem Ausfall des private Network, kann dieser Link temporär das private Network ersetzen. GAB / LLT Als Protokolle kommen bei VCS „GAB / LLT“ (zwei Eigenentwicklungen aus dem Hause Veritas) über Ethernet zum Einsatz. Unterstützung für diese Protokolle werden direkt im Kernel als Modul eingebunden. Low Latency Transport (LLT) zeichnet sich durch kurze Latenzzeiten aus. Ein weiterer Vorteil ist sein geringer Overhead. Dieser wird aber dadurch „erkauft“, dass von einer 37 • ORDIX NEWS • persistenten Netzverbindung zwischen allen beteiligten Systemen ausgegangen wird. Um diese Vorteile bei der Kernel-zu-Kernel-Kommunikation zu garantieren, dürfen nur passive Komponenten im Heartbeat-Netzwerk zum Einsatz kommen. Konkret dürfen nur Hubs oder Switches ohne „Store und Forward“ auf der Netzstrecke zwischen den Nodes vorhanden sein. LLT ist somit auch nicht routingfähig. Group Membership Services/Atomic Broadcast (GAB) wird als Protokoll für die eigentliche Kommunikation zwischen den VCS Installationen der einzelnen Nodes verwendet. Es ist ein reines Broadcast Protokoll und stellt sicher, dass alle Nodes eine identische Konfiguration und Sicht auf den Status des Clusters haben. Des weiteren kontrolliert es beim Start einer Node dessen Mitgliedschaft im Cluster. Die Engine Kernstück des Veritas Clusters ist die VCS Engine in Form des „High Availability Daemon“ (had). Der Daemon steuert jeweils eine Node und erledigt auch die über GAB anfallende Kommunikation mit den anderen Cluster-Mitgliedern. Ein zusätzlicher Prozess „hashadow“ überwacht den „had“ und startet ihn bei Ausfall neu. Die vom Cluster verwalteten Applikationen werden in Servicegruppen eingeteilt. Eine Servicegruppe definiert eine bestimmte Menge von Komponenten, die in ihrer Gesamtheit eine Applikation bzw. einen Dienst zur Verfügung stellen. Hard- und SoftwareKomponenten werden in VCS als Ressourcen dargestellt. Diese sind immer von einem bestimmten Typ (z. B. Disk, NFS-Share, IP-Adresse, Datenbank, Prozess) und definieren sich durch einen eindeutigen Namen sowie durch spezifische Attribute. 38 SYSTEME & NETZE noch laufen, zunächst gestoppt, und danach auf einem anderen System wieder gestartet. Diesen Vorgang bezeichnet man als Failover. Beim Ausfall einer Servicegruppe vom Parallel-Typ erfolgt kein Failover, weil diese Art von Gruppe auch auf mehreren Nodes zur gleichen Zeit betrieben werden kann. Durch die Redundanz ist dafür gesorgt, dass die Applikation auch beim Ausfall einer Node immer noch zur Verfügung steht. Ein typisches Beispiel ist ein Webserver, bzw. generell jegliche Art von „read-only“ Diensten. Es gibt aber auch Applikationen, die „cluster-aware“ sind. Diese sind in der Lage, mit den konkurrierenden Schreibzugriffen auf den Shared Storage umzugehen. Ein Beispiel hierfür ist der Oracle Parallel Server. Über den Einsatz eines Agenten erfährt der „had“, ob eine Ressource gestartet ist. Agenten sind immer vom Typ der Ressource, die sie auch verwalten. Pro Ressource-Typ wird genau ein Agent gestartet, der dann alle Instanzen seines Typs betreut. Agenten haben die Aufgabe, eine Ressource zu starten (online), zu stoppen (offline) und zu überwachen (monitor/probe) und bei Änderungen des Status diese Information an die VCS Engine weiterzuleiten. Es ist möglich, neue Agenten einzubinden, die somit den Funktionsumfang von VCS erweitern. Fertige Agenten für große Standardanwendungen sind bereits erhältlich, eine Übersicht dazu finden Sie unter http:// www.veritas.com/de/produkte/cluster/cserver_opt.html. Fazit Abschließend ergibt sich nun folgende Übersicht eines Veritas Clusters. Klassen von Servicegruppen Es gibt zwei Klassen von Servicegruppen: Den Failover- und den Parallel-Typ. Der Failover-Typ kann zu jedem Zeitpunkt auf nur genau einer Node laufen. Eine Servicegruppe fällt aus, wenn eine oder mehrere ihrer Ressourcen nicht mehr verfügbar sind, sie also als „failed“ erkannt werden. In einem solchen Fall versucht der „had“, die Servicegruppe auf ein anderes System im Cluster zu schwenken. Dazu werden alle zugehörigen Ressourcen, die Ebenso macht es wenig Sinn, eine NFS-Freigabe zu starten, wenn das darunter liegende Filesystem nicht zur Verfügung steht. Man spricht auch von Parent- und Child-Ressourcen, wobei im obigen Beispiel die NFS-Freigabe eine Parent- und das Filesystem eine Child-Ressource wäre. Ausgabe 3/2002 ORDIX News Impressum Herausgeber: ORDIX AG, Aktiengesellschaft für Softwareentwicklung, Beratung, Schulung und Systemintegration, Paderborn Redaktion: Sascia Brinkmann, Helma Jenniches V.i.S.d.P.: Wolfgang Kögler Autoren dieser Ausgabe: Dr. Hubert Austermeier, Sascia Brinkmann, Andreas Flügge, Michael Güting, Stefanie Heither, Michael Heß, Martin Hoermann, Ralf Hüls, Andreas Jordan, Wolfgang Kögler, Christoph Lafeld, Manfred Lingk, Roger Niemeyer, Antonio Salguero, Maria Scheiber, Dr. Ulrich Schwanke, Stephan Sippel Anschrift der Redaktion: Westernmauer 12 - 16 D-33098 Paderborn Fon: 0 52 51 / 10 63 - 0 Fax: 0 52 51 / 10 63 - 99 Damit eine Applikation auf einer Node gestartet werden kann, müssen auf dieser alle Ressourcen für die entsprechende Gruppe zur Verfügung stehen. Das Verteilen einer Servicegruppe auf mehrere Nodes ist nicht möglich. Zusätzlich ist hierbei die mögliche Abhängigkeit der Servicegruppen bzw. Ressourcen untereinander zu beachten. Zum Beispiel könnte die Konstellation eintreten, dass ohne eine Datenbank-Servicegruppe u. U. die Gruppe einer Webapplikation nicht gestartet werden kann. • ORDIX NEWS • SYSTEME & NETZE Druck: Druckerei Reike GmbH, Paderborn Gestaltung/Layout: Sascia Brinkmann Übersicht über die VCS Architektur. Jede Cluster Node betreibt VCS Agenten, die den Status der Ressourcen überwachen. Die Agenten geben diese Information an den „had“ weiter. Dieser verteilt die Statusinformationen bzgl. der lokalen Ressourcen per GAB an die anderen Verbundsmitglieder. GAB verwendet LLT, um über das private Network mit den anderen Systemen zu kommunizieren. Alle diese Mechanismen sorgen miteinander dafür, dass alle Mitglieder des Clusters eine identische Kopie der Konfiguration in ihrem lokalen Speicher haben. Copyright: ORDIX AG. Alle Rechte vorbehalten. Die Zeitschrift ORDIX News hat eine Auflage von 7.500 Exemplaren. Sie wird von der ORDIX AG an ausgesuchte Kunden kostenlos verteilt. Außerdem finden Sie die neueste Ausgabe der ORDIX News im Internet unter: http://www.ordix.de Schauen Sie mal rein. Der Kontakt zu unseren Lesern ist uns sehr wichtig. Für Anregungen, Kritik und Anmerkungen zu den Themen, aber auch für interessante Ideen sind wir immer offen und dankbar. Sie erreichen die Redaktion auch per e-Mail unter onews@ordix.de. Wir freuen uns auf Ihr Feedback. Michael Heß (info@ordix.de). Ausgabe 3/2002 39 • ORDIX NEWS • SYSTEME & NETZE Über den Einsatz eines Agenten erfährt der „had“, ob eine Ressource gestartet ist. Agenten sind immer vom Typ der Ressource, die sie auch verwalten. Pro Ressource-Typ wird genau ein Agent gestartet, der dann alle Instanzen seines Typs betreut. Agenten haben die Aufgabe, eine Ressource zu starten (online), zu stoppen (offline) und zu überwachen (monitor/probe) und bei Änderungen des Status diese Information an die VCS Engine weiterzuleiten. Es ist möglich, neue Agenten einzubinden, die somit den Funktionsumfang von VCS erweitern. Fertige Agenten für große Standardanwendungen sind bereits erhältlich, eine Übersicht dazu finden Sie unter http:// www.veritas.com/de/produkte/cluster/cserver_opt.html. Fazit Abschließend ergibt sich nun folgende Übersicht eines Veritas Clusters. ORDIX News Impressum Herausgeber: ORDIX AG, Aktiengesellschaft für Softwareentwicklung, Beratung, Schulung und Systemintegration, Paderborn Redaktion: Sascia Brinkmann, Helma Jenniches V.i.S.d.P.: Wolfgang Kögler Autoren dieser Ausgabe: Dr. Hubert Austermeier, Sascia Brinkmann, Andreas Flügge, Michael Güting, Stefanie Heither, Michael Heß, Martin Hoermann, Ralf Hüls, Andreas Jordan, Wolfgang Kögler, Christoph Lafeld, Manfred Lingk, Roger Niemeyer, Antonio Salguero, Maria Scheiber, Dr. Ulrich Schwanke, Stephan Sippel Anschrift der Redaktion: Westernmauer 12 - 16 D-33098 Paderborn Fon: 0 52 51 / 10 63 - 0 Fax: 0 52 51 / 10 63 - 99 Druck: Druckerei Reike GmbH, Paderborn Gestaltung/Layout: Sascia Brinkmann Übersicht über die VCS Architektur. Jede Cluster Node betreibt VCS Agenten, die den Status der Ressourcen überwachen. Die Agenten geben diese Information an den „had“ weiter. Dieser verteilt die Statusinformationen bzgl. der lokalen Ressourcen per GAB an die anderen Verbundsmitglieder. GAB verwendet LLT, um über das private Network mit den anderen Systemen zu kommunizieren. Alle diese Mechanismen sorgen miteinander dafür, dass alle Mitglieder des Clusters eine identische Kopie der Konfiguration in ihrem lokalen Speicher haben. Copyright: ORDIX AG. Alle Rechte vorbehalten. Die Zeitschrift ORDIX News hat eine Auflage von 8.800 Exemplaren. Sie wird von der ORDIX AG an ausgesuchte Kunden kostenlos verteilt. Außerdem finden Sie die neueste Ausgabe der ORDIX News im Internet unter: http://www.ordix.de Schauen Sie mal rein. Der Kontakt zu unseren Lesern ist uns sehr wichtig. Für Anregungen, Kritik und Anmerkungen zu den Themen, aber auch für interessante Ideen sind wir immer offen und dankbar. Sie erreichen die Redaktion auch per e-Mail unter onews@ordix.de. Wir freuen uns auf Ihr Feedback. Michael Heß (info@ordix.de). Ausgabe 3/2002 39 • ORDIX NEWS • SYSTEME & DATENBANKEN Oracle 9i New Features Teil III: SQL in Oracle 9i Mit Oracle 9i sind auch einige neue Funktionalitäten für SQL und PL/SQL entstanden. Diese möchten wir Ihnen im weiteren in der ORDIX News vorstellen. • ORDIX NEWS • SYSTEME & DATENBANKEN INSERT ALL INTO mitarb1 VALUES (mitarbeiternr, mitarbeitername,gehalt) INTO mitarb2 VALUES (mitarbeiternr,beruf,abteilungsnr,abteilungsname) SELECT mitarbeiternr,mitarbeitername, beruf, gehalt, m.abteilungsnr, abteilungsname FROM mitarbeiter m, abteilung a WHERE m.abteilungsnr=a.abteilungsnr; INSERT ALL WHEN mitarbeiternr IN (SELECT mitarbeiternr FROM projektbelegung) THEN INTO mitarb2 VALUES (mitarbeiternr,beruf, abteilungsnr,abteilungsname) WHEN niederlassung = 'Muenchen' THEN INTO mitarb1 VALUES (mitarbeiternr, mitarbeitername,gehalt) SELECT mitarbeiternr,mitarbeitername, beruf,gehalt, niederlassung, m.abteilungsnr,abteilungsname FROM mitarbeiter m, abteilung a WHERE m.abteilungsnr = a.abteilungsnr; SELECT * from mitarb1 where rownum < 5; Multitable Insert Das INSERT...SELECT Statement kann mittels einer einzigen Anweisung Zeilen in mehrere Tabellen einfügen. Es besteht aus 2 Teilen: 1. Der INSERT-Teil enthält die INTO-Klauseln. Mit diesen werden die Tabellen und Spalten spezifiziert, in die Datensätze eingefügt werden sollen. Die INTO-Klauseln können auch Bedingungen enthalten (sogenannte Filter), die das Einfügen der Datensätze dirigieren (WHEN <Bedingung> THEN ...). Je nachdem, ob eine Bedingung angegeben ist oder nicht, wird zwischen unbedingten Anweisungen (Unconditional Statements) und bedingten Anweisungen (Conditional Statements) unterschieden. ABTEILUNGSNR ABTEILUNGSNAME NIEDERLASSUNG 11 12 21 22 31 32 1 99 Vertrieb Vertrieb Entwicklung Entwicklung Personal Personal Vorstand Dummy Nuernberg Muenchen Nuernberg Muenchen Nuernberg Muenchen Muenster Paderborn 2. Im SELECT-Teil wird die Abfrage definiert, deren Ergebnismenge in die Tabellen eingefügt werden soll, die in den INTO-Listen vorgegeben sind. Um die Anwendungsmöglichkeiten darzustellen, verwenden wir die in Abb. 1-3 gezeigten Basistabellen. Die Tabellen, in die multiple inserts vollzogen werden, haben folgende Deklaration: create table mitarb1 ( mitarbeiternr mitarbeitername gehalt number(10), varchar2(30), number(9,2)); create table mitarb2 ( mitarbeiternr beruf abteilungsnr abteilungsname number(10), varchar2(30), number(10), varchar2(30)); create table mitarb3 ( mitarbeiternr niederlassung number(10), varchar2(30)); In der unbedingten Anweisung werden die INTO-Klauseln für jede Er gebniszeile der Subquery abgearbeitet (siehe Abb. 4). Abb. 1: Tabelle ABTEILUNG. PROJEKTNR MITARBEITERNR AUFGABE BEMERKUNG 900 900 1999 1999 13 14 114 11 Leitung Assistenz Assistenz Assistenz Verantwortung für alles für alles für alles Abb. 2: Tabelle PROJEKTBELEGUNG. In der bedingten Anweisung werden die Ergebniszeilen der Subquery geprüft, ob sie den WHENBedingungen der INTO-Klauseln genügen. Die bedingte Anweisung MITARBEITERNR MITARBEITERN BERUF VORGESETZTER EINTRITT GEHALT PROVISION ABTEILUNGSNR 1 11 12 13 14 15 16 111 112 113 114 115 1 1 1 1 1 1 1 16 12 13 14 14 26.05.02 05.06.02 15.06.02 25.06.02 25.06.02 05.07.02 15.07.02 30.07.02 02.08.02 07.08.02 08.08.02 01.08.02 99000 53000 68000 65000 66500 70000 70000 50000 50000 20000 19000 19000 1 12 11 31 32 21 22 22 21 31 22 31 Dr. Klose Pumuckl Gruber Joschko Zeitz Martin Stephan Schnier Mattia Schlamann Dechant Dunkel Projektleiter Projektleiter Projektleiter Projektleiter Projektleiter Projektleiter Projektleiter Vertriebsbeauftragte Projektleiter Projektassistent Schreibkraft Projektleiter Abb. 3: Tabelle MITARBEITER. 40 NR MITARBEITERNAME GEHALT 1 11 12 13 Dr. Klose Pumuckl Gruber Joschko 99000 53000 68000 65000 select * from mitarb2 where rownum < 5; NR BERUF ABTEILUNGSNR ABTEILUNGSNAME 1 11 12 13 Projektleiter Projektleiter Projektleiter Projektleiter 1 12 11 31 Vorstand Vertrieb Vertrieb Personal wird eingeleitet durch eines der Schlüsselwörter ALL oder FIRST. Das Schlüsselwort ALL veranlasst, dass die WHEN-Klauseln ganz abgearbeitet werden und in jede Tabelle, die der WHENBedingung genügt, ein Datensatz eingefügt wird. Ist keine WHEN-Bedingung erfüllt, wird der ELSE-Zweig ausgeführt. Fehlt dieser, wird der betreffende Datensatz in keine Tabelle eingefügt (siehe Abb. 5). Das Schlüsselwort FIRST bewirkt, dass nur in die erste Tabelle, die der WHENBedingung genügt, ein Datensatz eingefügt wird. Die restlichen WHEN-Klauseln werden übergangen (siehe Abb. 6). Fazit ORACLE 9i bietet einfache Anweisungen für komplexe Funktionalitäten. Bislang war ein „gleichzeitiges“ Einfügen in mehrere Tabellen nur über eine PL/SQL-Funktionalität möglich. Zuerst mussten die gesamten Fallunterscheidungen getroffen werden und erst dann konnten die Datensätze in die verschiedenen Tabellen eingefügt werden. Die Anwendungsentwicklung hat auf eine solche Funktionalität schon lange gewartet. Ausgabe 3/2002 NR MITARBEITERNAME GEHALT 11 14 16 111 114 Pumuckl Zeitz Stephan Schnier Dechant 53000 66500 70000 50000 19000 select * from mitarb2; Abb. 4: Beispiel eines Unconditional INSERT. Maria Scheiber (info@ordix.de). Ausgabe 3/2002 select * from mitarb1: NR BERUF ABTEILUNGSNR ABTEILUNGSNAME 1 13 14 114 Projektleiter Projektleiter Projektleiter Schreibkraft 12 31 32 22 Vertrieb Personal Personal Entwicklung Abb. 5: Beispiel eines Conditional INSERT - INSERT ALL. INSERT FIRST WHEN abteilungsnummer > 30 THEN INTO mitarb2 VALUES (mitarbeiternr,beruf,abteilungsnummer,abteilungsname) WHEN abteilungsnummer > 20 THEN INTO mitarb1 VALUES (mitarbeiternr,mitarbeitername,gehalt) INTO mitarb3 VALUES (mitarbeiternr,niederlassung) ELSE INTO mitarb3 VALUES (mitarbeiternr,niederlassung) SELECT mitarbeiternr,mitarbeitername,beruf,gehalt, niederlassung,m.abteilungsnr, abteilungsnummer, abteilungsname,vorgesetzter FROM mitarbeiter m, abteilung a WHERE m.abteilungsnr = a.abteilungsnr; select * from mitarb1: NR MITARBEITERNAME GEHALT 15 16 111 112 114 Martin Stephan Schnier Mattia Dechant 70000 70000 50000 50000 19000 select * from mitarb2: NR BERUF ABTEILUNGSNR ABTEILUNGSNAME 13 14 113 115 Projektleiter Projektleiter Projektassistent Projektleiter 31 32 31 31 Personal Personal Personal Personal select * from mitarb3: NR Niederlassung 1 11 12 15 16 111 112 114 Muenster Muenchen Nuernberg Nuernberg Muenchen Muenchen Nuernberg Muenchen Abb. 6: Beispiel Conditional INSERT - INSERT FIRST. 41 • ORDIX NEWS • SYSTEME & NETZE Apache-Tuning mittels Crypto-Karten Während bei einer privaten Homepage die Performance bei den Seitenzugriffen aus dem Internet eine eher untergeordnete Rolle spielt, stellt sich die Situation bei Internet-Verkaufsportalen deutlich anders dar. Hier ist es von entscheidender Bedeutung, dass der Kunde schnell bedient werden kann. Ein ebenso wichtiger Aspekt ist aber auch die Verschlüsselung des Datenverkehrs. Sensible Daten wie z. B. Kredikartennummern dürfen nicht unverschlüsselt über das Netz transportiert werden. Dieser Verschlüsselungs-Dienst setzt aufgrund der eingesetzten Verfahren eine hohe Rechenleistung voraus. Am zeitaufwendigsten bei der Verschlüsselung ist die Handshake-Phase, bei der die Schlüssel für die Verbindung ausgetauscht werden. Mit Performance-Verlust gegenüber unverschlüsseltem Netzverkehr ist also zu rechnen. Dies hat sich auch bei Messungen eines von ORDIX mitbetreuten Verkaufsportals bestätigt: Ab circa hundert gleichzeitigen Benutzerzugriffen mit SSL-Verschlüsselungen konnten die Zugriffszeiten für eine Kommunikation mit dem Kunden als inakzeptabel bezeichnet werden. Da das Rechenverfahren immer gleich ist, liegt der Gedanke nahe, diese Berechnungen mit einer speziell für diese Aufgabe gebauten CPU erledigen zu lassen, anstatt eine normale CPU zu verwenden. Um dieses Problem zu lösen, können Crypto-Karten (Hardware) eingesetzt werden, die die zusätzliche Rechenleistung für die Verschlüsselung zur Verfügung stellen. Dieser Artikel beschreibt, wie ein Webserver durch den Einsatz von Crypto-Karten bei Secure Socket Layer (SSL)-Transaktionen beschleunigt werden kann. Als Beispiel dient ein Apache-Webserver in der Version 1.3.20, der auf einem Solaris 8-Betriebssystem betrieben wird. Als Crypto-Karten werden die von SUN vertriebenen SUN Crypto Accelerator I Boards eingesetzt. Diese Karte ist baugleich mit der von der Firma Rainbow (Type CS-200) hergestellten Crypto-Karte. Dadurch ergibt sich für den Käufer ein Problem: SUN hat einige Software-Komponenten umbenannt, bzw. in andere Verzeichnisse verschoben. Nach Aussagen von SUN sollte die Karte mit Apache laufen und es steht auch ein Patch für Apache bereit. 42 Leider wird Apache jedoch nicht vom SUN Support unterstützt – im Gegensatz zum iPlanet-Webserver. Wirklich ärgerlich wird die Sache dann, wenn man feststellt, dass der SUN-Patch für die uralte Openssl-Version 0.9.4 gedacht ist. Diese Version hat leider das Problem, dass sie nicht mit den heute oft verwendeten Super-SSL Zertifikaten zusammenarbeitet. Somit ist also eigene Forschungsarbeit angesagt. Im Folgenden wird gezeigt, wie es doch funktioniert. Voraussetzungen Für den Betrieb der Crypto-Karten hat sich folgende Software bewährt: - Apache 1.3.20 von http://www.apache.org Modssl 2.8.4 von http://www.modssl.org Openssl-engine 0.9.6b von http://www.openssl.org/ Bei Openssl ist es wichtig, diese engine-Version einzusetzen. Nur diese unterstützt Crypto-Karten! Da die oben beschriebene Software nicht in Binärform, sondern als C-Quellen ausgeliefert wird, müssen diese vor der Installation übersetzt werden. Um das Ganze zusammenzubauen, wird jetzt also noch ein C-Compiler benötigt. Ausgabe 3/2002 • ORDIX NEWS • SYSTEME & NETZE Installationsschritte 1) Vorarbeiten: Installation der Crypto-Karten-Treiber von SUN. 2) Wer die Karten unabhängig vom Webserver zunächst auf korrekte Funktion testen will, kann das Testprogramm SunVTS verwenden. Sollte die Karte von SunVTS nicht erkannt werden, deutet das nicht unbedingt auf einen Defekt der Karte hin. Durch die Installation der aktuellen Solaris-Patches lässt sich das Problem sofort beheben. 3) Zuerst werden die Quellen mit einem C-Compiler übersetzt. Dabei muss in folgender Reihenfolge vorgegangen werden: a) Openssl: Wie oben bereits erwähnt, ist die engine-Version 0.9.6b hier zwingend notwendig. b) Modssl: Zum Apache 1.3.20 passt die Version 2.8.4. Beim Übersetzen von Modssl muss die Option -enable-rule=SSL_EXPERIMENTAL angegeben werden. Danach sollten bei der Ausgabe des configure die in Abb. 1 aufgeführten Zeilen erscheinen. c) Apache: In dem Makefile muss die Zeile EXTRA_LIBS um den Eintrag -ldl erweitert werden. 4) Auf dem Rechner muss anschließend die Hardwareverschlüsselung in der SSLKonfiguration für die CryptoKarte aktiviert werden. Hierzu ist die Datei httpd.conf um den Eintrag „SSLCryptoDevice cswift“ zu erweitern. Wird dies nicht gemacht, so gibt es zwar auch eine SSL-Verschlüsselung, aber diese wird dann softwaretechnisch realisiert und nicht mit Hilfe der neuen Karte. Dieses „Feature“ ist recht nützlich, wenn in der Webserverfarm Rechner mit und ohne Ausgabe 3/2002 + SSL interface: mod_ssl/2.8.4 + SSL interface experimental code: enabled + SSL library version: OpenSSL 0.9.6b [engine] 9 Jul 2001 Abb. 1: Ausgaben von “make” beim Übersetzen des Apache. Crypto-Karten stehen. Dann können alle Rechner mit dem gleichen Binary (httpd) betrieben werden und nur die Konfiguration entscheidet, wie verschlüsselt wird. Los geht’s Beim Starten von Apache Servern erscheint folgendes im error.log [error] mod_ssl: Init: Failed to enable Crypto Device API ‘cswift’ Das hängt damit zusammen, dass SUN die SharedLibs, die Rainbow unter /usr/lib ausliefert und welche somit im Pfad sind, leider in ein anderes Verzeichnis installiert hat, ohne dies irgendwo zu dokumentieren. Damit liegen die zwingend benötigten Programmteile in einem von der Software nicht durchsuchten Pfad. Ist dieses Problem behoben (z. B. durch einen symbolischen Link: ln –s /opt/ SUNWconn/sunsecure/lib/libswift.so.5.2.2 /usr/lib/ libswift.so), fährt der Apache Server ohne Fehler hoch. http://www.sun.com/products-n-solutions/hw/networking/connectivity/sslaccel/ suncryptoaccel1/SunCryptoAccel1.pdf http://www.rainbow.com Hersteller von Crypto-Karten http://wp.netscape.com/eng/ssl3/ SSL-Spezifikation http://www.james.rcpt.to/2001/sun-crypto/ Beschreibung, wie man die Karte ans Laufen bekommt. http://morpheus.dcs.it.mtu.edu/~tcpiket/cryptocard/ Performance-Messungen (SSL-Verschlüsselung) http://www.sunfreeware.com Softwarearchiv für Solaris http://www.apache.org Webseite des Apache-Projektes http://www.modssl.org Webseite des modssl-Projektes http://www.openssl.org Webseite des openssl-Projektes Abb. 2: Liste der Referenzen. Durch den Einsatz von SUN Crypto-Karten wird die SSL-Verschlüsselung um Faktor fünf beschleunigt. Wenn man die Preise von Netra und die der Crypto-Karte berücksichtigt, ist dies eine durchaus lohnende Investition. Einen Geschwindigkeitsvergleich finden Sie im Internet unter http://morpheus.dcs.it.mtu.edu/~tcpiket/cryptocard/. Michael Güting (info@ordix.de). 43 • ORDIX NEWS • SYSTEME & DATENBANKEN RAC Features Teil II: Recovery mit Oracle RAC 9i „Fast Reconfiguration“ In der letzten Ausgabe der ORDIX News haben wir RAC und die neue Cache Fusion Architektur vorgestellt. In diesem Artikel werden die Vorteile der neuen Architektur auf das Thema Recovery ausgeweitet. Durch die einfachere Verwaltung der Ressourcen und Sperren durch RAC wird das Instance Recovery wesentlich schneller. Ein Problem ist, dass der Ausfall einer Instance dazu führt, dass die überlebende Instance eine Reconfiguration durchführen muss, um die Ressourcen der ausgefallenen Instance sauber zu übernehmen bzw. zu beenden. Das kann bei 8i recht lange dauern und mit „lange“ ist hier unter Umständen ein ca. 20-minütiger „Hänger“ der überlebenden Instance gemeint. Für eine Hochverfügbarkeitskonfiguration schon eine sehr „unpässliche“ Zeit. Durch die neue Architektur und auch einige neue Mechanismen bei RAC wird diese Zeit stark verkürzt, was unter dem Aspekt der Hochverfügbarkeit besonders interessant ist. Reconfiguration bei einer 8i OPS Datenbank Für OPS werden explizit Ressourcen und Locks konfiguriert, um offene Transaktionen entsprechend zu verwalten. Eine Reconfiguration dieser Ressourcen findet statt, wenn eine Instance • in das Cluster mit aufgenommen wird • aus dem Cluster herausgeht • ein Knoten des Clusters heruntergefahren wird. Wie erwähnt, führt der Ausfall einer Instance dazu, dass alle „open global locks/ressources“ der ausgefallenen Instance gelöscht werden und auf die überlebenden Instances verteilt werden (ein sogenanntes „lock remastering“). 44 einer SGA von ca. 1GB, lm_ress = 245638, lm_locks = 258235 schon mal 20 Minuten, so dass die überlebende Instance für die Applikation in der Zeit hängt. Die „lm_“-Parameter wurden hier schon auf die Optimierung der Recoveryzeit angepasst (im Sinne von „heruntergesetzt“). Nebenbei sei bemerkt, dass die Nutzung von „fixed locks“ die Zeiten noch mehr verlängert. Fast Reconfiguration unter RAC - Unter 9i soll dies nun schneller gehen! Zum einen gibt es ein 2 Phasen Recovery für das Instance Recovery, das die Redologs entsprechend durcharbeitet. Hierdurch können Distributed Lock Management und Recovery parallelisiert werden. In dieser Zeit können auf den überlebenden Instances keine Transaktionen durchgeführt werden, da die Datenbank im „eingefrorenen“ Zustand ist (freeze_db_for_fast_instance_recovery = true). Betrachtet man zum anderen die RAC-Architektur, so wurde durch die Parallelisierung einiger Prozesse eine entsprechende Grundlage für die Verbesserung geschaffen. Allein der Wegfall der fixen Sperren („fixed locks“) beschleunigt den Vorgang der Reconfiguration, da diese nicht mehr explizit allokiert werden müssen. Die entsprechende Zeit für eine solche Reconfiguration hängt von der Größe der Instance ab, d. h. wie viele SW- und HW-Ressourcen genutzt wurden, wie viel SGA konfiguriert wurde, etc. Somit dauert die Reconfiguration-Zeit bei einer DB mit Des weiteren wurde das Remastering aller locks und Ressourcen auf die überlebenden Instances abgeschafft und stattdessen ein sogenanntes „lazy remastering“ ge- Ausgabe 3/2002 SYSTEME & DATENBANKEN nutzt. Hier werden nur die Ressourcen der ausgefallenen Instance und die minimal notwendigen Ressourcen der überlebenden Instance während der Reconfiguration aufgeräumt. • • Mit diesem Konzept behalten die Instances die meisten Ressourcen während der Reconfiguration, was in den vorhergehenden Versionen von Oracle nicht der Fall war. Bislang wurden alle Ressourcen aller Instances gelöscht. • • Aufgrund dieses Konzeptes können viele Prozesse die Arbeit wieder aufnehmen, während die Reconfiguration läuft, da ihre Ressourcen und Sperren nicht gelöscht wurden. Vereinfachung der Reconfiguration und des Recoveries • Während der Laufzeit entscheidet RAC für eine Sperre oder Ressource, welcher Knoten sie recovert. Dies wird abhängig von der Zugriffshäufigkeit der Knoten auf die Ressource gemacht. 2 Phasen Recovery Durch die mit Version 9 eingeführten „Past images“ in den Remote Buffer Caches (vgl. RAC Features Teil I, ORDIX News 2/2002), wurde auch das Recovery optimiert. Des weiteren wird das Recovery nicht mehr von einem expliziten Prozess durchgeführt, sondern durch den SMON Prozess einer überlebenden Instance. Was geschieht nun beim Ausfall einer Instance? • Der Ausfall wird zunächst vom Cluster Manager festgestellt. Lokale SQLs auf den überlebenden Instances sind noch möglich. Ausgabe 3/2002 • • ORDIX NEWS • Die Reconfiguration startet und alle Sperren der gestorbenen Instance werden „remastered“. Die Redo-Threads der gestorbenen Instance werden das erste Mal vom SMON gelesen (Phase 1) und die Recovery Sets werden gebildet. SQL’s sind nicht möglich. Der SMON Prozess fordert die Sperren an, die er zum Recovery der Blöcke braucht, die er im ersten Leselauf gefunden hat. Die Sperren werden zugeteilt und der zweite Leselauf der Redos startet (Phase 2). Die notwendigen Ressourcen (GCS Ressourcen, PIBlöcke) werden allokiert und verfügbar, sobald sie (blockweise) recovered wurden. Der SMON bringt die Redos entsprechend der SCN zusammen, um zunächst die richtige Reihenfolge der Änderungen sicherzustellen. Der SMON findet auch die BWR’s in den Redos, um Einträge zu löschen, die für das Recovery nicht mehr gebraucht werden, da sie bereits auf die Platte geschrieben wurden. Ergebnis des ersten Redo Leselaufs ist ein Recovery Set, das nur die von der gestorbenen Instance modifizierten Blöcke beinhaltet. Die Einträge in der Recovery Liste werden durch die SCN sortiert, um die Reihenfolge der angeforderten Instance-Sperren für das Recovery festzulegen. Der SMON informiert nun die Master Instances der entsprechenden Sperr-Elemente, so dass diese jeden Block der Recovery Liste und die zugehörigen Sperren für das Recovery übernehmen. Danach hat die “Recovery Instance“ Sperren auf jeden Block des Recovery Sets. Solange das Recovery nicht fertig ist, haben andere Instances keinen Zugriff auf diese Sperren. Nun startet der zweite Leselauf über die Redos und die Redo Zuweisung beginnt. Die Redoeinträge werden wieder entsprechend der SCN zusammengefügt und die Einträge werden den Datafiles zugeordnet. Der Lauf wird zweimal durchgeführt. Blockweise werden die Rollforwards bzw. Rollbacks durchgeführt und die Blöcke werden anschließend freigegeben. Vor allem das 2 Phasen Konzept wirkt sich auch bei einem 2-Knoten RAC auf die Performance des Instance Recoveries aus. Die oben genannten Architekturvorteile (Zuweisung der Ressourcen auf die Knoten, die sie am meisten genutzt haben) wirken sich natürlich eher auf Cluster aus, die mehr als 2 Knoten besitzen. Christoph Lafeld (info@ordix.de). 45 • ORDIX NEWS • AKTUELL Interaktive Möbelschau in Eigenkomposition Kleine aber feine Details machen das Besondere an der individuellen Internetpräsenz der Helms GmbH, Innenarchitekten mit angeschlossener Schreinerei, aus. In einer interaktiven Möbelschau werden handwerkliches Können und innenarchitektonisch durchdachte Komponenten in ansprechender und übersichtlicher Form präsentiert. Dies ist jedoch nur die halbe „Wahrheit“ über das Projekt: Durch ein eigens entwickeltes Online-Administrationstool ist die Firma Helms in der Lage, die Daten zeitnah, unabhängig und preiswert zu pflegen. Das Projekt Unzufrieden mit seinem bisherigen Provider und Internetauftritt trat Geschäftsführer Udo Helms mit seinem Anliegen an ORDIX heran, mit ihren Internet Services eine Lösung zu schaffen, die optisch dem Bestreben des Unternehmens nach Qualität, Individualität und Kreativität gerecht wird. Bei genauem Betrachten stellte Abb. 1: Design sich aber heraus, dass die Andes ursprünglisprüche weit über diesen verchen Internetaufständlichen Wunsch hinausgintritts der Helms GmbH. gen, weil es nicht nur um das Darstellen der Daten, sondern auch um die Möglichkeit der Pflege dieser Daten durch den Kunden selbst ging. Schnell konnte man Helms dafür begeistern, den ursprünglichen Auftritt zu vergessen. Mit dem Prototyp einer neu entworfenen Homepage, die im Erscheinungsbild deutlich eleganter war und somit besser zum vorhandenen Bildmaterial und dem Image der Firma passte, wurde die Grundlage für neue WebSeiten geschaffen. Die Präsentation im Internet Abb. 2: Neben einer typischen Warengruppenbetrachtung findet der Betrachter auch komplett gestaltete Räume. 46 Die Vielzahl der gesammelten Daten und Bilder sowie die außergewöhnlich gut dokumentierten Ar- beiten der Innenarchitekten ermöglichten eine vielseitige Präsentation, die über die klassische Methode „Produktgruppe auswählen, Produkt ansehen, Ende der Präsentation“ hinausgeht. Um dem Betrachter einen besseren Eindruck z. B. der Möbelstücke zu verschaffen, werden diese zusätzlich integriert in einen vollständig ausgestatteten Raum präsentiert. D. h. man kann sich beispielsweise ein Büro ansehen, bekommt dazu zeitgleich eine Übersicht über alle darin befindlichen Produkte (das können in diesem Fall Schreibtisch, Schränke, Regale u. a. sein) und kann direkt von dort zu den einzelnen Produktbeschreibungen wechseln, um detaillierte Informationen abzurufen. Interessante Produkte können per Mausklick auf einem elektronischen Notizzettel zu einer Liste zusammengefasst werden und als Sammelanfrage per E-Mail an die Düsseldorfer Firma geschickt werden. Die Vielzahl an vorhandenen Bildern barg allerdings auch Gefahren. Die Versuchung ist groß, viele Bilder zu zeigen und damit die Seiten zu überladen. Man hat sich auf folgende Variante geeinigt: Gleichzeitig werden nie mehr als vier Bilder zu einem Produkt oder Raum gezeigt, wobei der Betrachter durch Blättern aber weitere Bilder ansehen kann. Ausgabe 3/2002 • ORDIX NEWS • AKTUELL Das Administrationstool im Hintergrund Zudem befürchtete der Mittelständler, die großen Datenmengen und deren Pflege könnten das Budget sprengen. Alleine das Einpflegen des vorhandenen Datenbestands und die spätere Datenpflege würden einen hohen Arbeitsaufwand bedeuten. Zusätzlicher Zeitaufwand und somit auch zusätzliche Kosten würden dadurch entstehen, dass der Datentransfer aufgrund der verschiedenen Systeme (Helms arbeitet mit einem Mac, ORDIX mit Windows und Linux) nur mit Konvertierungen auf beiden Seiten möglich wäre. Somit musste das Entwicklerteam eine Lösung finden, die nur einen kleinen Posten für Administrationsund Wartungsarbeiten vorsieht und möglichst unabhängig von Rechner und Software ist. Hierfür soll eine Software bereitgestellt werden, die a) browserbasiert ist und Helms einen Datenzugriff ermöglicht, der unabhängig vom Standort - nur mit Hilfe eines Internetanschlusses und eines beliebigen Rechners - erfolgen kann und b) zugleich die Schnittstelle zur Pflege dieser Daten im Web darstellt. Aufgrund der spezifischen Anforderungen kam kein kommerzielles Produkt für Content Management für einen Einsatz in Frage, aber auch Anpassungen und Erweiterungen von Open Source Lösungen wären sehr zeitaufwändig geworden. Somit fiel die Entscheidung zugunsten einer komplett individuell programmierten Lösung. Die ORDIX Mitarbeiter entwickelten also mit PHP ein Tool zur OnlineDatenpflege, das der Firma Helms ermöglicht, neue Produkte und Räume selbst anzulegen sowie entsprechende Beschreibungen und Bilder in einer Datenbank zu hinterlegen. Bestehende Daten werden einfach korrigiert oder ergänzt. Ausgabe 3/2002 Abb. 3: Die Pflege der Daten erfolgt über einen Browser. So können die Daten von jedem Ort jederzeit aktualisiert werden. Zwar ist der zusätzlich zum ORDIX Standard ECommerce-Paket angefallene Entwicklungsaufwand nicht unerheblich (in diesem Fall ca. 10.000 Euro), jedoch relativiert das Ergebnis diese Tatsache wieder. Nach Projektende muss das Unternehmen für die Datenpflege keine weiteren, regelmäßigen Dienstleistungen in Anspruch nehmen, die über das übliche Hosten, E-Mail-Dienste, regelmäßige Datenbanksicherungen und Securitymaßnahmen hinausgehen. „Die Online-Datenpflege ist eine praktische Sache. Sie ist leicht zu bedienen und ich kann sogar am Wochenende oder nachts unseren Web-Auftritt verändern. Dadurch kann ich bei eiligen Anfragen sofort mit zusätzlichen Bildern reagieren und mit dem Kunden per Telefon mögliche Variationen diskutieren“ erläutert Udo Helms. Das (sichtbare) Ergebnis ... ist unter http://www.helms.de zu sehen und viel umfangreicher, als es noch vor einigen Wochen war - ganz ohne weitere Hilfe des ORDIX Teams und somit auch ohne Folgekosten für die Firma Helms. Schauen Sie sich die ständig wachsende „virtuelle Möbel- und Objekteschau“ doch selbst einmal an und lassen Sie sich auch für Ihr Heim oder Ihre Arbeitsumgebung von den dargestellten Möbeln und Objekten inspirieren. Natürlich können Sie auch Kontakt mit Helms in Düsseldorf aufnehmen, z. B. direkt übers Internet. Sascia Brinkmann (web@ordix.de). 47