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