Home

Diplomarbeit Management- und Web Services

image

Contents

1. return client fee The class constructor lt br gt Construct the graphical user interface 7 public RzProtoEndUserGui initiating RzProtoEndUserClient client new RzProtoEndUserClient main frame RzProtoEndUserFrame frame new RzProtoEndUserFrame this Validate frames that have preset sizes Pack frames that have useful preferred size info e g from their layout if packFrame frame pack else frame validate Center the window Dimension screenSize Toolkit getDefaultToolkit getScreenSize Dimension frameSize frame getSize if frameSize height gt screenSize height frameSize height screenSize height if frameSize width gt screenSize width package com wincornixdorf pce rzdiplomarbeit gui enduserclientgui 1 1 J2SE 1 4 import java awt import java awt event import javax swing import com borland jbcl layout import java util Vector VER The main frame for the End User GUI author Roger Zacharias version 1 0 7 public class RzProtoEndUserFrame extends JFrame the parent gui of this frame private RzProtoEndUserGui parent kiss called if ok button is pressed lt br gt send dispense amp query request Y void jButton1_actionPerformed ActionEvent e this statusBar setText Zahle Geld aus String amountStr this amountField getText int amount Integer valueOf amountStr intValue this parent getClient
2. this informListeners JxfsATM cassette lt Icu getUnitiID gt empty fox if event occurred inform all listeners private void informListeners String newEvent Date actualDate new Date long timeStamp actualDate getTime send notification to all listeners params source sequence number time stamp message attribute name attribute type old value new value Attribute ChangeNotification notification new AttributeChangeNotification this eventCount timeStamp device state changed deviceState String event newEvent sendNotification notification this event newEvent this eventCount System out printin lt RzProtoJxfsConnector gt gt initialized with System out printIn WORKSTATION NAME Jxfs_workstation_name System out printIn SERVER NAME Jxfs_server_name System out printIn SERVER PORT Jxfs_server_port n Vike get singleton connector object lt br gt create one if there isnt one return singleton object of PvJxfsConnector 7 static public RzProtoJxfsConnector getDefaultinstance if singleton null singleton new RzProtoJxfsConnector return singleton else return singleton TEE start the application and the device manager only the first time lt br gt register application at the logger Y public void startup System out printin lt RzProtoJxfsConnector gt gt st
3. Abbildung 2 57 J XFS Unabh ngigkeiten Quelle JXSO S 7 Die bisher von J XFS unterst tzten Ger tetypen sind verschiedene Drucker Kontoauszug Quittung Sparbuch usw verschiedene Scanner Geldautomat Infoterminal Tastenfelder Kartenleseger te Chip und Magnet Karten Textein und Ausgabeger te VV VV V VV WV Kameras Sensoren Alarmanlagen und Sonderelektronik 124 2 Architekturen Technologien und Paradigmen 2 3 2 1 Architektur Die J XFS Architektur stellt sich folgenderma en dar Java Applikation Applet pre RMI IIOP J XFS Device Manager J XFS Device Controls JIXFS Kernel JIXFS Device Communication J XFS Device Services herstellerspezifisch Java Comm API y Device 1 O Ports Physical Devices Abbildung 2 58 J XFS Architektur Uber wohldefinierte Schnittstellen kann eine Java Applikation bzw ein zuvor vom Server geladenes Applet auf den J XFS Kernel zugreifen Dieser besteht aus Device Manager Device Controls und der transparenten Kommunikationsschicht Der Kernel benutzt diese Kommunikationsschicht um auf den ger tetyp spezifischen Device Service zuzugreifen welcher vom Ger tehersteller oder Service Provider zur Verf gung gestellt wird Dieser ist wiederum in der Lage die eingehenden Kommandos in hersteller und ger tespezifische Kommandos umzuwandeln und diese Uber eine entsprechende API wie die Java Communication API an die I O Ports COM LPT usw der Har
4. Funktionalit t zur Laufzeit nicht m glich ist So ist bei einer nderung der Managementanforderungen oder der Managementinformationen in der MIB eine 2 Architekturen Technologien und Paradigmen OSI Management CMIP Internet Management SNMP Protokoll Verbreitung geringe Verbreitung au er im sehr weit verbreitet Telekommunikationsbereich mit TMN Komplexit t hoch gering Effizienz gut akzeptabel Implementierung schwierig einfach Darunter liegender ROSE verbindungsorientiert UDP verbindungslos Dienst gesichert dadurch gr erer ungesichert Netzwerk Overhead Informationsansatz objektorientiert variablenorientiert Kommunikations Objekte Skalare Objekte Zustandsinformationen werden vom Agent verwaltet werden vom Manager verwaltet Ereignisbest tigung best tigt oder unbest tigt unbest tigt Kommandoausf hrung m glich nur ber Umwege m glich Sicherheit durch darunter liegende Dienste gegeben ASN 1 Unterst tzung volle Unterst tzung Teilmengen Unterst tzung Selektion von MOs Dynamisch durch Scoping und nur direkt ber Namen oder Filtering Nachfolger Tabelle 2 5 Unterschiede OSI und Internet Management 104 2 Architekturen Technologien und Paradigmen Neukompilierung des Agenten oder die Installation eines neuen Agenten notwendig Aus dem zentralisierten Managementansatz ergeben sich folgende Nachteile gt Die zentr
5. GridLayout gridLayout2 new GridLayout JLabel jLabel7 new JLabel JPanel jPanel4 new JPanel JScrollPane eventScrollPane new JScrollPane JScrollPane commandScrollPane new JScrollPane JCheckBox registerForEventsCheckBox new JCheckBox Ve The class constructor lt br gt constructs the frame param parent parent gui 7 public RzProtoOperatorFrame RzProtoOperatorGui parent this parent parent enableEvents AWTEvent WINDOW_EVENT_MASk try joinit catch Exception e e printStack Trace fee component initialization 7 private void jbInit throws Exception image1 new Imagelcon com wincornixdorf pce rzdiplomarbeit gui operatorclientgui RzProtoOperatorFrame class getResource openfFile gif image2 new Imagelcon com wincornixdorf pce rzdiplomarbeit gui operatorclientgui RzProtoOperatorFrame class getResource closeFile gif image3 new Imagelcon com wincornixdorf pce rzdiplomarbeit gui operatorclientgui RzProtoOperatorFrame class getResource help gif setlconlmage Toolkit getDefaultToolkit createlmage RzProtoOperatorFrame class getResource Your Icon contentPane JPanel this getContentPane contentPane setLayout borderLayout1 this setSize new Dimension 619 428 this setTitle berwachungssystem statusBar setText JMenufile setText Datei JMenufileExit setText Beenden JMenufileExit addActionListener new ActionListener
6. o Kapselung Managementanwendungen haben nur Uber das MO Zugang zur Ressource um diese zu berwachen und zu verwalten Vererbung Die Vererbung erm glicht die Unterklassenbildung aus bereits vorhandenen Klassen Weiterhin ist es damit m glich eine Hierarchie zu bilden die die Ressourcen widerspiegelt Die MOCs werden dann im so genannten Inheritance Tree abgelegt o Aggregation Es ist m glich eine ist enthalten in Beziehung zwischen MOs zu definieren wobei ein MO immer nur in genau einem anderen MO enthalten sein kann Die MOCs werden dann im so genannten Containment Tree abgelegt 90 2 Architekturen Technologien und Paradigmen genannt und bew ltigt die zu l sende Aufgabe durch gleichberechtigte symmetrische Kommunikation zwischen den Ressourcen Die zweite M glichkeit das Manager Agenten Modell welches auch beim OSI Management benutzt wird ist eine asymmetrische Kommunikationsbeziehung bei der die beiden Rollen Manager und Agent unterschieden werden siehe hierzu auch Kapitel 2 2 2 2 Architektur Informations Organisations und Kommunikationsmodell Das OSI Management bietet zwei M glichkeiten zur Verteilung der Management Komponenten Die erste Variante geht davon aus dass sich sowohl MIB als auch der Agent auf der zu berwachenden Ressource befinden d h soll zum Beispiel ein Automat berwacht werden befinden sich diese Komponenten auf der den Automaten steuernden Einheit
7. 2 1 2 XML Extensible Markup Language 3 5 FEINENTWURF DETAIL DESIGN 2 1 3 SOAP Simple Object Access Protocol 3 5 1 Deployment 2 1 4 WSDL Web Services Description Language 3 5 2 Managementdaten 2 1 5 UDDI Universal Description Discovery Integration 3 5 3 Informationsfluss 21 6 Web Services Frameworks 3 5 4 Detaillierte Statik und Dynamik 2 1 7 Auswirkungen auf Gesch ftsprozesse und modelle 3 6 IMPLEMENTIERUNG 2 1 8 Zusammenfassung und Ausblick 4 BEWERTUNG 2 2 MANAGEMENT ARCHITEKTUREN 5 ZUSAMMENFASSUNG 2 2 1 Begriffe Anforderungen Historie und Entwicklungen 2 2 2 Terminologie und grundlegende Konzepte 2 2 3 OSI Management CMIP 2 2 4 Internet Management SNMP 2 2 5 Vergleich OSI und Internet Management 2 2 6 JMX Die Management Architektur von Morgen 0 103 2 2 7 Integrierte Managementsysteme 2 3 TECHNOLOGIEN ZUM ZUGRIFF AUF BANKPERIPHERIEGER TE J XFS 2 3 1 Historie 2 3 2 Technologie Architektur und Funktionsweise 2 3 3 Zusammenfassung 3 EIN BERWACHUNGSSYSTEM F R BANKPERIPHERIEGER TE 3 1 FACHLICHER HINTERGRUND 3 1 1 Management von und durch Web Services 3 2 ANFORDERUNGSANALYSE KAPITEL 1 Einfuhrung One does not discover new lands without consenting to lose sight of the shore for a very long time Andrew Gide 1 Einf hrung 11 10 1 Einf hrung 1 Einfuhrung 1 1 Einleitung Nichts ist best ndiger als der Wandel Diese Erkenntnis trifft momentan genau den Kern
8. Artikelnummer lt xml version 1 0 encoding SO 8859 1 gt lt ELEMENT Bestellung Datum Kunde Artikel lt ELEMENT Datum PCDATA lt ELEMENT Kunde Name EMail lt ELEMENT Name PCDATA lt ELEMENT EMail PCDATA lt ELEMENT Artikel Beschreibung Menge Preis lt ATTLIST Artikel Artikelnr ID REQUIRED lt ELEMENT Beschreibung PCDATA lt ELEMENT Menge PCDATA lt ELEMENT Preis PCDATA VVVVVVVVV Vv Abbildung 2 10 Einfache DTD 36 2 Architekturen Technologien und Paradigmen 1 Parser instanziieren 2 XML Dokument vollstandig lesen und dabei DOM Baum aufbauen 3 Resultat Baum durchwandern durchsuchen und die Informationen manipulieren Der Vorteil gegen ber der ereignisorientierten SAX Schnittstelle liegt in der M glichkeit der Navigation und Manipulation des Baumes d h es ist hier m glich die Baumstruktur vorw rts und r ckw rts zu durchwandern Der gro e Nachteil dieser Methode besteht darin dass das gesamte Dokument geparst werden muss bevor auf dessen Inhalt zugegriffen werden kann und dieser Vorgang bei gro en Dokumenten und somit gro en Resultat B umen sehr speicherintensiv ist Um dieses Problem zu l sen wurde in der XML Gemeinde die SAX Schnittstelle vorgeschlagen und unter dem Motto Don t call the DOM the parser calls you standardisiert Der DOM Baum des Beispieles im Kapitel 2 1 2 3 1 Wohlgeformte und g ltige XML Dokumente stellt sich folgenderma en
9. Device Control for cash dispenser cash recycler JxfsCashRecycler and automatic teller machine 1 J2SE 1 4 import java util Vector Vs Class to read the status information about a CashDispenser via J XFS lt br gt This class also checks if a device with a given name exists in the J XFS environment lt br gt author Roger Zacharias version 1 0 7 public class RzProtoJxfsStatusReader connector to J XFS private RzProtoJxfsConnector connector the device control private JxfsATM atmControl name of device private String deviceName VA The class constructor lt br gt 7 public RzProtoJxfsStatusReader System out printin lt RzProtoJxfsStatusReader gt gt initiated this connector RzProtoJxfsConnector getDefaultInstance this atmControl null this deviceName null pe checks if device with the given name exists in the J XFS environment lt br gt param deviceName name of device return true if device exists otherwise false oh public boolean isDeviceExisting String deviceName this deviceName deviceName try this initCashDispenser return true catch JxfsException exception System out printin lt RzProtoJxfsStatusReader gt gt No device of the given type can be found n exception return false Vii retrieves actual status of device with given name from J XFS lt br gt then maps J XFS information to DeviceStatus schema class
10. Die langwierigen Standardisierungs Bem hungen beim OSI Management f hrten letztendlich erst Ende der 80er Jahre Vgl ISO 7489 1 vorgebeugt sondern auch die Effizienz der Systeme erh ht werden so dass mit vorhandenen Mitteln ein Maximum an Performance erzielt werden kann Fehler Management Mit zunehmender Gr e und Komplexit t eines Netzwerkes bzw der enthaltenen Ressourcen wird auch die Fehlererkennung immer schwieriger und gleichzeitig bedeutender Daher hat das Fehlermanagement die Aufgabe einen Defekt m glichst schnell zu erkennen und zu lokalisieren um diesen mit geeigneten Mitteln zu beheben Sicherheits Management Diese Form des Managements ist f r den Schutz der Daten vor unberechtigten Zugriffen zust ndig Zum einen k nnen durch unbeabsichtigte oder mutwillige Aktionen Modifikationen und Fehler im System hervorgerufen werden zum anderen k nnen durch Angriffe vertrauliche Informationen ausgesp ht oder manipuliert werde Sowohl Modifikationen und Fehler als auch Angriffe gilt es so schnell wie m glich zu erkennen und entsprechende Gegenma nahmen einzuleiten Durch geeignete Ma nahmen wie Verschl sselung und Authentifikation m ssen diese Probleme minimiert werden Abrechnungs Management Die Aufgabe des Abrechnungsmanagements besteht darin die Kosten f r in Anspruch genommene Ressource zu ermitteln so dass diese auf Benutzer oder Kostenstellen im Unternehmen gerecht verteilt werden k nnen Dazu m
11. Dies impliziert dass jedes Protokoll separat eingef hrt wird und Zeit hat sich selbst ndig zu entwickeln variceal Business Sandan Increasing Dynamics Behaviour S prak m KML HTTPR Encryption improved Quality of Service Security Abbildung 2 6 Web Services Evolution Quelle WSRHRNJ S 5 Eine Erklarung der dargestellten Technologie liefert die folgende Tabelle XML Extensible Markup Language Metasprache zur Definition von Markup Sprachen SOAP Simple Object Access Protocol XML Protokoll zum Transport von XML Daten WSDL Web Services Description Language XML Protokoll zur Beschreibung von Web Services UDDI Universal Description Discovery Integration Basis fur Web Services Registry WSIL Web Services Inspection Language Durchsuchen einer Website nach verfugbaren Web Services WSCM Web Services Component Model Komposition und Prasentation von Web Services ebXML Electronic Business Extensible Markup Language XML basierte Infrastruktur fur den elektronischen Handel XML Signature Beschreiben und Pr fen von digitalen Signaturen auf XML Basis 2 Architekturen Technologien und Paradigmen 26 2 Architekturen Technologien und Paradigmen XML Verschlusselung von digitalen Inhalten auf XML Basis Encryption SOAP DSIG Simple Object Access Protocol Digital Signatures Signieren von SOAP Nachrichten SAML Security Assertion Markup Language Austausc
12. Element res this marshalObject cu System out printin lt RzProtoOperatorWebService gt gt Sending lt XML Stream gt to lt Client gt return res A get device status DeviceStatus object of specified device lt br gt return as xml literal therefore marshal it first param deviceName name of device return device status of specified device as xml element 7 public Element getDeviceStatus String deviceName System out printin lt RzProtoOperatorWebService gt gt method lt getDeviceStatus gt accessed failed e printStackTrace release resources try clientSocket close toServer close fromServer close catch Exception e e printStackTrace return response j NEE marshal given object to xml element EA private Element marshalObject Object o marshalling Device State object System out printin lt RzProtoOperatorWebService gt gt Marshalling lt o getClass getName gt to lt XML Stream gt marshal DeviceState object to a in memory string String xmlDocument null try StringWriter writer new StringWriter if o instanceof CashUnit CashUnit o marshal writer else if o instanceof DeviceStatus DeviceStatus o marshal writer else System out printIn lt RzProtoOperatorWebService gt gt Unknown object for marshalling xmlDocument writer getBuffer toString catch Except
13. Elemente vom Typ nameT gt lt name geburtsdatum 1955 02 02 gt lt vorname gt Roland lt vorname gt lt nachname gt Zack lt nachname gt lt name gt lt autor gt lt vorname gt Eva lt vorname gt lt nachname gt Eisen lt nachname gt lt autor gt Abbildung 2 15 Benutzung der im Schema deklarierten Elemente 2 1 2 3 7 XSL Transformation und Darstellung In Kapitel 2 1 2 1 Warum XML wurde der Vorteil der strikten Trennung zwischen dem Inhalt und dessen Pr sentation hervorgehoben und gezeigt dass ein XML Dokument keinerlei Informationen ber die Pr sentation der transportierten Daten beinhaltet Hierzu dient die selbst in XML definierte Sprache XSL Extensible Stylesheet Language welche als entkoppelte Pr sentationsebene fungiert XSL erm glicht es ein XML Dokument auf verschiedenen Medien darzustellen oder um es anders auszudr cken durch XSL werden verschiedene Sichten auf ein XML Dokument erm glicht Views Konzept So kann zum Beispiel ein XML Dokument welches aktuelle B rsennachrichten enth lt im Internet als HTML Dokument publiziert werden als PDF zur Druckausgabe zur Verf gung gestellt werden an ein WAP Handy in Form eines WML Dokumentes geschickt werden in Sprachausgabe umgewandelt werden oder im reinen Textformat als E Mail oder SMS versendet werden Weitere Anwendungen sind das automatische Generieren einer Antwort aus einer Anfrage im Online Shopping Bereich die Transforma
14. Events die in der JMX Terminologie als Notifications bezeichnet werden k nnen sowohl von MBeans als auch vom MBean Server an beliebige Ereignissenken versendet werden Der MBean Server hat die M glichkeit eintreffende Ereignisse mit einem so genannten Notification Filter zu filtern Die Verwaltung der Gesamtheit der MBeans also der MIB wird wie bereits angesprochen durch den MBean Server bernommen Diese MIB stellt er dem Manager zur Verf gung der nun entsprechend auf den MBeans operieren und Notifications von diesen empfangen kann Der MBean Server stellt aber immer nur die Management Schnittstelle des MBeans zur Verf gung niemals die direkte Objektreferenz Bei der Registrierung eines MBean beim MBean Server bekommt 2 Architekturen Technologien und Paradigmen 111 dieses einen eindeutigen identifizierenden Objektnamen zugewiesen Dieser wird sp ter benutzt um das Objekt zu identifizieren auf dem Managementoperationen ausgef hrt werden sollen oder von dem Notifications eintreffen Der Objektname besteht aus dem Dom nennamen welcher das MBean einer entsprechenden Dom ne zuordnet und einer nichtleeren Menge von Name Wert Paaren welche zum Beispiel den Namen des MBeans sowie weitere Parameter enthalten k nnen Die Selektion von MBeans geschieht bequem ber Objektnamen Filter oder Suchausdr cke wobei jeweils Wildcards benutzt werden k nnen So k nnte ein Objektnamen Filter alle MBeans selektieren bei denen der Objek
15. RFC 628 RARP RFC 903 KOMP RFC 792 Netivvenk Internet Protocol Vertundung Pi RFC 731 oe Ghent Token Ming 0306 602 X FOOI scherung a 4 oder ert ogungsmcaut Netzzugritt Abbildung 2 47 TCP IP Modell Mit dem Begriff SNMP Simple Network Management Protocol wird eine Menge von Spezifikationen im Bereich Netzwerkmanagement bezeichnet sowohl das Protokoll selbst als auch die Definition der Datenbasis und die mit SNMP verbundenen Konzepte Wie man in Abbildung 2 47 TCP IP Modell sieht ist SNMP auf Applikationsebene in diesem Modell enthalten d h es ist Bestandteil der TCP IP Protokollsuite An dieser Stelle sollen wie auch beim OSI Management nur die grundlegenden Konzepte beschrieben werden da eine detaillierte Beschreibung dieser Technologie den Rahmen dieser Arbeit sprengen w rde Die Beschreibung beschr nkt sich weiterhin auf die erste Version von SNMP da diese trotz aller Bem hungen seitens der Standardisierungsgremien noch die am weitesten verbreitete Version ist 2 Architekturen Technologien und Paradigmen 2 2 4 1 Organisationsmodell Das Organisationsmodell gleicht im Bereich Architekturmodell dem des OSI Managements Auch hier existieren Manager Agenten Managed Objects und MIB welche auf die gleiche Art und Weise auf den Ressourcen verteilt werden Nur im Bereich der Domanenbildung finden sich im Internet Management bislang noch keine Ansatze 2 2 4 2 Informationsmodell W hre
16. S 14ff Heckert Erik 2001 Bankensoftware im Wandel In OBJEKTspektrum 2 2001 S 18ff www Dokumente APACHE BRAUJ01 CBDIWS DRVO1 FMLJO1 GSMMO1 HJWS01 JAVAW1 JAVAW2 JAVAW3 Apache XML Project www Dokument vom 21 05 2001 http xml apache org Brauer J rgen Die IT Branche Beschreibungssprachen HTML XML www Dokument vom 04 04 2001 http home t online de home juergen brauer seite03a htm CBDI Forum Guide to Web Services www Dokument vom 19 07 2001 http Awww cbdiforum com Dragan Richard V Will Sun be the ONE for Web Services www Dokument vom 26 11 2001 http www zdnet com Fleury Marc Lindfors Juha Enabling Component Architectures with JMX www Dokument vom 23 07 2001 http www onjava com pub a onjava 200 1 02 01 jmx html Gambhir Sahil Muchmore Michael W Web Services Revolution in the making www Dokument vom 26 11 2001 http www zdnet com Hart James How Web Services came to be Tracing the ancestry of Web Services www Dokument vom 29 11 2001 http Awww webservicesarchitect com content articles hart01 asp Kadel Rich Components for the rest of us www Dokument vom 10 08 2000 http www javaworld com javaone93 j1 98 ejb html Goff Max Java in the management sphere www Dokument vom 20 11 2001 http www javaworld com javaworld jw 10 20001 Bowker Todd Superior app management with JMX www Dokument vom
17. SAX Schnittstelle aufgrund der fehlenden M glichkeit der Baum Manipulation nicht f r jeden Anwendungsfall geeignet 2 1 2 3 4 XML Dokumente oder Daten Eine konkrete XML Instanz welche meist als XML Dokument bezeichnet wird f llt immer in eine der beiden Kategorien gt XML Dokument im engeren Sinne gt XML Daten XML unterscheidet nicht ob eine Instanz ein Dokument oder Daten enthalt bei der Benutzung bestimmter Werkzeuge zur Bearbeitung von XML Instanzen ist diese Unterscheidung jedoch wichtig Meist kann die Kategorie durch blo es Betrachten bestimmt werden Typische XML Dokumente werden prim r vom Menschen geschrieben und gelesen Hierzu z hlen zum Beispiel B cher Zeitschriften Webseiten usw Solche Dokumente enthalten haupts chlich Flie text einige berschriften Tabellen oder Bilder Das hei t der Inhalt dieser Elemente wird als reiner Text interpretiert Typische XML Daten sind Rechnungen Bestellungen Kataloge Preislisten und andere strukturierte Informationen die prim r f r die maschinelle Verarbeitung und den Datenaustausch gedacht sind Solche Dokumente enthalten oft hochstrukturierte Daten die bestimmte Integrit tsbedingungen erf llen und typisiert sein m ssen siehe dazu Kapitel 2 1 2 3 6 XML Schema 2 Architekturen Technologien und Paradigmen 38 2 Architekturen Technologien und Paradigmen 2 1 2 3 6 XML Schema Das Konzept der DTD stammt aus der dokumentenorien
18. Sp testens seit dem Zeitpunkt da XML immer gr ere Bedeutung erlangt hat ist ein einfacher Mechanismus zur Konvertierung zwischen XML und den Objekten der Applikationslogik wichtig Dieser Prozess wird als XML Data Binding bezeichnet Er erlaubt den Entwicklern weiterhin mit den Objekten der Gesch ftslogik zu arbeiten ohne aufwendigen Low Level Parsing Code schreiben zu m ssen Mit Databinding Frameworks ist es m glich aus vorhandenen DTDs oder XML Schemata entsprechende Java Klassen zu erzeugen welche den Code f r die Konvertierung zu und von XML Dokumenten und f r die Validierung bereits beinhalten Die Konvertierung nach XML ist insbesondere dann sinnvoll wenn Daten ausgetauscht oder gespeichert werden sollen Die Vorteile dieser Frameworks sind die folgenden gt Der Softwareentwickler muss durch diesen automatischen Zugriff auf die XML Daten lediglich die Applikation erstellen welche diese Daten nutzt Es ist nicht 172 3 Ein berwachungssystem f r Bankperipherieger te Die Vorgehensweise zur Benutzung dieses Frameworks sieht folgenderma en aus gt Zun chst muss wenn nicht schon vorhanden eine DTD oder ein XML Schema erstellt werden welches die auszutauschenden oder zu speichernden Daten repr sentiert So k nnen zwei Partnerunternehmen nur durch Austausch dieses Dokumentes miteinander kommunizieren ohne die verarbeitende Logik und deren Schnittstellen des Gegen bers zu kennen Im n chsten Schritt wird die
19. Technologien und Paradigmen Als Beispiel f r die SOAP Kommunikation sollen die folgenden Abbildungen dienen welche eine m gliche Verwendung einer Serveranwendung zeigen die aktuelle Wertpapierkurse bereitstellt Der SOAP Request in der ersten Abbildung dient dem entfernten Aufruf der Methode getLastTradePrice welche als Parameter die Kennung des Wertpapiers erwartet in diesem Fall IBM und dessen aktuellen Kurs zuruckliefert Eine m gliche Antwort zeigt die zweite Abbildung die Serveranwendung liefert 139 7 als aktuellen Kurswert zur ck POST soap servlet rpcrouter HTTP 1 1 Host stockprovider 8080 Content Type text xml charset utf 8 Content Length 318 SOAPAction lt SOAP ENV Envelope xmins SOAP ENV http schemas xmisoap org soap envelope SOAP ENV encodingStyle http schemas xmisoap org soap encoding gt lt SOAP ENV Body gt lt m getLastTradePrice xmins m urn xmitoday delayed quotes gt lt symbol gt IBM lt symbol gt lt m getLastTradePrice gt lt SOAP ENV Body gt lt SOAP ENV Envelope gt Abbildung 2 19 Beispiel f r einen SOAP Request http 1 1 200 OK Content Type text xml charset utf 8 Content Length 307 lt SOAP ENV Envelope xmins SOAP ENV http schemas xmisoap org soap envelope SOAP ENVi encodingStyle http schemas xmisoap org soap encoding gt lt SOAP ENV Body gt lt m getLastTradePriceResponse xmins m urn xmitoday delayed quotes gt lt price gt 139 7 lt p
20. Wirklich neu ist die breite Unterst tzung dieses Standards durch die Software Industrie Alle Global Player und Rivalen wie Sun Microsoft IBM Oracle HP SAP usw haben sich in Bezug auf diesen herstellerunabh ngigen freien Standard geeinigt Viele Hersteller haben mittlerweile ihre propriet ren Datenformate aufgegeben und nutzen XML Die XML Technologie ist der Hoffnungstr ger der IT Welt ein plattform und applikations bergreifendes Datenaustausch Datenverwaltungs und Datendarstellungsformat welches die divergierenden IT Infrastrukturen weiter zusammenbringen und dem WWW zu mehr Struktur und Ordnung verhelfen soll Mit Java ist erwiesenerma en portabler Code m glich write once run anywhere mit XML nun auch portable Daten write once read anywhere Ein weiteres wichtiges Merkmal ist die strikte Trennung des Inhaltes von dessen Pr sentation d h in einem XML Dokument werden Aussagen dar ber gemacht um welche Informationen es sich handelt und wie diese strukturiert sind aber nicht wie diese darzustellen sind Hierzu existiert der XML Co Standard XSL auf welchen in Kapitel 2 1 2 3 7 XSL Transformation und Darstellung kurz eingegangen werden soll Weiterhin erlaubt XML den Anwendern ihre eigene auf den entsprechenden Anwendungsbereich abgestimmte Sprache zu definieren Wichtig ist hierbei dass die Dokumentenstruktur jeder mit XML erzeugten Sprache gleich bleibt und somit weiterhin unabh ngig verarb
21. auch andere Global Player und einige Startups welche sich dadurch schnell einen Namen machen konnten stellten Frameworks in diesem Bereich vor HP NetAction IBM Web Services Architecture IBM WebSphere Oracle NOW Oracle 9i Bea WebLogic lona ORBIX CapeClear CapeConnect SilverStream eXtend VV V VV VV WV Shinka Business Integration Platform 2 1 6 1 Smart Web Services Sowohl Sun als auch Microsoft erweitern das Modell der Web Services um Kontextsensitivitat wodurch aus Web Services so genannte Smart Web Services entstehen Solche Web Services wissen von wem wann wo warum und unter welchen Sicherheitsbedingungen sie aufgerufen wurden Die folgenden Punkte geben eine detaillierte Ubersicht Uber situationelle Bedingungen welche einen Smart Web Service charakterisieren wie zum Beispiel Produktsparten oder geografische Regionen Ein Business Service kann aus mehreren Binding Templates bestehen welche die Beschreibung der Kommunikationsschnittstelle also des Web Services beinhalten Um detailliertere Informationen zu erhalten k nnen diese Binding Templates Referenzen auf so genannte tModels enthalten die die unterste Ebene darstellen Business Entity 05 oO Binding Template eferenziert tModel Abbildung 2 24 UDDI Datenstruktur Abschlie end kann nun das in Kapitel 2 1 1 4 Web Services Modell vorgestellte Web Service Modell mit den entsprechenden fur die einzelnen Bereiche zust
22. ber das Unternehmen abgelegt Dazu geh ren u a der Name des Unternehmens Kontakte und eine Beschreibung Auf der n chsten Ebene Business Service Ebene erfolgt eine Unterteilung des Unternehmens in Gesch ftsbereiche oder andere Kategorien 2 Architekturen Technologien und Paradigmen 54 2 Architekturen Technologien und Paradigmen 2 1 6 Web Services Frameworks Bisher konnten mit XML nur Informationen auf heterogenen Systeme ber das Internet verteilt werden Durch Web Services ist dies nun auch mit Prozessen m glich Wenn man einen Web Service entwickeln oder eine bereits bestehende Anwendung Web Service tauglich machen will erfordert dies mehr als nur die Implementierung des Service selbst Eine Enterprise Anwendung muss hochverf gbar und fehlertolerant sein und vielen anderen Anforderungen gen gen Sowohl Microsoft mit DNA COM VB usw als auch Sun mit lteren Versionen von J2EE hatten erfolgreiche Konzepte f r Enterprise Anwendungen welche aber nicht entworfen worden waren um mit Web Services umgehen zu k nnen Mit jeweils neuen Konzepten repositionieren sich beide Unternehmen und stellen sich den neuen Anforderungen Microsoft stellte im September 2000 seine NET Initiative vor und Sun antwortete im Februar mit Sun ONE Open Network Environment Beide Frameworks zur Erstellung Deployment und Administration von Web Services sollen hier kurz vorgestellt werden Diese Ans tze sind die am weitesten verbreiteten aber
23. ber spezifische Eigenschaften Operationen und auszul sende Ereignisse verf gen Es bietet folgende Funktionalit t o ffnen und Schlie en einer Verbindung zum Ger t o Durchreichen von Ereignissen bzw Nachrichten an die Applikation o Durchreichen der Kommandos an den Device Service o exklusive Nutzung eines Ger tes o einfache Utility Funktionen Aufgrund der Kompatibilit t mit dem Java Komponentenmodell JavaBeans kann ein Device Control als JavaBean dargestellt werden Ein Vergleich mit den MBeans der Managementarchitekturen bietet sich an Siehe hierzu auch Kapitel 2 2 2 Terminologie und grundlegende Konzepte Management Architektur 2 Architekturen Technologien und Paradigmen 126 2 Architekturen Technologien und Paradigmen gt J XFS Device Communication Diese austauschbare Schicht bietet die M glichkeit der transparenten Kommunikation zwischen Device Control und Device Service Sie versteckt die Komplexit t der Netzwerkkommunikation und ist u a f r die Steuerung gleichzeitiger Zugriffe auf Device Services zust ndig J XFS Device Service Diese Schicht entkoppelt die Device Control Schicht von den Spezifika der physikalischen Peripherieger te Der hersteller und ger tespezifische Device Service bietet dem Device Control eine einheitliche Schnittstelle und erlaubt durch Umsetzung in geratespezifische Kommandos den direkten Zugriff auf die Hardware des Peripherieger tes Es handelt sich letztendlic
24. fer Lee zu 17 10 ET T r eed I I l I i i i i I i Abbildung 2 60 Ablauf einer J XFS Operation Der Vollst ndigkeit halber soll anhand eines kurzen Quelltextausschnittes die Funktionsweise und die Einfachheit des J XFS Ansatzes demonstriert werden Im folgenden Quelltext wird zun chst der Device Manager initialisiert und daraufhin von diesem das Device Control des gew nschten Ger tes in diesem Fall ein Sparbuchdrucker angefordert Das Device Control bzw die Verbindung zum Device Service muss zun chst ge ffnet werden Daraufhin wird mittels claim ein exklusiver Zugriff auf den Drucker gefordert und danach die gew nschten Operationen ausgef hrt Nach Beendigung der Operationen wird das Ger t wieder freigegeben geschlossen beim Device Manager deregistriert und letztendlich der Device Manager heruntergefahren myDeviceManager initialize myPassbookPrinter myDeviceManager getDevice passbook myPassbookPrinter open myPassbookPrinter claim myPassbookPrinter printForm myPassbookPrinter ctriMedia myPassbookPrinter release myPassbookPrinter close myDeviceManager deregisterDevice myPassbookPrinter myDeviceManager shutdown Abbildung 2 61 J XFS Benutzungsbeispiel 2 3 3 Zusammenfassung An dieser Stelle sollen noch einmal die wichtigsten Vorteile der J XFS Technologie dargestellt werden gt Vorteile durch die Sprache Java Die Sprache Java bietet eine Reihe von Vorteilen ge
25. ndigen Technologien vervollst ndigt werden Service Service Description Registry Service Description SOAP message Service Service Service Description Requestor Provider SOAP Abbildung 2 25 Web Services Modell und Technologien 2 Architekturen Technologien und Paradigmen die Identit t des Service Requestors ist er ein Individuum eine Organisation oder ein anderer Web Service die Rolle des Konsumenten zu der Zeit als der Service aufgerufen wurde die Praferenzen die fur diesen Service definiert wurden mit dem Benutzer des Services assoziierte Sicherheits Privacy und Geschaftsaspekte der physische Standort des Service Requestors die fruheren Aktionen des Service Requestors History das Endger t welches benutzt wird um den Web Service anzusprechen die Vereinbarungen zwischen dem Service Requestor und dem Service Provider wie zum Beispiel Zahlungsmodalitaten Je mehr Web Services entstehen und je mehr Kontextinformationen diese sammeln desto komplexer werden deren Interaktionen F r den Menschen werden bestimmte Interaktionen so erscheinen als h tte dieses Netz aus verteilten Diensten eine Art Intelligenz oder Selbst Bewusstsein Intelligenz w rde in diesem Fall als Netzwerkeffekt auftreten im Endeffekt ist unser Gehirn selbst nur ein komplexes Netzwerk aus relativ einfachen Neuronen Beim ersten Mal wenn eine Kollaboration interagierender Web Services ein sinnvolles unerwartetes Ve
26. qualifiziert durch einen URI Ein Beispiel soll dies verdeutlichen lt xml version 1 0 encoding ISO 8859 1 gt lt bestellung xmins sender http www sender com xmins empf nger http www empf nger de gt lt sender artikel artikelnr S0019 gt lt beschreibung gt AMD Athlon 1100 256 30 5 System lt beschreibung gt lt menge gt 7 lt menge gt lt preis gt 2100 DM lt preis gt lt sender artikel gt lt empf nger artikel gt lt beschreibung gt AMD Athlon 1100 256 30 5 System lt beschreibung gt lt menge gt 7 lt menge gt lt w hrung gt DM lt w hrung gt lt preis gt 2100 lt preis gt lt empf nger artikel gt lt bestellung gt Abbildung 2 13 Einfaches Namensraum Beispiel Hierbei werden innerhalb des Elementes lt bestellung gt zwei Namensr ume in der Form lt elementname xmins namensraumprefix ur gt deklariert Die Verwendung eines Elementes geschieht durch Voranstellen des entsprechenden Pr fix und die Trennung durch einen Doppelpunkt So ist es wie in diesem Beispiel beim Element lt artikel gt m glich zwei Elemente bzw Attribute gleichen Namens in unterschiedlichen Kontexten zu benutzen 2 Architekturen Technologien und Paradigmen lt l Den neuen Typ in zwei Elementdeklarationen verwenden gt lt xsd element name name type nameT gt lt xsd element name autor type nameT gt lt xsd schema gt Abbildung 2 14 Einfaches XML Schema lt
27. te 3 3 1 2 Fachlexikon Klasse Bankperipherieger t Diese Klasse repr sentiert ein real existierendes Bankperipherieger t vom Kartenleseger t bis hin zum BeseareDung vollst ndigen Geldautomaten Repr sentation des realen Ger tes Verwaltung aller Eigenschaften F higkeiten und Stati des Ger tes Verwaltung aller untergeordneten Ger te Ereignisinteressierter kann sich registrieren und deregistrieren Aufgetretene Ereignisse werden an alle Ereignisinteressierten versendet Verantwortlichkeit Ger tename Name des Ger tes Attribute ID Identifikator Status aktueller Status des Ger tes F higkeiten Liste der ger tespezifische F higkeiten Klasse Verkaufsger t Abgleitet von Bankperipherieger t Beschreibung Integriertes verkaufsf higes Ger t bestehend aus einer Reihe von Komponenten Beispiel Geldautomat Alarmanlage Verantwortlichkeit e Verwaltung der zugeh rigen Komponenten Attribute e Komponenten zugeh rige Komponenten 3 Ein Uberwachungssystem f r Bankperipherieger te 3 Ein Uberwachungssystem fiir Bankperipheriegerate Klasse Einzelgerat Beschreibung Abgeleitet von Bankperipheriegerat Bestandteil einer Gerategruppe oder eigenst ndiges Einzelteil Beispiele Chipkartenleser Tastaturfeld Geldkassette PC Sensor Klasse berwachungspersonal EP Beschreibung Bediener des Systems interag
28. 7498 4 2 Architekturen Technologien und Paradigmen gt Die Ressourcen welche durch Managed Objects abstrahiert werden Sowohl Anzahl als auch Relationen der Komponenten sowie deren Verteilung differieren in den verschiedenen Management Architekturen Auf diese Aspekte wird in den entsprechenden Unterkapiteln naher eingegangen 2 2 2 3 Management Funktionen Funktionsmodell Um den weit gefassten Bereich des Managements zu untergliedern haben sich im Zuge der Standardisierung der OSI f nf Teildisziplinen herauskristallisiert die jedes Managementsystem erf llen sollte auf die in den folgenden Teilabschnitten Konfigurations Performance Fehler Sicherheits Abrechnungs Management Management Management Management Management Abbildung 2 38 Funktionale Gliederung des Managements eingegangen werden soll gt Konfigurations Management Die Aufgaben des Konfigurationsmanagements liegen in der Bestandsaufnahme und Inventarisierung der zu berwachenden Ressourcen Hierzu muss zun chst eine Datenbank Management Information Base erstellt werden in der jede Ressource mit den zugeh rigen Parametern gespeichert ist Eine weitere Aufgabe des Konfigurationsmanagements liegt darin die durch Performance Management und Fehlermanagement entdeckten Schwachstellen durch entsprechende Umkonfiguration der Ressourcen zu beseitigen Ebenso ist es je nach Dynamik der zu berwachenden Ressourcen bzw des Netzwerkes notwendig die Param
29. Architektur besteht aus vier Teilmodellen von denen jedes einen bestimmten Aspekt eines hersteller bergreifenden Managementsystems behandelt Informations Organisations Kommunikations Funktions Modell Modell Modell Modell Abbildung 2 35 Teilmodelle einer Management Architektur Informationsmodell Im Informationsmodell wird die Syntax der auszutauschenden Managementinformation festgelegt d h es werden zum Beispiel die Regeln zur Beschreibung der zu berwachenden Objekte festgelegt Dazu geh ren Regeln zur Identifikation Zusammensetzung Verhalten und Manipulation der Objekte Organisationsmodell Das Organisationsmodell ist f r die Rollenverteilung einzelner Management Komponenten verantwortlich d h es enth lt Regeln zur Beschreibung der Organisationsstruktur einer Managementanwendung Ebenfalls im Organisations Modell spezifiziert werden eventuelle Aufteilungen der Ressourcen in Dom nen und eine Zuordnung von so genannten Policies zu allen Ressourcen in bestimmten Dom nen Kommunikationsmodell Eine Managementplattform ist im Prinzip nichts anderes als eine verteilte Anwendung die das Management von Ressourcen zum Ziel hat Zur Steuerung der Anwendung und zum Informationsaustausch zwischen den Komponenten ben tigt man Protokolle und Dienste die im Kommunikationsmodell festgelegt werden 2 Architekturen Technologien und Paradigmen 83 2 Architekturen Technologien und Paradigmen A managed object is
30. Clienti applet or application JIXFS repository J tsConigServer Clienti Passbook rinter remote Chent JournalPnnter remote Chents ID Card local_onty JxisDynarmcServer registered Device Table Conti PassbookPrntor Cilent2 JoumalPrinter A_PasstbocePrnte Sovecutrpirmerniision wa Coren PassbookPrinter Abbildung 2 59 J XFS Zugriff Quelle JXBA S 7 Auf jedem J XFS Client wird zunachst durch die Applikation bzw durch das Applet ein Device Manager Objekt generiert 1 Dieses initialisiert das J XFS Subsystem durch Abfrage des J XFS Repository nach den entsprechenden Konfigurationsdaten 2 Danach instanziiert es alle Device Services der lokal angeschlossenen Ger te 3 Sind Ger te f r einen remote Zugriff konfiguriert werden die entsprechenden Verbindungsobjekte generiert 4 und an ihren Device Service angeschlossen 4b Sobald dies alles erfolgreich geschehen ist werden die nun vorhandenen Device Services im Repository registriert so dass andere J XFS Clients diese nutzen k nnen 5 Wenn die lokale Applikation bzw das Applet jetzt Zugriff auf ein Ger t haben wollen m ssen sie den Device Manager nach diesem fragen Dies geschieht mittels der getDevice Methode 6 W hrend dieser Methode generiert der Device Manager ein Device Control 7 findet den entsprechenden Device Service und bindet diesen an das Device Control 8 Das Device Control wird dann der Applikation bergeben welche dieses nu
31. DTD bzw das XML Schema dem Data Binding Framework bergeben welches daraus entsprechende Java Klassen generiert welche nun nur noch kompiliert werden m ssen Im dritten Schritt k nnen diese Klassen verwendet werden um Objekte davon zu instanziieren diese Objekte in XML Dokumente umzuwandeln Marshalling oder XML Dokumente einzulesen und in Java Objekte zu konvertieren Unmarshalling Um noch einmal auf die Unternehmen im ersten Schritt zur ckzukommen Da das Format der auszutauschenden Daten durch die DTD bzw das XML Schema bekannt ist kann die Geschaftslogik des einen Unternehmen zum Beispiel auf Basis der Java Plattform und die des zweiten Unternehmens mit Hilfe der Microsoft Technologien realisiert sein Die Daten werden ber XML ausgetauscht und beim Erhalten in das entsprechende Format der Applikationslogik umgewandelt Dieses Framework wird f r die SOAP Kommunikation mit komplexen Objekten ben tigt da SOAP zurzeit nur einfache Datentypen und Felder von einfachen Datentypen unterst tzt Der Autor erwartet aber dass ein solches Framework in den n chsten SOAP Implementierungen bereits enthalten sein wird Im entwickelten Prototyp wird Castor an beiden Seiten der SOAP Verbindung genutzt 3 Ein Uberwachungssystem fiir Bankperipheriegerate 173 Mit Hilfe der beschriebenen Technologien Produkte und APIs stellt sich die Realisierung der Top Level Architektur aus Abbildung 3 16 Top Level Architektur folgenderma en
32. Demand SOD Application Service Provider stellen meist Komplettl sungen einer Software zur Verf gung d h die gesamte Applikation im Sinne von Benutzeroberfl che Workflow Geschafts und Daten Komponenten ist in einer L sung gebunden Diese Komplettl sung wird auf den Servern der ASPs gelagert verwaltet und ausgef hrt Der Benutzer dieser Software greift meist mittels Browser auf sie zu um damit zu arbeiten Es existieren in den meisten F llen wenige M glichkeiten diese Software zu konfigurieren und sie in die eigenen Gesch ftsprozesse einzubinden Eine Alternative bietet die Software on Demand L sung bei welcher die Software auf Bedarf on demand auf den Rechner des Kunden geladen wird Diese Software kann am Ende der Sitzung gel scht werden oder auf dem Rechner verweilen bis sie durch eine neue Version ersetzt wird oder ein bestehender Nutzungsvertrag ausl uft 20 2 Architekturen Technologien und Paradigmen ist es sowohl f r den Kunden als auch f r das Unternehmen m glich bestimmte Web Services der Wertsch pfungskette bzw des Kunden Frontends unabh ngig von Plattform und Endger t in die eigene Applikation oder Kette einzubinden Kunde Produktkatalog Kunden mn anzeigen identifizieren r ber Angebote Produktinfos Hersteller QO abrufen Logistik Dienstanbieter USW informieren Verf gbarkeit Bestellung pr fen bearbeiten Produktinfos Bestellstatus abrufen abfragen Lieferplan Un
33. Die Management Anwendung stellt das Frontend zum menschlichen Part des Management also einem Administrator oder Operator dar Dabei handelt es sich meist um eine mehr oder weniger komplexe grafische Benutzeroberfl che Der Manager nimmt Anfrage und Auftr ge der Management Anwendung entgegen und leitet diese an den Agenten weiter Auf der anderen Seite erh lt er vom Agenten sowohl Antworten auf diese Operationen als auch Meldungen welche er an die Management Anwendung weiterleitet Der Agent verwaltet die Managed Objects und stellt das Bindeglied zwischen diesen und dem Manager dar Wie auch das Internet befinden sich Managementsysteme und architekturen in einem stetigen Wandel Heutige Netze und insbesondere die auf diesen Netzen operierenden verteilten Anwendungen unterliegen einem immer rascheren Wandel der sich auch im Bedarf an ein flexibles skalierbares dynamisches offenes 5 Zusammenfassung 197 standardisiertes und eben den neuen Anforderungen angepasstes Management u ert Die klassischen Managementarchitekturen sind diesen Anforderungen kaum mehr gewachsen Es existieren daher eine Reihe neuerer Ans tze welche als Management der dritten Generation bezeichnet werden Nach Meinung des Autors wird auch in diese Systeme fr her oder sp ter die Web Services Technologie Einzug halten Zun chst wird das Management der Web Services und der dahinter liegenden Funktionalit t an Bedeutung gewinnen und sp ter zunehmend a
34. Die klassischen Managementarchitekturen welche in den vorherigen Teilkapiteln beschrieben wurden sind diesen neuen Anforderungen kaum gewachsen SNMP ist zwar sehr weit verbreitet hat aber in vielen Bereichen siehe Kapitel 2 2 5 Vergleich OSI und Internet Management massive Defizite Allein der variablenorientierte Infomationsansatz mit allen darauf basierenden Unzul nglichkeiten f hrt dazu dass in vielen Bereichen zum Beispiel im Bereich des Managements von Bankperipherieger ten siehe Kapitel 3 Ein berwachungssystem f r Bankperipherieger te propriet re Management Protokolle entwickelt werden um auf spezifische Bed rfnisse besser eingehen zu k nnen Der OSI Ansatz ist zwar in vielen Bereichen insbesondere durch den objektorientierten Ansatz besser geeignet aber durch die geringe Verbreitung und die hohe Komplexit t mit den damit verbundenen Kosten auch keine Alternative Beiden klassischen Ans tzen ist gemeinsam dass sie als zentralisierte plattformbasierte Architekturen realisiert sind d h dass von einer zentralen Managementplattform Manager aus eine gro e Anzahl von Agenten verwaltet wird Diese Agenten besitzen aber nur einfache Zugriffsschnittstellen und sind gew hnlich nicht in der Lage eine Vorverarbeitung der Managementdaten die sie sammeln durchzuf hren Dieser Ansatz wird als statisch bezeichnet da das Vorhandensein vordefinierter Managementfunktionen vorausgesetzt wird und eine nderung dieser
35. Dimension 200 17 jLabel4 setText Gerateauswahl chooseDeviceButton setText Ger t wahlen chooseDeviceButton addActionListener new java awt event ActionListener public void actionPerformed ActionEvent e chooseDeviceButton_actionPerformed e H jPanel2 setLayout gridLayout1 jLabel5 setFont new java awt Font Dialog 0 14 jLabel5 setHorizontalAlignment SwingConstants LEFT jLabel5 setHorizontalTextPosition SwingConstants LEFT jLabeld5 setText Geratename deviceNameField set ToolTip Text deviceNamefield setText Dummy_CashDispenser jLabel6 setFont new java awt Font Dialog 0 14 jLabel6 setHorizontalAlignment SwingConstants LEFT jLabel6 setHorizontalTextPosition SwingConstants LEFT jLabel6 setText Hostname hostNameField setText localhost jPanel3 setLayout gridLayout2 jLabel7 setFont new java awt Font Serif 3 16 jLabel7 setText Ereignisregistrierung contentPane setMaximumSize new Dimension 600 200 contentPane setMinimumSize new Dimension 600 200 contentPane setPreferredSize new Dimension 600 200 Ger t setPreferredSize new Dimension 600 200 JButton chooseDeviceButton new JButton JLabel jLabel5 new JLabel JTextField deviceNameField new JTextField JLabel jLabel6 new JLabel JTextField hostNameField new JTextField JPanel jPanel5 new JPanel GridLayout gridLayout1 new GridLayout JPanel jPanel3 new JPanel
36. Ebene werden sowohl JMX Manager als auch die Schnittstellen zwischen dem JMX Agenten und den Managementanwendungen bzw dem vorgeschalteten Manager definiert Diese Schnittstellen werden durch Konnektoren und Protokoll Adapter realisiert Diese Schicht ist in der aktuellen Spezifikation noch nicht enthalten befindet sich aber in der Entwicklung Zus tzlich zu den drei genannten Ebenen der JMX Architektur sieht die JMX Spezifikation APIs vor die als Schnittstelle zu anderen Managementarchitekturen fungieren sollen Im Gegensatz zu den Protokolladaptern welche es erm glichen mit Managementanwendungen die Protokolle wie zum Beispiel SNMP benutzen auf die JMX Infrastruktur zuzugreifen erm glichen es diese Additional Management Protocol APIs Ressourcen einer anderer Managementarchitektur in ein JMX basiertes Managementsystem einzubinden Solche APIs sind u a f r SNMP und CIM WBEM vorgesehen Die Spezifikation dieser APIs erfolgt aber au erhalb der JMX Spezifikation in eigenen Java Specification Requests JSRs des Java Community Process JCP Im Bereich der Dom nenbildung bietet JMX die M glichkeit MBeans wie auch im OSI Modell in einfache Dom nen zusammenzufassen die den OSI Verwaltungsdom nen entsprechen siehe Kapitel 2 2 3 1 Organisationsmodell 2 2 6 2 Informationsmodell Wie auch das OSI Modell basiert JMX auf einem konsequent objektorientierten Ansatz d h Konzepte wie Kapselung Vererbung Aggregation und die Def
37. Eine andere M glichkeit bietet das Proxy Konzept bei dem sich MIB und Agent auf einem der zu berwachenden Ressource vorgeschalteten Stellvertreter befinden Der Manager befindet sich auf einer entfernten Station und kommuniziert mit Hilfe des CMIS Common Management Information Service mit einer gewissen Anzahl von Agenten OSI bietet die folgenden M glichkeiten Managed Objects MOs in Dom nen zusammenzufassen gt Organisationsdomane Hier werden Managed Objects nach funktionalen Gesichtspunkten z B MOs fur Sicherheits oder Fehlermanagement oder innerhalb eines Funktionsbereiches zur Durchsetzung einer gemeinsamen Managementpolitik Policy zusammengefasst Organisationsdom nen k nnen sich berlappen d h ein MO kann Mitglied mehrer Organisationsdom nen sein Verwaltungsdom ne Im Gegensatz zu Organisationsdom nen d rfen sich Verwaltungsdom nen nicht berschneiden Zweck von Verwaltungsdomanen ist die Einrichtung und Manipulation von Organisationsdomanen sowie die Kontrolle des Steuerungsflusses zwischen Organisationsdom nen a a en aaa ae pomana der nina Oa OOO o D Abbildung 2 42 OSI Dom nenmodell 2 Architekturen Technologien und Paradigmen o Allomorphismus Dieser Ansatz bietet die M glichkeit verschiedenartige Managed Objects zu implementieren die aber dasselbe Verhalten gegen ber der Managementstation aufweisen So k nnen beispielsweise alte Ressourcenmodelle durch neue ersetzt w
38. Grundstein f r den zu erstellenden Prototyp Das hei t dass die Basiskomponenten und die grundlegende Funktionsweise des Prototyps bereits durch diese gegeben sind und somit damit vorausgesetzt werden 3 2 1 Systemspezifikation Der zu erstellende Prototyp hat wie in Abbildung 3 4 Prototyp System bersicht dargestellt drei Hauptbestandteile wobei auf Fragen des Deployments sp ter eingegangen werden soll gt Die grafische Benutzeroberfl che welche als Management Console fungiert und nach dem Web Service Modell die Rolle des Service Requestors einnimmt Mit dieser GUI arbeitet das berwachungspersonal Es k nnen Kommandos an das Ger t abgesetzt und Ereignisse vom Ger t empfangen werden Einen Web Application Server der als Middleware zwischen GUI und Peripherieger t gelagert wird Er fungiert als Manager und bietet die Managementschnittstelle als Web Service an um sie beliebig verf gbar zu machen Somit nimmt er nach dem Web Services Modell die Rolle des Service Providers ein Das Peripherieger t welches zu berwachen ist Im Prototyp handelt es sich hierbei um einen Geldautomaten aber das Modell soll auf einfache Art und Weise auf beliebige Bank und Einzelhandelsperipherieger te erweiterbar sein Auf dem Peripherieger t lagert der Agent und die von diesem berwachten Managed Objects welche die Ressourcen dieses Ger tes repr sentieren 3 Ein berwachungssystem f r Bankperipherieger te 139 3 Ein berw
39. Idealfall auf offenen Standards basieren Web Services versprechen diese Anforderungen zu erf llen und sollen die n chste Generation des Internets das service web erm glichen Gleichzeitig steigt der Bedarf an Managementsystemen welche in der Lage sind diese komplexen Systeme welche manuell nicht mehr beherrschbar sind zu berwachen und zu administrieren Auch hier existieren eine Reihe neuer Technologien und Architekturen die dies leisten wollen 1 2 Zielsetzung Diese Diplomarbeit verfolgt zwei Ziele Zum einen soll sie in die Gebiete der Management und Web Services Architekturen einf hren deren Vor und Nachteile Einsatzgebiete und Entwicklung diskutieren und sie sowie entsprechende state of the art L sungen damit dem Leser n her bringen Zum anderen soll sie basierend auf diesen Erkenntnissen durch die prototypische Konzeption und Realisierung eines berwachungssystem f r Bankperipherieger te die enormen M glichkeiten und Potentiale aufzeigen wie durch die Kombination von Management und Web Services Architekturen lose gekoppelte plattformunabh ngige leicht integrierbare und adaptierbare Management Systeme erstellt werden k nnen ein Aspekt der nach Wissen des Autors zur Zeit noch nicht in der Literatur zu finden ist Die Funktionalit t des erstellten Prototyps umfasst nur die absolut notwendigen Aufgaben von Management Systemen Dieser Prototyp kann und wird entsprechend erweitert werden um in eine
40. In allen Bereichen der IT werden bestehende Architekturen Produkte und Prozesse hinterfragt Einhergehend mit dieser Entwicklung ist das Bestreben nach Standardisierung Offenheit und die Nutzung bereits vorhandener und bew hrter Implementierungen zu beobachten ohne aber bereits get tigte Investitionen zu vernachl ssigen Im Bereich der Softwareentwicklungsprozesse konkurrieren RUP und XP oder werden sinnvoll gemeinsam eingesetzt UML hat sich als Standard durchgesetzt ist aber mittlerweile f r viele schon zu umfangreich geworden XML ist kein Wunderding mehr Begriffe wie Web Services SOAP und EAI kursieren und werden berall anders definiert m chtige Frameworks wie J2EE entstehen worauf Microsoft mit NET antwortet und SAP liegt mit mySAP com voll im Trend Das Internet ist unersetzbarer Bestandteil unseres Lebens geworden der E Commerce kommt langsam in Fahrt und es w chst der Wunsch der Unternehmen Prozesse ber das Internet mit anderen Unternehmen zu integrieren Viele dieser Entwicklungen sind mit weitreichenden Marketing Ma nahmen verbunden die diesen zun chst den Status des Hype verleihen sich aber wie XML sp ter doch als ganz brauchbar herausstellen Auch im Bereich der Banken bzw berwachungs Software in dem der praktische Teil dieser Arbeit angesiedelt ist gelten diese Regeln Globalisierung Vernetzung anspruchsvollere Konsumenten und verst rkter Konkurrenzdruck sin
41. Methode des Web Service RPC oder dadurch dass sich der Service Requestor f r asynchrone Ereignisse beim Service Provider registriert Messaging Wie bereits in Kapitel 2 1 1 1 Web Service Perspektiven angesprochen hat ein Web Service zwei grundlegende Bestandteile gt Service Die Implementierung des Web Service liefert den Service selbst Dieser Service ist ein Softwaremodul welches auf dem Server des Service Providers abgelegt ist 2 Architekturen Technologien und Paradigmen 2 Architekturen Technologien und Paradigmen 2 1 1 5 Warum Web Services Es existiert eine Reihe von Vorteilen welche sich durch die Nutzung von Web Services ergeben Einige dieser Vorteile k nnen auch durch andere Ans tze und bereits existierende Technologien erreicht werden Nachfolgend verschiedene f r die Web Service Technologie spezifische Vorteile gt Loose technologie coupling zwischen Requestor und Provider Plattform besteht keine Technologieabh ngigkeit mehr Late binding erm glicht den Beziehungsaufbau zwischen Systemen zur Laufzeit Dynamic Inspection die F higkeiten und Funktionalit ten von Web Services k nnen auch zur Laufzeit aufgefunden werden Programmable Web Services erm glichen es dass Systeme Funktionen Uber das Internet aufrufen statt nur Daten auszutauschen und zu pr sentieren Use of standard protocols es wird eine Reihe standardisierter und allgemein anerkannter Protokolle v
42. Rolle und Zeit werden gespeichert und der Request wird an den entsprechenden Web Service delegiert Der Smart Process Bereich verwaltet die Choreografie der Web Services und garantiert dass der richtige Micro Web Service in korrekter Reihenfolge des Workflows aufgerufen wird Die Services selbst verwenden die Integrations und Ressourcen Engines um andere Services aufzurufen und um auf Datenbanken Dateien Legacy Applikationen usw zuzugreifen Ist dies erfolgreich geschehen wird die Antwort f r das Endger t d h den Konsumenten generiert wobei sowohl Personalisierung als auch Kontextsensitivit t benutzt werden Die Antwort wird vom Konsumenten durch den entsprechenden Kanal empfangen Wie diese Architektur in der Praxis umgesetzt werden kann beantworten Abbildung 2 28 Sun ONE Architektur Standards und der folgende Absatz Die in der Abbildung mit gekennzeichneten Technologien sind entweder noch im Beta Stadium oder werden erst in naher Zukunft erscheinen 2 Architekturen Technologien und Paradigmen 62 2 Architekturen Technologien und Paradigmen Web Server Application Sarvlat JSP Server Aufnehmen der Kontext Information Appl Connecter Update der Kontext Information Web JAX RPC Services a zz JANR sevice Comat Ber API Management Abbildung 2 28 Sun ONE Architektur Standards Quelle JM9 01a Die Sun ONE Architektur basiert auf der Java Plattform und nutzt die bereit
43. Text this textBox2 Text String result service getCassCount device this label4 Text Kassetteninformationen erfolgreich erhalten this richTextBox1 Text result
44. VITIRIS WIC01 WNPCE WSCA WSGART WSRHRN McMahon Peter Web Services A Guide for Business and IT Managers www Dokument vom 29 11 2001 http Awww dotnet za net Modi Tarak JMX Makes App Management Simple www Dokument vom 19 11 2001 http www devx com Microsoft NET Defined www Dokument vom 23 05 2001 http www microsoft com net Microsoft An Introduction to Microsoft NET www Dokument vom 27 05 2001 http www microsoft com net intro asp Newport Billy JMX Network Management Software www Dokument vom 23 07 2001 http Awww theserverside com resources articles jmx article html Sun Microsystems Inc Open Finance Magazine Driving Force www Dokument vom 08 11 2001 http Awww sun com finance openfin spring01 Sun Microsystems Inc Sun Open Net Environment SUN ONE www Dokument vom 23 05 2001 http www sun com software sunone Sun Microsystems Inc Sun Open Network Environment Sun ONE Software Architecture www Dokument vom 03 11 2001 http www sun com sunone Phipps Simon Building the Swarm www Dokument vom 25 05 2001 http java sun com features 2001 04 swarm html Ryman Arthur Understanding Web Services www Dokument vom 17 11 2001 http www 106 ibm com developerworks webservices van Eyle Ben Web Services A Business Perspective on Platform Choice www Dokument vom 25 12 2001 http Awww theserverside com resources articl
45. VMs werden der Aufbau und die zur Kommunikation ben tigten Komponenten dargestellt Die aktuelle Form des Datums ist als Sechseck dargestellt Es handelt sich hierbei je nach Schicht um ein J XFS Objekt eine XML Schema Instanz eine SOAP Nachricht oder applikationsspezifische Objekte 3 5 4 Detaillierte Statik und Dynamik Mit diesem Vorwissen lassen sich nun leicht die zu erstellenden Klassen bestimmen Es handelt sich hierbei um Klassen fur die GUI des Uberwachungspersonals die GUI des Endbenutzers nur zu Demonstrationszwecken die Managementdaten durch Databinding Framework automatisch generiert den SOAP Client den Web Service den JMX Adaptor den JMX Agenten die MBeans den J XFS Connector die J XFS Logik den Mapper von J XFS nach XML Schema VV VV VV VV VV V Die restlichen Strukturen und Funktionalit ten siehe Kapitel 3 3 Konzeptionelles Modell werden durch die eingesetzten Produkte Technologien und APIs erbracht Es macht daher nach Meinung des Autors wenig Sinn umfassende Klassen oder Sequenzdiagramme zu erstellen da diese enorme Ausma e besitzen w rden 1 RMI Remote Method Invocation ist das verteilte Komponentenmodell der Java Plattform Java API zum Zugriff auf serielle und parallele Schnittstellen 3 Ein berwachungssystem f r Bankperipherieger te berwachungs Client berwachungs Client Castor Framework xxx Framework SOAP Schicht SOAP Client SOAP Schicht SOAP Client
46. and returns info param deviceName name of device return status of device as DeviceStatus schema class U public DeviceStatus getStatus String deviceName this deviceName deviceName try this initCashDispenser catch JxfsException exception System out printin lt RzProtoJxfsStatusReader gt gt No device of the given type can be found n exception return null Device Status status null J fsStatus jxfsStatus null try jxfsStatus atmControl getStatus catch Exception e e printStackTrace check for failure if ixfsStatus null System out printin lt RzProtoJxfsStatusReader gt gt Query for status failed else map J XFS cassette information to schema information System out printin lt RzProtoJxfsStatusReader gt gt Query for status successful ystem out printin lt RzProtoJxfsStatusReader gt gt Mapping lt JxfsStatus gt to lt DeviceStatus gt build castor object status RzProtoJxfsToSchemaMapper getDevice Status jxfs Status System out printin lt RzProtoJxfsStatusReader gt gt Returning lt DeviceStatus gt return status Vike starts the cassette counters reader lt br gt starts the connector ef public void startup connector startup package com wincornixdorf pce rzdiplomarbeit jxfs cassettecountersreader JIXFS to Schema Mapper import com wincornixdorf pce rzdiplomarbeit jxfs ma
47. catch NotCompliantMBeanException e System out printin lt RzProtoJmxAgent gt gt MBean not ok e printStackTrace catch MBeanRegistrationException e System out printin lt RzProtoJmxAgent gt gt MBean registration failed e printStackTrace catch InstanceAlreadyExistsException e System out printin lt RzProtoJmxAgent gt gt MBean already exists e printStackTrace MAIN for starting the JMX framework lt br gt create JMX Server the create MBeans and register them lt br gt param args command line arguments 7 public static void main String args RzProtoJmxAgent agent new RzProtoJmxAgent register the Command Forwarder MBean System out printin n lt RzProtoJmxAgent gt gt Creating lt RzProtoCommandForwarder gt RzProtoCommandForwarder jxfsMBean new RzProtoCommandForwarder agent addMBean jxfsMBean DefaultDomain name RzProtoCommandForwarder id 1 desc command forwarder register Event Forwarder MBean System out printin n lt RzProtoJmxAgent gt gt Creating lt RzProtoEventForwarder gt RzProtoEventForwarder eventMBean new RzProtoEventForwarder agent addMBean eventMBean DefaultDomain name RzProtoEventForwarder id 2 desc event forwarder register and start the HTML adaptor MBean System out printin n lt RzProtoJmxAgent gt gt Creating lt HtmlAdaptorServer gt HtmlAdaptorServer htmlAdaptor new HtmlAdaptorSe
48. dar lt Bestellung gt Abbildung 2 12 DOM Baum Die SAX Schnittstelle auch als ereignisorientierte Schnittstelle bezeichnet erlaubt wie auch DOM den standardisierten Zugriff auf beliebige XML Dokumente wobei jedoch nicht der DOM Baum aufgebaut und anschlie end bearbeitet wird Ein SAX Parser liest das XML Dokument sequentiell und ruft bei Ereignissen wie zum Beispiel Dokumentenanfang oder End Tag entsprechende Methoden Event Handler Methoden auf deren R mpfe der Anwendungsprogrammierer seinen Bed rfnissen entsprechend gestalten kann Das allgemeine Vorgehen bei der 1 Dieses Problem tritt insbesondere beim Einsatz von XML in Zusammenhang mit Streaming Technologien auf 2 Architekturen Technologien und Paradigmen 37 Nutzung der SAX Schnittstelle ist also die Ereignisbehandlung auf folgende Art und Weise Parser instanziieren Event Handler instanziieren Event Handler beim Parser registrieren Dokument sequentiell einlesen bei jedem Ereignis den entsprechenden Event Handler informieren Der Vorteil gegen ber der baumorientierten DOM Schnittstelle liegt in der vielfach h heren Verarbeitungsgeschwindigkeit der SAX Parser da kein vollst ndiger DOM Baum aufgebaut werden muss und die an den Parser gekoppelte Anwendung die f r sie unwichtige Teile des Dokumentes ignorieren kann Weiterhin besteht hierdurch die M glichkeit sehr gro e Dokumente und Streams zu verarbeiten Allerdings ist die
49. der Anwendung die ben tigten Informationen ber diese zur Verf gung Mittels einheitlicher plattform und sprachunabh ngiger APIs kann der Parser auf die Dokumente und die darin enthaltenen Daten zugreifen Hierbei existieren zwei grundlegende Schnittstellen Die objektmodell orientierte DOM Schnittstelle und die ereignisorientierte SAX Schnittstelle Zur Verdeutlichung dient das folgende Schaubild Gesamtanwendung XML Dokument Abbildung 2 11 Programmierschnittstellen und Parser Die DOM Schnittstelle auch als baumorientierte Schnittstelle bezeichnet erlaubt wie auch SAX den standardisierten Zugriff auf beliebige HTML und XML Dokumente Sie bietet Methoden zum Lesen und zur Manipulation der Baumstruktur eines Dokumentes Ein DOM Parser verarbeitet parst zun chst das gesamte Dokument und erstellt intern einen Elementebaum der auch als Syntaxbaum oder DOM Baum bezeichnet wird und als Repr sentant des Dokumentes fungiert Die an den Parser gekoppelte Anwendung kann nun ber einheitliche Schnittstellen diesen Baum durchwandern und manipulieren indem sie ihren Zugriff auf einzelne Knoten sowie deren Vorg nger und Nachfolger geschickt nutzt Das allgemeine Vorgehen bei der Nutzung der DOM Schnittstelle ist also die Objektmanipulation auf folgende Art und Weise 2 1 2 3 2 DTD Document Type Definition Die DTD beschreibt mit Hilfe der erweiterten Backus Naur Form EBNF die Grammatik und das Vokabular
50. dispenseMoney amount this parent getClient queryCashUnits Vector cassetteFields this parent getClient getCassetteFields String cassette1 Text cassetteFields elementAt 0 toString String cassette2Text cassetteFields elementAt 1 toString String cassette3Text cassetteFields elementAt 2 toString String cassette4 Text cassetteFields elementAt 3 toString this cassetteField1 setText cassette1 Text this cassetteField2 setText cassette2 Text this cassetteField3 setText cassette3 Text this cassetteField4 setText cassette4 Text this statusBar setText amount DM ausgezahit check if a cassette is empty workaround if cassette 1Text endsWith 0 this statusBar setText Geldkassette lt ui1 gt leer if cassette2Text endsWith 0 this statusBar setText Geldkassette lt ui2 gt leer if cassette3Text endsWith 0 this statusBar setText Geldkassette lt ui3 gt leer if cassette4Text endsWith 0 this statusBar setText Geldkassette lt ui4 gt leer JPanel contentPane JLabel statusBar new JLabel JLabel jLabel1 new JLabel JPanel jPanel1 new JPanel JLabel jLabel2 new JLabel JLabel jLabel3 new JLabel JLabel jLabel4 new JLabel JLabel jLabel5 new JLabel GridLayout gridLayout1 new GridLayout JTextField cassetteField1 new JTextField JTextField cassetteField2 new JTextField JText
51. for lt CashUnit gt received String deviceName clientRequest substring clientRequest indexOf 1 invoke method on MBean to get cash unit object System out printIn lt RzProtoRequestHandler gt gt Sending request to lt RzProtoCommandForwarder gt CashUnit result CashUnit this invokeMBeanMethod getCashUnitObject deviceName System out printin lt RzProtoRequestHandler gt gt Response from lt RzProtoCommandForwarder gt n result return MBean result to web service System out printin lt RzProtoRequestHandler gt gt Return response from lt RzProtoCommandForwarder gt to lt RzProtoOperatorWebService gt result runtime workaround try Thread sleep 500 catch Exception e this sendClientResult result request for device status else if clientRequest startsWith status System out printin lt RzProtoRequestHandler gt gt Request for lt DeviceStatus gt received String deviceName clientRequest substring clientRequest indexOf 1 invoke method on MBean to get device status object System out printIn lt RzProtoRequestHandler gt gt Sending request to lt RzProtoCommandForwarder gt DeviceStatus result DeviceStatus this invokeMBeanMethod getDeviceStatusObject deviceName System out printIn lt RzProtoRequestHandler gt gt Response from lt RzProtoCommandForwarder gt n result return MBean result to web s
52. gt gt Interrupted system call throw new InterruptedException e toString else throw new CommunicationException e catch InterruptedIOException e throw new InterruptedException e toString catch IOException e throw new CommunicationException e JR processes the request by creating a new thread and delegating the request to it lt br gt automatically called after doReceive exception CommunicationException exception InterruptedException 7 protected void doProcess throws CommunicationException InterruptedException System out printin lt RzProtoAdaptorServer gt gt Sending request to lt RzProtoRequestHandler gt forward request to client handler RzProtoRequestHandler requestHandler new RzProtoRequestHandler clientSocket this super getMBeanServer release resources requestHandler null clientSocket null Jede processes an error param ean Exception exception CommunicationException 7 protected void doError Exception e throws CommunicationException throw new CommunicationException e IER close socket when connector goes offline exception CommunicationException exception InterruptedException System out printin lt RzProtoAdaptorServer gt gt Unknown event catch Exception e e printStackTrace Visi register a client webservice for notifications from J XF
53. im Schema ein neuer Typ namens nameT definiert der sich aus zwei Strings und einem optionalen Datum zusammensetzt Im zweiten Schritt werden zwei Elemente auf Basis dieses Types deklariert die im dritten Schritt im Dokument instanziiert werden lt xsd schema xmins http www w3 org 2000 08 XMLSchema gt lt Den Typ NameT definieren gt lt xsd complexType name nameT gt lt xsd sequence gt lt xsd element name vorname type xds string gt lt xsd element name nachname type xds string gt lt xds sequence gt lt xsd attribute name geburtsdatum type xsd date use optional gt lt xsd complexTyp gt 2 1 2 3 5 XML Namensr ume Innerhalb eines XML Dokumentes muss jeder Element und Attributname eine eindeutige Bedeutung besitzen ansonsten ist das Dokument nicht g ltig Da man aber sprechende Namen f r Elemente und Attribute verwenden sollte kann dies bei komplexeren Systemen oft zu Mehrdeutigkeiten und somit zu Namenskollisionen f hren So kann zum Beispiel ein Tag lt Titel gt sowohl f r die Anrede als auch f r den Titel einer Ver ffentlichung stehen Zur Aufl sung dieser Mehrdeutigkeiten von Metainformationen die durch die rasant steigende Anzahl von DTDs und XML Schemata unausweichlich wird dienen XML Namespaces Dazu qualifiziert man die mehrdeutigen Namen durch Bindung an URIs Ein Namensraum ist eine eindeutig identifizierte Sammlung von Namen f r Elemente und Attribute
54. in der DTD bzw im XML Schema befinden ist der eigentliche Code einfacher wart und handhabbar Wenn sich das Datenaustauschformat und damit die DTD bzw das XML Schema ndert ist keine aufwendige Programm nderung n tig Das neue Schema muss lediglich noch einmal das Framework durchlaufen Durch die integrierte L sung und die Nutzung von in memory objects anstatt des aufwendigen Parsing Codes ist die Verarbeitungsgeschwindigkeit der Programme um ein Vielfaches h her Es existieren eine Reihe dieser Frameworks wobei die meisten Einschr nkungen oder Probleme unterschiedlichster Art haben Einige ben tigen die Erstellung zus tzlicher Data Binding Schema Dokumente andere k nnen nur DTDs umwandeln und wieder andere sind auf eine Programmiersprache beschr nkt Eine reifere L sung findet sich im Castor Framework der Exolab Group Castor ist ein weit verbreitetes Open Source Databinding Framework f r Java welches es erm glicht Java Objekte in XML Dokumente und XML Dokumente in Java Objekte umzuwandeln und hierbei sowohl mit DTDs als auch mit XML Schemata umzugehen Die XML Dokumente sind hierbei aber nicht java zentriert wie dies in anderen Frameworks der Fall ist d h sie k nnen problemlos auch durch Frameworks anderer Programmiersprachen in deren Objektrepr sentation umgewandelt werden Die Begrifflichkeiten im Bereich des Data Binding erkl rt die folgende Abbildung compile validate instance of unmarshal marsh
55. of occurred events return number of occurred events u public int getEventCount package com wincornixdorf pce rzdiplomarbeit jmx mbeans JIXFS connector import com wincornixdorf pce rzdiplomarbeit jxfs connector RzProtoJxfsConnector JIXFS event generator import com wincornixdorf pce rzdiplomarbeit jxfs eventgenerator RzProtoJxfsEventGenerator JXFS 2 0 import com jxfs events JxfsStatusListener import com jxfs events JxfsStatusEvent import com jxfs general Jxfs ThresholdStatus import com jxfs control cdr JxfsLogicalCashUnit JDMK 4 2 import javax management NotificationBroadcasterSupport import javax management AttributeChangeNotification W J2SE 1 4 import java util Date Wit Standard MBean as a proxy to the J XFS layer lt br gt main functions lt br gt inform listeners adaptor gt webservice gt client of events lt br gt The super class NotificationBroadcasterSupport is an implementation of NotificationBroadcaster interface lt br gt author Roger Zacharias version 1 0 7 public class RzProtoEventForwarder extends NotificationBroadcasterSupport implements RzProtoEventForwarderMBean IyxfsStatusListener JA AER K EIRE EER MBean attributes ERROR ARTEN name of observed device private String deviceName number of occurred events private int eventCount event that came in private String event AEREI LEXAR MBean constructors IREE E
56. res locked else if isEmpty res empty else if isLow res low EE else if isFull build type out of the given parameters res full 7 private static String getType int cuType int cuKind String res null if cuType lJxfsCDRConst JXFS_C_CDR_LCU_BILL_CASSETTE amp amp cuKind lJxfsCDRConst JXFS_C_CDR_LCU_DISPENSE res Cassette TypeNormal else if cuType lJxfsCDRConst JXFS_C_CDR_LCU_REJECT_CASSETTE res CassetteTypeReject else if cuType IJxfsCDRConst JXFS_C_CDR_LCU_RETRACT_CASSETTE res CassetteTypeRetract else if isHigh res high else if appLock res logical locked else res unknown return res C SOAP Client using System using System Drawing using System Collections using System ComponentModel using System Windows Forms using System Data namespace RzProtoOperatorClientDotNet lt summary gt Summary description for Form1 lt summary gt public class Form1 System Windows Forms Form private System Windows Forms Label label1 private System Windows Forms Label label2 private System Windows Forms Label label3 private System Windows Forms TextBox textBox1 private System Windows Forms TextBox textBox2 private System Windows Forms Button button private System Windows Forms Label label4 private System Windows Forms Label label5 private System
57. schreibt Werte in eine oder mehrere MIB Instanzen Mit Hilfe dieser Operation k nnen auch neue MIB Instanzen erzeugt werden GET RESPONSE Hierbei handelt es sich um die vom Agenten zum Manager zur ckgegebene Antworten auf die get get next und set Operationen TRAP Mit der Trap Operation kann ein Agent ein Ereignis anzeigen d h dieses wird vom Agent an den Manager bermittelt Der Empfang einer Trap Nachricht wird nicht best tigt und Trap Nachrichten k nnen w hrend der bertragung verloren gehen Damit ergibt sich ein differenzierteres Kommunikationsmodell welches in der folgenden Abbildung dargestellt wird SNMP Management Station _ SNMP Agent Managed Resources __ SAMP Managed Objects Applicatsern N I manages objects a t a _ Smhequest Geiftequesi Gethexthoequ Gerhaapande GetRequest GetNesthequest Sethequest GetAerpunen T d SNMP Manager uor a Network dependent protocols bien Hetw rk dependan t probsonts Abbildung 2 51 SNMP Kommunikationsmodell Quelle STAL93 S 75 2 2 4 4 Funktionsmodell Das Funktionsmodell geh rt zu den Teilmodellen einer Managementarchitektur die vom IAB im extremen Gegensatz zum OSlI Ansatz bislang stark vernachl ssigt wurde Nat rlich ist es auch wenn nicht definiert m glich die f nf FCAPS Funktionsbereiche mit SNMP abzudecken 1 Das Internet Activities Board heute Internet Architecture Board ist eine t
58. sich daher an sofern die Web Services Implementierung bereits besteht entsprechende Werkzeuge zu benutzen um es aus der 2 Architekturen Technologien und Paradigmen Binding Mittels Binding wird die Netzwerkadresse mit konkreten Protokollen und Datenformaten assoziiert bzw diese Informationen mit den abstrakten Operationsdefinitionen in Einklang gebracht PortType Ein PortType stellt eine abstrakte Sammlung von Operationen mit unterschiedlichen Kommunikations Semantiken dar Operation Diese Entit t stellt eine abstrakte Beschreibung einer vom Web Service zur Verf gung gestellten Aktion dar Sie f hrt alle notwendigen Definitionen bzgl der Datenpakete zu einer Operation zusammen Es k nnen Input Output und Fehlermeldungen zu einer Operation assoziiert werden Message Diese Entit t stellt eine abstrakte typisierte Definition der auszutauschenden Daten dar Service Operation Message verbinden etwork endpoint verbinden Abbildung 2 22 WSDL Entit ten und deren Beziehungen Nachfolgend wird das zum SOAP Beispiel Web Service in Kapitel 2 1 3 SOAP Simple Object Access Protocol passende WSDL Dokument aufgef hrt um einen Eindruck dieser Beschreibungssprache zu erhalten lt xml version 1 0 gt lt definitions name StockQuote targetNamespace http www myserver com services stockquote wsadl xmins tns http www myserver com stockquote wsdi xmins xsdlI http www myserver com stockquote xsd
59. the whole industry has been so quick to endorse and adopt without major dissent Vgl WSRHRN S 5 2 Architekturen Technologien und Paradigmen 27 Die Grundlage des Web Services Stacks bildet das Netzwerk Web Services m ssen ber das Netzwerk zugreifbar sein um den Informationsaustausch zwischen Service Requestor und Service Provider zu erm glichen Web Services im Internet Bereich nutzen weit verbreitete Netzwerkprotokolle wie HTTP SMTP und FTP w hrend Web Services im Intranet Bereich weitere Protokolle wie IIOP oder MQ Message Queuing benutzen k nnen Die zweite Schicht das XML basierte Messaging repr sentiert die Benutzung von XML siehe Kapitel 2 1 2 XML Extensible Markup Language als Basis f r ein Messaging Protokoll In diesem Bereich hat sich SOAP siehe Kapitel 2 1 3 SOAP Simple Object Access Protocol aus den verschiedensten Gr nden als alleiniger Standard durchgesetzt Die Service Description Schicht besteht eigentlich selbst wiederum aus einem Stack von Web Service Beschreibungs Dokumenten wobei WSDL siehe Kapitel 2 1 4 WSDL Web Service Description Language der minimale de facto Standard ist um Web Services zu beschreiben Weitere Beschreibungen auf h herer Ebene wie zum Beispiel den Unternehmenskontext Serviceg te oder Dienst Dienst Beziehungen bieten andere Protokolle Der Unternehmenskontext wird zum Beispiel durch UDDI siehe Kapitel 2 1 5 UDDI Universal Description Discove
60. this reader reader this cashUnit null VE return actual info about cassette units if event occurred lt br gt return CashUnit object already mapped to schema class 7 public JxfsCashUnit getCashUnit return this cashUnit IEA Listener interface method to handle OperationCompleteEvents lt br gt if event JXFS_O_CDR_QUERY_CASH_UNIT occurred get information about cassettes and store it in cassettelnfo lt br gt then notify the reader and tell him the information is available lt br gt param event a operation complete event fired if a J XFS operation is completed ai public synchronized void operationCompleteOccurred JxfsOperationCompleteEvent event if event QUERY CASH UNIT occurred if event getOperationID IyxfsCDRConst JXFS_O_CDR_QUERY_CASH _UNIT f J XFS nach XML Schema Mapper package com wincornixdorf pce rzdiplomarbeit jxfs mapper cassette counters schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata cashunitschema device status schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema 1 SIXFS 2 0 import com jxfs general contains classes used in more than one other package import com jxfs control cdr Device Control for cash dispenser cash recycler JxfsCashRecycler and automatic teller machine J2SE 1 4 import java util Vector ER Class to map J XFS information
61. vom 02 10 2001 http java sun com jmx Sun Microsystems Inc Java Dynamic Management Kit 4 2 Tutorial www Dokument vom 02 10 2001 http java sun com jmx Savarese Daniel F ONE Web to Bind Them www Dokument vom 01 11 2001 http Awww devx com SAP Deutschland mySAP Technologie www Dokument vom 23 05 2001 http www sap ag de germany technology index asp Seemann Michael Sp rhunde im Web www Dokument vom 25 05 2001 http entwickler com jm ausgaben 2001 6 artikel 8 online shtml Shinka Technologies Shinka Integration Server 1 2 Whitepaper www Dokument vom 09 10 2001 http www shinka de pdf whitepaper pdf Stahl Michael Paradigm Shift for Agility through Web Services www Dokument vom 19 12 2001 http www stahl de Stahl Michael Workshop on Web Services SE Day 2001 www Dokument vom 19 12 2001 http www stahl de Stahl Michael Stets zu Diensten Web Services im berblick www Dokument vom 19 12 2001 http www stahl de W3C Simple Object Access Protocol SOAP 1 1 www Dokument vom 21 06 01 http Awww w3 org TR SOAP Vasudevan Venu A Web Services Primer www Dokument vom 07 08 2001 http Awww xml com Ipt a 2001 04 04 webservices Vawter Chad Roman Ed J2EE vs Microsoft NET www Dokument vom 21 12 2001 http www theserverside com resources MMPO1 MOTO1 MSNETD MSNETI NEWB01 OFMO1 ONESA PHIPSO1 RAWS01 VEBO1
62. zugreift Es muss nur der entsprechende Konnektor oder Adapter im MBean Server registriert sein Konnektoren erm glichen die Kommunikation eines JMX Managers mit einem JMX Agenten in der Art dass die MBean Interfaces unver ndert an den Manager weitergereicht werden Adapter setzen Anfragen von Seiten einer Nicht JMX konformen Managementanwendung z B SNMP Manager Webbrowser in JMX Anfragen um In der Gegenrichtung m ssen nat rlich auch Antworten und Notifications von JMX in das korrespondierende Protokoll umgesetzt werden Bei einem Protokoll Adapter handelt es sich also um einen Protokoll Wandler zwischen JMX und einem beliebigen anderen Protokoll Die Definition der Konnektoren und Adapter ist nicht Gegenstand der JMX Spezifikation Version 1 0 wird aber in der n chsten Version zu finden sein 2 2 6 4 Funktionsmodell Das Funktionsmodell ist in den JMX Spezifikationen nicht explizit definiert Nat rlich ist es trotzdem m glich die f nf FCAPS Funktionsbereiche siehe Kapitel 2 2 3 4 Funktionsmodell mit JMX abzudecken 2 2 6 5 Zusammenfassung Zusammenfassend sollen hier noch einmal die Vorteile der JMX Architektur vorgestellt werden gt Es ergeben sich durch die Java Plattform bedingte Vorteile wie Plattformunabh ngigkeit Einfachheit Robustheit typsichere Referenzen automatische Speicher Bereinigung usw Ressourcen werden ohne gro en Aufwand leicht berwachbar Es handelt sich um eine dynamisch erweiterbare Ma
63. zum Beispiel redundante Komponenten zu aktivieren die den aufgetretenen Fehler abfangen Dynamische Reaktion auf nderungen im Netz und in der Umgebung Hiermit sind nderungen bez glich Anwendungen Teilnehmern Komponenten Diensten oder Geb hren gemeint auf die sich ein Managementsystem dynamisch einstellen k nnen sollte Beherrschbarkeit des Netzes Relevante Informationen sollten geordnet und komprimiert dargestellt werden Die Steuerung sollte sowohl zentral als auch dezentral m glich sein Weiterhin ist eine Integration in heterogene Umgebungen heutzutage unabdingbar Maximale Skalierbarkeit Ein weiteres wichtiges Kriterium ist die Skalierbarkeit in Bezug auf die Gr e des Netzes die Zahl der Komponenten und die steigenden Anforderungen an das Management Verbesserung der Arbeitsbedingungen der Administratoren Hierzu z hlen die Verbesserung und Vereinheitlichung der Benutzeroberfl chen von Management Werkzeugen die problemlose Integration dieser Werkzeuge in Arbeitsabl ufe und die M glichkeit der schrittweisen Automatisierung von Managementaufgaben Fortschritte durch Standardisierung Gerade im Bereich des Netzwerkmanagements existieren eine Reihe von propriet ren L sungen die einer herstellerunabh ngigen Standardisierung 76 2 Architekturen Technologien und Paradigmen Wie man sieht sind lediglich 31 der befragten Unternehmen mit dem von ihnen eingesetztem Management System zufrieden Die Bedeut
64. zurzeit bei der Wincor Nixdorf GmbH amp Co KG entwickelte moderne Multichannel Architektur einzuflie en 1 3 Vorgehensweise und Aufbau der Arbeit Kapitel 2 Architekturen Technologien und Paradigmen f hrt in das Umfeld der Management und Web Services Architekturen sowie in die f r die Konzeption und Realisierung des berwachungssystems notwendigen Technologien im Banken Umfeld ein Kapitel 3 Ein berwachungssystem f r Bankperipherieger te beschreibt die Konzeption und Realisierung eines berwachungssystems f r Bankperipherieger te unter Verwendung der im zweiten Kapitel beschriebenen Konzepte Kapitel 4 Bewertung beurteilt die Ergebnisse zu denen der Autor durch seine wissenschaftliche Auseinandersetzung mit diesen Themen gekommen ist Kapitel 5 Zusammenfassung fasst die wichtigsten Punkte dieser Arbeit zusammen und geht noch einmal auf die enormen M glichkeiten ein die sich aus der Verwendung dieser Architekturen bzw Technologien ergeben 1 4 Beschreibungsmethoden Zur Darstellung der entwickelten Konzepte wird in dieser Arbeit neben der verbalen Beschreibung auch mit der zur Zeit am weitesten verbreiteten grafischen Notationssprache der Unified Modelling Language UML gearbeitet Die UML ist die Vereinigung und Weiterentwicklung verschiedener Analyse und Design Notationen wurde 1997 von der OMG als Notation f r Softwarearchitekturen standardisiert und liegt zum Zeitpunk
65. 000 ne Sompulenvoche ESSEN LS Sonniges XML Wie unterst tzt Sun Microsystems das Traumpaar i Java XML CW8 01b Erbrich Thomas 2001 i Microsofts NET Werkstatt f r Web Services In Java Magazin 4 2001 S 21ff In Computerwoche extra 8 2001 S 12ff Fachzeitschriften JM5 01a Holubek Andreas 2001 HDMP96 Heiliger Dieter 1996 Objekte aufbewahren Persistenz zum Nulltarif Kurz und on Langzeitpersistenz mit Java Management Plallionnen In Java Magazin 5 2001 S 16ff Seminararbeit TH Darmstadt JM5 01b JM5 01c JM7 01 JM9 01a JM9 01b JM9 01c JM11 01 JR10 99 JS1 00 JS6 00 JS1 01 JS2 01 RHJK99 SJMO1 SNIWOSA STM98 VSM00 WNPV00 ZREJB01 ZRXML01 ZWSG94 Knuth Michael 2001 Serviceorientiert Web Service Definition Language was ist das In Java Magazin 5 2001 S 91ff Seemann Michael 2001 Fisch sucht Fahrrad Mit UDDI fit f r B2B In Java Magazin 5 2001 S 95ff Seemann Michael 2001 Seife im Tipi Die Apache SOAP Implementierung am Beispiel vorgestellt In Java Magazin 7 2001 S 97ff Sarakatsanis Athanasios 2001 Java Sicht auf Web Services Suns Open Net Environment ONE In Java Magazin 9 2001 S 40ff Knuth Michael 2001 Web Services die Middleware der Zukunft In Java Magazin 9 2001 S 32ff Holubek Andreas 2001 Das Web Services Pack als
66. 23 10 2001 http www javaworld com javaworld jw 06 2001 JAVAW4 JAVAW5 JAVAW6 JAVAW7 JBLUE JMX1 JMX2 JMX3 JMX4 JMX5 SADAF01 SAPTO1 SEEMO1 SHINKA SM01a SM01b SM01c SOAP VAVEO1 VCRE01 Borck James R Leaders of the Web services pack www Dokument vom 02 10 2001 http www javaworld com javaworld jw 09 2001 Rommel John Will Web services jump start the software slump www Dokument vom 07 09 2001 http www javaworld com javaworld jw 08 2001 Bansal Sonal Pal Gaurav The Web at your machine s service www Dokument vom 10 10 2001 http www javaworld com javaworld jw 09 2001 Sriniva Raghavan N Web services hits the Java scene Part 1 www Dokument vom 02 10 2001 http Awww javaworld com javaworld jw 09 2001 Sun Microsystems Inc J2EE Blueprints www Dokument vom 02 08 2001 http www javasoft com j2ee blueprints Sun Microsystems Inc Java Management Extensions White Paper www Dokument vom 02 10 2001 http java sun com jmx Sun Microsystems Inc 2000 Java Management Extensions Instrumentation and Agent Specification v1 0 www Dokument vom 02 10 2001 http java sun com jmx Sun Microsystems Inc Java Dynamic Management Kit White Paper www Dokument vom 02 10 2001 http java sun com jmx Sun Microsystems Inc Getting Started with the Java Dynamic Management Kit 4 2 www Dokument
67. 8 16 this label1 Name label1 this label1 Size new System Drawing Size 104 24 this label1 TabIndex 0 this label1 Text Ger teauswahl this button3 Size new System Drawing Size 136 23 this button3 TabIndex 7 this button3 Text Kassetteninformation this button3 Click new System EventHandler this button3_ Click N Form1 NW this AutoScaleBaseSize new System Drawing Size 5 13 this ClientSize new System Drawing Size 368 381 this Controls AddRange new System Windows Forms Controlf this button3 this richTextBox1 this button2 this label5 this label4 this button1 this textBox2 this textBox1 this label3 this label2 this label1 this Name Form1 this Text Form1 this Load new System EventHandler this F orm1_Load this ResumeLayout false endregion lt summary gt The main entry point for the application lt summary gt STAThread static void Main Application Run new Form1 private void label3_Click object sender System EventArgs e j private void textBox2_TextChanged object sender System EventArgs e private void button1_Click object sender System EventArgs e kkk use web service String device this textBox1 Text this textBox2 Text bool result service isDeviceExisting device if result this label4 Text Zugriff auf Ger t lt device gt erfolgreich this
68. Boolean this sendRPCAndUnmarshal this soapServerURL this webServicelD deregisterForNotifications false null null Boolean class if successfull stop polling thread if response booleanValue active false response for GUI if response booleanValue return Deregistrierung erfolgreich else return Deregistrierung nicht erfolgreich Vie send request to webservice to get all undelivered events exception Exception return vector of events 7 public ArrayList sendEventRequest throws Exception send rpc ArrayList response ArrayList this sendRPCAndUnmarshal this soapServerURL this webServicelD getUndeliveredEvents false null null ArrayList class response for GUI return response fae send request to webservice to check if specified device exists param deviceName name of device in J XFS layer e g CashDispenser localhost exception Exception return true if device exists ef public boolean isDeviceExisting String deviceName throws Exception send rpc Boolean response Boolean this sendRPCAndUnmarshal this soapServerURL this webServicelD isDeviceExisting false deviceName deviceName Boolean class return response booleanValue bake send RPC to web service TODO generalize and outsource to soap helper class param soapServerUrl url of soap server e g http ocalhost 8080 soap servlet rpcrouter param webServicelD
69. CHITEKTUR QUELLE JM9 014 60 PEREDUNGZ BI JAF o BENUTZUNGSBEISRIEE ABBILDUNG 2 28 SUN ONE ARCHITEKTUR STANDARDS QUELLE JM9 01A ABBILDUNG 3 1 OFFENLEGUNG EINER MANAGEMENTSCHNITTSTELLE ALS WEB SERVICE 135 ABBILDUNG 2 29 NET ARCHITEKTUR QUELLE MSNET S 13 PE RIEDUNG Ore E PERM ACHUNG DOREHANEBSERVICES ABBILDUNG 2 30 EVOLUTION DER WERTSCHOPFUNGSKETTE ABEILEUNG SS BERWACHUNG VON NER SERVICES ABBILDUNG 2 31 KLASSIFIKATION DES MANAGEMENTS ABBILDUNG 3 4 PROTOTYP SYSTEM BERSICHT ABBILDUNG 2 32 DIMENSIONEN DES MANAGEMENTS QUELLE SJMO1 S 8 PEP IDUNG S Pr ROlOM PSs ASE DIAGRAMM ABBILDUNG 3 6 PROTOTYP USE CASE NR 1 AKTIVITATSDIAGRAMM ABBILDUNG 3 7 PROTOTYP USE CASE NR 2 AKTIVITATSDIAGRAMM Tabellenverzeichnis ABBILDUNG 3 8 PROTOTYP USE CASE NR 3 AKTIVITATSDIAGRAMM ABBILDUNG 3 9 PROTOTYP KLASSENDIAGRAMM TABELLE 2 1 WEB SERVICES STANDARDS ABBILDUNG 3 10 PROTOTYP SEQUENZDIAGRAMM ANFRAGE BEARBEITEN TABELLE 2 2 HISTORIE DES MANAGEMENTS IM OSI BEREICH ABBILDUNG 3 11 PROTOTYP SEQUENZDIAGRAMM REGISTRIERUNG F R EREIGNISSE 160 TABELLE 2 3 HISTORIE DES MANAGEMENTS IM SNMP BEREICH ABBILDUNG 3 12 PROTOTYP SEQUENZDIAGRAMM EREIGNIS WEITERLEITEN TABELLE 2 4 NEUERE ANSATZE IM MANAGEMENT BEREICH ABBILDUNG 3 13 PROTOTYP GER TEAUSWAHL MASKE TABELLE 2 5 UNTERSCHIEDE OSI UND INTERNET MANAGEMENT PBEILDUNG ISS ar eo TORU SKOMMANDOTMASKIE TABELLE 3 1 PROTOTYP USE CASE NR 1 SPEZIFIKATION ABBILDUNG 3 15 P
70. Client registering as observer to get events from client soapClient addObserver this main frame frame new RzProtoOperatorFrame this Validate frames that have preset sizes Pack frames that have useful preferred size info e g from their layout if packFrame frame pack else frame validate Center the window Dimension screenSize Toolkit getDefaultToolkit getScreenSize Dimension frameSize frame getSize if frameSize height gt screenSize height frameSize height screenSize height if frameSize width gt screenSize width frameSize width screenSize width frame setLocation screenSize width frameSize width 2 screenSize height frameSize height 2 frame setVisible true Ve main method lt br gt starts the GUI param args command line arguments Z public static void main String args try UlManager setLookAndFeel UlManager getSystemLookAndFeelClassName catch Exception e e printStackTrace RzProtoOperatorGui gui new RzProtoOperatorGui if this buttonGroup1 isSelected this cassetteInfoButton getModel String result null try result this parent getClient sendCassetteCountersRequest deviceName catch Exception ex JOptionPane showMessageDialog this ex getMessage Fehler bei Kommando JOptionPane ERROR_MESSAGE ex printStackTrace return insert text at top commandResul
71. EISPIEL FUR DIE DEFINITION EINER SNMP VARIABLE ABBILDUNG 2 10 EINFACHE DTD ABBILDUNG 2 13 EINFACHES NAMENSRAUM BEISPIEL ABBILDUNG 2 14 EINFACHES XML SCHEMA ABBILDUNG 2 15 BENUTZUNG DER IM SCHEMA DEKLARIERTEN ELEMENTE ABRI DUNG 23 REGISTRIERUNG DER DESNIERZENSINIIESVARIABEE ABBILDUNG 2 50 EINORDNUNG SNMP IN Das TCP IP MODELL ABBILDUNG 2 51 SNMP KOMMUNIKATIONSMODELL QUELLE STAL93 S 75 ABBILDUNG 2 52 JMX ARCHITEKTUR QUELLE JMX2 S 21 ABBILDUNG 2 53 BEISPIEL EINER STANDARD MBEAN IMPLEMENTIERUNG ABBILDUNG 2 54 AUFBAU DES JMX AGENTEN QUELLE JMX2 S 102 ABBILDUNG 2 55 INTEGRIERTE MANAGEMENTARCHITEKTUR QUELLE HHAS93 S 301 115 ABBILDUNG 2 16 PRINZIP DER XSLT ABBILDUNG 2 17 PRINZIP DER XSL FO ABBILDUNG 2 18 AUFBAU EINER SOAP NACHRICHT QUELLE SKSMOO S 81 ABBILDUNG 2 19 BEISPIEL FUR EINEN SOAP REQUEST ABBILDUNG 2 20 BEISPIEL FUR EINE SOAP RESPONSE ABBILDUNG 2 21 SOAP KOMMUNIKATION ABBILDUNG 2 56 WINDOWS OPEN SERVICES ARCHITECTURE QUELLE SNIWOSA 118 ABBILDUNG 2 57 J XFS UNABHANGIGKEITEN QUELLE JXSO S 7 ABBILDUNG 2 58 J XFS ARCHITEKTUR ABBILDUNG 2 59 J XFS ZUGRIFF QUELLE JXBA S 7 ABBILDUNG 2 60 ABLAUF EINER J XFS OPERATION ABBILDUNG 2 22 WSDL ENTITATEN UND DEREN BEZIEHUNGEN ABBILDUNG 2 23 WSDL DOKUMENT ABBILDUNG 2 24 UDDI DATENSTRUKTUR ABBILDUNG 2 25 WEB SERVICES MODELL UND TECHNOLOGIEN ABBILDUNG 2 26 SUN ONE BASISARCHITEKTUR QUELLE JM9 01A4 ABBILDUNG 2 27 SUN ONE SMART WEB SERVICES AR
72. ET interoperabel Apache Axis 1 0 alpha 2 ist zurzeit nicht in der Lage Client Proxies zu generieren Der Umstieg von Apache SOAP auf Apache Axis erfordert das Neuerstellen der Clients da die API sich stark ge ndert hat MS SOAP for Visual Studio NET hat bei der Anbindung an Web Services welche nicht auf MS SOAP basieren Probleme mit allen Datentypen welche sowohl ber einfache Typen als auch Felder von einfachen Typen hinausgehen An diesen Stellen muss auf Low Level Programmierung zur ckgegriffen werden Visual Studio NET liefert bei der Web Service Client Proxy Generierung keine Fehlermeldungen wenn die WSDL unbekannte Typen enth lt Der generierte Proxy ist in diesem Fall allerdings funktionsunt chtig Nach Einarbeitung in die in dieser Arbeit vorgestellten Architekturen einschlie lich der Betrachtung der praktischen Umsetzung d h des Prototyps m sste es einer f r den IT Bereich qualifizierten Person bzw einem Team m glich sein sowohl Management als auch Web Services Architekturen zu analysieren zu konzipieren und zu realisieren und die vorgestellten Vorteile der Kombination dieser in eigenen Ans tzen zu ber cksichtigen Damit wurde das f r diese Arbeit gestellte Ziel siehe Kapitel 1 2 Zielsetzung erreicht 192 5 Zusammenfassung KAPITEL 5 Zusammenfassung Glendower I can call spirits from the vasty deep Hotspur Why so can l or so can any man But will they come when you do call fo
73. Exception System out printin lt RzProtoAdaptorServer gt gt Unbinding socket listener try serverSocketListener close catch SocketException e if e getMessage equals Interrupted system call throw new InterruptedException e toString else throw new CommunicationException e catch InterruptedlOException e throw new InterruptedException e toString catch IOException e throw new CommunicationException e JE implementation of the notification listener interface lt br gt method is called if an notification from the JMX layer came in lt br gt if a notification from the RzProtoEventMBean came in lt br gt forward it to the webservice gt client param notification the notification from the JMX layer param handback a handback object no need here tf public void handleNotification Notification notification Object handback System out printin lt RzProtoAdaptorServer gt gt Received notification from JMX String type notification getType try notification is from RzProtoEventMBean if type equals AttributeChangeNotification ATTRIBUTE_CHANGE AttributeChangeNotification acNotification AttributeChangeNotification notification System out printin Date new Date acNotification getTimeStamp System out printiIn Attribute name acNotification getAttributeName System out printin Message acNotification getMess
74. FACHHOCHSCHULE GIESSEN FRIEDBERG Diplomarbeit zum Thema Management und Web Services Architekturen Konzeption und Realisierung eines Uberwachungssystems fiir Bankperipheriegerate Zur Erlangung des akademischen Grades Diplom Informatiker FH vorgelegt am Fachbereich Mathematik Naturwissenschaften und Informatik der Fachhochschule Gie en Friedberg von Roger Zacharias Im Februar 2002 Referent Prof Dr A H Kaufmann Koreferent Prof Dr M Scheer Vorwort Technology of a sufficiently advanced level will be indistinguishable from magic Arthur C Clarke Die vorliegende Diplomarbeit entstand im Zeitraum 10 2001 02 2002 an der Fachhochschule Gie en Friedberg in Zusammenarbeit mit der Wincor Nixdorf GmbH amp Co KG unter der Betreuung von Herrn Prof Dr Kaufmann und Herrn Prof Dr Scheer Die Aufgabenstellung ergab sich aus einem Projekt der Wincor Nixdorf GmbH amp Co KG in welchem eine umfangreiche berwachungsl sung im Bankenbereich entwickelt wird Dazu sollen die zurzeit neu aufkommenden Architekturen und Paradigmen untersucht und ein m glicher Prototyp erstellt werden und bei entsprechender Eignung gegebenenfalls in diese berwachungsl sung mit einflie en Die besondere Herausforderung dieser Diplomarbeit lag in der Aktualit t der beschriebenen und verwendeten Architekturen und Technologien welche einen Mangel an fundierter Literatur und stabilen Laufzeitumgebungen sowie einen stetigen Weiterent
75. Field cassetteField3 new JTextField JTextField cassetteField4 new JTextField JLabel jLabel6 new JLabel JLabel jLabel7 new JLabel JPanel jPanel2 new JPanel FlowLayout flowLayout1 new FlowLayout XYLayout xYLayout1 new XYLayout JTextField amountField new JTextField JButton jButton1 new JButton f The class constructor lt br gt constructs the frame param parent parent gui 7 public RzProtoEndUserFrame RzProtoEndUserGui gui this parent gui enableEvents AWTEvent WINDOW_EVENT_MASk try jbinit catch Exception e e printStackTrace this parent getClient queryCashUnits Vector cassetteFields this parent getClient getCassetteFields this cassetteField1 setText cassetteFields elementAt 0 toString this cassetteField2 setText cassetteFields elementAt 1 toString this cassetteField3 setText cassetteFields elementAt 2 toString this cassetteField4 setText cassetteFields elementAt 3 toString Vike component initialization zi private void jbInit throws Exception setlconlmage Toolkit getDefaultToolkit createlmage RzProtoEndUserFrame class getResource Your Icon contentPane JPanel this getContentPane contentPane setLayout x YLayout1 this setSize new Dimension 408 300 this setTitle Endbenutzer Client statusBar setText jLabel1 setFont new java awt Font SansSerif 1 12 jLabel1 setText Ka
76. GUI try Vector events sendEventRequest if events size gt 0 setChanged notifyObservers events catch Exception e e printStackTrace wait lt pollinterval gt seconds for next call try this thisOne sleep this pollintervall 1000 catch InterruptedException e e printStackTrace Ne start the polling thread FA public void startup System out printin lt RzProtoOperatorClient gt gt start polling thread this thisOne start IA shutdown client by stopping the polling thread p public void shutdown active false System out printin lt RzProtoOperatorClient gt gt shutdown JAS send request for device status of the given device to webservice param deviceName name of device in J XFS layer e g CashDispenser localhost return device status as String for GUI exception Exception 7 public String sendStatusRequest String deviceName throws Exception send rpc Vector params new Vector params addElement new Parameter deviceName String class deviceName Constants NS_URI_SOAP_ENC DeviceStatus deviceStatus DeviceStatus this sendRPCAndUnmarshal this soapServerURL this webServicelD getDeviceStatus true params DeviceStatus class build response for GUI String res Device State n is busy deviceStatus getBusy n is claimed deviceStatus getClaimed n is c
77. Generator gt gt Device Control of lt deviceName gt gained catch JxfsException exception System out printin lt RzProtoJxfsEventGenerator gt gt No device of the given type can be found n exception add operation complete listener to get information about cassettes if atmControl null atmControl addOperationCompleteListener this open ATM System out printin lt RzProtoJxfsEventGenerator gt gt Open lt deviceName gt try synchronized this int openRes atmControl open catch Exception e e printStackTrace ie send an asynchron call for cassette counters the information is send in an operation complete event J XFS Logik package com wincornixdorf pce rzdiplomarbeit jxfs statusreader JIXFS to Schema Mapper import com wincornixdorf pce rzdiplomarbeit jxfs mapper RzProtoJxfs ToSchemaMapper JIXFS connector import com wincornixdorf pce rzdiplomarbeit jxfs connector RzProtoJxfsConnector device status schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema 1 SIXFS 2 0 import com jxfs general contains classes used in more than one other package import com jxfs control contains all the interfaces to J XFS Device Controls import com jxfs events contains all the defined J XFS events exceptions and respective listeners import com jxfs control cdr
78. Gerlteprappe Einzeigert _ k a a Geldkainere berwechungspersonal Kalender t i e FPE ee Seneca Artrageantwort Ereignis a Stendardantrage Rigisirlsrungsandrage Btsturdnderung F lrtandgaobieme poco 7 eae eT m jl Artagegegenstand Ersignixerettesteinung 4 Ersignlaregiatrlarung Eretgras Registratur Abbildung 3 9 Prototyp Klassendiagramm Barkperipheileger t i Kertosustugedmcker Alarmanlage irebdautomat E 150 3 Ein Uberwachungssystem f r Bankperipherieger te 3 3 Konzeptionelles Modell Im Konzeptionellen Modell werden die fachlichen Konzepte des Systems auf einem abstrakten Niveau aber unabhangig von der Implementierung beschrieben Dies umfasst die Statik die Dynamik und das Verhalten des Systems wof r in der UML entsprechende Notationskonstrukte existieren Diese Sichtweise ist Black Box artig da an dieser Stelle nur wichtig ist welche Komponenten und Beziehungen im betrachteten System vorkommen aber nicht wie diese sich zusammensetzen 3 3 1 Statik des Systems Die Statik des Systems wird durch Klassendiagramme beschrieben Zus tzlich ist es sinnvoll ein Fachlexikon einzubringen in welchem die wichtigsten Begriffe des Klassendiagramms und des Systemumfeldes n her erl utert werden Beides wird f r den vorgestellten Prototyp auf den folgenden Seiten dargestellt 152 3 Ein berwachungssystem f r Bankperipherieger
79. IA EAEKO Vs The class constructor lt br gt start event generator 7 public RzProtoEventForwarder this eventCount 0 this deviceName Dummy_CashDispenser localhost lt config this event te RzProtoJxfsEventGenerator eventGenerator new RzProtoJxfsEventGenerator this deviceName eventGenerator startup TB aR ies MBean methods SERTHENT TFT NEE returns the number of occurred events return number of occurred events 7 J XFS Connector package com wincornixdorf pce rzdiplomarbeit jxfs connector 11 JXFS 2 0 import com jxfs general contains classes used in more than one other package import com jxfs control contains all the interfaces to J XFS Device Controls import com jxfs control alm Device Control for a Alaram Device import com jxfs control msd Device Control for a Magnetic Stripe Reader and Writer device import com jxfs events contains all the defined J XFS events exceptions and respective listeners import com jxfs forum logging Logging support for J XFS forum implementation of J XFS kernel 1 1 J2SE 1 4 import java io import java util Wik Class to connect to J XFS lt br gt startup and shutdown the device manager and logger lt br gt singleton of this class holds manager and logger author Roger Zacharias version 1 0 Y public class RzProtoJxfsConnector the singleton connector static private RzProtoJxf
80. MBean bzw die zugrunde liegende Ressource zu verwalten Ein MBean welches der Spezifikation gen gt kann von jedem JMX Agenten verwaltet werden Es existieren weiterhin keinerlei Restriktionen wo sich die zu ladende MBean Klasse befindet d h sie kann sich innerhalb des Klassenpfades der virtuellen Maschine des Agenten oder auf einem entfernten Rechner befinden So ist es m glich MBeans dynamisch ber das Netzwerk zu laden um die Funktionalit t des Agenten zur Laufzeit zur erweitern oder neuen Managementanforderungen anzupassen JMX definiert vier MBean Typen gt Standard MBean Diese MBean Art ist am einfachsten zu entwerfen und zu implementieren Die Management Schnittstelle wird bei diesem MBean Typ zur Entwurfszeit festgelegt und ist daher im sp teren Betrieb statisch Dynamic MBean F r permanenten nderungen unterworfene Managementanforderungen sind 1 Das JavaBeans Konzept ist das Java Komponentenmodell Weitere Informationen finden sich unter http java sun com products javabeans damit diese Uber JMX verwaltet werden kann Managed Objects MOs werden in der JMX Terminologie als Managed Beans MBeans bezeichnet Agent Level Auf dieser Ebene werden JMX Agenten spezifiziert deren Aufgabe es ist MBeans zu verwalten zu steuern und dem Manager zuganglich zu machen Ein JMX Agent besteht aus MBean Server Agent Services Konnektoren und Protokoll Adapter Distributed Services Level Manager Level Auf dieser
81. P Encoding Rules Die SOAP Kodierungsregeln dienen der Beschreibung anwendungsspezifischer Datentypen und erm glichen damit Objektinstanzen zu serialisieren und auszutauschen 1 IOP Internet Inter ORB Protocol ist das CORBA Protokoll f r die Kommunikation im Internet Die Distributed Components DCOM Architektur ist das verteilte Komponentenmodell der Microsoft Plattform RMI Remote Method Invocation ist das verteilte Komponentenmodell der Java Plattform 2 Architekturen Technologien und Paradigmen gt SOAP RPC Representation Dieser Teil der Spezifikation stellt Vorschriften f r die Repr sentation von entfernten Prozeduraufrufen und deren Antworten auf SOAP Protocol Bindings An dieser Stelle wird definiert wie SOAP Nachrichten in HTTP und anderen Transportprotokollen transportiert werden Eine SOAP Nachricht ist ein XML Dokument welches sich wie folgt zusammensetzt gt SOAP Envelope Der SOAP Envelope umfasst die gesamte SOAP Nachricht und besteht aus einem optionalen SOAP Header und einem obligatorischem SOAP Body SOAP Header Der Header enth lt zus tzliche Informationen f r den Empf nger der Nachricht welche f r die Verarbeitung der Nachricht notwendig oder hilfreich sind Dieser flexible Mechanismus erlaubt die einfache Erweiterbarkeit der Kommunikation da solche Erweiterungen ohne Kenntnisnahme durch den Kommunikationspartner geschehen k nnen Typische Anwendungsbeispiele sind hier Transak
82. Plattform fur die webzentrierte Entwicklung In Java Magazin 9 2001 S 37ff Sarakatsanis Athanasios 2001 Sun ONE vs NET die Frameworks im Vergleich In Java Magazin 11 2001 S 60ff Deadman Richard 1999 XML as a distributed application protocol In Java Report 10 1999 S 16ff Hranitzky Norbert 2000 XML Der Stein der Weisen In Java Spektrum 1 2000 S 49ff Studer Bruno 2000 Gut verbunden Die Telekommunikationstechnologien JAIN und JMX In Java Spektrum 6 2000 S 43ff Starke Gernot 2001 Uberwachung einplanen Management Java basierter Client Server Anwendungen In Java Spektrum 1 2001 S 47ff Frotscher Thilo 2001 Kommunikation mit dem Simple Object Access Protocol In Java Spektrum 2 2001 S 60ff Reiser Helmut 1999 Einsatz des Java Dynamic Management Kit fur flexible dynamische Managementsysteme In PIK Praxis der Informationsverarbeitung und Kommunikation 4 1999 Saur Verlag Sch nw lder J rgen 2001 Netzwerkmanagement Vorlesungsskript TU Braunschweig Siemens Nixdorf Retail and Banking Systems GmbH 1999 WOSA Internes Dokument Stiel Hadi 1998 M hsamer Weg zum umfassenden Management In Funkschau 23 98 S 7Off Saca Valentin 2000 Neue Organisationsmodelle Verteilte und erweiterbare Managementsysteme Seminararbeit Universit t M nchen Wincor Nixdorf GmbH amp Co KG 2000 ProView Version 2 2 Internes Dokument Zach
83. ROTOTYP EREIGNIS MASKE TABELLE 3 2 PROTOTYP USE CASE NR 1 ABLAUFBESCHREIBUNG Bet POTS oc Ol TR AOR KEYEN ARCAT ERTUR TABELLE 3 3 PROTOTYP USE CASE NR 2 SPEZIFIKATION ABBILDUNG 3 17 APACHE SOAP FRAMEWORK TABELLE 3 4 PROTOTYP USE CASE NR 2 ABLAUFBESCHREIBUNG ABBILDUNG 3 18 EINFACHER WEB SERVICE TABELLE 3 5 PROTOTYP USE CASE NR 3 SPEZIFIKATION ABBILDUNG 3 19 EINFACHER APACHE SOAP CLIENT TABELLE 3 6 PROTOTYP USE CASE NR 3 ABLAUFBESCHREIBUNG APBIEDONG 0720 AME DATABINDING TABELLE 3 7 PROTOTYP FACHLEXIKON ABBILDUNG 3 21 PROTOTYP TOP LEVEL ARCHITEKTUR UND REALISIERUNG ABBILDUNG 3 22 PROTOTYP VERFEINERTE TOP LEVEL ARCHITEKTUR ABBILDUNG 3 23 PROTOTYP DEPLOYMENT BEI MAXIMALER VERTEILUNG ABBILDUNG 3 24 PROTOTYP REALISIERTE VERTEILUNG ABBILDUNG 3 25 PROTOTYP DEVICESTATUS XML SCHEMA ABBILDUNG 3 26 PROTOTYP CASHUNIT XML SCHEMA ABBILDUNG 3 27 PROTOTYP INFORMATIONSFLUSSDIAGRAMM EREIGNIS ABBILDUNG 3 28 PROTOTYP INFORMATIONSFLUSSDIAGRAMM KOMMANDO ABBILDUNG 5 1 WEB SERVICE MODELL ABBILDUNG 5 2 MANAGEMENT ARCHITEKTUR MODELL Literaturverzeichnis HMM96 Hoffmann Mario 1996 Eine Einf hrung in das Netzwerk und Systemmanagement Schwerpunkt Modellierung B cher Seminararbeit HHAS93 Hegering H G Abeck S 1993 TH Darmstadt Integriertes Netz und Systemmanagement f 1 Aufl 1993 Addison Wesley Verlag 1X6 01a Klever Nik 2001 COPIERE Elementarteilchen XML Schema objekto
84. S lt br gt this method is called by the RzProtoRequestHandler lt br gt TODO list of clients webservices param client client socket to register 7 public void registerClient Socket client System out printIn lt RzProtoAdaptorServer gt gt Registering client lt client getInetAddress gt for notifications this registeredClientSocket client N deregister a client webservice for notifications from J XFS lt br gt this method is called by the RzProtoRequestHandler lt br gt TODO list of clients webservices param client client socket to deregister 7 public void deregisterClient Socket client System out printin lt RzProtoAdaptorServer gt gt Deregistering client lt client getInetAddress gt for notifications this registeredClientSocket null i JEA register this adaptor for notifications from the RzProtoEventMBean lt br gt to receive events from J XFS 7 private void registerForJMXNotifications System out printin lt RzProtoAdaptorServer gt gt Registering for notifications from lt RzProtoEventMBean gt try ObjectName objectName new ObjectName DefaultDomain name RzProtoEventForwarder id 2 desc event forwarder this getMBeanServer addNotificationListener objectName this null null catch Exception e e printStackTrace 7 protected void doUnbind throws CommunicationException Interrupted
85. Service Requestor bergibt Dieses Beispiel betrachtet nur das am weitesten verbreitete Anfrage Antwort Szenario SOAP kann jedoch mit jeder beliebigen bertragungsart verwendet werden request response synchron request response asynchron notification push style response gt gt gt one way messaging no response gt gt publish subscribe Zusammenfassend sollen an dieser Stelle noch einmal die Vor und Nachteile gegen ber dem Querschnitt der traditionellen RPC und Messaging Protokolle aufgezeigt werden Die Vorteile 1 Auch CORBA ist programmiersprachenunabhangig 2 Architekturen Technologien und Paradigmen keine Probleme mit Firewalls da Kommunikation Uber HTTP Client und Server in beliebigen Programmiersprachen implementierbar Plattformunabhangigkeit keine Lizenzkosten nicht proprietar unterschiedliche Serialisierungsversionen voll kompatibel Streaming ber SAX m glich vom Menschen lesbar Fehleranalyse Systemtests Die Nachteile dieses Protokolls welches zumindest im jetzigen Stadium sicher nicht fur jedes beliebige Einsatzszenario geeignet ist sind gt Geschwindigkeitsprobleme bis Faktor 1 10 aufgrund der Ubertragung im Textformat Parsen und Validierung gt keine Integration in das OO Modell der Applikation Mapping notwendig gt keine Transaktionslogik da HTTP basiert 2 1 4 WSDL Web Services Description Language Damit eine Applikation einen Web Service nutz
86. TabbedPane1 setTabPlacement JTabbedPane LEFT jTabbedPane1 setMinimumSize new Dimension 600 200 jLabel1 setFont new java awt Font Serif 3 16 jLabel1 setText Kommandoauswah Kommandos setLayout verticalFlowLayout2 cassettelnfoButton setFont new java awt Font Dialog 0 14 cassettelnfoButton setText Kassetteninformationen deviceStateButton setFont new java awt Font Dialog 0 14 deviceStateButton setText Ger testatus sendCommanaButton setText Kommando senden sendCommanaButton addActionListener new java awt event ActionListener public void actionPerformed ActionEvent e sendCommanaButton_actionPerformed e H jLabel2 setFont new java awt Font Serif 3 16 jLabel2 setText Kommandoergebnis commandResultArea setRequestFocusEnabled false commandResultArea setToolTipText commandResultArea setEditable false commandResultArea setText Hier steht das Ergebnis des Kommandos eventHistoryArea setRequestFocusEnabled false eventHistoryArea setEditable false eventHistoryArea setText Hier stehen die vom Ger t eingetroffenen Ereignisse jLabel3 setFont new java awt Font Serif 3 16 jLabel3 setText Eingetroffene Ereignisse Ereignisse setLayout verticalFlowLayout1 Ger t setLayout verticalFlowLayout3 jLabel4 setFont new java awt Font Serif 3 16 jLabel4 setMaximumSize new Dimension 262 17 jLabel4 setMinimumSize new Dimension 362 17 jLabel4 setPreferredSize new
87. Windows Forms Button button2 private System Windows Forms RichTextBox richTextBox 1 lt summary gt Required designer variable lt summary gt private System ComponentModel Container components null private System Windows Forms Button button3 Web Service Proxy localhost4 RzProtoOperatorWebService Simple Service service public Form1 NW Required for Windows Form Designer support NW Initialize Component N TODO Add any constructor code after InitializeComponent call N kkk initialize Web Service Proxy service new localhost4 RzProtoOperatorWebServiceSimpleService lt summary gt Clean up any resources being used lt summary gt protected override void Dispose bool disposing if disposing if components null components Dispose base Dispose disposing region Windows Form Designer generated code lt summary gt Required method for Designer support do not modify the contents of this method with the code editor lt summary gt private void InitializeComponent this richTextBox1 new System Windows Forms RichTextBox this label4 new System Windows Forms Label this label5 new System Windows Forms Label this label1 new System Windows Forms Label this label2 new System Windows Forms Label this label3 new System Windows Forms Label this textBox2 new Syste
88. abhangig RMI Remote Method Invocation ist das verteilte Komponentenmodell der Java Plattform Die Distributed Components DCOM Architektur ist das verteilte Komponentenmodell der Microsoft Plattform 2 Architekturen Technologien und Paradigmen Dieses Kapitel soll in die Web Services Management und Bankperipheriezugriffs Architekturen und Technologien einf hren und damit verkn pfte Paradigmen aufzeigen Das Verst ndnis dieser Punkte ist Voraussetzung f r die in Kapitel 3 Ein berwachungssystem f r Bankperipherieger te vorgestellte Konzeption und Realisierung eines berwachungssystem Prototyps Dieser baut auf diesen Technologien auf und versucht ihre Vorteile zu nutzen indem er sie sinnvoll verkn pft und anwendet Da sowohl XML als auch SNMP mittlerweile weit verbreitetet und bekannt sind k nnen Leser die in diesen Bereichen entsprechende Kenntnisse besitzen Kapitel 2 1 2 XML Extensible Markup Language und Kapitel 2 2 4 Internet Management SNMP ohne Beeintr chtigung auslassen Die Aufteilung dieses Kapitels stellt sich folgenderma en dar gt Web Services Architekturen gt Management Architekturen gt Architekturen zum Zugriff auf Bankperipherieger te Zu jedem Themengebiet werden zun chst Historie und Notwendigkeit beschrieben anschlie end Begrifflichkeiten gekl rt und tiefer in die Technologie eingestiegen Am Ende jedes Themengebiets werden verschiedene Anwendungsbeispiele dargestellt wie d
89. achungssystem f r Bankperipherieger te sein Die Gesch ftslogik soll zudem unabh ngig vom zugrunde liegenden Applikationsserver sein Bedienbarkeit Der Prototyp soll einfach zu bedienen und zu installieren sein um eine unkomplizierte Weiterentwicklung zu erm glichen An folgende nichtfunktionale Anforderungen bestehen aufgrund der prototypischen Entwicklung keine speziellen Anforderungen Ausfallsicherheit Performance und Laufzeitverhalten Sicherheit Verf gbarkeit Stabilit t Anpassbarkeit 3 2 3 Funktionale Anforderungen Die grundlegenden funktionalen Anforderungen ergeben sich aus den in Kapitel 2 Architekturen Technologien und Paradigmen bereits ausreichend beschriebenen Anforderungen an Management Web Service und Bankperipheriezugriffs Architekturen Folgende erweiterte funktionale Anforderungen bestehen an den Prototypen gt Tracing und Logging Es sollen nur grundlegende Tracing und Logging Funktionalit ten auf Basis der Kommandozeile bestehen gt Technische Dokumentation gt Installationsanleitung Folgende funktionale Anforderungen sollen bei diesem Prototypen noch nicht realisiert werden gt Internationalisierung gt Hilfesystem gt Benutzerhandbuch und Online Dokumentation Web Application Server Peripherieger t Management Console Manager Agent amp Service Requestor Service Provider Managed Objects Abbildung 3 4 Prototyp System bersicht 3 2 2 Nichtfunkt
90. ack Quelle WSCA S 10 28 2 Architekturen Technologien und Paradigmen Aufbau von Supply Chain Ketten Einige Anwendungen werden in Kapitel 2 1 7 Auswirkungen auf Gesch ftsprozesse und modelle vorgestellt Die oberste Schicht die Service Flow Schicht beschreibt Service Service Kommunikation Workflows und Kollaborationen Der Standard welcher sich zurzeit f r diesen Bereich etabliert ist WSFL Web Service Anwendungen die heutigen E Business Anforderungen gen gen wollen verlangen nach einer entsprechenden Infrastruktur die den Anforderungen an Sicherheit Management und Dienstg te gen gen Diese vertikalen Balken adressieren jede Schicht und befinden sich zurzeit gr tenteils noch in der Entwicklung 2 Architekturen Technologien und Paradigmen 2 1 2 XML Extensible Markup Language Dieses Kapitel soll Grundlagen und Konzepte der Metasprache XML vorstellen wozu zun chst kurz auf die Geschichte der Technologie eingegangen wird Anschlie end wird XML in das Umfeld der Meta und Markup Sprachen positioniert die Vorteile dargestellt und diskutiert warum XML im Begriff ist die vorherrschende Sprache fur Datenbeschreibung Datenspeicherung und Datentransport zu werden 2 1 2 1 Warum XML Die rasante Verbreitung des Internets welches haupts chlich auf dem Transportprotokoll HTTP Hypertext Transfer Protocol und der Markup Sprache HTML Hypertext Markup Language basiert brachte eine Menge Nachteile und U
91. age System out printin Old value acNotification getOldValue System out printin New value acNotification getNewValue String event new Date acNotification getTimeStamp toString gt acNotification getNewValue if a client webservice is registered send this event to it if this registeredClientSocket null System out printIn lt RzProtoAdaptorServer gt gt Sending notification to lt WebService gt Socket socket new Socket eventReceiverHost eventReceiverPort ObjectOutputStream toServer new ObjectOutputStream socket getOutputStream ObjectinputStream fromServer new ObjectinputStream socket getinputStream toServer writeObject event package com wincornixdorf pce rzdiplomarbeit jmx adaptor cassette counters schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata cashunitschema device status schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema JDMK 4 2 import com sun jdmk comm CommunicatorServer import javax management MBeanServer import javax management ObjectName W J2SE 1 4 import java net Socket import java net SocketException import java io IOException import java io ObjectinputStream import java io ObjectOutputStream Ee handles incoming requests from the soap adaptor lt br gt connects to client webservice and send receive message
92. age name getLastTradePriceOutput gt lt part name body element xsdl TradePrice gt lt message gt lt portType name StockQuotePortType gt lt operation name getLastTradePrice gt lt input message ins getLastTradePricelnput gt lt output message tns getLastTradePrice Output gt lt operation gt lt portType gt lt binding name StockQuoteBinding type tns StockQuotePortType gt lt soap binding style document transport http schemas xmisoap org soap http gt lt operation name getLastTradePrice gt lt soap operation soapAction http www myserver com getLastTradePrice gt lt input gt lt soap body use literal namespace http www myserver com stockquote xsd encodingStyle http schemas xmisoap org soap encoding gt lt input gt lt output gt lt soap body use literal namespace http www myserver com stockquote xsd encodingStyle http schemas xmlsoap org soap encoding gt lt output gt lt operation gt lt binding gt lt service name StockQuoteService gt lt documentation gt Service that delivers the latest stockquotes lt documentation gt lt port name StockQuotePort binding tns StockQuoteBinding gt lt soap address location http www myserver com stockquote gt lt port gt lt service gt lt definitions gt Abbildung 2 23 WSDL Dokument Wie man sieht ist dieses fast schon minimale WSDL Dokument sehr umfangreich und komplex Es bietet
93. al Abbildung 3 20 XML Data Binding 3 4 3 2 Apache Axis 1 0 alpha 2 Nightly Build Axis stellt die dritte Generation des Apache SOAP Toolkits dar Es ist zurzeit nur in der zweiten Alpha Version verf gbar wird aber permanent weiterentwickelt Dieses Framework zeichnet sich gegen ber dem Vorg nger durch h here Performance verbesserte Flexibilit t und Modularit t einfacheres Deployment eine einfachere API und insbesondere durch bessere Zusammenarbeit mit anderen SOAP Implementierungen z B Microsoft SOAP aus Der wichtigste Unterschied zum Vorg nger ist aber die WSDL Unterst tzung So ist es m glich durch einfaches Anh ngen von wsdl an die URL des Web Services die WSDL f r diesen Web Service zu erhalten Diese kann nun wiederum dazu benutzt werden einen Client Proxy zum vereinfachten Zugriff auf den Web Service zu erzeugen siehe Kapitel 2 1 4 Web Service Description Language Des Weiteren sind Werkzeuge zur Generierung von Stubs und Skeletons aller Art und eine Reihe bereits deployter Zusatzdienste enthalten Apache Axis wurde obwohl es erst in der zweiten Alpha Version verf gbar ist wegen seiner WSDL Unterst tzung f r den zu erstellenden Prototyp benutzt Damit lie sich bis auf kleinere noch bestehende Probleme eine Anbindung eines NET Clients an das Management Framework und somit als proof of concept eine lose Kopplung zwischen der Microsoft und der Java Welt realisieren 3 4 3 3 Castor 0 9 3
94. al and physical cash units lt xs documentation gt lt xs annotation gt lt xs complexType gt lt xs sequence gt lt xs element name LogicalCashUnit maxOccurs unbounded gt lt xs annotation gt lt xs documentation gt Logical information about a cash unit lt xs documentation gt lt xs annotation gt lt xs complexType gt lt xs sequence gt lt xs element name number type xs int gt lt xs annotation gt lt xs documentation gt the logical number of cash unit lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name id type xs string gt lt xs annotation gt lt xs documentation gt identification value for a cash unit lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name value type xs int gt lt xs annotation gt lt xs documentation gt denomination the value of bill expressed in MDUs lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name initialCount type xs int gt lt xs annotation gt lt xs documentation gt the initial number of coins or bills lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name dispenseCount type xs int gt lt xs annotation gt lt xs documentation gt the number of bills that were dispensed lt xs documentation gt lt xs annotation gt A1 XML Schemata f r die Managementdaten DeviceStatus xsd lt xml version 1 0 encoding UTF 8
95. ale Managementplattform stellt einen single point of failure dar gt Beim Verlust der Verbindung zwischen Manager und Agent geht jede M glichkeit der Steuerung und berwachung oder sogar die Funktionalit t der berwachten Ressource verloren Durch die gro e Anzahl an Agenten und die fehlende Verdichtung der Managementdaten durch diese kommt es zum Teil zu erheblicher Netzlast Der zentrale Manager wird u a aus diesem Grund h ufig berlastet Die Anzahl der Applikationen die auf einer zentralen Managementplattform zur Ausf hrung gebracht werden k nnen ist begrenzt gt Auf neue Managementanforderungen kann nur schwerf llig reagiert werden gt Die Architektur ist unflexibel Diese Schwachpunkte k nnen durch den so genannten Management by Delegation Ansatz behoben werden Dieser dezentrale Ansatz geht davon aus dass die zu Uberwachenden Systeme immer leistungsf higer werden wodurch die M glichkeit entsteht immer mehr berwachungs und Kontrollaufgaben dezentral durchf hren zu k nnen Weiterhin soll die Funktionalit t dynamisch auf die Agenten verlagert werden k nnen um schnell und effizient auf nderungen der Management Anforderungen reagieren zu k nnen Heutige Netze und insbesondere die auf diesen Netzen operierenden verteilten Anwendungen unterliegen einem immer rascheren Wandel der sich auch im Bedarf an ein flexibles skalierbares dynamisches offenes standardisiertes und eben den neuen Anfo
96. alk to it all is hidden in the architecture The obvious benefit for financial institutions is that developers can focus on the business aspects of the application without having to worry about the idiosyncrasies of particular peripheral devices J XFS should give banks much greater flexibility when buying peripherals They can change suppliers and install a new device without having to make changes to the applications that run on it they are free to pick the best type of device for their purposes The Mission is to produce a Banking Industry standard for a banking financial I O device subsystem that supports 100 pure Java applications while leveraging existing standards The product contains anything needed to write a Java banking application which needs to access banking peripherals it does not include of course any device drivers for specific hardware The device services for the end devices are written and supplied by each vendor who sells J XFS compliant hardware Vgl JXCO S 3 Vgl OFMO1 S 1 Vgl OFMO1 S 2 Vgl OFMO1 S 2 5 Vgl JXCO S 3 Vgl JXSO S 7 2 Architekturen Technologien und Paradigmen 122 2 Architekturen Technologien und Paradigmen Die bereits angesprochene Hersteller und Plattformunabh ngigkeit wird durch folgendes Schaubild verdeutlicht NC with Java VM Banking application DeviceService DeLaRue CDR t NCRCDR
97. als auch durch Reduktion der Hardwarekosten zustande Weiterhin beschloss man einen einheitlichen Ansatz f r Bank und Einzelhandelperipherieger te so dass J XFS auf WOSA XFS und JavaPOS aufbauen sollte Weiterhin sollte durch Wrapping eine Koexistenz der neuen mit den alten L sungen m glich sein um bereits get tigte Investitionen zu sch tzen Mitte des Jahres 1999 waren sowohl Systemdesign als auch Spezifikationen fertig Das J XFS Forum beschloss diese als offene Standards zu ver ffentlichen und man bergab diese dem CEN Comit Europ en de Normalisation wo dieser Ende des Jahres verabschiedet wurde Daraufhin wurde der CEN J XFS Workshop gegr ndet welcher seitdem die Weiterentwicklung und Verbreitung dieses Standards verfolgt 1 Weitere Informationen unter www ixfs com Das CEN ist das Europ ische Komitee f r Normung in Br ssel Weitere Informationen unter www cenorm be 2 Architekturen Technologien und Paradigmen 2 3 2 Technologie Architektur und Funktionsweise Eine Reihe von Zitaten soll die Bedeutung der J XFS Technologie sowohl fur Banken als auch Hersteller verdeutlichen J XFS is the platform independent Java language standard that will be used to communicate with and controls self service devices With J XFS developers need to know whether they are writing for a printer or cash dispenser but they don t need to know who manufactured the device or how their application should t
98. ame cashDispenser Ereignisse Hostname localhost Zugriff auf Ger t lt CashDispenser localhost gt Abbildung 3 13 Prototyp Ger teauswahl Maske E Uberwachungssystem Datei Hilfe Ger t Kommandoauswahl Kommandos r Ger testatus Ereignisse Kassetteninformationen Kommandoergebnis Hier steht das Ergebnis des Kommandos Sende Kommando an Ger t lt CashDispenser localhost Abbildung 3 14 Prototyp Kommando Maske 164 3 Ein berwachungssystem f r Bankperipherieger te 3 4 2 Architektur Die Top Level Architektur welche den groben Aufbau des Systems beschreibt stellt sich wie bereits in Kapitel 3 2 1 Systemspezifikation beschrieben folgenderma en dar BD PackageName berwachungssystem Management Console Service Requestor oe lt lt import gt gt Manager zcimport gt gt Service Provider SS aCGlSS gt gt Ly Agent A lt lt import A Managed Objects Hardware Representation Abbildung 3 16 Prototyp Top Level Architektur 3 Ein Uberwachungssystem fiir Bankperipheriegerate 165 Nach dieser Aufteilung mussen fur die einzelnen Komponenten und die Kombination dieser entsprechende Technologien Produkte und APIs gefunden werden womit sich dieser Prototyp realisieren l sst 3 4 3 Technologien Produkte und APIs Da es sich hier um einen Prototypen handelt wurde darauf geachtet dass die verwendeten Techno
99. anagement System Datenbankverwaltungssystem Distributed Component Object Model Distributed Management Task Force 00 OODBMS ORB OSI P2P PCDATA PDA Distributed InterNet Architecture Domain Name Service Department of Defense Document Object Model Document Type Definition Enterprise Application Integration Enterprise Archive Erweiterte Backus Naur Form Electronic Business XML Electronic Data Interchange Enterprise Information System Enterprise Java Bean Enterprise Resource Planning System Fault Configuration Accounting Performance Security Management Financial Device Interface File Transfer Protocol Graphical User Interface High Level Entity Management System Hypertext Markup Language Hypertext Transfer Protocol Hypertext Transfer Protocol Reliable HTTP ber SSL Internet Architecture Board Integrated Development Environment Interface Definition Language Java Specification Request Java Transaction API Java Transaction Service Java Virtual Machine Management Information Base Management Information Model Massachusetts Institute of Technology Managed Object Managed Object Boundary Managed Object Class Message Oriented Middleware Message Queuing Manage ability Service Broker Microsoft Intermediate Language Model View Controller Network Client Organization for the Advancement of Structured Information Standards Open Database Connectivity Objektorientierung Object Oriente
100. arias Roger 2001 EJB Applikationsserver Seminararbeit FH Gie en Friedberg Zacharias Roger 2001 XML Das Esperanto des E Commerce Seminararbeit FH Gie en Friedberg Zorn W Schreiner G 1994 Netzwerkmanagement Seminararbeiten Universitat Karlsruhe JS4 01 JXAPG JXBA JXCO JXSO KREG01 KTOSI00 MTJMX01 OBS6 00a OBS6 00b OBS6 00c 0BS2 01 Wieland Thomas 2001 Schwarz auf Weiss Beschreibung von WebServices In Java Spektrum 4 2001 S 22ff J XFS Forum 2000 J XFS Application Programming Guide Version 1 0 J XFS Forum J XFS Forum 2000 J XFS Base Architecture Programmer s Reference Version 1 1 J XFS Forum J XFS Forum 2000 J XFS Conceptional Overview J XFS Forum J XFS Forum 2000 J XFS System Overview Version 1 0 J XFS Forum Kreger H 2001 Java Management Extensions for application management In IBM Systems Journal VOL 40 NO 1 2001 Kiesling Tobias 2000 OSI Management Seminararbeit Universit t M nchen Miklitz Thomas 2001 Java Management Extensions Seminararbeit TU Darmstadt Vasters Clemens 2000 SOAP die L sung aller Interoperabilitatsprobleme In OBJEKTspektrum 6 2000 S 26ff Willers Michael 2000 Microsoft NET das programmierbare Web In OBJEKTspektrum 6 2000 S 19ff Stahl Michael 2000 Microsoft NET Evolution oder Revolution In OBJEKTspektrum 6 2000
101. ario erahnen l sst ist dass unerwartete Kollaborationen und Interaktionen unerw nscht sein k nnen Es m ssen in Zukunft entsprechende Sicherheitsvorkehrungen und Kontrollmechanismen festgelegt und erstellt werden welche uns vor unerw nschten Konsequenzen sch tzen F hrt man diese Vision fort entstehen verteilte Dienste die auch als Schwarme bezeichnet werden Diese finden sich gegenseitig und erstellen gemeinsam zum richtigen Zeitpunkt genau den Dienst den der Benutzer ben tigt Im Folgenden sollen nun die beiden kontrahierenden Frameworks Sun ONE und NET kurz vorgestellt werden welche als Entwicklungsplattform und Infrastruktur f r Smart Web Services dienen und in Zukunft dieses Szenario vielleicht Wirklichkeit werden lassen k nnten An dieser Stelle soll auf einen Vergleich oder eine Wertung dieser Frameworks verzichtet werden Es sei aber auf eine Ver ffentlichung der Middleware Company verwiesen die eine interessante Studie zu diesem Thema ver ffentlicht hat 2 1 6 2 Sun ONE Open Network Environment Sun ONE Open Network Environment stellt eine offene Architektur bereit in der Web Services entwickelt ber das Internet zur Verf gung gestellt und administriert werden k nnen Parallel zu dieser offenen Architektur bietet Sun mit iPlanet ein entsprechendes Produktportfolio an welches eine Art Referenzimplementierung dieser Architektur darstellt Sun teilt Web Services generell in zwei Kategorien Micro Servi
102. art event listener to get events from adaptor eventListener startup return res Ri deregister the client for events and shutdown event listener return result from jmx adaptor true false 7 public Boolean deregisterForNotifications System out printin lt RzProtoOperatorWebService gt gt method lt deregisterForNotifications gt accessed Boolean res Boolean this sendRequestToSocketServer deregister System out printin lt RzProtoOperatorWebService gt gt Result System out printin res System out printin lt RzProtoOperatorWebService gt gt Sending result to lt Client gt if successfull stop event listener getting events from adaptor if res booleanValue eventListener shutdown return res DeviceStatus ds DeviceStatus this sendRequestToSocketServer status deviceName Element res this marshalObject ds System out printin lt RzProtoOperatorWebService gt gt Sending lt XML Stream gt to lt Client gt return res Viste this method is automatically called by the event listener if an event came in lt br gt add event to event registry param o Observable param arg event object 7 public void update Observable o Object arg System out printin lt RzProtoOperatorWebService gt gt Adding event to event history this eventHistory add String arg pe send request to jmx adaptor through sock
103. arting synchronized this startupCount if startupCount gt 1 return try String configurationParameters Jxfs_sdm_name Jxfs_workstation_name Jxfs_config_key J fs_server_port J fs_server_name manager initialize configurationParameters StdLogFilter filter new StdLogFilter StdLoggerFile stdLogFile new StdLoggerFile if stdLogFile initialize Jxfs_logFilename true System out printin lt RzProtoJxfsConnector gt gt Error during StdLoggerFile initialization for Jxfs_logFilename logger addFilter filter logger addLogListener stdLogFile logger registerModule Jxfs_config_key J XFS Connector catch JxfsException exception System out printin lt RzProtoJxfsConnector gt gt Error during DeviceManager and Logger initialization n exception write ToLog lt RzProtoJxfsConnector gt gt Error during DeviceManager and Logger initialization exception toString write ToLog lt RzProtoJxfsConnector gt gt Initialization of JxfsDeviceManager and JxfsLogger successtull System out printin lt RzProtoJxfsConnector gt gt JxfsDeviceManager and JxfsLogger started VE stop the application and the device manager only the last client lt br gt release and close the given device controls lt br gt deregister logger param controls vector of device controls that should be closed 7 public voi
104. ation denomination new JxfsDenomination denominationltems amount cashBox int mixNumber 0 test value int position 0 test value int exponent 0 test value String currencyString DEM JxfsCurrencyCode currencyCode new JxfsCurrencyCode currencyString JxfsCurrency currency new JxfsCurrency currencyCode exponent JxfsDispenseRequest dispenseRequest new JxfsDispenseRequest mixNumber denomination currency position dispense System out printin lt RzProtoEndUserClient gt gt Dispensing money DM int opID synchronized this opID atmControl dispense dispenseRequest catch JxfsException e e printStackTrace as send an asynchron call for cassette counters lt br gt the result information CashUnit is send in an operation complete event yf public void queryCashUnits if atmControl null try int opID synchronized this opID atmControl queryCashUnit catch JxfsException e e printStackTrace aks Listener interface method to handle OperationCompleteEvents lt br gt get information about cash units if JXFS_O_CDR_QUERY_CASH_UNIT occurred lt br gt if cash unit is empty generate and fire a StatusEvent lt br gt build cassette counters fields for GUI lt br gt param event an operation complete event 7 public synchronized void operationCompleteOccurred JxfsOperationCompleteEvent event if e
105. auslagern private Vector eventHistory 1 Socket Client private Socket clientSocket streams from and to Socket Server private ObjectOutputStream toServer private ObjectInputStream fromServer socket port for event listener private int eventPort lt config socket port private int commandPort lt config socket host to jmx adaptor private String adaptorHost lt config Vie The class contructor 7 public RzProtoOperatorWebService System out printin lt RzProtoOperatorWebService gt gt initializing this eventHistory new Vector this eventPort 8099 this eventListener new RzProtoEventListener eventPort this commandPort 8089 this adaptorHost localhost Vike register the client for events and start event listener to get events from JXFS JMX return result from jmx adaptor true false 7 public Boolean registerForNotifications System out printin lt RzProtoOperatorWebService gt gt method lt registerForNotifications gt accessed Boolean res Boolean this sendRequestToSocketServer register System out printin lt RzProtoOperatorWebService gt gt Result System out printin res System out printin lt RzProtoOperatorWebService gt gt Sending result to lt Client gt successfull if res booleanValue registering as observer to get events from client eventListener addObserver this st
106. ber noch gewisse konzeptionelle Schwachstellen in sich birgt Neuere Ans tze wie CORBA basierte L sungen WBEM und die Java Management Extensions JMX die flexible dynamische skalierbare integrierte und web f hige Managementsysteme versprechen Auf Historie bzw die wichtigsten Stationen dieser Management Technologien soll nachfolgend eingegangen werden 2 Architekturen Technologien und Paradigmen Jahr Technologie Beschreibung 1980 OSI Standard CMIP ISO startet Aktivit ten im Bereich Netzwerkmanagement als Teil der Entwicklung des ISO OSI Referenzmodells CMIP Common Management Information Protocol bezeichnet das hierbei verwendete Protokoll TMN CCITT heute ITU beginnt die Definition des Telecommunication Management Network TMN OSI Standard CMIP Arbeiten zum OSI Systems Management Overview beginnen OSI Standard CMIP Gr ndung des OSI Network Management Forums NMF einer Herstellervereinigung zur Umsetzung des OSI Standards CMOT Common Management Information Services over TCP IP CMOT entstand als OSI Antwort auf SGMP TMN Derartige Anpassung der OSI Standards und der TMN OSI Standard CMIP Standards dass TMN auf den OSI Standards aufbaut OSI Standard CMIP OSI Systems Management Overview wird internationaler Standard OSI Standard CMIP Erarbeitung verschiedener Standards die Managementfunktionen definieren Tabelle 2 2 Historie des Ma
107. cashunitschema import com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema VER defines the functionality of the RzProtoCommandForwarder lt br gt author Roger Zacharias version 1 0 7 public interface RzProtoCommandForwarderMBean TEE get the number of requests that occurred return number of occurred requests 7 public int getRequestNumber ae reset the number of requests that occurred Y public void resetRequestNumber Var return an already mapped CashUnit object received from J XFS layer param deviceName name of device return already mapped CashUnit object 7 public CashUnit getCashUnitObject String deviceName JES return an already mapped DeviceStatus object received from J XFS layer param deviceName name of device return already mapped DeviceStatus object i public DeviceStatus getDeviceStatusObject String deviceName JES return true if given device exists after querying the J XFS layer param deviceName name of device return true if device exists otherwise false 7 public Boolean isDeviceExisting String deviceName package com wincornixdorf pce rzdiplomarbeit jmx mbeans cassette counters and device status schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata cashunitschema import com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema JXFS 2 0 import com wincornixdorf pce rzdi
108. cassette counters device state to schema classes lt br gt author Roger Zacharias version 1 0 Y public class RzProtoJxfsToSchemaMapper JER returns a CashUnit object out of given JxfsCashUnit param jxfsCassettelnfo a JxfsCashUnit return the mapped CashUnit schema class 7 public static CashUnit getCassetteList JxfsCashUhnit jxfsCassettelnfo System out printin lt RzProtoJxfs ToSchemaMapper gt gt Mapping lt JxfsCashUnit gt to lt CashUnit gt CashUnit cu new CashUnit Vector logicalCashUnits jxfsCassettelnfo getLogicalUnits get information of every cash unit for int i 0 i lt logicalCashUnits size i JxfsLogicalCashUnit Icu JxfsLogicalCashUnit logicalCashUnits elementAt i int number Icu getNumber cassette number String unitld Icu getUnitID cassette id int value Icu getCashType getValue denomination int initialCount Icu getlnitialCount initial number int dispenseCount Icu getDispenseCount number of dispensed int rejectCount Icu getRejectCount number of rejected int count Icu getCount number of actual int cuType Icu getCuType type int cuKind Icu getCuKind type int status Icu getStatus state boolean appLock Icu isAppLock state boolean devLock Icu isDevLock state JxfsCashType cashType Icu getCashType type currency String currencyCode cashType getCurrencyC
109. ce this listener null this deviceName null this atmControl null ER open CashDispenser and send cassette counters request lt br gt then wait until notified of an operation complete event by the listener or timeout lt br gt get cassette information from listener feed the mapper and return info lt br gt param deviceName name of device return cassette counters of device as CashUnit schema class Z JAn shutdown the cassette counters reader lt br gt stop the connector 7 public void shutdown Vector controls new Vector controls add atmControl connector shutdown controls this connector null this atmControl null Ve initialize cash dispenser 7 private void initCashDispenser throws JxfsException get device control of cash dispenser IyxfsBaseControl c connector getJxfsDeviceManager getDevice deviceName JxfsBaseControl control JxfsBaseControl c atmControl JxfsATM control public CashUnit getCassettes String deviceName this deviceName deviceName try this initCashDispenser catch JxfsException e System out printIn lt RzProtoCassette CountersReader gt gt No device of given name found n e return null CashUnit cassetteList null try int openRes atmControl open System out printin lt RzProtoCassette CountersReader gt gt Open lt deviceName es 2 intoplD atmControl queryCashUnit Sys
110. ceNameField getText hostNameField getText gt String result null try lai result this parent getClient sendRegisterForNotificationsRequest called if send command button pressed lt br gt send command request catch Exception ex 7 JOptionPane showMessageDialog this ex getMessage Fehler bei void sendCommandButton_actionPerformed ActionEvent e Kommando JOptionPane ERROR_MESSAGE write to status bar ex printStackTrace this statusBar setText Sende Kommando an Ger t lt deviceNameField getText return hostNameField getText gt String deviceName deviceNameField getText hostNameField getText this eventHistoryArea insert result n 0 else check which command is selected write to status bar this statusBar setText Deregistriere diesen Client f r Ereignisse von Ger t lt deviceNameField getText hostNameField getText gt String result null try result this parent getClient sendDeregisterForNotificationsRequest catch Exception ex JOptionPane showMessageDialog this ex getMessage Fehler bei Kommando JOptionPane ERROR_MESSAGE ex printStackTrace return this eventHistoryArea insert result n 0 i automatically called by client if an event occurred lt br gt put events on GUI param events Vector of new events 7 public void eventOccurred Vector events wri
111. celeration Server 2000 Web Server Content Management Server Content Management SharePoint Portal Server Intranet Server o Windows 2000 Server Directory Web File Print Server o Application Center 2000 Deployment und Management Umgebung NET Devices Dieser Bestandteil dient zur Unterst tzung einer breiten Palette von Endger ten wie PCs Laptops Handys PDAs Spielkonsolen usw Vorgesehene Laufzeitumgebungen sind das NET Framework und das NET Compact Framework welches eine Untermenge f r mobile Endger te darstellt Den Kern der NET Plattform bildet wie bereits angesprochen das NET Framework welches aus den folgenden Komponenten besteht gt Common Language Runtime CLR Hinter CLR verbirgt sich eine objektorientierte Laufzeitumgebung mit der sich Code aus beliebigen Programmiersprachen au er Java integrieren l sst Zu diesem Zweck bersetzen CLR kompatible Entwicklungsumgebungen die Programme zun chst in den CPU unabh ngigen Zwischencode MSIL Microsoft Intermediate Language f r eine theoretische virtuelle Maschine Die Intermediate Language Files werden in Deploymenteinheiten so genannten 2 Architekturen Technologien und Paradigmen 65 Assemblies verpackt Erst zur Laufzeit erfolgt mit Hilfe eines Just in Time Compilers die Ubersetzung in den jeweiligen nativen maschinenabhangigen Code Dadurch erreicht NET eine Entkopplung zwischen Anwendungssoftware und der darunter li
112. ces und Macro Services Bei Micro Services handelt es sich um einfache grundlegende Funktionen durch deren geschickte Kombination Macro Services erstellt werden k nnen Bestandteile der Architektur welche in Abbildung 2 26 Sun ONE Basisarchitektur zu sehen ist sind die folgenden gt Service Platform Die Service Platform erlaubt Verbindungen zu Datenbanken Verzeichnis 1 Vgl JVSM 2 Architekturen Technologien und Paradigmen 2 Architekturen Technologien und Paradigmen gt Applications Web Services Diese Schicht repr sentiert die bereits deployten Web Services und die dahinter liegenden Applikationen Abbildung 2 27 Sun ONE Smart Web Services Architektur zeigt eine um Smart Web Services erweiterte Architektur welche mehr Funktionalit t hinzuf gt um Kontextsensitivit t zu unterst tzen Die Architekturerweiterungen sind die folgenden gt Smart Interface Smart Delivery Dieser Architekturbestandteil ist f r die kontextsensitive und ger tespezifische Auslieferung der Inhalte an die Konsumenten zust ndig Er unterst tzt durch Verwendung von XSLT siehe Kapitel 2 1 2 3 7 XSL Transformation und Darstellung geratespezifische Prasentationsformate wie HTML XHTML WML VoiceXML usw Smart Policy Dieser Bereich umfasst die Koordination der Policy Aktivitaten in Verbindung mit Identitat Kontext und Rollen Smart Process Dieser Architekturbestandteil ermdglicht die kontextabhangige Kollaborat
113. chemata devicestatusschema 11 J2SE 1 4 import java util ArrayList import java net URL import java net MalformedURLException import java io StringWriter import java io StringReader import java util Observable import java rmi RemoteException Castor 0 9 3 import org exolab castor xml ValidationException import org exolab castor xml MarshalException AXIS 1 0 import org apache axis client Call import org apache axis client Service import org apache axis encoding XML Type import javax xml rpc JAXRPCException Xerces 1 4 3 import org w3c dom Element import org w3c dom Document import org apache soap util xml DOM2Vvriter Wks SOAP client for connecting to and communicating with the webservice lt br gt encapsulates the SOAP client layer and can be used by e g an operator GUI lt br gt two main functions lt br gt forwarding commands to webservice and get results lt br gt polling the webservice for events from device and inform listeners e g operator GUI lt br gt it is the same client as the RzProtoOperatorClient but for Apache AXIS instead of Apache SOAP author Roger Zacharias version 1 0 7 public class RzProtoOperatorClient2 extends Observable implements Runnable the polling thread private Thread thisOne shows status of the polling thread private boolean active polling intervall in seconds private int polllntervall lt config soa
114. ck if there are new events if neccessary inform listener e g operator GUI try ArrayList events sendEventRequest if events size gt 0 setChanged notifyObservers events catch Exception e e printStackTrace wait lt pollinterval gt seconds for next call try this thisOne sleep this pollintervall 1000 catch InterruptedException e e printStackTrace Jai start the polling thread 7 public void startup System out printin lt RzProtoOperatorClient2 gt gt start polling thread this thisOne start fae shutdown client by stopping the polling thread 7 public void shutdown active false System out printin lt RzProtoOperatorClient2 gt gt shutdown JRR send request for device status ofthe given device to webservice param deviceName name of device in J XFS layer e g CashDispenser localhost return device status as String for GUI exception Exception 7 public String sendStatusRequest String deviceName throws Exception send rpc DeviceStatus deviceStatus DeviceStatus this sendRPCAndUnmarshal this soapServerURL this webServicelD getDevice Status package com wincornixdorf pce rzdiplomarbeit soap operatorclient castor framework classes for unmarshalling marshalling from to xml import com wincornixdorf pce rzdiplomarbeit schemata cashunitschema import com wincornixdorf pce rzdiplomarbeit s
115. cklung des Informationsaustausches zwischen den Anwendungsprozessen wird in Schicht sieben des ISO OSI Basisreferenzmodells siehe Abbildung 2 39 ISO OSI Basisreferenzmodell durchgef hrt Die folgende Abbildung zeigt die Einbettung der Dienstelemente in die Anwendungsschicht 2 Architekturen Technologien und Paradigmen 95 Managing Process Agent Process Management Functions CMIP Abbildung 2 45 OSI Dienstelemente in Schicht 7 Quelle STAL93 S 214 Das Systems Management Application Service Element SMASE stellt eine Vielzahl von Managementfunktionen bereit und bildet zugleich die Schnittstelle zu den Anwendungsprozessen Es st tzt sich auf CMISE und das zugeh rige Common Management Information Protocol CMIP die den Zugriff und die Manipulation von Managed Objects erm glichen CMISE ben tigt f r die eigene Funktionalit t zwei weitere Dienstelemente das Association Control Service Element ACSE zur Verbindungsverwaltung und das Remote Operations Service Element ROSE zur Durchf hrung von Managementoperationen auf entfernten Systemen Durch CMISE werden Dienste definiert die f r das OSI Management durch jede Komponente vorgesehen sind Diese sind durch Dienstprimitive aufrufbar die in drei Gruppen gegliedert sind gt Management Operation Services Diese Services dienen der Ausf hrung von Management Operationen In dieser Dienstklasse werden die folgenden Dienstprimitive zur Verf gung gestellt o M GET Lesen
116. col SOAP als XML basiertes Messaging Protokoll Es handelt sich um ein leichtgewichtiges interoperables Protokoll zum Informationsaustausch in einer dezentralisierten verteilten Umgebung welches sowohl RPCs als auch asynchrones Messaging erm glicht SOAP ist im Gegensatz zu IIOP DCOM oder RMI kein verteiltes Komponentenmodell Es muss nicht zwingend in Verbindung mit verteilten Objekten und Methodenaufrufen benutzt werden Weiterhin besitzt es keinerlei Ans tze in den Bereichen Object Discovery Distributed Garbage Collection Authentifizierung und Verschl sselung Oberste Ziele dieses Protokolls sind Interoperabilit t Einfachheit und Erweiterbarkeit Die genannten Punkte k nnen durch entsprechende Erweiterungen auf SOAP aufgesetzt werden UDDI dient dem Object Discovery zur Verschl sselung kann HTTPS verwendet werden und Authentifizierungs informationen k nnen ber den Header mitgeschickt werden SOAP ist vom zugrunde liegenden Kommunikationsprotokoll unabh ngig weshalb der Austausch der XML Daten ber beliebige Transportprotokolle erfolgen kann F r RPCs sind im Internet Bereich meist HTTP HTTPS und f r die asynchrone Kommunikation SMTP vorgesehen Die SOAP Spezifikation besteht aus folgenden Teilen gt SOAP Envelope Dieser Teil definiert ein Framework f r die Beschreibung des Inhaltes einer SOAP Nachricht wer diese verarbeiten soll wie dies geschehen soll und ob die Verarbeitung obligatorisch oder optional ist SOA
117. d myContacts Kontaktverwaltung myLocation elektronischer und geografischer Aufenthalt myInbox E Mail und VoiceMail Eingangskorb myCalender Zeit und Aufgabenverwaltung myWallet Ablage f r Quittungen Zahlungsanweisungen usw myNotification Benachrichtigungsdienst myApplicationSettings benutzerspezifische Applikationseinstellungen myFavoriteWebSites Favoritenverwaltung myDevice Ger teeinstellungen und f higkeiten myDocument Dokumentenablage myServices Verwaltung verschiedener Dienste myUsage Verwendungs Reports fur verschiedene Dienste NET Framework amp Tools Das NET Framework ist das Herz von NET Es enthalt die Laufzeitumgebung Common Language Runtime CLR verschiedene Compiler und die umfassende Entwicklungsumgebung Visual Studio NET Auf diesen Hauptbestandteil der Architektur wird weiter unten n her eingegangen NET Servers Hierbei handelt es sich um eine Reihe von Server Produkten welche die Basis f r das NET Framework bilden Folgende Enterprise Server sind in dieser Produktpalette enthalten o Biztalk Server 2000 Gesch ftsprozess und Integrationsserver o SQL Server 2000 Datenbankverwaltungssystem Exchange Server 2000 Messaging Server Host Integration Server 2000 Anbindung an Host Systeme Commerce Server 2000 E Commerce Server Mobile Information Server 2000 Applikationsserver mit Mobile Anbindung Internet Security and Ac
118. d Database Management System Object Request Broker Open Systems Interconnect Point to Point Parsable Character Data Personal Digital Assistant J2EE J2ME J2SE JavaPOS JAX RPC JAXB JAXM JAXP JAXR JCA JCP JDBC JDMK JIDM JMAPI JMS JMX JNDI JRE JSP PI RDBMS RMI RMI IIOP SAX SB SCMS SGML SGMP SMASE SMI SMS SMTP SOAP SOAP DSIG SOD SPI SQL SSL Internet Inter ORB Protocol Internation Network Services Internet Protocol International Standardisation Organisation Extensions for Financial Services for the Java Platform Java 2 Enterprise Edition Java 2 Micro Edition Java 2 Standard Edition Java Point of Sales Java API for XML Remote Procedure Calls Java API for XML Binding Java API for XML Messaging Java API for XML Processing Java API for XML Registries Java Connector Architecture Java Community Process Java Database Connectivity Java Dynamic Management Kit Joint Inter Domain Management Java Management API Java Message Service Java Management Extensions Java Naming and Directory Interface Java Runtime Environment JavaServer Pages Portable Document Format Processing Instruction Relational Database Management System Remote Method Invocation Remote Method Invocation over Internet Inter ORB Protocol Return of Investment Remote Operations Service Element Remote Procedure Call Rich Text Format Security Assertion Markup Language Simple API for XML Selbstbedi
119. d Paradigmen standardkonform Diese Faktoren f hrten und f hren zu einer weiten Verbreitung dieser Meta Sprache 2 1 2 2 Positionierung Oft wird XML direkt mit HTML verglichen oder gar als dessen Nachfolger bezeichnet Um eine klare Trennung zu erreichen sollen zun chst die Begriffe der Meta und Markup Sprache sowie des Dokuments gekl rt werden Eine Metasprache dient zur Definition der Grammatik und des Vokabulars anderer Sprachen d h sie enth lt Informationen ber die in einer Sprache transportierten Informationen Mit Meta Sprachen k nnen also Sprachen wie zum Beispiel Markup Sprachen definiert werden Bei XML und dessen Vorg nger SGML Standard Generalized Markup Language handelt es sich um solche Meta Sprachen zur Definition von Markup Sprachen Markup Sprachen auch als Auszeichnungssprachen bezeichnet sind Sprachen welche mittels eingestreuter Direktiven Tags die Struktur und oder die Pr sentation eines Dokumentes bestimmen Markup Sprachen erzeugen Dokumente immer f r eine bestimmte Anwendung und werden meist f r eine bestimmte Anwendung z B Textformatierung entworfen Bei HTML handelt es sich um eine solche Auszeichnungssprache wobei HTML selbst durch die Meta Sprache SGML definiert wurde Ein Dokument ist wiederum mit Hilfe einer Markup Sprache definiert und beinhaltet letztendlich die Daten ist also der Informationstr ger Ein Dokument besteht aus gt Struktur Markup Elemente mit Attributen g
120. d die Herausforderungen an die Finanzwirtschaft in der wie in kaum einem anderen Bereich die IT Systeme durch 1 Unter dem Rational Unified Process RUP versteht man ein objektorientiertes UML basiertes Vorgehensmodell welches gleichzeitig kommerziell von der Fa Rational Software vertrieben wird Weitere Informationen unter http www rational com rup Unter Extreme Programming XP versteht man einen leichtgewichtigen Entwicklungsprozess f r kleine Teams der aus 12 Richtlinien besteht und hierbei auch bestimmte soziale Aspekte des Software Engineerings ber cksichtigt Weitere Informationen unter http www extremeprogramming org Die Unified Modelling Language UML ist eine grafische Notation zur Erstellung objektorientierter Modelle f r die Analyse und den Entwurf objektorientierter Software Weitere Informationen unter http www uml org Die Extensible Markup Language XML ist eine Metasprache zur Definition von Markup Sprachen Eine Einf hrung in XML bietet Kapitel 2 1 2 XML Extensible Markup Language 567 8910 Auf diese Begriffe wird in Kapitel 2 Architekturen Technologien und Paradigmen n her eingegangen 12 1 Einf hrung betr chtliche Kosten enorme Komplexit t und hohe Anforderungen an die Funktionalit t gekennzeichnet sind Die L sung sind moderne Architekturen die leicht in bereits bestehende heterogene Strukturen integrierbar beliebig erweiterbar und adaptierbar sind und dabei im
121. d shutdown Vector controls System out printin lt RzProtoJxfsConnector gt gt stopping JxfsBaseControl control JxfsStatus status if controls null for Enumeration e controls elements e hasMoreElements control JxfsBaseControl e nextElement try status control getStatus if status isClaimed control release 2000 if status isOpen control close catch JxfsException exception System out printin lt RzProtoJxfsConnector gt gt Release Close of device control failed n exception toString synchronized this startupCount if startupCount gt 0 return write ToLog lt RzProtoJxfsConnector gt gt JxfsDeviceManager shutdown manager shutdown try Thread currentThread sleep 5000 catch InterruptedException ign System out printin ign toString logger deregisterModule Jxfs_config_key System out printin lt RzProtoJxfsConnector gt gt JxfsDeviceManager shutdown System out printin lt RzProtoJxfsConnector gt gt stopped pre get singleton device manager return the J XFS device manager 7 public JxfsDeviceManager getJxfsDeviceManager return manager fe get singleton logger return the J XFS logger J XFS Endbenutzer Client nur zu Demonstrationszwecken package com wincornixdorf pce rzdiplomarbeit jxfs enduserclient JIXFS connector import com winc
122. dar in Klammern ist jeweils die entsprechend verwendete Technologie f r dieses Package angegeben FackageName Uberwachungssystem Abbildung 3 21 Prototyp Top Level Architektur und Realisierung 3 Ein berwachungssystem f r Bankperipherieger te 3 3 Feinentwurf Detail Design Ausgangssituation f r den Feinentwurf ist die Grobdefinition der Architektur im Grobentwurf Ziel des Feinentwurfs ist es Daten und Prozesse so detailliert darzustellen dass diese ohne gr ere Schwierigkeiten direkt implementiert werden k nnen Die in Kapitel 3 4 Grobentwurf Top Level Design vorgestellte Architektur erm glicht die Realisierung von einfachen Managementsystemen mit beliebigem Funktionsumfang sowie beliebiger Verteilung und Skalierbarkeit Eine maximal m gliche sinnvolle Verteilung wird durch das Deployment Diagramm in Abbildung 3 2 3 Prototyp Deployment bei maximaler Verteilung dargestellt Da es sich hier aber um einen Prototypen f r ein solches System handelt sollen folgende Einschr nkungen gemacht werden gt Das zu berwachende Bankperipheriegerat ist ein einfacher Geldautomat gt Die zu bearbeitenden Anfragen siehe Kapitel 3 2 4 Akteure und Anwendungsf lle beschr nken sich auf die folgenden o Anfrage ber den aktuellen Status des Geldautomaten o Anfrage ber die aktuellen Kassettenst nde des Geldautomaten Die vom Geldautomaten ausgehenden Ereignisse siehe Kapitel 3 2 4 Akteure und Anwendun
123. den verteilten Systeme erfordert bei gleichzeitig wachsender Komplexit t aber ein ad quates Management f r heterogene Netz und Systemumgebungen das die Sicherstellung eines effektiven und effizienten Einsatzes eines Rechnernetzes und eines verteilten Systems erm glichen muss In der globalisierten arbeitsteiligen Wirtschaft sind vernetzte und verteilte IT Systeme unabdingbare Infrastrukturen Netze Systeme und Anwendungen werden immer komplexer und eine manuelle Konfiguration und berwachung sind aufgrund der Komplexit t nicht mehr m glich Das sichere Funktionieren der Systeme und die schnelle Anpassbarkeit an ge nderte Anforderungen bekommen zunehmend unternehmenskritische Bedeutung Es m ssen daher geeignete Managementsysteme zur Administration und berwachung dieser IT Infrastruktur eingesetzt werden Unter Management werden je nach Kontext verschiedene Bereiche verstanden im Allgemeinen klassifiziert man Management aber in der folgenden Art und Weise Enterprise Management das Management eines gesamten Unternehmens Anwendungs Management das Management unterschiedlicher Anwendungen Informations Management das Management von Datenbest nden System Management das Management von umfassenden Rechnernetzen Netzwerk Management das Management von Netzdiensten und komponenten Bei der Betrachtung des Themengebiets Management in Bezug auf seine technologische Basis existieren drei grunds tzliche Entwicklungstende
124. der Infrastruktur befindet Der Prototyp ist auf diese Art und Weise realisiert kann aber ohne Probleme auf das oben vorgestellte Szenario umgestellt werden Die Verteilung im prototypischen Ansatz wird durch folgende Abbildung verdeutlicht it Swen Abbildung 3 24 Prototyp realisierte Verteilung 3 Ein berwachungssystem f r Bankperipherieger te 3 5 2 Managementdaten Die auszutauschenden Managementdaten werden wie bereits angesprochen als XML Schema dargestellt Eine Ausnahme hierzu bilden die auf dem Endger t aufgetretenen Ereignisse welche der Einfachheit halber als einfache String repr sentiert werden Die Erstellung der XML Schemata welche sp ter dem Databinding Framework siehe Kapitel 3 4 3 3 Castor 0 9 3 bergeben werden lassen sich entweder m hsam per Hand oder mit Hilfe grafischer Tools erstellen Da der Aufbau eines XML Schemas objektorientierten Konzepten folgt l sst sich dieses problemlos aus bereits bestehenden Objektstrukturen in diesem Fall J XFS Objektstrukturen ableiten Die folgenden Abbildungen zeigen den groben Aufbau der XML Schema f r den Status und die Kassetteninformationen des Geldautomaten ed claimPending F an hardware error ured that st be Abbildung 3 25 Prototyp DeviceStatus XML Schema 1 Der Autor verwendet hierzu das Programm XML Spy 4 Weitere Informationen unter http www xmlspy com initialCount he initial number of coins or dispenseCount
125. derzeitige Marktf hrer im Bereich der OODBMS Weitere Informationen unter http www objectdesign com Unter Legacy Daten versteht man im Allgemeinen Datenbest nde aus der Zeit vor dem Internet Zeitalter 5 Tuxedo ist ein hochperformanter TP Monitor von Bea Systems Weitere Informationen unter http www bea com 2 Architekturen Technologien und Paradigmen 70 2 Architekturen Technologien und Paradigmen 2 2 1 Begriffe Anforderungen Historie und Entwicklungen 2 2 1 1 Der Begriff Management Movement through the jungle of management technologies is an intricate and complex journey fraught with peril for the uninitiated Der Begriff Management ist sehr breit gefachert und wird je nach verwendetem Kontext anders assoziiert Management ist aber nicht nur die Uberwachung von physikalischen Netzwerkkomponenten wie Routern Hubs und Switches sondern auch die Verwaltung und Uberwachung von Ressourcen aller Art welche durch ein Netzwerk miteinander verbunden sind Dies umfasst ebenso die softwaretechnische Seite d h die Uberwachung von Diensten Applikationen oder komplexen ERP Systemen sowie deren Komponenten Management wird in erster Linie durch Menschen Netzwerkadministratoren J2EE Administratoren Operatoren usw mit Hilfe von speziellen Werkzeugen Hard und Softwarekomponenten realisiert Es handelt sich hierbei also zun chst einmal um ein organisatorisches Problem Das bedeutet dass entsprechende Ric
126. die n chste Die Dimension des Gegenstandes zeigt die Art der zu verwaltenden Ressourcen auf d h das Management kann sich auf einzelne Komponenten im Netz auf komplexe Systeme auf verteilte Anwendungen oder die gesamte Netzwerk Infrastruktur eines Unternehmens beziehen Das ausschlaggebende Merkmal ist hierbei die Menge der f r eine Aufgabe ben tigten Informationen 2 Architekturen Technologien und Paradigmen 75 74 2 Architekturen Technologien und Paradigmen bed rfen Besondere Bedeutung haben hierbei sowohl offene Schnittstellen zur existierenden Infrastruktur als auch die Integration in bereits bestehende Arbeitsabl ufe Maximale Sicherheit Gerade im Internet Zeitalter kommt der Sicherung des Managements gegen Angriffe und Zugriffe von unberechtigten Personen eine besondere Bedeutung zu Multifunktionssysteme Der Wunsch nach einheitlichen integrierten Gesamtsystemen die den gesamten Anforderungsbereich abdecken und f r das Management von heterogenen Netzen und Systemen konzipiert sind wird immer st rker siehe hierzu auch Kapitel 2 2 7 Integrierte Managementsysteme 2 2 1 4 Gegenw rtige Situation Die folgende Studie der INS von 1999 bei der 200 Unternehmen ber die von ihnen eingesetzten Managementsysteme befragt wurden stellt die gegenw rtige Situation sehr sch n dar 0 Zufriedenkeit mit den verf gbaren 0 Anzahl der eingesetzten Werkzeuge Management Werkzeugen Werkzeug 10 sehr zufr
127. dowEvent WindowEvent e super processWindowEvent e if e getID WindowEvent WINDOW_CLOSING JMenufileExit_actionPerformed null frameSize width screenSize width frame setLocation screenSize width frameSize width 2 screenSize height frameSize height 2 frame setVisible true Eis main method lt br gt starts the GUI param args command line arguments 7 public static void main String args try UlManager setLookAndFeel UlManager getSystemLookAndFeelClassName catch Exception e e printStack Trace new RzProtoEndUserGui GUI des Endbenutzers nur zu Demonstrationszwecken package com wincornixdorf pce rzdiplomarbeit gui enduserclientgui connected client import com wincornixdorf pce rzdiplomarbeit jxfs enduserclient RzProtoEndUserClient 1 1 J2SE 1 4 import javax swing UlManager import java awt TS GUI for RzProtoEndUserGui MAIN entry point lt br gt half automatically created with GUI designer author Roger Zacharias version 1 0 7 public class RzProtoEndUserGui boolean packFrame false the connected client private RzProtoEndUserClient client ee returns a reference to the connected client lt br gt TODO Interface f r Client schreiben welches z B Methode sendCommand hat um GUI unabh ngig vom Client zu machen return reference to connected client FA public RzProtoEndUserClient getClient
128. dware zu senden Nat rlich ist auch der umgekehrte Weg also vom Ger t zur Applikation vorgesehen um bestimmte Ereignisse z B F llstandsunterschreitungen zu melden Grunds tzlich existieren zwei Arten von Applikationen welche J XFS nutzen zum einen diejenigen welche direkt auf dem Ger t ausgef hrt werden z B Benutzerschnittstelle eines Bankautomaten und zum anderen diejenigen welche nicht lokal sondern zur berwachung der Ger te eingesetzt werden Die Komponenten der J XFS Architektur sollen in den folgenden Unterabschnitten detailliert erl utert werden gt JIXFS Device Manager Diese Komponente ist die zentrale Kontrollinstanz des J XFS Frameworks durch die jede Kommunikation zwischen Ger t und Applikation gef hrt wird Die Hauptaufgaben des Device Managers sind o Verwaltung einer Liste von Ger ten Diensten und Kommunikationen o transparente Kontrolle der Ger te Kommunikationsbeziehungen und Dienste d h zum Beispiel Organisation der m glicherweise gleichzeitigen Zugriffe auf ein Ger t o Verwaltung einer zentralen Konfigurationsdatenbank J XFS Device Control Diese oberste Schicht der Ger tehierarchie dient dem Zugriff der Applikation auf die Ger teschnittstelle d h die Applikation nutzt die Device Controls um mit dem physikalischem Ger t zu kommunizieren Es findet also eine Entkopplung der Applikation von der physikalischen Ressource statt Diese Schnittstelle gliedert sich in Ger tetypen welche
129. e ernstzunehmende Problem ist die zurzeit noch bestehende Transaktionsproblematik dieser Technologien Insgesamt sind Frameworks wie Microsoft NET oder Sun ONE heute sicherlich noch nicht reif um darauf gesch ftskritische Anwendungen abzust tzen Ein pragmatisches und dennoch risikoarmes Vorgehen besteht darin mit Hilfe von vorgeschalteten Web Services bereits existierende Funktionalit t nach au en hin verf gbar zu machen und dadurch Mehrwert zu schaffen JMX liegt zurzeit in Version 1 0 vor und insbesondere im Distributed Services Level Manager Level sind noch nicht alle Komponenten spezifiziert Daher ist auch hier mit zum Teil weitreichenden nderungen und Erg nzungen zu rechnen so dass diese Technologie f r die Entwicklung umfassender Managementl sungen zun chst nur prototypisch verwendet werden sollte JMX wird zumindest zun chst eine Hauptrolle im Management von Java Anwendungen und hier insbesondere im Management von J2EE Applikationsservern spielen Sun sieht vor JMX in die n chste J2EE Version als Managementplattform f r die J2EE Plattform zu integrieren Dem Autor sind weiterhin insbesondere im praktischen Teil der Arbeit folgende Probleme und Unzul nglichkeiten der verwendeten Technologien und Produkte aufgefallen die hier in Bezug auf k nftige Weiterentwicklungen des Prototyps angesprochen werden sollen gt Apache SOAP 2 2 ist au er ber bestimmte Workarounds nicht mit Microsoft SOAP for Visual Studio N
130. e formale Nachrichten Beschreibungssprache f r eine Reihe von Anwendungen Weitere Informationen finden sich unter http asn1 elibel tm fr DoD ist das Department of Defense das amerikanische Verteidigungsministerium 2 Architekturen Technologien und Paradigmen 93 2 Architekturen Technologien und Paradigmen vor Ein Beispiel f r die Definition einer MOC in ASN 1 soll durch die folgende Abbildung gegeben werden Definition von SMI ISO 1065 2 definiert Basiselemente f r die MIB Entwicklung Zu diesen Elementen geh ren Attribute Objektklassen und Meldungstypen Die Beschreibung erfolgt auch hier in der ASN 1 MANAGED OBJECT CLASS DERIVED FROM ISO IEC 10165 2 Top CHARACTERIZED BY BEHAVIOUR TRE ATTRIBUTES HubID NumberOfRelays RelayActive TimeSinceHubSystemReset HubResetTimeStamp HubHealth GroupMap ACTIONS ResetHubSystemAction RelayChangeoverAction NOTIFICATIONS HubHealth GroupRelayConfigChange ProprietaryExtensionAlarm REGISTERED AS iso 1 std 0 iso8802 8802 csma 3 hubmgmt 18 objectclass 0 hubobjectclass X Abbildung 2 44 Beispiel f r die MOC Definition 2 2 3 3 Kommunikationsmodell Die wichtigste Funktionalit t im OSI Management ist der Austausch von Managementinformationen zwischen zwei Instanzen mit Hilfe eines Protokolls Diese Funktionalit t spiegelt sich im Common Management Information Service Element CMISE wieder welches wiederum andere Dienstelemente zur Ausf hrung ben tigt Die Abwi
131. echnische Beratungsgruppe der Internet Society Weitere Informationen unter http www iab org 2 Architekturen Technologien und Paradigmen 2 2 5 Vergleich OSI und Internet Management Dieses Kapitel liefert eine Gegen berstellung der Managementansatze der ISO International Standardization Organisation und des IAB Internet Activities Board als den heute bedeutendsten Organisationen die sich um eine herstellerubergreifende Management Architektur bem hen Der wesentliche Unterschied besteht in der Art und Weise wie ISO und IAB das Ziel eines hersteller bergreifenden Managements erreichen wollten Vor diesem Hintergrund m ssen die aufgezeigten Unterschiede bewertet werden Die ISO die als erste Standardisierungsorganisation mit den Arbeiten zu einem offenen Netzwerkmanagement begonnen hat gt verfolgt ein flexibles und m chtiges L sungskonzept und gt unterst tzt einen m glichst universellen Ansatz Das hei t die in den verschiedenen Teilmodellen der Architektur getroffenen Festlegungen sollen zur L sung beliebig komplexer Managementaufgaben genutzt werden k nnen Im Gegensatz zur Universalitat des ISO Ansatzes steht die Pragmatik des IAB Ansatzes Die Ziele waren hierbei gt Minimierung der Komplexit t und damit der Entwicklungskosten gt die Basis f r eine schnelle L sung f r die Managementproblematik im Internet gt eine sp tere Migration zum OSI Management Anfangs wurde die einfache Implementierbar
132. ecurity Management Dies sind die bereits in Kapitel 2 2 2 3 Management Funktionen Funktionsmodell beschriebenen Managementfunktionen die mehr oder weniger ausgepr gt in jeder Technologie wieder zu finden sind Die Zuordnung zu den entsprechenden ISO Referenzen stellt sich folgenderma en dar Fehler Abrechnungs Konfigurations Leistungs Sicherheits management management management management management ISO 10164 1 4 5 10164 n Abbildung 2 46 OSI Funktionsbereiche FCAPS 2 2 4 Internet Management SNMP Als 1983 die TCP IP Protokollfamilie vom Amerikanischen Verteidigungsministerium DoD zum Standard erklart wurde war dies die Geburtsstunde des Internets Die folgende Abbildung zeigt das TCP IP Modell inklusive der wichtigsten Standards im Kontext des ISO OSI Modells Auch f r dieses weit verbreitete und allgemein bekannte Modell soll diese Abbildung als Erkl rung gen gen OAS Screcrten Anwendung Hypertent Fis Dastrenus Tarnesas T Nata ter Fia nr n 3 Transier Trans ter Mad Emulation System hypertext Fie Tranmster Simple Mal Toret Tran ster Protocol Transtar Protoool Protocol Protocol ER RFC 1014 _ RPC TIP MIF ONS S 7 RPC C1057 RFC 1945 RFC 21 Transmissor Control Proloco User Deleg am Protocol Transport ICP wor Host to Host RFC 799 RFC 7 X a Ardet aan Re ack tion Fewerse Address Internet Control Protocol Resch don Protocol Meropa Protoce Internat AFP
133. egenden Systemumgebung Base Classes Hierbei handelt es sich um eine umfangreiche Klassenbibliothek mit der nahezu alle Bereiche der Programmierung abgedeckt werden Diese Klassenbibliothek steht allen CLR kompatiblen Programmiersprachen zur Verf gung Wichtigste Bestandteile sind Threading I O XML Unterst tzung und ADO NET ActiveX Data Objects eine datenbankunabh ngige Datenbankzugriffsschicht ASP NET Active Server Pages ist Microsofts Modell zur Programmierung der Darstellungsebene d h ASP erm glicht die Generierung dynamischer Seiten HTML WML usw Windows Forms Die Windows Forms bzw WebForms Technologie erlaubt die Integration von Benutzer Kontrollelementen auf Webseiten und deren Verbindung zu serverseitigem Code Dadurch ist es dem Entwickler m glich Web Seiten visuell so zu konstruieren wie dies bisher nur bei Visual Basic m glich war 2 Architekturen Technologien und Paradigmen 67 66 2 Architekturen Technologien und Paradigmen Die urspr nglichen Organisationen welche in CBDIWS als stovepipe organisations bezeichnet werden verf gen Uber eine klare Trennung ihrer Gesch ftsbereiche und deren Wertsch pfungsketten Die Integration der jeweils zust ndigen Applikationen ging nicht ber das Papier das zwischen den einzelnen Organisationseinheiten ausgetauscht wurde hinaus Sp ter lag der Fokus auf der Automatisierung und Kopplung der Wertsch pfungsketten doch obwohl hier Client Server A
134. egenden Technologien sowie Auswirkung auf E Business und Gesch ftsmodelle diskutiert werden 2 1 1 Ein neues Paradigma Das Problem ist bekannt Es existieren Millionen von Web Servern weltweit welche fast das gesamte Wissen der Menschheit jedermann zug nglich machen sollen Die bliche Form in der Informationen geliefert werden ist HTML welches von einem Browser dargestellt den Inhalt dem menschlichen Betrachter pr sentiert Das hei t das World Wide Web ist zurzeit fast ausschlie lich f r die Maschine Mensch Kommunikation vorgesehen siehe hierzu auch Kapitel 2 1 2 1 Warum XML Web Services sind derzeit eines der am hei esten diskutierten Themen versprechen sie doch die Informationen auch Maschinen Software zug nglich zu machen also zus tzlich die M glichkeit der program to program interaction zu er ffnen Gerade diese M glichkeit das volle Potential des Internets zu nutzen ist heute f r ausgefeilte B2B B2C oder P2P L sungen von zunehmender Bedeutung Mit CORBA RMI DCOM usw existieren bereits verschiedene Protokolle f r den Zugriff auf entfernte Dienste Diese sind aber komplex teuer und meist nicht interoperabel Weiterhin eignen sich diese Protokolle aus dem CORBA Java und 1 Bei der Common Object Request Broker Architecture CORBA handelt es sich um die zurzeit bekannteste und ausgereifteste Middleware Architektur Diese Plattform ist sowohl programmiersprachen als auch plattformun
135. einer XML Sprache d h sie ist ein Konstrukt in dem s mtliche Element Deklarationen Attribut Deklarationen Notations Deklarationen Kardinalit ten usw zusammengefasst werden Sie kann somit als Schablone auf ein XML Dokument angewendet werden oder um das Ganze objektorientiert auszudr cken die DTD ist die Klasse und das XML Dokument eine konkrete Instanz dieser Klasse Eine solche DTD kann zum Beispiel zur Festlegung einer Corporate Identity f r alle gesch ftlichen Dokumente dienen Mit der passenden Software siehe Kapitel 2 1 2 3 3 Programmierschnittstellen und Parser k nnen diese Dokumente ohne Probleme verarbeitet gespeichert publiziert und weltweit ausgetauscht werden Eine DTD welche das angef hrte Beispiel in ein g ltiges Dokument verwandeln w rde und die entsprechende Markup Sprache definiert k nnte wie in Abbildung 2 10 Einfache DTD aussehen In dieser DTD werden f r konkrete Instanzen folgende Vorgaben gemacht gt Das Element Bestellung besteht aus folgenden Elementen die in dieser Reihenfolge aufgef hrt werden m ssen Datum Kunde und eine nichtleere Menge von Artikeln Das Element Datum besteht aus einfachem Text Das Element Kunde besteht aus Name und optionaler E Mail Adresse welche Textelemente sind Das Element Artikel besteht aus einer Beschreibung einer Menge und einem Preis welche jeweils Textelemente sind Jeder Artikel hat zwingend ein Attribut
136. eitet werden kann Au erdem ist XML f r Computer einfach zu verarbeiten auszutauschen und darzustellen Des Weiteren sind sehr viele Entwicklungswerkzeuge in diesem Umfeld frei erh ltlich und vor allem 32 2 Architekturen Technologien und Paradigmen Die folgende Abbildung verdeutlicht den Zusammenhang zwischen Metasprache Markup Sprache und Dokument Meta Sprache definiert Markup Sprache definiert Abbildung 2 8 Beziehung Meta Sprache Markup Sprache Dokument 2 1 2 3 XML Technologie In diesem Kapitel sollen Syntax Semantik und grundlegende Konzepte der Meta Sprache XML anhand eines einfachen Beispiels dargestellt werden 2 1 2 3 1 Wohlgeformte und g ltige XML Dokumente Alle XML Dokumente als konkrete Instanzen einer mit XML definierten Markup Sprache haben eine einfache universelle Grundstruktur definiert durch die XML Syntax Nach dieser besteht ein XML Dokument aus gt einem Prolog mit einer Startanweisung die das Element als XML Dokument identifiziert und den verwendeten Zeichensatz festlegt sowie einem optionalen Verweis auf eine DTD siehe Kapitel 2 1 2 3 2 DTD Document Type Definition dem Hauptteil bestehend aus einem Wurzelelement mit untergeordneten Elementen in Form einer Baumstruktur wobei diese Elemente Attribute besitzen k nnen einem optionalem Epilog der Kommentare oder Verarbeitungsanweisungen enthalten kann Ein Element enth lt eine Anfangsmarke Start Tag eine Endma
137. ekehrte Weg d h die berwachung durch Web Services stellt eine M glichkeit dar Managementfunktionalit t interoperabel anzubieten erlaubt eine beliebige Kombination dieser Managementfunktionalit t inklusive dem unproblematischen Aufbau von Prozessketten sowie weitere bereits in Kapitel 2 1 1 Ein neues Paradigma aufgef hrte Vorteile Diese Variante kommt bei dem in den folgenden Kapiteln vorgestellten Prototyp zum Tragen Eine interessante Anwendung w re sicher die berwachung von Web Services durch Web Services welche zum Beispiel in folgendem Szenario sinnvoll ist Zwei Unternehmen A und B welche Bestandteile einer Supply Chain sind tauschen ihre Informationen ber Web Services aus Unternehmen B hat bestimmte Web Services welche A anbietet in eigene Applikationen integriert die zum Beispiel dem Ansto weiterer Web Services des Zulieferunternehmens C dienen Sind die Dienste von A zeitweise nicht verf gbar oder berlastet bedeutet dies f r Applikation von B automatisch eine Ausnahmesituation Sinnvoller w re es wenn A das Management seiner Dienste als Web Service offen legt und damit B die M glichkeit bietet detaillierte Informationen ber den Ausfall oder die berlastung zu erhalten um entsprechend darauf reagieren zu k nnen Dieses Szenario in welchem B vor jeder Nutzung eines Web Services von A bei dessen Management Web Service dessen Verf gbarkeit erfragt ist in Abbildung 3 1 Offenlegung einer Managementschnittstel
138. el 2 2 1 5 Standards und Entwicklungen Vgl Kapitel 2 2 1 5 Standards und Entwicklungen 116 2 Architekturen Technologien und Paradigmen Managementapplikationen Konfigurationsmarkager Topologiemanager 1 Leistungsmonitor MB Browser Ereignismanager API Infrastruktur Kernsystem ay zu Kommunikationsbaustein Informationsverwaltung a Datenbank lt lt Kommunikatlonsmeiz Abbildung 2 55 Integrierte Managementarchitektur Quelle HHAS93 S 301 Die Infrastruktur stellt verschiedene Basisdienste bereit welche von allen Managementanwendungen ben tigt werden Das Kernsystem sorgt hierbei f r die Kommunikation und Koordination der anderen Bausteine Es ist unter anderem daf r zust ndig dass Anfragen an das jeweilige Modul weitergeleitet werden f r das sie bestimmt sind Der Kommunikationsbaustein erm glicht die Kommunikation mit Fremdsystemen wie Netzkomponenten Endsystemen Managementsoftware oder anderen Managementsystemen Die Informationsverwaltung implementiert das meist objektorientierte Informationsmodell der Plattform und stellt Dienste f r das Kreieren und Verwalten von Managementinformationen bereit Zur Speicherung der Informationen bedient sich die Informationsverwaltung einer Datenbank welche unter anderem die MIB enth lt Der Oberfl chenbaustein erm glicht dem Benutzer des Systems die Kommunikation mit dem System d h den Zugang zu den umfangreichen enthalte
139. em XML Dokumentes Die Transformation eines XML konformen Dokumentes in ein anderes XML konformes Dokument geschieht nach folgendem Prinzip Ein XSLT Prozessor liest das Quell Dokument sequentiell ein und vergleicht in jedem Knoten ob dieser einem in der Stylesheet Datei angegebenen Muster entspricht Trifft dies zu wird die entsprechende auch im Stylesheet angegebene Aktion ausgef hrt Ansonsten wird das Element kopiert XSL Stylesheet xsl Muster und Aktionen XML konformes Dokument XSLT Prozessor Ziel Baum XML konformes Dokument Quell Baum Q of Se z Abbildung 2 16 Prinzip der XSLT 2 Architekturen Technologien und Paradigmen Eine XSL Stylesheet Datei besteht aus einem Satz von Regeln welche festlegen wie das Quelldokument d h der Quellbaum in das Zieldokument also den Zielbaum konvertiert werden soll Eine solche Konstruktionsregel gliedert sich in folgende Teile gt Muster pattern Das Muster gibt an auf welche Bezeichner innerhalb des XML Dokumentes sich die darauf folgende Aktion beziehen soll das hei t findet der Parser das angegebene Muster wird die entsprechende Aktion ausgef hrt Aktion action Wurde das angegebene Muster erkannt wird die darauf folgende Aktion ausgef hrt Diese Aktion kann aus der entsprechenden Umwandlung des betroffenen Elementes in die deklarierte Ausgabeform d h das korrespondierende Element des Zielbaumes Template Schablone oder aus einer dyna
140. en bilden die Basis der Systemdynamik Diese Befehlssequenzen sollen im Folgenden vorgestellt werden pr fe Aust hrbarkeitiai bo irimga siehe Fahre Arira a enger Pr Andre hen F Abbildung 3 10 Prototyp Sequenzdiagramm Anfrage bearbeiten Tabelle 3 7 Prototyp Fachlexikon 3 Ein berwachungssystem f r Bankperipherieger te Abbildung 3 11 Prototyp Sequenzdiagramm Registrierung f r Ereignisse een kununu py Ereigniswehterleitung Z elgnis Regan im erwachungspersonal T l i i I l FR re it ee Abbildung 3 12 Prototyp Sequenzdiagramm Ereignis weiterleiten 3 Ein Uberwachungssystem fiir Bankperipheriegerate 3 4 Grobentwurf Top Level Design Der Grobentwurf dient der Umsetzung der fachlichen Analyseergebnisse in DV Strukturen Das hei t hier wird im Rahmen der funktionalen und nichtfunktionalen Anforderungen entschieden welche Programmiersprachen Technologien APIs Klassenbibliotheken usw verwendet werden und wie diese optimal kombiniert werden k nnen Weiterhin werden an dieser Stelle erste Entw rfe der Benutzerschnittstelle erstellt 3 4 1 Benutzerschnittstelle Dank der prototypischen Natur des zu erstellenden Systems kommt man an dieser Stelle mit einer sehr einfachen Benutzerschnittstelle aus welche im Folgenden vorgestellt werden soll Sie besteht aus folgenden Masken gt Gerateauswahl Mas
141. en kann muss dessen Schnittstelle prazise beschrieben sein Dazu dient die XML basierte Sprache WSDL Web Services Description Language welche eine analoge Rolle zu der in der CORBA Welt bekannten Interface Definition Language IDL spielt Die Beschreibung muss Details Uber das verwendete Protokoll Host und Portnummern die aufrufbaren Operationen deren Ein und Ausgangsparameter m glicherweise auftretende Ausnahmen usw enthalten Ein WSDL Dokument basiert auf den folgenden Entit ten gt Service Ein Service verbindet verschiedene Ports welche semantisch oder fachlich zusammengeh ren Die zusammengefassten Ports kommunizieren nicht mit bzw untereinander und sollen dem WSDL Nutzer die Auswahl unter den Ports erm glichen Port Ein Port legt die konkrete Netzwerkadresse des Services an unter der ein WSDL Nutzer diesen erreichen kann Daneben wird auch eine Referenz auf eine konkrete Bindungsdefinition gelegt 2 Architekturen Technologien und Paradigmen lt complexType gt lt all gt lt element name tickerSymbol type string gt lt all gt lt complexType gt lt element gt lt element name TradePrice gt lt complexType gt lt all gt lt element name price type float gt lt all gt lt complexType gt lt element gt lt schema gt lt types gt lt message name getLastTradePricelnput gt lt part name body element xsdl TradePriceRequest gt lt message gt lt mess
142. en und Diskussionen geholfen haben dieses Gebiet in seiner Gesamtheit zu begreifen und aus verschiedenen Blickpunkten zu betrachten F r zahlreiche Tipps und Tricks bez glich Design und Layout bedanke ich mich bei Sylvia Brandt Mein besonderer Dank geht an meine Verlobte Alexandra Georg f r Ihr liebevolles Verst ndnis ihre Unterst tzung und ihre umfangreiche Hilfe beim Redigieren dieser Arbeit Dar ber hinaus danke ich allen weiteren Personen die auf irgendeine Art zum Gelingen dieser Arbeit beigetragen haben Februar 2002 Roger Zacharias Eidesstattliche Erklarung Hiermit versichere ich die vorliegende Arbeit selbstandig und unter ausschlieRlicher Verwendung der angegebenen Literatur und Hilfsmittel erstellt zu haben Gleichzeitig versichere ich diese Arbeit in gleicher oder hnlicher Form weder ver ffentlicht noch einer anderen Pr fungsbeh rde vorgelegt zu haben Dillenburg den 15 02 2002 3 2 2 Nichtfunktionale Anforderungen 1 EINF HRUNG 3 2 3 Funktionale Anforderungen 3 2 4 Akteure und Anwendungsf lle 1 1 EINLEITUNG 3 3 KONZEPTIONELLES MODELL 3 3 1 Statik des Systems 3 3 2 Dynamik des Systems 1 2 ZIELSETZUNG 1 3 VORGEHENSWEISE UND AUFBAU DER ARBEIT 1 4 BESCHREIBUNGSMETHODEN 3 4 GROBENTWURF TOP LEVEL DESIGN 2 ARCHITEKTUREN TECHNOLOGIEN UND PARADIGMEN 3 4 1 Benutzerschnittstelle 2 1 Wes SERVICE ARCHITEKTUREN 3 4 2 Architektur 214 Ein neues Paradigma 3 4 3 Technologien Produkte und APIs
143. ensions for Financial Services WOSA XRT Windows Open Services Architecture for Realtime Market Data Web Services Component Model Abbildungsverzeichnis ABBILDUNG 2 33 INS UMFRAGE 1999 QUELLE SJM01 S 7 ABBILDUNG 2 34 HISTORIE VERSCHIEDENER MANAGEMENT TECHNOLOGIEN ABBILDUNG 2 1 ENTWICKLUNGSGESCHICHTE DER WEB SERVICES ABBILDUNG 2 35 TEILMODELLE EINER MANAGEMENT ARCHITEKTUR ABBILDUNG 2 2 WEB SERVICE PERSPEKTIVEN ABBILDUNG 2 36 MANAGEMENT ARCHITEKTUR ABBILDUNG 2 3 ASP SOD UND WEB SERVICES QUELLE CBDIWS S 11 ABBILDUNG 2 37 BEZIEHUNG ZWISCHEN RESSOURCE UND MANAGED OBJECT ABBILDUNG 2 38 FUNKTIONALE GLIEDERUNG DES MANAGEMENTS ABBILDUNG 2 39 ISO OSI BASISREFERENZMODELL QUELLE ZWSG94 S 14 ABBILDUNG 2 4 E COMMERCE SZENARIO DER ZUKUNFT ABBILDUNG 2 5 WEB SERVICES MODELL ABBILDUNG 2 6 WEB SERVICES EVOLUTION QUELLE WSRHRN S 5 ABBILDUNG ZO DSENANAGEMENT STANDARDS ABBILDUNG 2 7 WEB SERVICES STACK QUELLE WSCA S 10 ABBILDUNG 2 41 ORGANISATIONSMODELL DES OSI MANAGEMENTS ABBILDUNG 2 8 BEZIEHUNG META SPRACHE MARKUP SPRACHE DOKUMENT ABBILDUNG 2 42 OSI DOM NENMODELL ABBILDUNG 2 9 EINFACHES XML DOKUMENT ABBILDUNG 2 43 ISO REGISTRATION TREE ABBILDUNG 2 44 BEISPIEL F R DIE MOC DEFINITION ABBILDUNG 2 11 PROGRAMMIERSCHNITTSTELLEN UND PARSER ABBILDUNG 2 45 OSI DIENSTELEMENTE IN SCHICHT 7 QUELLE STAL93 S 214 ABBILDUNG 2 12 DOM Baum ABBILDUNG 2 46 OSI FUNKTIONSBEREICHE FCAPS ABBILDUNG 2 47 TCP IP MODELL ABBILDUNG 2 48 B
144. entOccurred Vector arg SEA returns a reference to the connected client lt br gt TODO Interface f r Client schreiben welches z B Methode sendCommand hat um GUI unabh ngig vom Client zu machen return reference to connected client 7 public RzProtoOperatorClient getClient return this soapClient Vii The class constructor lt br gt Construct the graphical user interface Y package com wincornixdorf pce rzdiplomarbeit gui operatorclientgui J2SE 1 4 import java awt import java awt event import javax swing import com borland jbcl layout import java io import java util Vector Visi The main frame for the Operator GUI author Roger Zacharias version 1 0 7 public class RzProtoOperatorFrame extends JFrame the parent gui of this frame private RzProtoOperatorGui parent null pe called if choose device button is pressed lt br gt send is device there request 7 void chooseDeviceButton_actionPerformed ActionEvent e write to status bar String deviceName deviceNameField getText hostNameField getText this statusBar setText Zugriff auf Ger t lt deviceName gt check if specified device exists String result null boolean exists try exists this parent getClient isDeviceExisting deviceName public RzProtoOperatorGui initiating RzProtoOperatorClient soapClient new RzProtoOperator
145. entrale Middleware Plattform einzusetzen um weitere Dienste zentral anbieten zu k nnen Die Kommunikation mit dem Agent erfolgt dann genauso wie die Kommunikation mit anderen Backend Systemen Der Management Web Service repr sentiert hierbei den Manager Level JMX MBean Server Der JMX MBean Server welcher den Agent Level reprasentiert dient der Verwaltung der Ressourcen Dieser kann als einzelner unabhangiger Knoten realisiert werden um zum Beispiel Ressourcengruppen bzw Hierarchien aufzubauen J XFS Server Ein J XFS Server dient der Verwaltung verschiedener Endger te Auch dieser Server kann als einzelner Knoten realisiert sein Bankperipherieger t Die unterste Ebene des Backends bildet das zu berwachende Peripheriegerat Dieses dient als Laufzeitumgebung f r die einzelnen Device Services welche jeweils direkt eine Ressource repr sentieren Weiterhin ist auf diesem Peripherieger t meist eine grafische Endbenutzerapplikation installiert wodurch die eigentliche Benutzung des Ger tes erst m glich wird Hierzu ist es unter Umst nden sinnvoll einen J XFS Server zu installieren welcher nur zur berwachung der an dieses Ger t angeschlossenen Ressourcen dient 3 Ein berwachungssystem f r Bankperipherieger te Die einfachste Verteilung welche f r die berwachung einer geringen Ger temenge geeignet ist sieht nur zwei Rechner vor den Rechner des Clients und den Rechner des Endger ts auf welchem sich der Rest
146. entsystem zu verwenden mit dem im Idealfall alle Bereiche des Managements d h Enterprise Anwendungs Informations System und Netzwerkmanagement siehe Kapitel 2 2 1 1 Der Begriff Management abgedeckt werden k nnen Weiterhin sollen bereits bestehende Systeme und zugekaufte Bausteine problemlos in diese L sung integriert werden k nnen und eine einheitliche Managementoberfl che existieren gt Anwendungsmanagement Dieser Teilbereich des Managements wird in Zukunft enorm an Bedeutung gewinnen Insbesondere durch die steigende Anzahl und Komplexit t verteilter Systeme im Internet Bereich dem Ausbau des B2B und der erwarteten Explosion des B2C durch mobile Endger te wird das Management der unternehmenskritischen Anwendungen immer wichtiger Hierzu z hlt insbesondere auch das Management der Infrastruktur die durch die Dienste verwendet wird d h zum Beispiel das Management der J2EE Applikationsserver in welchem JMX vermutlich seine Hauptanwendung finden wird Kundenausrichtung Fr her interessierte es den Kunden kaum wie bzw mit Hilfe welcher Technologien ein System implementiert wurde Entscheidend waren anderen Kriterien wie zum Beispiel Funktionalit t und Zuverl ssigkeit Heute da das Marketing auch in diesen Bereich Einzug gehalten hat stellt sich die Situation anders dar Wenn der Kunde NET oder EJBs will muss man dies erf llen ob man es f r sinnvoll h lt oder nicht Die strikte Trennung von Anal
147. enung Supply Chain Management System Standard Gerneralized Markup Language Simple Gateway Monitoring Protocol Systems Management Application Service Element Structure of Management Information Short Message Service Simple Message Transfer Protocol Simple Object Access Protocol Simple Object Access Protocol Digital Signatures Service on Demand Service Provider Interface Standard Query Language Secure Socket Layer Sun Open Network Environment Web Service Description Language Transmission Control Protocol Web Services Flow Language Telecommunication Management Network Web Services Inspection Language Transaction Processing Monitor World Wide Web Time to market XML Hypertext Markup Language Universal Description Discovery Integration Extensible Markup Language User Datagram Protocl Extensible Stylesheet Language Uberwachungspersonal Extensible Stylesheet Language Formatting Objects Unified Modelling Language Extensible Stylesheet Language Transformations Universal Plug and Play Uniform Resource Identifier Uniform Resource Locator VB Visual Basic W3C World Wide Web Consortium WAP Wireless Application Protocol WAR Web Archive WBEM Web based Enterprise Management WML Wireless Markup Language WOSA Windows Open Services Architecture WOSA MAPI Windows Open Services Architecture for Messaging WOSA SNA Windows Open Services Architecture for Systems Network Architecture WOSA XFS Windows Open Services Architecture Ext
148. er deregister client for notifications System out printin lt RzProtoRequestHandler gt gt Request for lt deregistering gt received return Deregistration successful to web service System out printin lt RzProtoRequestHandler gt gt Return Deregistration successfull to lt RzProtoOperatorWebService gt runtime workaround try Thread sleep 500 catch Exception e this sendClientResult new Booleanftrue deregister this client for notifications this adaptorServer deregisterClient this sockClient request for cassette counters else if clientRequest startsWith casscount private void sendClientResult Object result try toClient writeObject result toClient flush toClient reset sockClient close fromClient close toClient close catch Exception e Je e printStackTrace invoke method on RzProtoCommandForwarder MBean 77 private Object invokeMBeanMethod String operationName String deviceName Object result null try ObjectName mbeanName new ObjectName DefaultDomain name RzProtoCommandForwarder id 1 desc command forwarder Object params deviceName String signature java lang String result mbServer invoke mbeanName operationName params signature catch Exception e e printStackTrace return result System out printin lt RzProtoRequestHandler gt gt Request
149. erden indem das Verhalten der alten Elemente weiterhin simuliert wird gt Prinzipien der Bennennung der Managed Objects Jede Managed Object Class MOC ist durch einen eindeutigen Identifikator gekennzeichnet Dieser Bezeichner ist eine Kette von Integerzahlen die der jeweiligen Klasse einen eindeutigen Platz im so genannten ISO Registration Tree zuordnet Jede Definition einer MOC muss in diesem Baum registriert werden um sie eindeutig identifizieren zu k nnen In diesem weltweit eindeutigen Baum sind die Definitionen f r MOCs Attributdefinitionen Operationen Meldungen usw abgelegt Diese Struktur weist jeder registrierten Definition einen ASN 1 Object Identifier der Form in ia in zu Die einzelnen Ziffern entsprechen den Knotenmarkierungen im Registration Tree So ist zum Beispiel der Knoten des DoD durch 1 3 6 zu erreichen Dieser weltweit eindeutige Baum der auch beim Internet Management siehe Kapitel 2 2 4 Internet Management SNMP eine wichtige Rolle spielt stellt sich folgenderma en dar ccitt 0 i joint iso ccitt 2 org 3 dod 6 Abbildung 2 43 ISO Registration Tree gt Konzepte von Managed Object Classes MOC und deren Beziehungen ISO 10165 1 schl gt Richtlinien f r das Definitionsformat von MOs Attributen Meldungen usw vor Diese Richtlinien liegen in Form von Templates die in der Beschreibungssprache OSI Abstract Syntax Notation One ASN 1 definiert sind 1 ASN 1 ist ein
150. eressiert welche Aufgabe der jeweilige Dienst besitzt wie er benutzt werden kann 2 Architekturen Technologien und Paradigmen 19 18 2 Architekturen Technologien und Paradigmen Diese L sung bietet die M glichkeit der unbeschr nkten Konfiguration und Personalisierung Web Services bieten eine weit flexiblere L sung Der Kern der Applikation d h Geschafts und Datenkomponenten lagern weiterhin auf dem Server es kann nun aber programmatisch ber ihre Schnittstellen auf sie zugegriffen werden So kann der Kunde seine eigenen Geschaftsprozesse und Benutzeroberfl chen erstellen und in diese beliebige Web Services beliebiger Provider einbinden Folgende Abbildung verdeutlicht dies View in Browser Typical ASP Today Download on Demand Software as a Service Access Service Web Service Abbildung 2 3 ASP SOD und Web Services Quelle CBDIWS S 11 2 1 1 3 Zukunfts Szenario Web Services k nnen wie bereits angesprochen in allen Bereichen verwendet werden wobei ihr gr tes Potential sicher in den Bereichen B2B und B2C liegt Ein E Commerce Szenario der Zukunft bei welchem die Informationen der Wertsch pfungskette eines Unternehmens ausschlie lich ber Web Services ausgetauscht werden wird in Abbildung 2 4 E Commerce Szenario der Zukunft dargestellt Die Vorteile stellen sich folgenderma en dar Zun chst ist es m glich direkt mit der jeweiligen Informationsquelle zu kommunizieren wodurch jedes Datum der Wert
151. ervice System out printin lt RzProtoRequestHandler gt gt Return response from lt RzProtoCommandForwarder gt to lt RzProtoOperatorWebService gt result runtime workaround try Thread sleep 500 catch Exception e this sendClientResult result request for is device existing else if clientRequest startsWith isDeviceExisting System out printin lt RzProtoRequestHandler gt gt Request for lt isDeviceExisting gt received String deviceName clientRequest substring clientRequest indexOf 1 invoke method on MBean to get info about device existence System out printIn lt RzProtoRequestHandler gt gt Sending request to lt RzProtoCommandForwarder gt Boolean result Boolean this invokeMBeanMethod isDeviceExisting deviceName System out printin lt RzProtoRequestHandler gt gt Response from lt RzProtoCommandForwarder gt n result return MBean result to web service System out printIn lt RzProtoRequestHandler gt gt Return response from lt RzProtoCommandForwarder gt to lt RzProtoOperatorWebService gt result runtime workaround try Thread sleep 500 catch Exception e this sendClientResult result Ve write result object to client Y JMX MBeans package com wincornixdorf pce rzdiplomarbeit jmx mbeans cassette counters and device status schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata
152. erwendet statt wie bisher viele verschiedene propriet re Technologien Industry consensus alle Key Player akzeptieren und propagieren die Web Service Technologie Protecting investments Web Services ersetzen keine bestehenden Systeme sondern f gen eine Schicht weiterer Funktionalit t hinzu Dadurch sind bereits get tigte Investionen gesch tzt 2 1 1 6 Web Service Standards Web Services sind in jeder Netzwerk Umgebung verwendbar egal ob es sich dabei um Internet Extranet oder Intranet handelt Ihr alleiniger Fokus liegt auf dem Zusammenspiel der Anwendungskomponenten Weiterhin spielen weder Betriebssystem noch Programmiersprache oder Komponentenmodell eine Rolle Es liegt nahe dass eine solche Offenheit der Zusammenarbeit einige Standards voraussetzt Diese Standards welche in den nachfolgenden Kapiteln n her vorgestellt werden sollen sind XML SOAP WSDL und UDDI Es ist jedoch zu beachten dass diese vier Standards nur die erste Stufe und damit die Basis der Web Services Evolution darstellen Um die vollst ndige Vision zu verwirklichen bedarf es und per Netzwerk zugreifbar ist Es interagiert mit dem Service Requestor oder kann selbst als Service Requestor fungieren indem es andere Web Services benutzt Service Description Die Beschreibung eines Web Service beinhaltet die Details der Schnittstelle und der Implementierung des Dienstes Dies umfasst Datentypen Operationen Bindungsinformationen und Informatione
153. es informieren kann wie zum Beispiel Schwellwert berschreitungen oder Medienmangel Die Gesamtheit der Managementinformationen die in und durch die Managed Objects bereitgestellt wird wird in der Regel als Management Information Base MIB bezeichnet The set of managed objects within a system together with their attributes constitutes that s management information base Die Management Anwendung stellt das Frontend zum menschlichen Part des Managements also einem Administrator oder Operator dar Es handelt sich hierbei um eine mehr oder weniger komplexe grafische Benutzeroberflache von der aus das gesamte System berwacht gesteuert und manipuliert werden kann Der Manager nimmt Anfragen und Auftr ge der Management Anwendung entgegen und leitet diese an den Agenten weiter Auf der anderen Seite erh lt er vom Agenten sowohl Antworten auf diese Operationen als auch Meldungen welche er an die Management Anwendung weiterleitet Der Agent verwaltet die Managed Objects und damit verbunden die MIB f hrt die vom Manager initiierten Operationen aus und bermittelt die R ckgabewerte an diesen Dar ber hinaus ist es die Aufgabe des Agenten Meldungen von den Managed Objects an den Manager weiterzuleiten Weitere Komponenten dieser Architektur die nicht als Basiskomponenten betrachten werden sind gt Das Management Protokoll welches Agent und Manager zum Austausch der Management Informationen benutzen Vgl ISO
154. es WebServices Killdara Corporation Vitiris Web Services Platform www Dokument vom 19 12 2001 http www killdara com Wiggers Chanoch Sun and Web Services The Competition Heats up www Dokument vom 08 09 2001 http www webservicesarchitect com content articles wiggers asp Wincor Nixdorf GmbH amp Co KG ProClassic Enterprise www Dokument vom 02 01 2002 http Awww myproclassic com IBM Software Group Web Services Conceptual Architecture WSCA 1 0 www Dokument vom 09 10 2001 http Awww 3 ibm com software solutions webservices pdf WSCA pdf Gartner Research Note COM 13 5985 How Web Services Mean Business www Dokument vom 12 11 2001 http www gartner com CBDI Forum Web Services Right Here Right Now www Dokument vom 19 07 2001 http Awww cbdiforum com ANHANG A XML Schemata Quelltext lt xs documentation gt shows if the device has been opened and neither an UserActionError nor a HardwareError has occured lt xs documentation gt lt xs annotation gt lt xs element gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs schema gt CashUnit xsd lt xml version 1 0 encoding UTF 8 gt lt xs schema xmlns xs http www w3 org 2001 XML Schema elementFormDefault qualified attributeFormDefault unqualified gt lt xs element name CashUnit gt lt xs annotation gt lt xs documentation gt holds information about the status and contents of the logic
155. esamtsicht auf dieses umfassende Framework welches im Folgenden erl utert wird 1 Hierbei handelt es sich um ein auf dem JavaServer Pages Standard aufbauendes Framework womit sich auf einfache Art und Weise HTML Client GUls erstellen lassen Es gleicht eine Art Java Swing f r HTML Browser Weitere Informationen in Kapitel 3 4 3 Technologien Produkte und APIs Durch diese API wird der Zugriff auf und die Arbeit mit WSDL Dokumenten erm glicht 2 Architekturen Technologien und Paradigmen ZZ nn JET Foundation Series Passport Calek Directory amp Search Notification amp Messuging Personalization Web Store AML Dynami Delivery of Sotivire and Services SET Framework amp Tools ASPNET Windows For nm Web Services Web Forma Controls Drrwing ASE SET Application Windows Application Services ase Classes AD SET XML Threading 10 Common Language Runde si Tyden Lifecycle Monitor Abbildung 2 29 NET Architektur Quelle MSNET S 13 gt NET Foundation Services Hierbei handelt es sich um von Microsoft betriebene endbenutzerorientierte Web Services Unter dem Namen Hailstorm soll eine Grundmenge dieser Dienste erhaltlich sein welche es erlauben Informationen zentral im Internet zwischen verschiedenen Services zu teilen Zu den derzeit verfugbaren Diensten zahlen o myAdress elektronische und geografische Adresse einer Identit t o myProfil Name Nickname spezielle Daten und Bil
156. eses Idealmodell kann in der Praxis nur in bestimmten Bereichen E Learning Infoterminals gemeinsames Surfen usw sinnvoll angewendet werden Bei der Integration von Bankperipherieger te kann es leider nicht bestehen So ist es Clients welche nur mit einem Browser ausgestattet sind zum Beispiel nicht m glich auf die Hardware eines Geldautomaten zuzugreifen Weiterhin ist der vorteilhafte dezentrale Management by Delegation Ansatz bei dem Managementfunktionalit t dynamisch auf die zu Uberwachende Ressource geladen wird in einem solchen Szenario nicht realisierbar siehe Kapitel 2 2 6 JMX Die Managementarchitektur von Morgen Deshalb erweitert man diese Architektur und teilt die Thin Clients in zwei Formen ein Ultra Thin Clients welche dem urspr nglichem Konzept der reinen Pr sentations Clients entsprechen und so genannte Smart Clients welche zus tzlich zur Pr sentation ein dynamisches Laden und Ausf hren weiterer Funktionalit t erm glichen Im Bereich der Integration von Bankperipherieger ten sind aus den o a Gr nden Smart Clients sinnvoller Um diese Architekturanforderungen umzusetzen gr ndeten 1998 die Hauptanbieter von L sungen in diesem Bereich wie Sun Siemens Nixdorf heute Wincor Nixdorf IBM NCR und DeLaRue das so genannte J XFS Forum Extensions for Financial Services for the Java Platform Ziel war es eine Middleware fur Banking Applikationen zu erstellen und eine API zu defin
157. et private synchronized Object sendRequestToSocketServer String request System out printIn lt RzProtoOperatorWebService gt gt building socket connection port commandPort to lt JMX adaptor gt try this clientSocket new Socket adaptorHost commandPort this toServer new ObjectOutputStream clientSocket getOutputStream this fromServer new ObjectinputStream clientSocket getinputStream catch Exception e System out printiIn lt RzProtoOperatorWebService gt gt connecting to jmx adaptor failed e printStackTrace System out printin lt RzProtoOperatorWebService gt gt sending request lt request gt to lt JMX adaptor gt write to socket try toServer write Object request toServer flush toServer reset catch Exception e System out printIn lt RzProtoOperatorWebService gt gt writing to jmx adaptor failed e printStackTrace System out printin lt RzProtoOperatorWebService gt gt reading result from lt JMX adaptor gt read from socket Object response null try response fromServer readObject catch Exception e System out printin lt RzProtoOperatorWebService gt gt reading from jmx adaptor get all events that came from JXFS JMX in since the last poll the last request return vector of undelivered events as strings Wy public Vector getUndeliveredEvents System out printin lt RzProt
158. eter den Umst nden entsprechend oft zu ndern Performance Management Diese Form des Managements dient zur berwachung der Leistungsf higkeit der Ressourcen Performance Probleme k nnen entdeckt und durch das Konfigurationsmanagement behoben werden So kann nicht nur Fehlern 2 Architekturen Technologien und Paradigmen 2 Architekturen Technologien und Paradigmen 2 2 3 OSI Management CMIP Wie bereits angesprochen begann die International Organisation for Standardization ISO 1977 mit der Festlegung einer prinzipiellen Architektur von Telekommunikationssystemen Die Ergebnisse wurden 1984 als das allgemein bekannte ISO OSI Basisreferenzmodell ver ffentlicht und sollen als Ger st f r die Entwicklung von Standards in diesem Bereich dienen Die dem Modell zugrunde liegende Idee ist die Aufteilung der komplexen Gesamtaufgabe in Uberschaubare Teilaufgaben Dies f hrte zu einer hierarchischen Gliederung eines Telekommunikationssystems in sieben Schichten welche gemeinsam die Kommunikation verschiedener Rechnersysteme ber r umliche Distanzen hinweg erm glichen sollen Die folgende Abbildung soll aufgrund des allgemeinen Bekanntheitsgrades und der Verbreitung dieses Modells zur Erkl rung gen gen Enelayale m Transnsyslern Enalsy dem Abbildung 2 39 ISO OSI Basisreferenzmodell Quelle ZWSG94 S 14 1980 startete die ISO erste Aktivit ten im Bereich Management als Teil der Entwicklung dieses ISO OSI Referenzmodells
159. event getData get logical units in the cash unit Vector logicalCashUnits cashUnits getLogicalUnits get information of every cash unit for int i 0 i lt logicalCashUnits size i JxfsLogicalCashUnit Icu JxfsLogicalCashUnit logicalCashUnits elementAt i JxfsThresholdStatus ts Icu getThresholdStatus boolean isEmpty ts isEmpty U private void queryCashUnits if atmControl null try int opID synchronized this opID atmControl queryCashUnit catch JxfsException e e printStackTrace if cash unit is empty generate status event JxfsStatusEvent source status details LogicalCashUnit if isEmpty amp amp emptyLogicalCashUnits contains Icu getUnitID emptyLogicalCashUnits addElement Icu getUnitID JxfsStatusEvent statusEvent new JxfsStatusEvent atmControl JxfsThresholdStatus JXFS_S_ BIN EMPTY Icu try listener status Occurred statusEvent catch Exception e e printStackTrace ig get device control of cash dispenser open it and add operation complete listener to get information about cassettes 7 private void initCashDispenser connector startup get device control of cash dispenser atmControl null try lJxfsBase Control c connector getJxfsDeviceManager getDevice deviceName JxfsBaseControl control JxfsBaseControl c atmControl JxfsATM control System out printin lt RzProtoJxfsEvent
160. f r Bankperipherieger te In real life there is no lt undo gt Roger Zacharias 132 3 Ein berwachungssystem f r Bankperipherieger te 3 Ein berwachungssystem f r Bankperipherieger te In der Welt der Finanzinstitute werden an Softwaresysteme besondere Anforderungen gestellt In fachlicher Hinsicht liegt dies vor allem an der Kombination erheblicher funktionaler Komplexit t mit einer ausgesprochen hohen nderungsfrequenz die sowohl durch die Flexibilit t der Finanzm rkte als auch durch Anpassungen an gesetzliche Vorschriften bedingt ist Wesentliche technische Merkmale dieser Systeme sind ihre extreme oft verteilte Verf gbarkeit Performanz und Skalierbarkeit Heutige Softwaresysteme in diesem Bereich zeichnen sich weiterhin durch hohe laufende Kosten und eine im Verh ltnis zu den Anforderungen limitierte Funktionalit t aus Globalisierung und Vernetzung verst rkter Konkurrenzdruck und anspruchsvollere Konsumenten sind die Herausforderungen an die Finanzwirtschaft zu Beginn des 21 Jahrhunderts und damit auch an deren Softwaresysteme In diesem Kapitel soll basierend auf den in Kapitel 2 Architekturen Technologien und Paradigmen gewonnenen Erkenntnissen die Konzeption und Realisierung eines berwachungssystem Prototyps f r Bankperipherieger te dargestellt werden Zun chst wird auf den fachlichen Hintergrund und derzeitige Probleme solcher Systeme eingegangen und darauf folgend Analyse Entwurf und Implementieru
161. fer resBuf append Cash Unit n for int i 0 i lt cashUnit getLogicalCashUnitCount i LogicalCashUnit Icu cashUnit getLogicalCashUnit i resBuf append Logical Cash Unit lt Icu getld gt resBuf append Icu getValue 100 Icu getCurrencyCode n resBuf append initial count Icu getinitialCount n resBuf append count Icu getCount n resBuf append type cu getType n resBuf append status Icu getStatus n String res resBuf toString return res VE send request to webservice to register this client for events from J XFS JMX exception Exception return register successfull not successfull 7 public String sendRegisterForNotificationsRequest throws Exception send rpc Boolean response Boolean this sendRPCAndUnmarshal this soapServerURL this webServicelD registerForNotifications false null null Boolean class if successfull start polling thread if response booleanValue this startup response for GUI if response booleanValue return Registrierung erfolgreich else return Registrierung nicht erfolgreich yf send request to webservice to deregister this client for events from J XFS JMX exception Exception return deregister successfull not successfull 7 public String sendDeregisterForNotificationsRequest throws Exception send rpc Boolean response
162. gement der DMTF Dieser versucht hierbei mit Hilfe des Common Information Models CIM ein bergreifendes Schema f r 1 Das Internet Activities Board heute Internet Architecture Board verfolgt und betreut die Weiterentwicklung der Internet Standards Es besteht aus der IETF Internet Engineering Task Force und der IRTF Internet Research Task Force Weitere Informationen unter http www jidm org 3 Weitere Informationen unter http www dmtf org standards standard_wbem php Die Distributed Management Task Force DMTF ist eine Herstellervereinigung welche sich mit der Entwicklung und Standardisierung von Management Standards besch ftigt Weitere Informationen unter http www dmtf org 2 Architekturen Technologien und Paradigmen Abbildung 2 34 Historie verschiedener Management Technologien 1980 startete die ISO erste Aktivit ten im Bereich Management als Teil der Entwicklung des ISO OSI Referenzmodells welches 1984 inklusive des Common Management Information Protocol CMIP ver ffentlicht wurde Einen kurzen Abriss ber das OSI Management bietet Kapitel 2 2 3 OSI Management CMIP Als 1983 die TCP IP Protokollfamilie vom Amerikanischen Verteidigungsministerium zum Standard erkl rt wurde war dies die Geburtsstunde des Internets Mitte der 80er Jahre wuchs das Internet sprunghaft ohne jegliche TCP IP Verwaltungsstandards an Jede verantwortliche Gruppe die einen Teil des Internets verwaltete benutzte
163. gen ber der bei WOSA XFS benutzten Sprache C Sie ist einfach darin geschriebene Applikationen sind robuster und es existiert eine automatische Speicherbereinigung Reduzierte Kosten f r Client Konfiguration und Client Administration JXFS erm glicht Thin Client Architekturen welche eine serverseitige Konfiguration und Administration erm glichen siehe Kapitel 2 3 1 Historie Plattformunabhangigkeit Die einzige Anforderung an J XFS Applikation besteht in einer Java Virtual Machine Diese JVM kann sowohl Bestandteil eines Browsers oder des Betriebssystems sein als auch als Mikrocode eines speziellen Computerchips 2 Architekturen Technologien und Paradigmen 129 vorliegen Dadurch ist der J XFS Standard unabhangig von Betriebssystem und Hardware Unabh ngigkeit von Ger t und Hersteller Da J XFS herstellerspezifische Funktionen nach Ger tetypen abstrahiert sind J XFS konforme Applikationen von der zugrunde liegenden Hardware unabh ngig Dies bedeutet auch dass diese Hardware ohne Beeintr chtigung der Applikationen ersetzt oder aktualisiert werden kann Ortsunabhangigkeit Die Kommunikationsschicht ist f r den Applikationsentwickler vollkommen transparent Es macht keinen Unterschied ob lokal oder entfernt remote auf Peripherieger te zugegriffen wird So ist es irrelevant wo diese Ger te physikalisch aufgestellt sind 2 Architekturen Technologien und Paradigmen KAPITEL 3 Ein berwachungssystem
164. gestellt wurden Es besteht eine Reihe von Technologien die diesen Schritt schon seit einiger Zeit h tten wahr werden lassen k nnen aber folgende Probleme haben dies bisher verhindert gt Es existiert keine vern nftige Integration der zurzeit aufkommenden Embedded Devices und mobilen Endger ten in bestehende Infrastrukturen Traditionelle IT Systeme sind zu unflexibel d h bestehende Beziehungen zwischen Unternehmen m ssen m hsam aufgebaut und gepflegt werden so dass zum Beispiel spontane Lieferantenwechsel nicht m glich sind Kontextsensitivit t der Dienste ist nur in den seltensten F llen zu finden Es besteht eine Reihe von Interoperabilit tsproblemen Die bestehenden L sungen sind komplex teuer und propriet r Es existiert eine Reihe von Problemen mit Firewalls 5 Zusammenfassung 193 Web Services l sen diese Probleme durch einen anderen Ansatz Es werden bereits bestehende seit Jahren im Internet erfolgreich eingesetzte Technologien als Basis verwendet und eine zus tzliche Schicht an Funktionalit t aufgesetzt so dass es sich nicht um einen v llig neuen Ansatz sondern nur eine Erweiterung handelt Die Web Service Vision soll hierbei in Phasen verwirklicht werden so dass jeder Baustein genug Zeit hat zu reifen und sich selbst ndig zu entwickeln Zurzeit befinden wir uns in der ersten Phase die vollst ndige Vision soll ca 2005 verwirklicht sein Die Zahl der SOAP Implementierungen nimmt stetig zu so da
165. gsf lle werden als einfache Strings dargestellt Die Verteilung gestaltet sich wie in Abbildung 3 24 Prototyp Realisierte Verteilung dargestellt 174 3 Ein berwachungssystem f r Bankperipherieger te Eine weitere Verfeinerung dieser Architektur resultiert in PackageName herwachungssystem Abbildung 3 22 Prototyp verfeinerte Top Level Architektur 176 3 Ein berwachungssystem f r Bankperipherieger te 3 5 1 Deployment Abbildung 3 23 Prototyp Deployment bei maximaler Verteilung 3 Ein Uberwachungssystem fiir Bankperipheriegerate 177 178 3 Ein Uberwachungssystem fiir Bankperipherieger te Je nach Anzahl der zu Uberwachenden Peripheriegerate kann es sinnvoll sein die Geschaftslogik auf einzelne Netzwerkknoten d h Server zu verteilen welche bei besonders hohen Anforderungen selbst noch skaliert werden k nnen Die Verteilung gestaltet sich in diesem Fall folgenderma en gt berwachungs Client Der berwachungs Client befindet sich au er in der Entwicklungsphase selbstverst ndlich nicht auf dem Bankperipherieger t Es kann sich hierbei um einen beliebigen Client handeln Java C VB usw da dieser sich ber das offen gelegte Web Service Interface verbindet Beim vorliegenden Prototyp sind Clients in Java und C realisiert SOAP Web Services Server Meist ist es sinnvoll den SOAP Web Services Server welcher in den meisten F llen von einem Web Application Server gehostet wird als z
166. gt lt xs schema xmins xs http www w3 org 2001 XMLSchema elementFormDefault qualified attributeFormDefault unqualified gt lt xs element name DeviceStatus gt lt xs annotation gt lt xs documentation gt reflects the device service status at the time the status object was returned lt xs documentation gt lt xs annotation gt lt xs complexType gt lt xs sequence gt lt xs element name busy type xs boolean gt lt xs annotation gt lt xs documentation gt shows if an operation is being executed lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name claimed type xs boolean gt lt xs annotation gt lt xs documentation gt shows if the device has been claimed lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name claimPending type xs boolean gt lt xs annotation gt lt xs documentation gt shows if the device has received a claim request which has not been granted yet lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name hardwareError type xs boolean gt lt xs annotation gt lt xs documentation gt shows if an hardware error has occured that must be fixed by technical support personnel lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name open type xs boolean gt lt xs annotation gt lt xs documentation gt shows if an device has been opened for conversation lt xs docu
167. h also um einen spezialisierten Ger tetreiber Zu jedem Ger tetyp ist in der ausgelieferten J XFS Implementierung ein Device Service Dummy enthalten welcher in eingeschr nktem Ma e f r die Entwicklung benutzt werden kann Weitere wichtige Bestandteile der J XFS Architektur sind der J XFS Logger und das J XFS Repository Der Logger dient dem Schreiben von Log Dateien welche die Kommunikation die durchgef hrten Aufrufe und eventuelle Fehler und Probleme protokollieren Das Repository dient dem statischen und dynamischen Speichern von Konfigurationsdaten der J XFS Umgebung Es handelt sich hierbei zurzeit lediglich um eine strukturierte ASCII Datei die sowohl Administrator als auch Umgebung schreiben und lesen k nnen Durch diese Architektur kann jede Java Applikation transparent mit jeder J XFS Implementierung und jedem J XFS Device Service zusammenarbeiten Dies bedeutet erstens dass jede Java Applikation auf jedes J XFS konforme Ger t zugreifen kann und das Ger t versteht sie Zweitens versteht jeder in Java geschriebene Device Service die an ihn gerichteten API Aufrufe Dies wird in der J XFS Terminologie als compliance bezeichnet wobei der erstere Fall als application compliance und der zweite als device compliance bezeichnet wird 2 Architekturen Technologien und Paradigmen 127 2 3 2 2 Funktionsweise Der Zugriff auf ein Ger t via J XFS soll anhand des folgenden Szenarios verdeutlicht werden JIXFS
168. h von Authentifikations und Autorisierungsinformationen HTTPR Hypertext Transfer Protocol Reliable Zuverlassiger Datentransport Uber HTTP WSFL Web Services Flow Language Workflow auf Web Services Basis Tabelle 2 1 Web Services Standards Wir befinden uns zurzeit in der ersten Phase 2001 dynamic business integration simple transactions Die Basisprotokolle XML SOAP WSDL und UDDI sind standardisiert oder zumindest de facto Standards In dieser Phase sind bereits folgende Szenarien m glich gt Verbesserte Enterprise Application Integration EAI Web Services werden intern zur vereinfachten Anbindung an Legacy Systeme verwendet Business to Business B2B Integration zwischen Partnern Web Services erm glichen Echtzeit Kommunikation zwischen ausgew hlten Organisationen unabh ngig von der f r die Implementierung verwendeten Technologien Erstellung von intelligenten Endpunkten Web Services liefern strukturierte Informationen zur externen Weiterverarbeitung in fremden Applikationen ohne die bisherige Abh ngigkeit von Benutzerinteraktionen Einfache Informationsdienste und Transaktionen sind f r eine weitreichendes Publikum verf gbar Obwohl die Web Service Technologie noch in ihren Kinderschuhen steckt wird sie von allen Seiten akzeptiert und durch eine Vielzahl von Entwicklungsumgebungen Adaptern und Konnektoren unterst tzt It is difficult to find a previous technology that
169. halb eines Unternehmens verwendet werden um interne Gesch ftsfunktionalit ten welche als Web Services offen gelegt sind zu organisieren So k nnen zum Beispiel Programme geschrieben werden die einen Dienst f r eine gegebene Gesch ftsfunktionalit t aufsuchen wodurch gegen ber den bisherigen statischen Workflows eine enorme Flexibilit t insbesondere bei h ufigen Aktualisierungen erreicht wird Programmtechnisch erfolgt der Zugriff auf UDDI Verzeichnisse ber SOAP Nachrichten Die Inquiry API enth lt zu diesem Zweck Methoden um Informationen ber Unternehmen und Web Services abzufragen Auf der anderen Seite erm glicht die Publishers API es entsprechende UDDI Eintr ge abzulegen und zu modifizieren Rein technisch gesehen besteht UDDI aus einer Datenbank der so genannten UDDI Registry Die in dieser Datenbank abgelegten Informationen besitzen eine fest vorgegebene Struktur und jeder Nutzer ist f r seine Daten und deren Aktualit t selbst verantwortlich Die Nutzung dieser Datenbank kann entweder ber spezielle Suchmaschinen erfolgen oder als Web Service in die eigene Anwendung integriert werden Derzeit existieren UDDI Registries auf den Web Seiten von Ariba IBM Microsoft und HP Die zur Bereitstellung der Infrastruktur ben tigten Informationen werden wie in Abbildung 2 24 UDDI Datenstruktur dargestellt in vier Bereiche unterteilt Auf der obersten Ebene Business Entity Ebene werden allgemeine Informationen
170. his client for events from J XFS JMX exception Exception return deregister successfull not successfull public String sendDeregisterForNotificationsRequest throws Exception send rpc Boolean response Boolean this sendRPCAndUnmarshal this soapServerURL this webServicelD deregisterForNotifications false null Boolean class if successfull stop polling thread if response booleanValue active false response for GUI if response booleanValue return Deregistrierung erfolgreich else return Deregistrierung nicht erfolgreich pea send request to webservice to get all undelivered events exception Exception return vector of events Wy public Vector sendEventRequest throws Exception send rpc Vector response Vector this sendRPCAndUnmarshal this soapServerURL this webServicelD getUndeliveredEvents false null Vector class response for GUI return response Ve send request to webservice to check if specified device exists param deviceName name of device in J XFS layer e g CashDispenser localhost exception Exception return true if device exists Wy public boolean isDeviceExisting String deviceName throws Exception send rpc Vector params new Vector params addElement new Parameter deviceName String class deviceName Constants NS_URI_SOAP_ENC Boolean response Boolean this sendRPCAndUnmarshal this soapServe
171. hne ersichtlichen Grund 100 betragt Daraufhin versucht man folgendes gt ffnen des Task Managers um den CPU Verbrauch der Prozesse zu betrachten und gegebenenfalls einen dieser Prozesse zu beenden gt analysieren der Systemeinstellungen gt untersuchen der Festplattenaktivitat und des Paging Verhaltens Nun stelle man sich ein Produktivsystem vor welches auf f nf gekoppelten Servern l uft einen Apache Server f r die Verarbeitung der Frontend Aktivit ten hat einen BEA WebLogic Applikationsserver f r die Gesch ftslogik benutzt seine Daten zentral mit Hilfe des OODBMS ObjectStore speichert auf Legacy Daten ber ein Tuxedo basiertes Gateway zugreift gt gt gt gt gt gt und nat rlich eine 24x7 Verf gbarkeit haben soll In diesem Fall sollte Folgendes gew hrleistet sein gt Der Zustand des Systems sollte von einem zentralen Punkt berwachbar sein gt Das System sollte ber problematische Situationen automatisch informieren gt Die Quelle eines Problems sollte schnell und effizient auffindbar sein gt Es muss m glich sein bestimmte Probleme zu beheben ohne das System herunterfahren zu m ssen Der Zugriff auf Ressourcen sollte geregelt und berwacht ablaufen 1 Der zurzeit am weitesten verbreitete Web Server Weitere Informationen unter http apache org Der derzeitige Marktf hrer unter den Applikationsservern Weitere Informationen unter http www bea com Der
172. htlinien und Prozeduren erarbeitet werden m ssen die einen kosteneffektiven und flexiblen Betrieb des Netzes erm glichen Hierbei sind Werkzeuge und deren technologische Grundlagen lediglich Hilfsmittel zum erfolgreichen Management Man kann Management wie in Abbildung 2 31 Klassifikation des Managements dargestellt nach den zu berwachenden Ressourcen klassifizieren Enterprise Anwendungs Informations System Netzwerk Management Management Management Management Management Abbildung 2 31 Klassifikation des Managements Vgl JAVAW2 Dieses Beispiel zeigt eindrucksvoll die enorme Bedeutung welche insbesondere in der heutigen Zeit einem System zukommt das f r die berwachung bzw das Management von Ressourcen aller Art zust ndig ist Netze Systeme und Anwendungen werden immer komplexer die Anzahl der Benutzer die bei ihrer Arbeit von diesen abh ngig sind nimmt stetig zu Die Einbindung in heterogene Netze wie das Internet sowie die zunehmende Anzahl komplexer verteilter Systeme verst rken diesen Aspekt noch Das sichere Funktionieren und die schnelle Anpassbarkeit an neue Anforderungen bekommen zunehmend unternehmenskritische Bedeutung Weiterhin ist eine manuelle Konfiguration und berwachung angesichts der enormen Komplexit t nicht mehr m glich Es ist daher unabdingbar geeignete Managementsysteme einzusetzen welche Aspekte der Planung berwachung Kontrolle sowie Fehlererkennung bernehmen 72 2 Arch
173. ichen Gesch ftsanwendungen seitenlange Deployment Deskriptoren oder WSDL Dokumente entstehen w re es wirtschaftlich nicht vertretbar diese manuell zu erzeugen Andere Bereiche f r die dieser Fall zutrifft sind die Generierung von Proxies und der gesamte Bereich des Databinding siehe Kapitel 3 4 3 3 Castor 0 9 3 Interoperabilit t Gew nscht sind nicht propriet re Systeme welche m glichst unabh ngig sind 4 Bewertung 189 4 Bewertung um sich neuen Anforderungen effizient anpassen zu k nnen Die Unabh ngigkeit bezieht sich hierbei auf Aspekte der Plattform der Programmiersprache der Anwendung des Transportprotokolls und nat rlich des Herstellers Insbesondere mit der Verbreitung der Web Services Technologie wird die Diskussion um gute oder schlechte Programmiersprachen allm hlich der Vergangenheit angeh ren In Zukunft wird es wichtiger sein seine Schnittstellen sauber und klar zu definieren ber den Reifegrad der vorgestellten neuen Architekturen d h Web Services und JMX l sst sich folgendes sagen Zurzeit halten sich viele konservative Unternehmen mit der Entwicklung und dem Einsatz von Web Service Architekturen noch zur ck Dies hat drei Gr nde Erstens wird auf gut funktionierende und getestete Entwicklungsumgebungen f r Web Services gewartet Zweitens bestehen Bedenken gegen ber dem Einsatz von Technologien deren Fundament sich noch im Entwicklungs und Standardisierungsprozess befindet Das dritt
174. id of webservice e g urn mywebservice param methodName remote method to invoke param xmlResponse specifies if the response is in xml literal style Element xmlResult Element soapResponse response this unmarshalElement xmiResult response Type getName return response response in simple format e g String gt no unmarhalling required else response soapResponse return response fre unmarshalling of given xmlElement to given unmarhalClass TODO usage of java meta modell generalize and outsource to soap helper class param xmlElement xml element to be marshaled param unmarshalClass class to marshal to exception MarshalException exception ValidationException return unmarhaled element 7 private Object unmarshalElement Element xmlElement String unmarshalClass throws ValidationException MarshalException System out printin lt RzProtoOperatorClient2 gt gt unmarshalling lt XML element gt to lt unmarshalClass gt element to string because StringReader is desired DOM2Writer dom2writer new DOM2Writer String xmlDocument dom2writer node ToString xmlElement StringReader reader new StringReader xmIDocument unmarshal to CashUnit if unmarshalClass equals CashUnit unmarshalClass equals com wincornixdorf pce rzdiplomarbeit schemata cashunitschema CashUnit CashUnit cashUnit CashUnit unmarshal reader return cashUnit unmarshal
175. ieden 3 2 5 Werkzeuge 28 zufrieden 28 4 6 10 Werkzeuge 294 neutral 34 11 20 Werkzeuge 19 inmeden HI a 21 35 Werkzeuge 7 sehr uncuifrieden 5 mehr als 35 Werkzeuge Di Bedeutung eines verbesseren Netzwerk o Hauptprobleme Managements hualifiziertes Personal unwichleg 1 Progekie h herer Pronti Fehlende Prozesse Fehlende Werkzeuge Kosten der Werkzeuge Bewillegung der Kosten Fehlende Meriken Personalwechsel Fehlende Deenstvertrige Andere Probleme i gering 3 wichi 1E Sh sehr wichtig 51 u erst wichtig 27 IF IT TTH Abbildung 2 33 INS Umfrage 1999 Quelle SJM01 5 7 1 Die INS International Network Services ist einer der gr ten Netzwerkspezialisten und wurde Ende 1999 von Lucent Technologies aufgekauft 2 2 1 3 Anforderungen an Managementsysteme An Managementsysteme wird eine Reihe von Anforderungen gestellt die gleichzeitig Ziele der aktuellen Entwicklungen in diesem Bereich verk rpern Diese Anforderungen sollen hier kurz dargestellt werden gt Sicherstellung der Funktionsbereitschaft eines Netzes Dies betrifft Punkte wie die Aufrechterhaltung der Serviceleistungen trotz technologischer nderungen und hoher Wachstumsraten die Sicherung der Dienstg te z B Antwortzeiten und vorbeugende Fehler und Engpassbehebung Automatische oder halbautomatische Reaktion auf Betriebsst rungen Im Fehlerfall sollte es m glich sein eine Konfigurations nderung in Echtzeit vorzunehmen und
176. ieger te Klasse Anfragebearbeitung Beschreibung lt lt Controller Klasse gt gt Nimmt Anfragen des UEP an delegiert Anfrage erzeugt Anfrageantwort und sendet diese zur ck an UEP Klasse Ereignisweiterleitung Anfragen vom UEP entgegennehmen Verantwortlichkeit Anfragen an Bankperipherieger t delegieren Antwort vom Bankperipherieger t entgegennehmen Antwort an UEP generieren Antwort an UEP senden Beschreibung lt lt Controller Klasse gt gt Leitet aufgetretene Ereignisse an alle ereignisinteressierten UEP weiter Verantwortlichkeit Entgegennahme der Ereignisse vom Bankperipheriegerat Extrahieren der Ereignisinteressierten aus der Ereignisregistratur Versenden der Ereignisse an alle Ereignisinteressierten Attribute Attribute Ereignisregistrierung Beschreibung lt lt Controller Klasse gt gt Nimmt Ereignisregistraturanfragen vom UEP an und f gt diese der Ereignisregistratur hinzu Verantwortlichkeit e Ereignisregistraturanfragen vom UEP entgegennehmen e UEP in die Ereignisregistratur hinzufugen Attribute 3 Ein Uberwachungssystem fiir Bankperipheriegerate 3 3 2 Dynamik des Systems Die Dynamik des Systems wird in erster Linie mit Hilfe von Sequenzdiagrammen beschrieben Fur jeden der drei Use Cases siehe Abbildung 3 5 Prototyp Use Case Diagramm existiert eine grundlegende Befehlssequenz Diese Befehlssequenz
177. ieren ber eine grafische Benutzeroberfl che mit dem System stellen Anfragen an das System registrieren sich f r Ereignisse und erhalten Ereignisse vom Bankperipherieger t Verantwortlichkeit e Siehe Bankperipheriegerat Attribute e Siehe Bankperipheriegerat Verantwortlichkeit e Interaktion mit dem System e Externer Systembediener Attribute e D Identifikation Klasse Ger tegruppe Beschreibung Abgeleitet von Bankperipherieger t Baugruppe bestehend aus Einzelger ten oder anderen Baugruppen Beispiel Geldkassetteneinheit Geldkassette Klasse Informationsaustausch Beschreibung Informationen welche zwischen UEP und Bankperipheriegerat ausgetauscht werden Verantwortlichkeit e Verwaltung aller zugeh riger Komponenten Verantwortlichkeit Informationstr ger Attribute e Komponenten zugeh rige Komponenten Attribute Absender ID des UEP oder des Bankperipherieger tes Empf nger ID des UEP oder des Bankperipherieger tes Art Art des Informationsaustausches Inhalt Informationsinhalt 3 Ein berwachungssystem f r Bankperipherieger te 3 Ein berwachungssystem f r Bankperipherieger te Klasse Anfrage Klasse Ereignis Beschreibung Abgeleitet von Informationsaustausch Stellt eine Anfrage des UEP an das Bankperipherieger t dar Beispiel Liefere de
178. ieren welche von allen Anwendungsdiensten und Programmierschnittstellen beinhaltet Mit diesem Ansatz wird die Anwendungsentwicklung durch Definition einheitlicher herstellerneutraler Anwendungsschnittstellen APIs von anbieter oder produktspezifischen Implementierungen entkoppelt Andererseits werden den Herstellern klar definierte Service Provider Interfaces SPI angeboten an die sie ihre spezifischen Produkte und Dienste entsprechend adaptieren k nnen Die im Rahmen von WOSA definierten Dienste betreffen heute vorrangig die Basisdienste f r Datenhaltung zugriff und integration WOSA ODBC Messaging WOSA MAPI sowie den Kommunikationsbereich WOSA SNA Dar ber hinaus werden in spezialisierten Gremien WOSA Extensions f r vertikale M rkte definiert Dies sind u a die Extensions for Real Time Market Data WOSA XRT und eben WOSA XFS Die folgende Abbildung verdeutlicht diese Architektur Windows Open Services Architecture Application Programming Interface API Service Provider interlace oe WOSASHA WOSAMai WORANFS Dienst Dienste Dense Dienste j Dienste ae l anbleter m m Dienstklassen Abbildung 2 56 Windows Open Services Architecture Quelle SNIWOSA Mit WOSA XFS wurde ein Architekturrahmen geschaffen der speziell auf die Belange der Finanzdienstleister ausgerichtet ist Diese ber den Ger tetreibern angeordnete Schicht ist speziell f r den Zugriff auf Selbstbedienungsger te
179. iese Architekturen heute in der IT verwendet werden Aufgrund der Komplexit t jeder dieser drei Bereiche soll jeweils nur auf die wichtigsten bergreifenden Punkte und die f r den Prototyp notwendigen Details eingegangen werden F r denjenigen Leser welcher tiefer in die jeweilige Thematik einsteigen m chte bietet das Literaturverzeichnis eine Reihe weiterf hrender Literatur 16 2 Architekturen Technologien und Paradigmen Microsoft Bereich nicht f r das Internet da sie verbindungsorientiert sind und stabile Verbindungen erfordern die das Internet nicht bieten kann Au erdem sind diese Protokolle f r Aufrufe ber das Internet ungeeignet da sie aufgrund variabler Portzuordnungen und hnlichem Probleme mit dem Verbindungsaufbau durch Firewalls haben Diese tightly coupled systems werden durch message oriented middleware MOM erg nzt welche die zeitliche Entkoppelung von Systemen durch asynchrone Nachrichtenverarbeitung erm glicht aber im Internet hnliche Probleme wie die oben genannten besitzt Das grunds tzliche Problem besteht darin dass Middleware Technologien und das Internet zwei v llig getrennte Welten darstellen Die Idee besteht nun darin diese beiden Welten zusammenzubringen und das Internet zu einer Art Middleware zu erweitern Man setzt f r die Kommunikation das bliche Web Protokoll HTTP ein und benutzt f r den Datentransport XML welches selbstbeschreibend und interoperabel ist Als Messaging Protok
180. im Bankenbereich konzipiert und unterst tzt u a Ger te wie Drucker Kartenleseger te und Geldausgabeautomaten Ein hnlicher Standard existiert mit JavaPOS Java Point of Sales f r den Retail Bereich also zum Beispiel den Zugriff auf Kassensysteme 120 2 Architekturen Technologien und Paradigmen teilnehmenden Unternehmen akzeptiert wird Man entschied sich bei der Umsetzung schon zu Beginn aus folgenden Gr nden f r die Java Plattform gt wirkliche Plattformunabhangigkeit gt allgemeine Vorteile der Sprache Java wie Objektorientierung Einfachheit Robustheit typsichere Referenzen automatische Speicherbereinigung usw gt sichere und stabile Applikationen gt dynamisch erweiterbare Applikationen Applet Technologie gt niedrige Softwareentwicklungskosten Insbesondere durch die Applet Technologie war es nun m glich Anwendungen oder Anwendungsteile dynamisch ber das Netzwerk zu laden wodurch zum Beispiel eine transparente Softwareverteilung und update m glich wurde software on demand Weiterhin kommt es zu enormen Kosteneinsparungen dadurch dass insbesondere die Softwareadministration und die Installation der Software nicht mehr direkt vor Ort sondern zentral auf dem Server erledigt werden kann Die berechneten Einsparungen beim Einsatz von Thin Client Architekturen gegen ber Client Server Architekturen liegen bei 25 Diese Einsparungen kommen sowohl durch verminderte Administrations und Verteilungskosten
181. in lt RzProtoCommandForwarder gt gt Getting request for lt isDeviceExisting gt get J XFS info System out printin lt RzProtoCommandForwarder gt gt Sending request to lt RzProtoJxfsStatusReader gt System out printin lt RzProtoCommandForwarder gt gt Receiving result from lt RzProtoJxfsStatusReader gt boolean exists statusReader isDeviceExisting deviceName System out printin lt RzProtoCommandForwarder gt gt Sending result to lt JMX MBean Server return new Boolean exists public void resetRequestNumber this requestNumber 0 VA return an already mapped CashUnit object received from J XFS layer lt br gt use the RzProtoCassetteCountersReader to get this information param deviceName name of device return already mapped CashUnit object Y public CashUnit getCashUnitObject String deviceName this requestNumber System out printIn lt RzProtoCommandForwarder gt gt Getting request for lt CashUnit gt get J XFS info System out printIn lt RzProtoCommandForwarder gt gt Sending request to lt RzProtoCassetteCountersReader gt cassCountReader startup System out printin lt RzProtoCommandForwarder gt gt Receiving result from lt RzProtoCassetteCountersReader gt CashUnit cu cassCountReader getCassettes deviceName cassCountReader shutdown System out printin lt RzProtoCommandForwarder gt gt Sending result
182. inition einer SNMP Variable 2 Architekturen Technologien und Paradigmen 99 2 Architekturen Technologien und Paradigmen joint iso ccitt 2 Abbildung 2 49 Registrierung der definierten SNMP Variable 2 2 4 3 Kommunikationsmodell Managementinformationen werden beim Internet Management ber das Simple Network Management Protocol SNMP ausgetauscht Es ist Teil der TCP IP Protokollklasse und setzt im Allgemeinen auf dem User Datagram Protocol UDP auf Da UDP ein verbindungsloser Dienst ist ist die Verbindung zwischen Manager und Agent ebenfalls verbindungslos wodurch jeder einzelne Nachrichtenaustausch eine eigene Transaktion darstellt Die folgende Abbildung verdeutlicht die typische Protokollkonfiguration Manager Proze Agent Proze SNMP X 25 FDDI Abbildung 2 50 Einordnung SNMP in das TCP IP Modell 100 2 Architekturen Technologien und Paradigmen SNMP definiert nur f nf Typen von Meldungen welche zwischen Manager und Agenten ausgetauscht werden k nnen gt GET REQUEST Die Get Operation dient zum Lesen von einer oder mehreren MIB Instanzen d h ein oder mehrere Variablenwerte werden abgerufen GET NEXT REQUEST Die Get Next Operation erlaubt das Lesen des Wertes der n chsten MIB Instanz gem der lexikographischen Ordnung Mit Hilfe aufeinander folgender Get Next Operationen ist es m glich eine komplette MIB ohne Kenntnis der Struktur zu durchlaufen SET REQUEST Die atomare Set Operation
183. inition von Assoziationen auf MBean Basis sind uneingeschr nkt m glich MBeans sind auch hier Repr sentanten einer zu berwachenden Ressource welche eine Anwendung ein Dienst ein Ger t usw sein kann Die Definition der MBeans erfolgt aber nicht 108 2 Architekturen Technologien und Paradigmen Standard MBeans aufgrund ihrer statischen Management Schnittstelle nicht geeignet Dynamic MBeans offenbaren ihre Management Schnittstelle zur Laufzeit indem diese dann durch fest definierte Zugriffsfunktionen bekannt gegeben wird Open MBean Open MBeans sind Dynamic MBeans mit einem beschr nktem fest definiertem Satz an Datentypen und detaillierten Meta Informationen Das Ziel hierbei ist sich selbst beschreibende MBeans zu erhalten die sehr einfach benutzt werden k nnen Dieser MBean Typ ist in der JMX 1 0 Spezifikation noch nicht vollst ndig spezifiziert Model MBean Diese MBean Art welche auch vom Dynamic MBean abgeleitet ist stellt ein generisches und konfigurierbares Management Template f r Managementobjekte dar um den Implementierungsaufwand zu reduzieren Zum Zeitpunkt der Erzeugung k nnen die Signaturen durch XML OMG IDL oder Java beschrieben werden Weiterhin bietet das Model MBean die M glichkeit der persistenten Speicherung 1 Diese Metasprache wird ausf hrlich in Kapitel 2 1 2 XML Extensible Markup Language vorgestellt Die Interface Definition Language IDL ist eine Schnittstellenbeschreibu
184. ion e System out printin lt RzProtoOperatorWebService gt gt Marshalling failed e printStackTrace getting element out of string DocumentBuilderFactory factory DocumentBuilderFactory newlnstance ByteArrayInputStream is new ByteArrayInputStream xmIDocument getBytes Element root null Document doc null try DocumentBuilder builder factory newDocumentBuilder doc builder parse is root Element doc getDocumentElement catch Exception e System out printin lt RzProtoOperatorWebService gt gt Marshalling failed e printStackTrace System out printin lt RzProtoOperatorWebService gt gt Result n xmIDocument return root try Socket socket serverSocket accept this service Client socket catch Exception e e printStackTrace N start the listening thread 7 public void startup System out printin lt RzProtoEventListener gt gt start listening for events this thisOne start Vise shutdown the event listener by stopping the listening thread 7 public void shutdown System out printin lt RzProtoEventListener gt gt stop listening for events this active false Vit handle incoming event and notify observer webservice U private void serviceClient Socket clientConn System out printin lt RzProtoEventListener gt gt Incoming event String event null ObjectinputS
185. ion und Interaktion von Web Services d h an dieser Stelle wird der Workflow realisiert Smart Management Hier wird die Verwaltung und Uberwachung der Web Services sowie der Plattform vorgenommen wobei Privacy Sicherheit und Rechtevergabe auf einer spezifischen durch den Kontext definierten Situation basieren Sun ONE empfiehlt hier die Java Management Extensions siehe Kapitel 2 2 6 JMX Die Management Architektur von Morgen Service Creata amp Assembly Web Serwicen E a Be hdd FT pus soe Abbildung 2 26 Sun ONE Basisarchitektur Quelle JM9 01a diensten Messaging Services usw Sie basiert auf einem Betriebssystem oder einer virtuellen Maschine und hat Zugriff auf Hardware und Netzwerk Service Container Sowohl Micro Services als auch Macro Services werden innerhalb eines Service Containers ausgefuhrt Dieser Service Container welcher zum Beispiel ein Applikationsserver sein kann der auf einer Service Platform lauft stellt eine Laufzeitumgebung zur Verf gung verwaltet Persistenz Transaktion und Status Sun ONE empfiehlt auf Serverseite einen J2EE Applikationsserver und auf der Konsumentenseite die J2SE bzw J2ME Technologie Service Integration Diese Schicht erm glicht die Anbindung an Backend Systeme wie Mainframes ERP Systeme usw Service Creation amp Assembly Dieser Bestandteil reprasentiert die Werkzeuge die benutzt werden um Systeme die auf dem Web Services Modell basieren zu e
186. ionale Anforderungen Folgende nichtfunktionale Anforderungen bestehen an den Prototypen gt Entwurfseinschr nkungen Vor Projektbeginn wurden dem Autor aus verschiedenen Gr nden folgende Entwurfsbeschr nkungen vorgegeben o As Web Application Server soll ein Servlet JSP konformer Applikationsserver verwendet werden o Die zu verwendende Managementarchitektur soll auf dem Java Management Extensions JMX Standard basieren Hardware An die Hardware der Systembestandteile werden keine erh hten Anforderungen gestellt Bedingung ist hier aber jeweils die Unterst tzung der Internet Infrastruktur Software Auch an die Software werden keine erh hten Anforderungen gestellt Sie soll einem prototypischen Entwurf angemessen sein Portabilit t Alle Systembestandteile GUI Geschaftslogik und Agentenlogik sollen portabel 140 3 Ein berwachungssystem f r Bankperipherieger te 3 2 4 Akteure und Anwendungsf lle Die folgenden Abbildungen und Tabellen stellen in systematischer Art und Weise die vom System zu erbringenden Anwendungsf lle dar Abbildung 3 5 Prototyp Use Case Diagramm stellt zun chst das das gesamte System umfassende Use Case Diagramm dar Darauf folgen die Use Case Spezifikationen der einzelnen Use Cases und zur Verdeutlichung des Ablaufs jeweils ein zugeordnetes Aktivit tsdiagramm PackageName berwachungssystem bearbeiten H berwachungspersonal berwachungspersonal UEP fuer Ereig
187. itekturen Technologien und Paradigmen gt Enterprise Management Das Enterprise Management hat zur Aufgabe die Teilbereiche des Managements im Kontext eines Unternehmens zu sehen Dies bedeutet im Enterprise Management werden die Aufgaben der einzelnen Unternehmensbereiche zusammengefasst und daraus Zielvorgaben f r die IT Infrastruktur abgeleitet Anwendungsmanagement Es wurde deutlich dass auch verteilte Anwendungen und Dienste Managementaufgaben beinhalten die von einem Managementsystem gel st werden m ssen Beispiele hierf r sind Steuerungssysteme zur automatischen Fertigung verteilt realisierte Informations und Auskunftssysteme E Commerce Systeme und die immer mehr an Bedeutung gewinnenden Systeme zur Unterst tzung von Gruppenarbeit Zu dieser Form des Managements z hlen auch Installation und Deinstallation von Anwendungen sowie globale und benutzerspezifische Einstellungen auf Anwendungsebene Informationsmanagement Diese Form des Managements umfasst alle Managementt tigkeiten in Bezug auf unternehmensweite Datenbest nde deren Entwurf und Pflege sowie konsistente Haltung Das hei t hier findet eine berwachung der Datenbanken Repositories Backup Systeme usw statt Systemmanagement Im Systemmanagement werden nicht wie im Bereich des Netzwerkmanagements Netzkomponenten sondern die Endsysteme der Rechnernetze verwaltet Die Aufgabe des Systemmanagements besteht also darin die verteilt erbrachten Systemfun
188. jPanel1 add jLabel3 null jPanel1 add jLabel4 null jPanel1 add jLabel5 null contentPane add cassetteField1 new XYConstraints 5 49 390 1 contentPane add cassetteField2 new XYConstraints 5 75 390 1 contentPane add cassetteField3 new XYConstraints 5 101 390 1 contentPane add cassetteField4 new XYConstraints 5 127 390 1 contentPane add jLabel6 new XYConstraints 5 175 390 1 contentPane add jPanel2 new XYConstraints 5 197 390 1 jPanel2 add jLabel7 null jPanel2 add amountField null jPanel2 add jButton1 null contentPane add jLabel1 new XYConstraints 5 5 390 1 contentPane add statusBar new XYConstraints 4 249 390 1 JE overridden so we can exit when window is closed pi protected void processWindowEvent WindowEvent e super processWindowEvent e if e getID WindowEvent WINDOW_CLOSING System exit 0 System out printIn lt RzProtoOperatorClient gt gt initializing this thisOne new Thread this this active true this polllntervall 10 this soapServerURL http localhost 8080 soap servlet rpcrouter this webServicelD urn rzprotooperatorwebservice SA thread starter method periodically check for events by polling the webservice lt br gt if there are new events inform observer e g GUI U public void run while active check if there are new events if neccessary inform listener e g operator
189. ke Diese Maske erlaubt dem Benutzer das Gerat auszuwahlen an welches Anfragen gesendet und von welchen Ereignissen empfangen werden sollen Hierzu muss der eindeutige Geratename und der Hostname des Gerates eingegeben werden Nach Best tigung der Auswahl wird eine berpr fung vorgenommen ob das gew hlte Ger t existiert bzw erreichbar ist Ist dies nicht der Fall wird eine entsprechende Fehlermeldung ausgegeben Kommando Maske Die Kommando Maske erf llt zwei Aufgaben Zum einen ist es dem Benutzer an dieser Stelle m glich Anfragen an das Ger t zu senden und zum anderen werden die Antworten auf diese Anfragen auf der gleichen Maske dargestellt Der Prototyp enth lt nur zwei m gliche Kommandos Ereignis Maske Auch diese Maske erf llt zwei Aufgaben Zum einen kann man sich an dieser Stelle f r Ereignismeldungen vom Ger t registrieren und zum anderen werden auf dieser Maske die einkommenden Ereignisse dargestellt sofern man sich vorher registriert hat 3 Ein berwachungssystem f r Bankperipherieger te 3 Ein berwachungssystem f r Bankperipherieger te E berwachungssystem Datei Hilfe Ger t Ereignisregistrierung Kommandos Ereignisse Eingetroffene Ereignisse Hier stehen die vom Ger t eingetroffenen Ereignisse Registriere diesen Client f r Ereignisse von Ger t lt CashDispenser localhost Abbildung 3 15 Prototyp Ereignis Maske RE Datei Hilfe Ger t Ger teauswahl Kommandos Geraten
190. keit des Ansatzes ber s mtliche anderen Anforderungen gestellt wodurch die heute bekannten L cken und konzeptionellen Schw chen des SNMP bedingt sind Andererseits trugen der Einsatz und die daraus resultierenden praktischen Erfahrungen von SNMP basierten Werkzeugen dazu bei dass heute an dieser Stelle Konzepte des OSI Managements als angemessen erachtet und umgesetzt werden Die folgende Tabelle soll die wichtigsten Unterschiede zwischen beiden Ans tzen zusammenfassend darstellen 2 Architekturen Technologien und Paradigmen 2 2 6 JMX Die Management Architektur von Morgen Einer der am schnellsten wachsenden Bereiche innerhalb des IT Betriebs ist das Management verteilter IT Infrastrukturen Die Gr nde hierf r liegen insbesondere in der manuell kaum mehr beherrschbaren Komplexit t der Netze Systeme und Anwendungen Als Beispiel sei hier die Konfiguration und Administration von Customer Relationship Systemen CRMS oder Supply Chain Management Systemen SCMS genannt Solche schlecht beherrschbaren Systeme die zu kritischen Elementen in der Wertsch pfungskette eines Unternehmens oder gar in der mehrerer Unternehmen gemeinsam geworden sind verursachen im Fehlerfall hohe Kosten und enormen Aufwand Es ist daher heute wichtiger denn je durch geeignete Management Systeme die berwachung und Steuerung der gesamten IT Infrastruktur auf allen Ebenen zu gew hrleisten siehe Kapitel 2 2 1 1 Der Begriff Management
191. ktionen so zu organisieren dass vernetzte Einzelsysteme nach au en hin wie ein virtuelles Gesamtsystem erscheinen Netzwerkmanagement Diese Form des Managements befasst sich mit der Verwaltung von Netzdiensten und Netzkomponenten d h der untersten Ebene eines Netzwerkes Dazu geh ren Komponenten wie Router Switches Hubs Bridges Repeater aber auch die Leitungen ber die die Kommunikation stattfindet Es wird daher manchmal auch als Komponenten Management bezeichnet 2 Architekturen Technologien und Paradigmen 2 2 1 2 Dimensionen des Managements Funktionale Dimension Sicherhen Leistungsabrechnung Leistungsbewertung l rungsbehanddlung Konfigurationsbehandlung Zeitliche Dimension Planung Installation Betrieb Migration Komponenten Svsieme Anwendungen Enierprise Dimension des Gegenstands Abbildung 2 32 Dimensionen des Managements Quelle SJM01 S 8 Abbildung 2 23 Dimensionen des Managements zeigt die Dimensionen und die damit verbundene Komplexit t des Managements auf Die funktionale Dimension fasst anfallende Aufgaben beim Betrieb eines Netzes und seiner Ressourcen zu Aufgaben zusammen Man spricht hier auch von so genannten Funktionsbereichen Die zeitliche Dimension liefert eine Einordnung in den Lebenszyklus eines Netzwerkes also von der Planung ber die Installation bis hin zum Produktivbetrieb Unter Migration versteht man in diesem Zusammenhang den Umstieg von einer Netzwerktechnologie auf
192. label4 Text Ger t lt device gt existiert nicht this label1 Click new System EventHandler this label1_Click NW label2 N this label2 Location new System Drawing Point 8 56 this label2 Name label2 this label2 Size new System Drawing Size 80 23 this label2 TabIndex 1 this label2 Text Ger tename this label2 Click new System EventHandler this label2_ Click label3 4 this label3 Location new System Drawing Point 8 80 this label3 Name label3 this label3 Size new System Drawing Size 80 23 this label3 TabIndex 1 this label3 Text Hostname this label3 Click new System EventHandler this label3_ Click 4 textBox2 NW this textBox2 Location new System Drawing Point 112 80 this textBox2 Name textBox2 this textBox2 Size new System Drawing Size 176 20 this textBox2 TabIndex 3 this textBox2 Text localhost this textBox2 TextChanged new System EventHandler this textBox2_TextChanged 4 textBox1 N this textBox1 Location new System Drawing Point 112 56 this textBox1 Name textBox1 this textBox1 Size new System Drawing Size 176 20 this textBox1 TabIndex 2 this textBox1 Text CashDispenser this textBox1 TextChanged new System EventHandler this textBox1_TextChanged N button1 4 this button1 Location new System Drawing Point 184 112 this button1 Name button1 this but
193. laimPending deviceStatus getClaimPending n is hardware error deviceStatus getHardwareError n is open deviceStatus getOpen n is power save deviceStatus getPowerSave n is user action error deviceStatus getUserActionError n is working deviceStatus getWorking n n return res Er send request for cassette counters of the given device to webservice exception Exception param deviceName name of device in J XFS layer e g CashDispenser localhost return cassette counter CashUnit as String for GUI 7 public String sendCassetteCountersRequest String deviceName throws Exception send rpc Vector params new Vector params addElement new Parameter deviceName String class deviceName Constants NS_URI_SOAP_ENC CashUnit cashUnit CashUnit this sendRPCAndUnmarshal this soapServerURL this webServicelD getCassCount true params CashUnit class build response for GUI StringBuffer resBuf new StringBuffer resBuf append Cash Unit n for int i 0 i lt cashUnit getLogicalCashUnitCount i LogicalCashUnit Icu cashUnit getLogicalCashUnit i resBuf append Logical Cash Unit lt Icu getld gt resBuf append Icu getValue 100 Icu getCurrencyCode n resBuf append initial count Icu getinitialCount n resBuf append count Icu getCount n resBuf append type Ic
194. le L sungen auf einer grundlegenden Architektur Diese gemeinsame Architektur definiert vier wesentliche Komponenten eines Managementsystems Management Anwendung Manager Agent und Managed Object Management Anwendung Operationen und Nachrichten Agent Operationen Nachrichten Managed Ressource Object Abbildung 2 36 Management Architektur Die verwalteten logischen und physikalischen Ressourcen werden durch so genannte Managed Objects repr sentiert welche eine Abstraktion auf die f r das Management relevanten Aspekte der Komponente darstellen Die Grenze boundary eines Managed Objects bestimmt welche Details der Ressource einem Management System zug nglich sind 84 2 Architekturen Technologien und Paradigmen gt Verhalten mit dem das Managed Object auf die auszuf hrenden Operationen reagiert Es bestimmt die Semantik sowie die Interaktion mit dem realen Pendant und wird in der Regel verbal definiert Beim Verhalten wird zwischen internen und externen Stimuli unterschieden Hinter dem Begriff Interne Stimuli verbergen sich Vorg nge die direkt zwischen der Ressource und dem MO ablaufen So kann zum Beispiel ein abgelaufener Z hler eine interne Stimulation ausl sen Externe Stimuli treten auf wenn Managementoperationen von anderen Stationen auf das MO wirken und dieses dann durch definierte Verhaltensweisen reagiert Nachrichten mit denen ein Managed Object ber den Eintritt eines Ereigniss
195. le als Web Service dargestellt 3 Ein berwachungssystem f r Bankperipherieger te Abbildung 3 1 Offenlegung einer Managementschnittstelle als Web Service Managing System Management Service Service Console Reauestor Registry Manager Service ea Provider Operationen Managed System Managed Managed Object Object i Abbildung 3 2 berwachung durch Web Services Managing System Management Console Operationen Event Reports Managed System Managed Managed Object Object i Web Web Service Service Abbildung 3 3 berwachung von Web Services 3 Ein Uberwachungssystem fiir Bankperipheriegerate 3 2 Anforderungsanalyse Durch die Anforderungsanalyse sollen Funktionen und Eigenschaften des Produktes in diesem Fall des Prototypen soweit analysiert werden dass eine Basis fur die Realisierung des Produktes gefunden wird Hierzu werden zun chst die nichtfunktionalen und funktionalen Anforderungen bestimmt Der zweite Schritt f hrt zu einer Spezifikation des Systems aus fachlicher Sicht inklusive eines Dictionaries in welchem die Begriffe des Anwendungsgebietes erl utert werden Der letzte und wichtigste Schritt der Anforderungsanalyse ist die Darstellung der ben tigten Anwendungsfalle und der daran beteiligten Akteure Die in Kapitel 2 Architekturen Technologien und Paradigmen beschriebenen Architekturen und die in Kapitel 3 1 Fachlicher Hintergrund beschriebene Kombination dieser legt den
196. ler else if cuType lJxfsCDRConst JXFS_C_CDR_LCU_COIN_CYLINDER amp amp cuKind lJxfsCDRConst JXFS_C_CDR_LCU_RECYCLE res Cassette TypeCoinInOut else res Unknown return res Ti ie returns a DeviceStatus object out of given JxfsCashUnit build state out of the given parameters yf param jxfsCassettelnfo a JxfsCashUnit private static String getState int status boolean appLock boolean devLock return the mapped CashUnit schema class boolean isEmpty boolean isFull 7 boolean isHigh boolean isLow public static Device Status getDeviceStatus JxfsStatus jxfsStatus String res null System out printin lt RzProtoJxfs ToSchemaMapper gt gt Mapping lt JxfsDeviceStatus gt to lt DeviceStatus gt DeviceStatus status new DeviceStatus status setBusy jxfsStatus isBusy status setClaimed jxfsStatus isClaimed status setClaimPending jxfsStatus isClaimPending status setHardwareError jxfsStatus isHardwareError status setOpen jxfsStatus isOpen status setPowerSave jxfsStatus isPowerSave status setUserActionError jxfsStatus isUserActionError status setWorking jxfsStatus isWorking System out printin lt RzProtoJxfs ToSchemaMapper gt gt Mapping successfull return status if status IJxfsCDRConst JXFS_C_CDR_LCU_OK res ok else if status lJxfsCDRConst JXFS_C_CDR_LCU_MISSING res missing else if devLock
197. lient2 gt gt soap call successfull return rpcResult JE send rpc and unmarhal to given type TODO generalize and outsource to soap helper class param soapServerUrl url of soap server e g http localhost 8080 soap servlet rpcrouter param webServicelD id of webservice e g urn mywebservice param methodName remote method to invoke param xmlResponse specifies if the response is in xml literal style param params vector of params for target method param responseType class to marshal to exception MarshalException exception SOAPException exception ValidationException exception MalformedURLException return unmarhaled response object from soap server es private Object sendRPCAndUnmarshal String soapServerUrl String webServicelD String methodName boolean xmlResponse String param String paramValue Class responseType throws MalformedURLException ValidationException MarshalException JAXRPCException RemoteException Object response null send rpc Object soapResponse this sendRPC soapServerUrl webServicelD methodName xmlResponse param paramValue response in xml format if x mlResponse Web Service package com wincornixdorf pce rzdiplomarbeit soap operatorwebservice castor framework classes for unmarshalling marshalling from to xml import com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema import com wincornixdorf pce rzdiplomarbeit schemata cash
198. logien Produkte und APIs allgemein anerkannten Standards entsprechen m glichst einfach zu verwenden und zu implementieren sind und im Idealfall Referenzimplementierungen darstellen An dieser Stelle sollen daher keine Vergleiche bez glich Wirtschaftlichkeit Performance usw zwischen einzelnen Produkten oder APIs durchgef hrt werden Wie bereits in Kapitel 3 2 2 Nichtfunktionale Anforderungen angesprochen sind folgende Rahmenbedingungen bereits vorgegeben gt Der verwendete Middleware Server soll ein Servlet JSP konformer Web Application Server sein gt Die zu verwendende Managementarchitektur soll auf dem Java Management Extensions JMX Standard basieren Im Folgenden werden die Technologien Produkte und APIs vorgestellt auf welche die Entscheidung gefallen ist gt J2SE 1 4 0 beta 2 Als Plattform sowohl f r die Entwicklung als auch als Laufzeitumgebung f r die einzelnen Komponenten wurde die aktuelle Java 2 Standard Edition J2SE gew hlt Weitere Informationen finden sich unter http java sun com j2se Apache Tomcat 4 01 Hierbei handelt es sich um einen HTTP Server und JSP Servlet Container welcher die offizielle Referenzimplementierung der aktuellen Java Servlet 2 3 Technologie und der JavaServer Pages 1 2 Technologie darstellt Weitere Informationen finden sich unter http jakarta apache org tomcat Apache SOAP 2 2 Dieses Open Source Produkt der Apache Group ist die zurzeit im Java Bereich am weitesten verb
199. lten ist Auf die Databinding Technik und das Castor Framework wird weiter unten innerhalb des Kapitels 3 4 3 4 Castor 0 9 3 n her eingegangen Weitere Informationen finden sich unter http castor exolab org Microsoft NET Framework Das NET Framework dient in erster Linie der Entwicklung von und als Laufzeitumgebung fur Web Services Dieses neue Microsoft Framework wird in Kapitel 2 1 6 3 Microsoft NET detailliert erlautert Weitere Informationen unter http www microsoft com net 3 Ein berwachungssystem f r Bankperipherieger te innerhalb des Kapitels 3 4 3 1 Apache SOAP 2 2 n her eingegangen Weitere Informationen finden sich unter http xml apache org soap Apache Axis 1 0 alpha 2 Nightly Build Hierbei handelt es sich um den Nachfolger des Apache SOAP 2 2 Projektes d h Apache Axis ist eigentlich Apache SOAP 3 0 Auch dieses Produkt stellt eine Implementierung der SOAP v1 1 und der SOAP Messages with Attachments Spezifikationen dar zeichnet sich jedoch durch eine h here Performance verbesserte Flexibilit t und Modularit t und insbesondere durch bessere Zusammenarbeit mit anderen SOAP Implementierungen z B Microsoft SOAP aus Auf Apache Axis wird weiter unten innerhalb des Kapitels 3 4 3 2 Apache Axis 1 0 alpha 2 Nightly Build n her eingegangen Weitere Informationen finden sich unter http xml apache org axis JMX 1 0 Spezifikation Hierbei handelt es sich um ein von Sun Microsystems und Partner
200. m UEP zugestellt ae EN a Zustandigkeit ee l er R ung ltig System meldet Ung ltigkeit Neueingabe durch UEP Anfrage nicht ausf hrbar System meldet Nichtausf hrbarkeit Neuauswahl durch UEP Fehler bei der Bearbeitung generierte Antwort enth lt Beschreibung des Bearbeitungsfehlers Tabelle 3 2 Prototyp Use Case Nr 1 Ablaufbeschreibung 144 3 Ein berwachungssystem f r Bankperipherieger te 3 2 4 2 Use Case berwachungspersonal f r Ereignisse registrieren Use Case Spezifikation UEP f r Ereignisse registrieren ec Use Case Nr 2 Ziel Das System kann jedes registrierte UEP ber auftretende Ereignisse informieren siehe Use Case Nr 3 Ereignis weiterleiten Nachbedingung Erfolg Das UEP erh lt eine Best tigung f r die Registrierung Nachbedingung Fehlschlag Das UEP erh lt eine Fehlermeldung mit der Fehlerursache Ausl sendes Ereignis UEP initiiert Vorgang durch Anfrage an das System Beschreibung Standardfall Die vom berwachungspersonal abgesetzte Registrierungs Anfrage wird vom System entgegengenommen und beantwortet Ergebnis oder Fehlermeldung Erweiterungen keine Erweiterungen des Standardfalls Alternativen keine Alternativen zum Standardfall Ablaufbeschreibung siehe Tabelle und Aktivit tsdiagramm Tabelle 3 3 Prototyp Use Case Nr 2 Spezifikation 3 Ein Uberwachungssystem fiir Bankperipherieger te 3 Ein Uberwachungssystem fiir Bankperipheriegerate Use Ca
201. m Windows Forms TextBox this textBox1 new System Windows Forms TextBox this button1 new System Windows Forms Button this button2 new System Windows Forms Button this button3 new System Windows Forms Button this SuspendLayout NW richTextBox1 NW this richTextBox1 Location new System Drawing Point 8 184 this richTextBox1 Name richTextBox1 this richTextBox1 Size new System Drawing Size 352 136 this richTextBox1 TabIndex 8 this richTextBox1 Text NW label4 NW this label4 Location new System Drawing Point 0 360 this label4 Name label4 this label4 Size new System Drawing Size 368 23 this label4 TabIndex 5 this label4 Click new System EventHandler this label4_ Click NW label5 NW this label5 Font new System Drawing Font Microsoft Sans Serif 9 75F System Drawing FontStyle Bold System Drawing GraphicsUnit Point System Byte 0 this label5 Location new System Drawing Point 8 160 this label5 Name label5 this label5 Size new System Drawing Size 136 23 this label5 TabIndex 6 this label5 Text Kommandoauswahl this label5 Click new System EventHandler this label5_ Click NW label1 NW this label1 Font new System Drawing Font Microsoft Sans Serif 9 75F System Drawing FontStyle Bold System Drawing GraphicsUnit Point System Byte 0 this label1 Location new System Drawing Point
202. mentation gt lt xs annotation gt lt xs element gt lt xs element name powerSave type xs boolean gt lt xs annotation gt lt xs documentation gt shows if the device is in power safe mode lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name userActionError type xs boolean gt lt xs annotation gt lt xs documentation gt shows if an error has occured which can be resolved by user action e g supplying more paper for a printer device lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name working type xs boolean gt lt xs annotation gt lt xs element gt lt xs element name rejectCount type xs int gt lt xs annotation gt lt xs documentation gt counter for reject actions in the device lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name count type xs int gt lt xs annotation gt lt xs documentation gt the actual count of coins or bills lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name currencyCode type xs string gt lt xs annotation gt lt xs documentation gt the currency code for this type of cash e g USD DEM EUR lt xs documentation gt lt xs annotation gt lt xs element gt lt xs element name type type xs string gt lt xs annotation gt lt xs documentation gt the type and kind of this cash unit lt xs documentation gt lt xs annotatio
203. merzielle Produkte angepasst sind just in time integration und hot plug and play partnerships Ein Wunsch der durch das Web Service Paradigma erf llt werden k nnte ist die unkomplizierte Integration der Geschaftsprozesse verschiedener Unternehmen in ein Prozessnetzwerk Diese neue Form des Unternehmens wird als virtuelles Unternehmen bezeichnet welches sehr schnell und dynamisch auf Anderungen reagieren kann um seine Effizienz zu erh hen Hierzu geh rt zum Beispiel die dynamische Integration neuer Partner zu jedem beliebigen Zeitpunkt d h das dynamische Hinzuf gen Austauschen und Entfernen von Diensten und Partnern High Level Programmierung Der Anwendungsentwickler wird durch Infrastrukturdienste zur Verf gung stellende Container durch transparente und austauschbare Kommunikations infrastrukturen usw immer mehr von der Low Level Programmierung entlastet und kann sich auf seine eigentliche Aufgabe die Entwicklung der Gesch ftslogik konzentrieren Das Berufsfeld des Anwendungsentwicklers wird sich daher dahingehend ndern dass in den meisten Bereichen immer mehr das betriebswirtschaftliche Wissen von Interesse ist und sich die Besch ftigung mit komplexen Algorithmen und Datenstrukturen auf den Security Bereich beschr nken wird Code Generierung Ein weiterer Trend den viele Entwickler argw hnisch beobachten ist die automatische Code Generierung Gerade im Bereich Web Services oder XML in dem bei wirkl
204. mischen Anweisungen zum Beispiel der Aktivierung eines Skriptes bestehen XSL FO ist eine Sprache mit der beschrieben wird wie ein Formatierer Inhalte auf dem Ausgabemedium platzieren soll Dies bedeutet hier wird ein XML konformes Dokument in ein nicht XML konformes Dokument wie zum Beispiel ein Format f r Printmedien wie PDF umgewandelt Es k nnen hierbei verschiedene Einstellungen zu den R ndern Full Hintergrund und Schrifteigenschaften usw eingestellt werden XSL FO zielt nicht auf die F higkeiten eines Programmierers sondern die eines Designers oder Layouters ab Die Transformation eines XML konformen Dokumentes in ein nicht XML konformes Dokument f r Printmedien geschieht nach folgendem Prinzip Das Quelldokument wird hierzu zuerst per XSLT in einen FO Baum umgewandelt und dieser dann mit einem FO Prozessor in das nicht XML konforme Formate bersetzt PDF RTF Excel Powerpoint usw 1 Mittlerweile existieren eine Reihe von Werkzeugen welche es erlauben das gew nschte Design zu gestalten und anschlie end die XSL und XSL FO Dokumente automatisch zu erzeugen 44 2 Architekturen Technologien und Paradigmen XSL Stylesheet xsl Muster und Aktionen XML konformes Dokument XSLT Prozessor Format f r Printmedien Abbildung 2 17 Prinzip der XSL FO 2 1 3 SOAP Simple Object Access Protocol Wie bereits in Kapitel 2 1 1 6 Web Services Standards angef hrt dient das Simple Object Access Proto
205. n Aussagenwahrscheinlichkeit bei 80 Die Form der Wertsch pfungskette eines Unternehmens hat sich seit den achtziger Jahren durch Einfl sse wie Supply Chain Management Outsourcing usw in der in Abbildung 2 30 Evolution der Wertsch pfungskette dargestellten Art und Weise ver ndert Durch Technologien und Architekturen wie der Web Service Architektur werden weitere evolution re Ver nderungen erwartet Stovepipe eos Externalization Networked Organisation Supply Chains Outsourcing Organisation Abbildung 2 30 Evolution der Wertsch pfungskette 1 Vgl WSGART S 1 Vgl WSGART S 2 68 2 Architekturen Technologien und Paradigmen Das Internet bietet eine un berschaubare Menge an Informationen seien dies nun Aktienkurse Flug und Reiseinformationen oder E Shops Man kann diese Informationen als einfache pr sentierte HTML Seiten betrachten aber es existiert noch eine andere Sichtweise Diese Seiten k nnen als Dienst bzw Web Service betrachtet werden welcher ber HTTP angesprochen wird und seine Informationen in der Sprache HTML liefert Warum muss jeder Aktieninformationsanbieter ein eigenes Modul f r die Darstellung der Kurse in seine Seite integrieren obwohl ein gemeinsames optimiertes Modul gen gen w rde Oder warum sollte nicht jeder die aktuellen Aktienkurse oder zum Beispiel ein bersetzungsmodul auf seiner Homepage zur Verf gung stellen k nnen Diese Idee de
206. n ber den Server auf welchem sich der Dienst befindet Es k nnen weiterhin Metainformationen ber den Dienst und dessen Provider enthalten sein um den Web Service zu kategorisieren und das Auffinden durch den Service Requestor zu vereinfachen Das typische Szenario sieht folgenderma en aus Ein Service Provider stellt unterschiedliche Dienste wie zum Beispiel einen Aktienkurs Informationsdienst auf seinem Server zur Verf gung Desweiteren ver ffentlicht er die Web Service Beschreibung in einer globalen Service Registry wo diese von jedem aufgefunden werden kann Ein Service Requestor sucht in dieser Registry nach f r ihn geeigneten Diensten und findet zum Beispiel diesen Aktienkurs Informationsdienst Er erh lt als Antwort auf seine Anfrage an die Registry die Schnittstellenbeschreibung des Dienstes und ist nun in der Lage auf diesen zuzugreifen um ihn zum Beispiel in eine eigene Applikation einzubinden Das Web Services Modell stellt sich also Service Service Description Registry folgenderma en dar Service Description message Service Service Service Description Requestor Provider Abbildung 2 5 Web Services Modell 24 2 Architekturen Technologien und Paradigmen einer Reihe weiterer Standards welche sich zum Teil bereits in der Entwicklung befinden Der Ansatz welcher insbesondere von IBM propagiert wird besteht in einer modularen Annaherung an die Gesamtvision d h die Evolution verlauft in Phasen
207. n Web Service weiterleitet Folgende Abbildungen sollen die Funktionsweise dieses Frameworks verdeutlichen In der ersten Abbildung wird ein einfacher Web Service dargestellt der einen eingegangen String in Grossbuchstaben umwandelt die zweite stellt einen Client vor welcher diesen Web Service nutzt public class RzSimpleWebService public String getTestString String input return input toUpperCase Abbildung 3 18 Einfacher Web Service public void invokeWebService URL soapServerUrl new URL http localhost 8080 soap servlet rpcrouter String webServiceURI urn rzsimplewebservice String methodName getTestString String param test Vector params new Vector params addElement new Parameter input String class param null build call Call call new Call call setTargetObjectURI webServiceUR call setMethodName methodName call setEncodingStyleURI Constants NS_URI_SOAP_ENC response style call setParams params invoke call Response response call invoke soapServerUrl Parameter result resp getReturnValue String res String result Abbildung 3 19 Einfacher Apache SOAP Client 3 Ein berwachungssystem f r Bankperipherieger te 171 170 3 Ein berwachungssystem f r Bankperipherieger te mehr notwendig aufwendigen Code zum Einlesen Validieren und Speichern der Daten zu erstellen Dadurch dass sich die Validierungs Constraints der Daten
208. n aktuellen Status Verantwortlichkeit e Repr sentation einer Anfrage des UEP an das Bankperipherieger t Beschreibung Abgeleitet von Informationsaustausch Stellt ein auf dem Bankperipheriegerat aufgetretenes Ereignis dar Beispiel Statusanderungen Fullstandsprobleme Attribute e Anfragegegenstand Ziel und Sinn der Anfrage Verantwortlichkeit Reprasentation eines auf dem Bankperipheriegerats aufgetretenen Ereignisses Attribute Typ Ereignistyp Informationen Detailinformationen Uber Ereignis Klasse Anfrageantwort Beschreibung Abgeleitet von Informationsaustausch Stellt eine direkte Antwort des Bankperipheriegerats auf eine Anfrage des UEP dar Beispiel Statusinformationen Klasse Ereignis Registratur Beschreibung Registratur Registry welche alle ereignisinteressierten UEP verwaltet Verantwortlichkeit e Reprasentation der Antwort des Bankperipheriegerats auf eine Anfrage des UEP Verantwortlichkeit Verwaltung aller registrierten ereignisinteressierten UEP Annahme neuer ereignisinteressierter UEP Weitergabe der Registraturinformationen an die Ereignisweiterleitung Attribute e Antwort Antwort auf die eingegangene Anfrage Attribute Ereignisinteressierte Liste der Ereignisinteressierten 3 Ein Uberwachungssystem fiir Bankperipherieger te 3 Ein Uberwachungssystem f r Bankperipher
209. n entwickeltes Management Framework der dritten Generation Es wird in Kapitel 2 2 6 JMX Die Management Architektur von Morgen detailliert erl utert Weitere Informationen finden sich unter http java sun com products JavaManagement JDMK 4 2 Hierbei handelt es sich um die kommerzielle Referenzimplementierung der JMX 1 0 Spezifikation Diese wird von Sun vertrieben und ist neben einer IBM Tivoli L sung zurzeit die einzige vollst ndig standardkonforme Implementierung Weitere Informationen finden sich unter http java sun com products jdmk J XFS 2 0 Die Extensions for Financial Services for the Java Platform J XFS sind ein Standard zum Zugriff auf Bank und Einzelhandelperipherieger te Dieser Standard wird in Kapitel 2 3 Technologien zum Zugriff auf Bankperipherieger te detailliert erl utert Weitere Informationen finden sich unter http www jxfs com FDI for J XFS 2 0 Das Financial Device Interface FDI for J XFS stellt eine erweiterte Referenz implementierung des J XFS Standards dar Dieses Produkt ist vom J XFS Forum kostenlos erh ltlich Weitere Informationen finden sich unter http www jxfs com Xerces 1 4 3 Hierbei handelt es sich um den wohl am weitesten verbreiten XML Parser Dieses 168 3 Ein berwachungssystem f r Bankperipherieger te 3 4 3 1 Apache SOAP 2 2 Apache SOAP ist eine Open Source Java Implementierung der SOAP v1 1 und SOAP Messages with Attachment Spezifikationen Dieses Frame
210. n gt lt xs element gt lt xs element name status type xs string gt lt xs annotation gt lt xs documentation gt minor state information e g locked high full lt xs documentation gt lt xs annotation gt lt xs element gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs sequence gt lt xs complexType gt lt xs element gt lt xs schema gt A2 Quellcode GUI des Uberwachungspersonals package com wincornixdorf pce rzdiplomarbeit gui operatorclientgui connected client import com wincornixdorf pce rzdiplomarbeit soap operatorclient RzProtoOperatorClient 1 J2SE 1 4 import javax swing UlManager import java awt import java util Observer import java util Observable import java util Vector Wiis GUI for RzProtoOperatorClient MAIN entry point lt br gt half automatically created with GUI designer lt br gt observer of client to get events from the client author Roger Zacharias version 1 0 y public class RzProtoOperatorGui implements Observer boolean packFrame false the connected client soap axis 2 private RzProtoOperatorClient soapClient the main GUI frame private RzProtoOperatorFrame frame Vi this method is automatically called by the connected client if an event came in lt br gt put event on GUI param o Observable param arg event object 7 public void update Observable o Object arg frame ev
211. n zum Zugriff auf das Ger t benutzen kann 9 128 2 Architekturen Technologien und Paradigmen Nach Durchlaufen des o a Szenarios ist es m glich Operationen des Ger tes aufzurufen bzw Ereignisnachrichten vom Ger t zu empfangen Innerhalb von J XFS gibt es zwei Arten von Methoden synchrone und asynchrone Erstere werden nur f r einfache Funktionen benutzt welche keinen direkten physikalischen Zugriff auf das Ger t ben tigen wie zum Beispiel Abfragen der Version eines Objektes oder Abfrage des Ger testatus dieser wird im Device Service gehalten Jede Operation mit physikalischem Zugriff ist asynchron d h dass zun chst nur eine Operations ID zur ckgegeben wird Die Operation selbst wird in eine Warteschlange eingeordnet und in der Reihenfolge des Auftretens ausgef hrt Das Ergebnis der Operation ist in einem vom Device Service an die Applikation gesandten Ereignis enthalten f r die sich die Applikation zun chst registrieren muss Das folgende Schaubild verdeutlicht den Ablauf einer J XFS Operation 2 rewi OF use sadelingi A SONK 5 register oneraliiris 6 yourleniral_IDv 55 I Yu Unend 10 opena L 1 10 2100 for openi 12 5 100 f r open 1 13 Spformpbelet PEN 100 for 62557 I I i I 14 Optomp ecoPEN 1000 I I I I 15 prift Heer yd a mtd bie i 16 rin Hello Soph i 10 ID G01 for print I I i 2 m Pen dia Pe 70 OpCaripleteiG 1016 19 Gp Conn pliheyeP Ein 101
212. nagement Architektur da sowohl Managed Objects als auch Agenten Dienste dynamisch geladen und integriert werden k nnen 2 Architekturen Technologien und Paradigmen 113 114 2 Architekturen Technologien und Paradigmen gt JMX Agenten sind dynamisch skalierbar d h sie k nnen berall dort eingesetzt werden wo eine JVM installiert ist d h vom Handy bis zum High End Server Die Gr e des Agenten h ngt nur von den notwendigen Diensten und den Repr sentanten der zu berwachenden Ressourcen ab Es besteht die M glichkeit einer einfachen Integration existierender Management L sungen bereits jetzt sind JMX Agenten ber HTML Browser sowie SNMP und WBEM Manager berwachbar Es existiert die M glichkeit des Web based Managements da einfache Web Interfaces mit Hilfe des HTML Adapters sehr einfach und dynamisch erzeugt werden k nnen Es ist m glich Dienste zu realisieren mit deren Hilfe der Agent Aufgaben des Managers bernimmt und damit eine Vorverarbeitung und Verdichtung der Daten durchf hrt MBeans sind vollst ndig zu JavaBeans kompatibel so dass sie innerhalb jeder JavaBean Entwicklungsumgebung verwendet werden k nnen In Version 1 0 der JMX Spezifikation in der insbesondere im Distributed Services Level Manager Level noch nicht alle Komponenten spezifiziert sind sind je nach Verwendung eine Reihe Schw chen enthalten gt JMX bietet keinen standardisierte Lokalisierung oder Namensdiens
213. nagements im OSI Bereich Technologie Beschreibung SGMP Simple Gateway Monitoring Protocol SGMP der Firma Proteon und anderer Netzwerkbetreiber HEMS High Level Entity Management System HEMS SNMPv1 Simple Network Management Protocol Version 1 SNMPv1 wird von der IETF als Standard verabschiedet SNMPv2 Simple Network Management Protocol Version 2 SNMPv2 wird der IETF vorgelegt aber nicht standardisiert SNMPv3 Simple Network Management Protocol Version 2 SNMPv2 liegt als Draft Standard vor Tabelle 2 3 Historie des Managements im SNMP Bereich Jahr Technologie Beschreibung Seit 1995 CORBA Management Verschiedene CORBA basierte Managementansatze 1995 JMAPI Java Management API JMAPI 1999 JMX Java Management Extensions JMX 1999 WBEM Web based Enterprise Management WBEM Tabelle 2 4 Neuere Ans tze im Management Bereich 2 Architekturen Technologien und Paradigmen 79 mehreren Betriebssystemen implementiert war Im Februar 1988 versammelten sich schlie lich die Mitglieder des Internet Activities Board IAB um dar ber zu entscheiden welches der drei Management Protokolle in Zukunft fur das Internet genutzt werden sollte Die Entscheidung fiel folgenderma en aus wegen seiner Akzeptanz und Verbreitung sollte SGMP kurzfristig die erste Wahl sein und langfristig auf CMOT und damit dem OSI Standard umgestellt werden Um einen zuk nf
214. nd das ISO Informationsmodell auf einem konsequent objektorientierten Ansatz beruht und damit zwar komplex aber m chtig ist werden die Managed Objects im Internet Management als einfache Variablen beschrieben die in einem Registrierungsbaum zusammengefasst sind Es k nnen also in der MIB nur einfache Datentypen d h Skalare und Felder aus Skalaren gespeichert werden Es ist nicht erlaubt komplexe Datenstrukturen zu kreieren bzw abzufragen da diese aufgrund einfacherer Implementierbarkeit und Kompatibilit t vermieden werden Alle Managed Objects in der MIB werden auch hier mit Hilfe von ASN 1 definiert Da allerdings die Einfachheit gefordert wurde wird nur eine Teilmenge dieser Sprache benutzt Die Struktur eines Managed Objects wird im Gegensatz zur Definition einer Managed Object Class MOC im ISO Modell ber die Knoten im ISO Registrierungsbaum nachgebildet wodurch sie beliebig kompliziert werden kann Dies stellt einen gravierenden Nachteil von SNMP dar Managed Objects im Internet Management werden immer unterhalb des Knotens 1 3 6 1 im ISO Registrationsbaumes registriert Das nachfolgende Beispiel zeigt die Definition einer einfachen SNMP Variablen und deren Position innerhalb des Baumes OBJECT sysDescr system 1 SYNTAX Octet String DEFINITION This value should include the full name version ID software operating system and networking software ACCESS read only STATUS mandatory Abbildung 2 48 Beispiel f r die Def
215. nen Managementanwendungen Dar ber hinaus stellen integrierte Managementsysteme dem Benutzer einige Standardanwendungen sowie Entwicklungswerkzeuge zur Erstellung eigener individueller Applikationen zur Verf gung Im Idealfall muss der Entwickler nur die richtigen Funktionen aus dem Infrastrukturbaustein mit den gew nschten Funktionen aus dem Oberfl chenbaustein verkn pfen und die ben tigte Logik hinzuf gen um eine individuelle Management L sung zu erstellen welche problemlos in das Gesamtsystem integriert werden kann Weiterf hrende Literatur zum Bereich der integrierten Managementsysteme bietet HHAS93 Es existiert eine Reihe von mehr oder weniger geeigneten kommerziellen Standardsoftware Paketen im Bereich der integrierten Managementsysteme Die Key Player in diesem Sektor sind Hewlett Packard OpenView Bull OpenMaster IBM Tivoli TME Computer Associate Unicenter TNG Sun SunNet Manager Cabletron Spectrum 2 Architekturen Technologien und Paradigmen 2 3 Technologien zum Zugriff auf Bankperipherieger te J XFS Tagt glich benutzen hunderte von Menschen Bankautomaten Karte einf hren Geheimnummer eingeben Betrag w hlen und schon wird das Geld ausgegeben Danach noch schnell einen Kontoauszug holen F r Kunden ist es ein einfacher Bestandteil des t glichen Lebens f r Banken und Automatenhersteller ist dies nicht ganz so einfach Sowohl Entwicklung als auch die Integration von Bankperipherieger ten wie Gelda
216. ng dieses Prototyps vorgestellt Hierbei liegt der Schwerpunkt auf der Konzeption des Systems Es soll in diesem Kapitel bewusst auf unn tig Prosa verzichtet werden da die UML Diagramme nach Ansicht des Autors aussagekr ftig genug sind 3 1 Fachlicher Hintergrund Die traditionelle Bankfiliale befindet sich heute im vielfachen Wandel Neue Gesch fts und Vertriebsstrategien werden umgesetzt Kundenorientierung Beratung und Verkauf gewinnen in der Filiale immer mehr an Bedeutung Gleichzeitig w chst der Kostendruck auf den Filialbetrieb Deshalb werden Bargeldtransaktionen verst rkt auf SB Systeme verlagert und die somit gewonnene Zeit der Bankmitarbeiter wird zunehmend f r Beratung und Verkauf genutzt Die vollst ndige Verlagerung aller Bargeldtransaktionen in ein reines SB Gesch ft ist heute jedoch noch nicht zu erreichen da dem Kunden Dienstleistungen wie zum Beispiel Ein und Auszahlungen auf bzw von Sparb chern Auszahlungen von Gro betr gen usw weiterhin angeboten werden sollen In vielen Gesch ftsstellen werden 3 Ein Uberwachungssystem fiir Bankperipheriegerate 133 3 Ein Uberwachungssystem f r Bankperipherieger te Bankperipheriegerate wie Geldautomaten oder Kontoauszugsdrucker aber noch nicht mit Hilfe von speziellen Management Werkzeugen berwacht so dass es relativ oft zu unn tigen Komplettausfallen kommt In anderen Fallen die sicher nicht nur den Autor in einer gewissen Weise begeistern wird ein event
217. ngen keine Erweiterungen des Standardfalls Alternativen keine Alternativen zum Standardfall Ablaufbeschreibung siehe Tabelle und Aktivit tsdiagramm Tabelle 3 1 Prototyp Use Case Nr 1 Spezifikation 3 Ein berwachungssystem f r Bankperipherieger te System Pi RIES 0 AAE TEE EEE EN Verbindungsdaten pr fen 2 Verbin dungspaten ung ltig LL _ ok N Anfrage ausw hlen u od a Ausf hrbarkeit pr fen Anfrage nichllausf hrbar ok a Anfrage bearbeiten a Cn LE A A Kenntnisnahme der Antwort F Antwort generieren T Abbildung 3 6 Prototyp Use Case Nr 1 Aktivit tsdiagramm 3 Ein berwachungssystem f r Bankperipherieger te Use Case Ablaufbeschreibung Anfrage bearbeiten Use Case Use Case Nr 1 Ablauf PT Zust ndigkeit Beschreibung Erfassung und Pr fung der Anfragedaten UEP Die Verbindungsdaten IP Ger tename werden eingegeben System Es wird gepr ft ob die Verbindungsdaten g ltig sind System Ausnahme Verbindungsdaten ung ltig UEP Die gew nschte Anfrage wird aus einer Liste ausgew hlt System Es wird gepr ft ob die gew nschte Anfrage ausf hrbar ist z B ist die Kassettenz hlerabfrage bei einem Kontoauszugsdrucker nicht ausf hrbar System Ausnahme Anfrage nicht ausf hrbar Anfrage bearbeiten Anfrage wird vom System bearbeitet Ausnahme Fehler bei der Bearbeitung Es wird eine Antwort generiert Die Antwort wird de
218. ngssprache aus der CORBA Welt 2 Architekturen Technologien und Paradigmen 109 110 2 Architekturen Technologien und Paradigmen Zur Verdeutlichung soll auch hier ein Beispiel fur die Definition eines Managed Objects am Beispiel eines Standard MBeans gezeigt werden public interface PrinterMBean public boolean getOnline public void setOnline boolean status public int getSheetsInTray public void printStatusPage j public Printer implements PrinterMBean attributes private boolean online READ WRITE private int sheetsinTray READ ONLY constructors public Printer this online false this sheetsInTray 0 Accessor Methods public boolean getOnline return this online public void setOnline boolean status this online status public int getSheetsInTray return this sheetsInTray Methods public void printStatusPage lt access real hardware printer ressource gt this sheetsInTray Abbildung 2 53 Beispiel einer Standard MBean Implementierung F r Nachrichten mit denen ein MBean ber den Eintritt eines Ereignisses informiert definiert die JMX Spezifikation ein Notification Modell welches sich auf das allgemein bekannte Java Event Modell st tzt Ereignisse Events sind Java Objekte die von einer Ereignisquelle Event Source an eine oder mehrere Ereignissenken Event Listener die sich vorher hierf r registriert haben m ssen verschickt werden
219. ngung Erfolg Das UEP erhalt detaillierte Informationen uber das System aufgetretene Ereignis Das Ereignis wird gespeichert Nachbedingung Das UEP erhalt eine Fehlermeldung mit der Fehlschlag Fehlerursache Ereignismeldung UEP berwachungspersonal f Ereignismeldung generieren Ausl sendes Ereignis Fehler z B Hardwarefehler Syston SiElt deM VER de Ereignismeldung Zu Probleme z B Geldkassette leer Interaktion mit Ger tebenutzer z B Karte wurde Ausnahmen einbehalten Interaktion mit Operator z B Ger t wird gerade reparer pe Zustandigkeit Beschreibung Tabelle 3 6 eet Use Case Nr 3 Ablaufbeschreibung Beschreibung Standardfall Auf dem Peripheriegerat auftretende Ereignisse s o werden dem berwachungspersonal mitgeteilt Erweiterungen keine Erweiterungen des Standardfalls Alternativen keine Alternativen zum Standardfall Ablaufbeschreibung siehe Tabelle und Aktivit tsdiagramm Tabelle 3 5 Prototyp Use Case Nr 3 Spezifikation 3 Ein Uberwachungssystem fiir Bankperipheriegerate Akteur Uberwachungspersonal System T p Ereignis aufnehmen Ereignis speichern Ereignis filtern Kenntnisnahme des Ereignisses Ereignismeldung generieren EN a Abbildung 3 8 Prototyp Use Case Nr 3 Aktivitatsdiagramm 3 Ein Uberwachungssystem fiir Bankperipheriegerate 3 3 1 1 Klassendiagramm Verkaufsger t ea I Tikisa Geldsursahlsiniel 1 1 cc zemni f 1 cl
220. nisse registrieren Ereignis weiterleiten Abbildung 3 5 Prototyp Use Case Diagramm Wie zu sehen ist handelt es sich lediglich um drei Anwendungsf lle Zun chst kann das berwachungspersonal Anfragen an das System bzw im engeren Sinne an das Bankperipherieger t stellen z B Statusinformationsanfrage auf welche es eine sofortige Antwort erh lt Weiterhin kann es sich f r Ereignisse welche aufgrund von systeminternen nderungen z B Schwellwertunterschreitungen auftreten registrieren Tritt solch ein Ereignis auf wird es automatisch an das berwachungspersonal weitergeleitet sofern dieses daf r registriert ist 3 Ein Uberwachungssystem fiir Bankperipherieger te 3 2 4 1 Use Case Anfrage bearbeiten Use Case Spezifikation Anfrage bearbeiten nz Use Case Nr 1 Das berwachungspersonal UEP erh lt eine detaillierte Antwort auf die gesendete Anfrage z B Informationen ber die Kassetten des Automaten Nachbedingung Erfolg Das UEP erh lt eine detaillierte Antwort auf die gesendete Anfrage Nachbedingung Fehlschlag Das UEP erh lt eine Fehlermeldung mit der Fehlerursache Ausl sendes Ereignis UEP initiiert Vorgang durch Anfrage an das System Beschreibung Standardfall Die vom berwachungspersonal abgesetzte Anfrage z B Gib mir detaillierte Informationen ber die Kassetten des Geldautomaten wird vom System entgegengenommen und beantwortet Ergebnis oder Fehlermeldung Erweiteru
221. nt System out printin Cassette empty fe BufferedReader stdin new BufferedReader new InputStreamReader System in 11 STDIN while inputStr equals quit inputStr equals exit System out print nGeben Sie den gew nschten Betrag ein n gt get user input try inputStr stdin readLine catch IOException iox inputStr if inputStr equals int x try x Integer valueOf inputStr intValue catch Exception e continue if x 10 0 client dispenseMoney x client queryCashUnits wait for operation complete try Thread sleep 500 catch Exception e e printStackTrace close STDIN try stdin close catch IOException e e printStackTrace this method returns the cassette counters fields for the GUI lt br gt return vector of cassette counters for GUI representation Wy public Vector getCassetteFields workareound for asynchronous call while this cassetteFields size 4 Vector res Vector this cassetteFields clone cassetteFields clear return res pea get device control of cash dispenser open it lt br gt and add operation complete listener to get information about cassettes 7 private void initCashDispenser connector startup atmControl null try lJxfsBase Control c connector getJxfsDeviceManager getDevice deviceName JxfsBaseContr
222. ntMBeanException import javax management MBeanRegistrationException import javax management InstanceAlreadyExistsException import com sun jdmk Trace import com sun jdmk comm HtmlAdaptorServer ae JMX Agent MAIN entry point lt br gt creates and manages the MBean server lt br gt registers the following MBean lt br gt HTML Adaptor lt br gt SOAP Adaptor lt br gt Command Forwarder lt br gt Event Forwarder lt br gt author Roger Zacharias version 1 0 7 public class RzProtoJmxAgent the MBean server private MBeanServer server Vik The class constructor lt br gt creates the MBean Server yf public RzProtoJmxAgent System out printin lt RzProtoJmxAgent gt gt Creating MBean server this server MBeanServerFactory createMBeanServer fax register given MBean with given object name at the MBean Server lt br gt param mBean the MBean to register param objectName the object name of this MBean 7 public void addMBean Object mBean String objectName System out printin lt RzProtoJmxAgent gt gt Registering MBean lt mBean getClass getName gt ObjectName mbDescription null try mbDescription new ObjectName objectName catch MalformedObjectNameException e System out printin lt RzProtoJmxAgent gt gt Bad object name e printStackTrace try server registerMBean mBean mbDescription
223. nten auf die in den Folgeabschnitten n her eingegangen werden soll stellen sich folgenderma en dar gt Instrumentation Level Managed Objects Level Die Spezifikation dieser Ebene legt die Anforderungen an den Repr sentanten einer Ressource d h an ein Managed Object fest die erf llt werden m ssen 1 J2SE steht f r Java 2 Standard Edition Weitere Informationen unter http java sun com j2se 2 Architekturen Technologien und Paradigmen 107 106 2 Architekturen Technologien und Paradigmen wie beim OSI und SNMP Management mit Hilfe von ASN 1 sondern basiert auf dem einfachen JavaBeans Konzept Ein Managed Bean MBean ist ein Java Objekt welches eine spezielle Managementschnittstelle implementiert und bestimmten Entwurfsmustern entspricht Laut Spezifikation ist ein MBean folgenderma en definiert gt Es muss eine konkrete und ffentliche Klasse sein Es muss einen ffentlichen public Konstruktor besitzen gt gt Es muss der JavaBeans Spezifikation gen gen gt Es muss ein korrespondierendes MBean Interface bzw das DynamicMBean Interface implementieren Es kann das NotificationBroadcaster Interface implementieren wenn es Ereignisse an andere Komponenten melden soll Dadurch wird sichergestellt dass der JMX Agent in der Lage ist das MBean zu instanziieren und dessen Managementschnittstelle zu erkennen die alle Attribute Operationen Benachrichtigungen und Konstruktoren enth lt um das
224. nts from device and inform listeners e g operator GUI lt br gt it is the same client as the RzProtoOperatorClient2 but for Apache SOAP instead of Apache AXIS author Roger Zacharias version 1 0 WY public class RzProtoOperatorClient extends Observable implements Runnable the polling thread private Thread thisOne shows status of the polling thread private boolean active polling intervall in seconds private int pollintervall lt config soap server url private String soapServerURL lt config web service id private String webServicelD lt config fae The class constructor 7 public RzProtoOperatorClient cassetteField1 setBackground Color lightGray cassetteField1 setEditable false cassetteField2 setBackground Color lightGray cassetteField2 setEditable false cassetteField3 setBackground Color lightGray cassetteField3 setEditable false cassetteField4 setBackground Color lightGray cassetteField4 setEditable false jLabel6 setFont new java awt Font Serif 1 12 jLabel6 setText Auszahlung jLabel7 setText Betrag in DM jPanel2 setLayout flowLayout1 amountField setColumns 3 JButton1 setText OK jButton1 addActionListener new java awt event ActionListener public void actionPerformed ActionEvent e jButton1_actionPerformed e contentPane add jPanel1 new XYConstraints 5 27 390 1 jPanel1 add jLabel2 null
225. ntwickeln Der Entwicklungsprozess besteht hierbei laut Sun aus zwei Schritten Im ersten Schritt werden diskrete Services Micro Services implementiert welche im zweiten Schritt zu Macro Services assembliert werden Entwickler erzeugen Micro Services indem sie IDEs Code Generatoren XML Editoren und andere Werkzeuge verwenden Service Assemblierer benutzen Policy Modellierungs und Workflow Tools Sind die Services ausreichend getestet sind sie f r das Deployment bereit Dieses und die M glichkeit der berwachung sowie Administration der Services werden durch verschiedene Tools der Architektur erm glicht Service Delivery Service Interface Diese Schicht stellt grundlegende Verbindungs Standort Discovery und Kommunikations Funktionalit ten bereit und delegiert jeden Request zum passenden Service 1 Die Java 2 Standard Edition J2SE ist die Programmier und Laufzeitumgebung f r Desktop Clients Die Java 2 Micro Edition J2ME ist die Programmier und Laufzeitumgebung f r mobile Endger te 2 Architekturen Technologien und Paradigmen Service Crealon amp Assembly Service Tia beg rat een Grat Muy repeat Abbildung 2 27 Sun ONE Smart Web Services Architektur Quelle JM9 01a Der typische Ablauf einer Benutzerinteraktion mit dem System sieht folgenderma en aus Requests k nnen von jedem beliebigen Ger t eintreffen Der aktuelle Kontext wird durch die Smart Delivery verarbeitet Standortinformationen
226. nzen welche in dieser Arbeit detailliert vorgestellt wurden gt OSI Management gt SNMP Management gt Management der dritten Generation z B JMX Auch an dieser Stelle soll der Vollstandigkeit halber das grundlegende Management Architektur Modell noch einmal dargestellt werden das die Basis aller Management L sungen darstellt Web Services werden sich voraussichtlich mehr oder weniger in allen IT Bereichen wieder finden gt Intranet Im Intranet Bereich werden Web Services wahrscheinlich eine eher untergeordnete Rolle spielen da die dort existierenden Protokolle zumindest heute noch die gr eren Vorteile besitzen Internet Kundenanbindung Die Anbindung von Kunden auf verschiedenen Vertriebswegen und Kan len ber das Internet ist sicher das Paradebeispiel f r die Verwendung der Web Service Technologie EAI Enterprise Application Integration Web Services werden hierbei intern zur vereinfachten Anbindung der Legacy Systeme verwendet Zurzeit werden sie aufgrund der noch fehlenden Transaktionsverwaltung als EAI lite bezeichnet Value Chains Supply Chains Der zweite enorm wichtige Bereich ist die Unternehmenskommunikation mit der einfachen M glichkeit des Aufbaus von Supply Chains und Value Chains Hierzu geh ren auch die so genannten hot plug and play partnerships d h die dynamische Integration neuer Partner zu jedem beliebigen Zeitpunkt Interoperabilit t zwischen J2EE und MS A
227. nzul nglichkeiten mit sich gt Die Menge an unstrukturierten Informationen ist so gigantisch dass es sehr schwer ist die relevanten Informationen zu finden Simon Phipps CTO Sun Microsystems Inc meinte zu diesem Problem The web could be a much better business tool if its data was more structured Ein weiteres Problem liegt in der unterschiedlichen Darstellung der Informationen Es existiert kein absoluter Standard f r die Speicherung von Daten und die Kommunikation So durchl uft ein Datum aus der Datenbank viele unterschiedliche Umformatierungen und Konvertierungen um zum Beispiel auf einem WAP Handy angezeigt zu werden oder in einer PDF Datei zur Verf gung zu stehen Die Inhalte unterliegen einer hohen nderungsrate da die Aktualit t ein wichtiges Kriterium der dargestellten Informationen ist Diese Aktualit t kann aufgrund der unstrukturierten Informationsmenge nicht oder nur sehr schwer gew hrleistet werden Mit Hilfe der Darstellung und des Kontextes kann ein Mensch die Semantik der Daten erkennen eine Maschine Software ist jedoch nicht in der Lage semantische Informationen zu erkennen und zu extrahieren Das WWW war urspr nglich f r die Mensch Mensch bzw Mensch Maschine Kommunikation konzipiert Durch die Verwendung dieses Mediums als B2B Plattform wird die Maschine Maschine Kommunikation immer wichtiger was 2 Architekturen Technologien und Paradigmen 31 2 Architekturen Technologien un
228. oOperatorWebService gt gt method lt getUndeliveredEvent gt accessed Vector res Vector this eventHistory clone this eventHistory clear System out printin lt RzProtoOperatorWebService gt gt returning events to lt client gt System out printin lt RzProtoOperatorWebService gt gt deleting events return res Yak checks if specified device exists in J XFS environment param deviceName name of device that should be checked return true if device exists otherwise false 7 public Boolean isDeviceExisting String deviceName System out printin lt RzProtoOperatorWebService gt gt method lt isDeviceExisting gt accessed Boolean res Boolean this sendRequestToSocketServer isDeviceExisting deviceName System out printin lt RzProtoOperatorWebService gt gt Result System out printin res System out printin lt RzProtoOperatorWebService gt gt Sending result to lt Client gt return res JE get cassette counters CashUnit object of specified device lt br gt return as xml literal therefore marshal it first param deviceName name of device return cassette counters of specified device as xml element public Element getCassCount String deviceName System out printin lt RzProtoOperatorWebService gt gt method lt getCassCount gt accessed CashUnit cu CashUnit this sendRequestToSocketServer casscount deviceName
229. ode getCurrencyCode JxfsThresholdStatus ts Icu getThresholdStatus threshold status boolean isEmpty ts isEmpty state boolean isFull ts isFull state boolean isHigh boolean isLow ts isHigh state ts isLow state get fitting type String type getType cuType cuKind get fitting state String state getState status appLock devLock isEmpty isFull isHigh isLow build castor cash unit LogicalCashUnit tmp new LogicalCashUnit tmp setNumber number tmp setld unitld tmp setValue value tmp setinitialCount initialCount tmp setDispenseCount dispenseCount tmp setRejectCount rejectCount tmp setCount count tmp setCurrencyCode currencyCode tmp setType type tmp setStatus state cu addLogicalCashUnit tmp System out printin lt RzProtoJxfs ToSchemaMapper gt gt Mapping successfull return cu else if cuType lJxfsCDRConst JXFS_C_CDR_LCU_COIN_CYLINDER amp amp cuKind lJxfsCDRConst JXFS_C_CDR_LCU_DEPOSIT res CassetteTypeCoinIn else if cuType lJxfsCDRConst JXFS_C_CDR_LCU_COIN_DISPENSER res CassetteTypeCoinOut else if cuType lJxfsCDRConst JXFS_C_CDR_LCU_BILL_CASSETTE amp amp cuKind lJxfsCDRConst JXFS_C_CDR_LCU_DEPOSIT res CassetteTypeNotesin else if cuType lJxfsCDRConst JXFS_C_CDR_LCU_BILL_CASSETTE amp amp cuKind lJxfsCDRConst JXFS_C_CDR_LCU_RECYCLE res CassetteTypeRol
230. of this protocol adaptor return type of protocol of this adaptor Soap yf public String getProtocol ik return port on which this adaptor listens for client requests return port on which this adaptor listens J public int getPort JER register a client webservice for notifications from J XFS lt br gt this method is called by the RzProtoRequestHandler lt br gt param client the client that wants to be notified 7 public void registerClient Socket client fix deregister a client webservice for notifications from J XFS lt br gt this method is called by the RzProtoRequestHandler lt br gt param client the clients that wants to be deregistered U public void deregisterClient Socket client param port socket port to listen on for client requests 7 public RzProtoAdaptorServer int port super CommunicatorServer HTTP_TYPE indicates that this is a HTTP_TYPE adaptor this listeningPort port this serverSocketListener null this clientSocket null this registeredClientSocket null this eventReceiverPort 8099 this eventReceiverHost localhost Pare E REESE SS MBean methods HE Se fie deliver protocol of this protocol adaptor return type of protocol of this adaptor soap 7 public String getProtocol return soap JAA return port on which this adaptor listens for client requests return port on which this adaptor listens 7 public int getP
231. ol null this deviceName null this listener null J initialize cash dispenser and add operation complete listener lt br gt to get information about cassettes in an asynchron event 7 private void initCashDispenser throws JxfsException get device control of cash dispenser IyxfsBaseControl c connector getJxfsDeviceManager getDevice deviceName JxfsBaseControl control JxfsBaseControl c atmControl JxfsATM control add operation complete listener to get information about cassettes listener new RzProtoOperationCompleteListener this atmControl addOperationCompleteListener listener get cash units this cashUnit JxfsCashUnit event getData wake up the reader reader wakeup J AER ERE EE PARR EEE trick a OO AAAA AAA E EAE La ae ne problem and solution Dummy Device Services can t generate status events gt check threshold status manuelly and generate status event manuelly get logical units in the cash unit Vector logicalCashUnits cashUnit getLogicalUnits for int 0 i lt logicalCashUnits size i JxfsLogicalCashUnit Icu JxfsLogicalCashUnit logicalCashUnits elementAt i JxfsThresholdStatus ts Icu getThresholdStatus boolean isEmpty ts isEmpty if cash unit is empty generate status event JxfsStatusEvent source status and inform event listener if isEmpty JxfsStatusEvent statusEvent new JxfsStatusEvent event getSource Jxf
232. ol control JxfsBaseControl c atmControl JxfsATM control System out printin lt RzProtoEndUserClient gt gt Device Control of lt deviceName gt gained catch JxfsException exception System out printin lt RzProtoEndUserClient gt gt No device of the given type can found n exception add operation complete listener to get information about cassettes if atmControl null atmControl addOperationCompleteListener this atmControl addStatusListener this open ATM System out printin lt RzProtoEndUserClient gt gt Open lt deviceName gt try synchronized this int openRes atmControl open catch Exception e e printStackTrace pee MAIN for testing purposes lt br gt param args command line arguments 7 public static void main String args RzProtoEndUserClient client new RzProtoEndUserClient System out printin user input String inputStr user input package com wincornixdorf pce rzdiplomarbeit jxfs eventgenerator JIXFS connector import com wincornixdorf pce rzdiplomarbeit jxfs connector RzProtoJxfsConnector RzProtoEventForwarder MBean import com wincornixdorf pce rzdiplomarbeit imx mbeans RzProtoEventForwarder 1 JXFS 2 0 import com jxfs general contains classes used in more than one other package import com jxfs control contains all the interfaces to J XFS Device Controls impor
233. oll wird die im Internet bereits existierende Messaging L sung eingesetzt E Mail ber SMTP Dieses Szenario bzw diese Vision wird als Web Service Technologie bezeichnet Die Web Service Technologie ist also eher Evolution als Revolution Bereits existierende Technologien bilden die Grundlage auf denen Web Services aufbauen Oder um es mit James Harts Worten zu sagen Web Services are in many ways the logical conclusion of several threads which have been developing in the IT industry for twenty years However this doesn t mean we should underestimate their significance By combining the steam engine and the wheel George Stephenson was simply combining the logical conclusions of two established fields of engineering into their logical conclusion but the implications of the invention of railroads can still be felt today Web Services have something of the feel of that first steam train about them it s going to be an interesting ride Folgende Abbildung verdeutlicht die Entwicklungen welche die Basis fur Web Services legten 1 James Hart ist einer der Autoren des bekannten Buches Professional Java XML Wrox Press Vgl JHWS01 S 2 2 Architekturen Technologien und Paradigmen Atomare Komponenten Verteilte Web Services Applikationen Komponenten Interaktives Web Abbildung 2 1 Entwicklungsgeschichte der Web Services Hierbei ist jedoch zu beachten dass Web Services als Erganzung zu den bereits exis
234. onalit t bereit welche notwendig ist um Relationen zwischen MBeans zu definieren zu pflegen und aufzul sen Weiterhin 112 2 Architekturen Technologien und Paradigmen berwacht dieser Dienst die Einhaltung der definierten Relationen und informiert registrierte Ereignissenken ber nderungen an Relationen Monitoring Service Dieser Dienst erm glicht es MBean Attribute zu berwachen und bei Ver nderungen der Attribute registrierte Ereignissenken dar ber zu informieren Timer Service In vielen F llen ist es notwendig Aktionen in regelm igen Abst nden oder zu wohldefinierten Zeitpunkten auszuf hren Zu diesem Zweck k nnen sich MBeans beim Timer Service registrieren um sich zum gew nschten Zeitpunkt benachrichtigen zu lassen Die nachfolgende Abbildung zeigt einen detaillierten Einblick in den Agent Level Agent side Manager side Protocol Adaptor Management Application with a view of the JMX agent oa a protocol adaptor SNMP for example JMX enabled Connector i Management Server j Application Connector Chon E Agent service MBean C JMX managed resource MBean Abbildung 2 54 Aufbau des JMX Agenten Quelle JMX2 S 102 2 2 6 3 Kommunikationsmodell Manager interagieren mit dem Agenten Uber so genannte Konnektoren und Protokoll Adapter welche als MBeans offen gelegt sind Aufgrund dieser Komponenten ben tigen JMX Agenten keinerlei Kenntnisse ber die Managementanwendung die auf sie
235. onstants NS_URI LITERAL_XML else call setEncodingStyleURI Constants NS_URI_SOAP_ENC call setParams params URL soapServerURL new URL soapServerUnl send RPC invoke method and get response System out printin lt RzProtoOperatorClient gt gt sending soap call to invoke lt methodName gt Response response call invoke soapServerURL extract RPC result out of response if response generatedFault throw new SOAPException response getFault getFaultCode response getFault getFaultString else System out printIn lt RzProtoOperatorClient gt gt soap call successfull Parameter result response getReturnValue Object rpcResult result getValue return rpcResult Ri send rpc and unmarhal to given type TODO generalize and outsource to soap helper class param soapServerUrl url of soap server e g http localhost 8080 soap servlet rpcrouter param webServicelD id of webservice e g urn mywebservice param methodName remote method to invoke param xmlResponse specifies if the response is in xml literal style param params vector of params for target method param responseType class to marshal to exception MarshalException this startup response for GUI if response booleanValue return Registrierung erfolgreich else return Registrierung nicht erfolgreich fee send request to webservice to deregister t
236. orm welche mittlerweile von Embedded Systems bis hin zu High End Servern reicht Somit ist es m glich dass JMX in der Zukunft sowohl zur Steuerung von Haushaltsgeraten als auch bei der Administration von unternehmensweiten Anwendungen eingesetzt wird JMX wird seine Hauptrolle wahrscheinlich im Management von Java Anwendungen und hier insbesondere im Management von J2EE Applikationsservern spielen Sun sieht vor JMX in die n chste J2EE Version als Managementplattform f r die J2EE Plattform zu integrieren Dies spiegelt sich im JSR 77 J2EE Management Specification wieder 2 2 7 Integrierte Managementsysteme Im Bereich der Managementsysteme existieren eine Vielzahl von L sungen f r die verschiedensten Bereiche und Branchen So gibt es spezielle Managementsysteme f r das Anwendungsmanagement andere f r das Netzwerkmanagement und wieder andere f r den Bereich des Informationsmanagements Der Trend geht seit einiger Zeit aber eindeutig in Richtung integrierte Managementsysteme die alle Bereiche des Managements siehe Kapitel 2 2 1 1 Der Begriff Management abdecken Weiterhin sollen bereits bestehende Systeme und zugekaufte Bausteine problemlos in diese L sung integriert werden k nnen und eine einheitliche Benutzeroberfl che existieren Ein System welches diese Eigenschaften besitzt wird als integriertes Managementsystem bezeichnet und hat die in der folgenden Abbildung dargestellte grundlegende Architektur 1 Vgl Kapit
237. ornixdorf pce rzdiplomarbeit jxfs connector RzProtoJxfsConnector SIXFS 2 0 import com jxfs general contains classes used in more than one other package import com jxfs control contains all the interfaces to J XFS Device Controls import com jxfs control cdr Device Control for cash dispenser cash recycler JxfsCashRecycler and automatic teller machine import com jxfs events contains all the defined J XFS events exceptions and respective listeners 11 J2SE 1 4 import java util Vector import java io BufferedReader import java io InputStreamReader import java io IOException VE Enduser client for dispensing money and get information about cassette counters lt br gt author Roger Zacharias version 1 0 7 public class RzProtoEndUserClient implements JxfsOperationCompleteListener IyxfsStatusListener connector to J XFS private RzProtoJxfsConnector connector device to observe private String deviceName the device control private JxfsATM atmControl fields for gui private Vector cassette Fields AEA The class constructor 7 public RzProtoEndUserClient System out printin lt RzProtoEndUserClient gt gt initiated this connector RzProtoJxfsConnector getDefaultinstance this atmControl null this deviceName Dummy_CashDispenser localhost this cassetteFields new Vector this initCashDispenser Vis send request for dis
238. ort return this listeningPort TEE binds socket listener to port to wait for requests from clients lt br gt then register this class for notifications from the JMX layer exception CommunicationException exception InterruptedException 7 protected void doBind throws CommunicationException InterruptedException System out printin lt RzProtoAdaptorServer gt gt Binding socket listener to port try serverSocketListener new ServerSocket listeningPort catch SocketException e if e getMessage equals Interrupted system call throw new InterruptedException e toString else throw new CommunicationException e catch InterruptedlOException e throw new InterruptedException e toString catch IOException e throw new CommunicationException e register for notifications from JMX layer this registerForJMXNotifications Vike listens for client requests lt br gt blocks until a client is available exception CommunicationException exception InterruptedException 7 protected void doReceive throws CommunicationException InterruptedException System out printin lt RzProtoAdaptorServer gt gt Listening for requests try clientSocket serverSocketListener accept System out printIn lt RzProtoAdaptorServer gt gt Incoming request catch SocketException e if e getMessage equals lt RzProtoAdaptorServer
239. ort add commandResultArea null JTabbedPane1 add Ger t Ger t jTabbedPane1 add Kommandos Kommandos jTabbedPane1 add Ereignisse Ereignisse Ereignisse add jLabel7 null Ereignisse add jPanel4 null jPanel4 add registerForEventsCheckBox null Ereignisse add jLabel3 null Ereignisse add eventScrollPane null eventScrollPane getViewport add eventHistoryArea null Ger t add jLabel4 null Ger t add jPanel2 null jPanel2 add jLabel5 null jPanel2 add deviceNameField null Ger t add jPanel3 null jPanel3 add jLabel6 null jPanel3 add hostNameField null Gerat add jPanel5 null jPanel5 add chooseDeviceButton null buttonGroup1 add deviceStateButton buttonGroup1 add cassettelnfoButton Ve File Exit action performed param e 7 public void jMenuFileExit_actionPerformed ActionEvent e this parent getClient shutdown System exit 0 fea Help About action performed param e WY public void MenuHelpAbout_actionPerformed ActionEvent e RzProtoOperatorFrame_AboutBox dig new RzProtoOperatorFrame_AboutBox this Dimension digSize dig getPreferredSize Dimension frmSize getSize Point loc getLocation dig setLocation frmSize width digSize width 2 loc x frmSize height digSize height 2 loc y dig setModal true dig show Vivi Overridden so we can exit when window is closed param e 7 protected void processWin
240. p server url private String soapServerURL lt config web service id private String webServicelD lt config JES The class constructor U public RzProtoOperatorClient2 System out printin lt RzProtoOperatorClient2 gt gt initializing this thisOne new Thread this this active true true deviceName deviceName DeviceStatus class build response for GUI String res Device State n is busy is claimed is claimPending is hardware error deviceStatus getBusy n deviceStatus getClaimed n deviceStatus getClaimPending n deviceStatus getHardwareError n is open deviceStatus getOpen n is power save deviceStatus getPowerSave n is user action error deviceStatus getUserActionError n is working deviceStatus getWorking n n return res ar send request for cassette counters of the given device to webservice exception Exception param deviceName name of device in J XFS layer e g CashDispenser localhost return cassette counter CashUnit as String for GUI Y public String sendCassetteCountersRequest String deviceName throws Exception send rpc CashUnit cashUnit CashUnit this sendRPCAndUnmarshal this soapServerURL this webServicelD getCassCount true deviceName deviceName CashUnit class build response for GUI StringBuffer resBuf new StringBuf
241. pensing specified amount of money lt br gt param money amount of money zi public void dispenseMoney int money 7 public JxfsLogger getJxfsLogger return logger fee writes a message to the J XFS log file using the J XFS logger param msg message which should be written to the log file 7 public void writeToLog String msg logger writeLog this Jxfs_config_key Jxfs_traceLevel msg pe read the property file and get the properties 7 private void getProps Properties initProps new Properties try FilelnputStream in new FilelnputStream initPropertyFileName initProps load in in close catch Exception e System out printin e Jxfs_sdm_name initProps getProperty Jxfs_sdm_name Jxfs_workstation_name initProps getProperty Jxfs_workstation_name Jxfs_config_key initProps getProperty Jxfs_config_key Jxfs_server_port initProps getProperty Jxfs_server_port Jxfs_server_name initProps getProperty Jxfs_server_name Jxfs_logFilename initProps getProperty Jxfs_logFilename Jxfs_traceLevel new Integer initProps getProperty Jxfs_traceLevel 0 intValue if atmControl null try build JxfsDispenseRequest Vector denominationltems new Vector JxfsDenominationltem denominationltem100 new JxfsDenominationltem 0 0 denominationltems addElement denominationltem100 long amount money 100 long cashBox 0 JxfsDenomin
242. pitel 3 Ein berwachungssystem f r Bankperipherieger te vorgestellt W hrend der Besch ftigung mit der gesamten Thematik erkannte der Autor eine Reihe von Entwicklungen und Trends welche im Folgenden kurz vorgestellt werden sollen gt Verteilte Systeme Die Entwicklungen der letzten Jahre haben gezeigt dass verteilte Systeme sich durch eine bessere Anpassbarkeit an physikalische organisatorische und softwaretechnische Anforderungen auszeichnen Daher werden monolithische Systeme und auf einzelnen PCs installierte Software verschwinden und durch verteilte Systeme ersetzt werden Einheitliche Benutzeroberfl chen Mit der HTML Oberfl che des Browsers steht erstmals in der Geschichte eine weltweit fast einheitliche und akzeptierte Benutzeroberfl che zur Verf gung So ist es sinnvoll diese auch in anderen Bereichen als dem Internet zu verwenden um unn tige Einarbeitungszeit einzusparen und damit Kosten zu senken Diesen Trend kann man in allen fast allen Bereichen angefangen von einfachen Administrationsoberfl chen bis hin zu Managementsystemen beobachten 188 4 Bewertung gt Open Source Software In Unternehmen wird zunehmend Open Source Software eingesetzt da gegen ber proprietaren L sungen eine Reihe von Vorteilen wie Herstellerunabhangigkeit hohe Flexibilit t und Wartung in Internet Zeit bestehen und die fr heren Probleme bez glich mangelnder Skalierbarkeit und Benutzerfreundlichkeit weitgehend an kom
243. plomarbeit jxts cassettecountersreader RzProto Cassette CountersReader import com wincornixdorf pce rzdiplomarbeit jxfs statusreader RzProtoJxfsStatusReader Vike Standard MBean as a proxy to the J XFS layer lt br gt three main functions lt br gt returns cassette counters of a given device lt br gt returns device status of a given device lt br gt checks if device with given name exists lt br gt author Roger Zacharias version 1 0 7 public class RzProtoCommandForwarder implements RzProtoCommandForwarderMBean PR EEES SEL ERAR ARS MBean attributes ERAAN REKEN number of requests that came in private int requestNumber the cassette counters reader private RzProtoCassetteCountersReader cassCountReader the status reader private RzProtoJxfsStatusReader statusReader cee ne REN RUN MBean constructors CARRE a AIRERA iu The class constructor lt br gt starts the readers 7 public RzProtoCommandForwarder this requestNumber 0 this cassCountReader new RzProtoCassetteCountersReader this statusReader new RzProtoJxfsStatusReader start readers cassCountReader startup statusReader startup NER TR MBean methods Rah bait sabi AA VE returns the number of occurred requests return number of occurred requests 7 public int getRequestNumber return this requestNumber Jai resets the number of occurred requests M System out print
244. pper RzProtoJxfs ToSchemaMapper JIXFS connector import com wincornixdorf pce rzdiplomarbeit jxfs connector RzProtoJxfsConnector cassette counters schema for castor framework import com wincornixdorf pce rzdiplomarbeit schemata cashunitschema 1 SIXFS 2 0 import com jxfs general contains classes used in more than one other package import com jxfs control contains all the interfaces to J XFS Device Controls import com jxfs events contains all the defined J XFS events exceptions and respective listeners import com jxfs control cdr Device Control for cash dispenser cash recycler JxfsCashRecycler and automatic teller machine 1 J2SE 1 4 import java util NEE Class to read the cassette counter of a CashDispenser via J XFS lt br gt author Roger Zacharias version 1 0 Y public class RzProtoCassetteCountersReader connector to J XFS private RzProtoJxfsConnector connector name of device private String deviceName the device control JxfsATM atmControl timeout waiting for the event private long timeout lt config operation complete listener to get information inherited by an event RzProtoOperationCompleteListener listener The class constructor 7 public RzProtoCassetteCountersReader System out printin lt RzProtoCassette CountersReader gt gt initiated this timeout 5000 this connector RzProtoJxfsConnector getDefaultinstan
245. public void actionPerformed ActionEvent e JMenuFileExit_actionPerformed e H JMenuHelp setText Hilfe jMenuHelpAbout setText Uber JMenuHelpAbout addActionListener new ActionListener commandScrollPane setVerticalScrollBarPolicy JScrollPane VERTICAL_ SCROLLBAR_ALWAYS commandScrollPane setAutoscrolls true commandScrollPane setPreferredSize new Dimension 495 170 commandScrollPane setToolTipText eventScrollPane setVerticalScrollBarPolicy JScrollPane VERTICAL_ SCROLLBAR_ALWAYS eventScrollPane setPreferredSize new Dimension 495 230 registerForEventsCheckBox setFont new java awt Font Dialog 0 14 registerForEventsCheckBox setToolTipText registerForEventsCheckBox setText F r Ereignisse registrieren registerForEventsCheckBox addActionListener new java awt event ActionListener public void actionPerformed ActionEvent e registerForEventsCheckBox_actionPerformed e H JjJMenuFile add jMenuFileExit jMenuHelp add jMenuHelpAbout JMenuBar1 add jMenufile JMenu Bar1 add jMenuHelp this setJMenuBar jMenuBart contentPane add statusBar BorderLayout SOUTH contentPane add jTabbedPane1 BorderLayout CENTER Kommandos add jLabel1 null Kommandos add deviceStateButton null Kommandos add cassettelnfoButton null Kommandos ada jPanel1 null jPanel1 add sendCommanaButton null Kommandos add jLabel2 null Kommandos add commandScrollPane null commandScrollPane getViewp
246. r Web Services soll eine neue Welt des Internets erm glichen Monolithische Systeme und auf einzelnen PCs installierte Software verschwinden und werden durch verteilte Systeme auf Basis von Web Services ersetzt Dies bedeutet dass es nur noch einen Computer geben wird Dieser Computer ist das Internet und auf diesem Computer arbeiten verteilte Dienste Diese verteilten Dienste werden auch als Schwarme bezeichnet welche sich gegenseitig finden und gemeinsam genau den Dienst erstellen den der Benutzer ben tigt und dies in genau dem Augenblick in dem er ihn braucht Um das zu erm glichen sollen Technologien wie JINI oder Universal Plug and Play zum Einsatz kommen die spontane Zusammenschl sse bzw die spontane Vernetzung von Web Services erm glichen Es wird im Bereich der Web Services in den n chsten Jahren sicher noch viele Entwicklungen geben m ssen um dieser Vision n her zu kommen 1 Diese Technologie und Dienstinfrastruktur erm glicht das spontane Auffinden und Interagieren von Ressourcen in einem Netz Weitere Informationen unter http www sun com jini Diese von Microsoft propagierte Technologie erm glicht den Betrieb von P2P Netzen Weitere Informationen finden sich unter http www microsoft com hwdev tech nonpc UPnP 2 Architekturen Technologien und Paradigmen 2 2 Management Architekturen Eine alltagliche Situation Bei der Arbeit mit Windows bemerkt man dass die CPU Auslastung o
247. r mehrere Java Objekte konvertiert Danach wird die Gesch ftslogik aufgerufen welche meist in Form eines Enterprise Java Beans EJB existiert Mittels J2EE Connector API k nnen ERP Systeme wie SAP R 3 oder Mainframes angebunden werden per JDBC Datenbanken und per SOAP nat rlich auch andere Web Services Das Ergebnis dieser Operationen wird in einem Java Objekt gekapselt das wiederum in ein XML Dokument konvertiert und zur ckgesendet wird Ein hnliches Framework bietet Microsoft NET welches im Folgenden vorgestellt werden soll 2 1 6 3 Microsoft NET Uber kurz oder lang d rfte Microsoft NET alle Softwareentwickler betreffen deren L sungen auf Microsoft Technologien beruhen da dieses Framework alle bisher nebeneinander existierenden Bereiche umfasst und integriert Die NET Strategie h lt dabei Einzug in die komplette Produktlandschaft von Microsoft angefangen von Betriebssystemen bis hin zu Backoffice L sungen Wie auch Sun ONE dient NET in erster Linie der Entwicklung von Web Services und als Laufzeitumgebung f r diese Der Begriff NET Platform steht nicht nur f r eine neue Technologie oder ein neues Framework sondern im Gegensatz zu Sun ONE f r eine ganze Produktpalette und Ausrichtung von Microsoft Microsoft definiert NET folgenderma en NET is our strategy for delivering on the Microsoft vision Empowering people through great software any time any place on any device Die folgende Abbildung zeigt die G
248. r them William Shakespeare King Henry IV Part 1 Act 3 Scene 1 5 Zusammenfassung In diesem Kapitel sollen die wichtigsten Punkte dieser Arbeit noch einmal kurz dargestellt werden Es werden die Vor und Nachteile der vorgestellten Technologien angeschnitten und deren Auswirkungen auf die unterschiedlichsten Bereiche skizziert Weiterhin soll ein kurzer Ausblick dazu dienen die Entwicklungsrichtung darzustellen und Ideen f r weitere Besch ftigung mit dieser Thematik zu liefern Wie auch der Rest der IT Technologien entwickelt sich das Internet permanent und f r die Allgemeinheit unbemerkt weiter Es begann als document web welches ausschlie lich zum Austausch von meist wissenschaftlichen Dokumenten diente und daher nur von Milit r und Forschung genutzt wurde Sp ter entdeckten die Unternehmen den Wert des Internets zun chst entstand eine Reihe von Web Seiten auf denen die Unternehmen sich und ihre Produkte pr sentierten sp ter entstand aufgrund der enormen Resonanz der Wunsch mit den Kunden direkt auf diesem Weg Transaktionen abzuwickeln So entwickelte sich das application web mit der M glichkeit Gesch fte und auch Bezahlvorg nge direkt auf dieser Plattform abzuwickeln Nun besteht der Bedarf Unternehmensprozesse ber das Internet mit anderen Unternehmen zu integrieren was zum so genannten service web f hrt Dies wird durch Web Services erm glicht welche in Kapitel 2 1 Web Services Architekturen vor
249. rURL this webServicelD isDeviceExisting false params Boolean class exception SOAPException exception ValidationException exception MalformedURLException return unmarhaled response object from soap server 7 private Object sendRPCAndUnmarshal String soapServerUrl String webServicelD String methodName boolean xmlResponse Vector params Class response Type throws MalformedURLException SOAPException ValidationException MarshalException Object response null send rpc Object soapResponse this sendRPC soapServerUrl webServicelD methodName xmlResponse params check response soap fault if soapResponse instanceof Fault throw new SOAPException Soap Fault Fault soapResponse getFaultString SUCCESS else response in xml format if xmlResponse Element xmlResult Element soapResponse response this unmarshalElement xmiResult response Type getName return response response in simple format e g String gt no unmarhalling required else response soapResponse return response JA unmarshalling of given xmlElement to given unmarhalClass TODO usage of java meta modell generalize and outsource to soap helper class param xmlElement xml element to be marshaled param unmarshalClass class to marshal to exception MarshalException exception ValidationException return unmarhaled element 7 private Object unmarshalElement Element
250. rchitekturen Da Web Services Anwendungen ber das Internet verf gbar machen aber nicht der Implementierung dieser Anwendungen dienen verk rpern sie keine Konkurrenz zu den weit verbreiteten J2EE und MS Architekturen Sie k nnen aber eine problemlose Interoperabilit t zwischen diesen gew hrleisten so dass die Implementierung des ben tigten Dienstes transparent ist So ist es das erste Mal in der Geschichte ohne Probleme m glich unabh ngig von den zugrunde liegenden Technologien und Architekturen zu kommunizieren Den prophezeiten Mehrwert werden Web Services aber erst erbringen wenn die Vision und damit die entsprechenden Protokolle vollst ndig sind gut funktionierende und akzeptierte Entwicklungsumgebungen existieren und die insbesondere von Sun und Microsoft propagierten Smart Web Services Verbreitung gefunden haben Sowohl Entwickler als auch IT Manager sollten sich sp testens jetzt mit der Web Services Technologie auseinander setzen entsprechende Seminare besuchen und 5 Zusammenfassung Management Anwendung Operationen und Nachrichten Operationen f Nachrichten Managed Ressource Object Abbildung 5 2 Management Architektur Modell Die verwalteten logischen und physikalischen Ressourcen werden durch Managed Objects repr sentiert welche eine Abstraktion auf die f r das Management relevanten Aspekte der Komponente darstellen und sich aus Attributen Operationen Nachrichten und Verhalten zusammensetzen
251. rchitekturen verwendet werden sind die Gesch ftslogikprozesse durch die physikalische Trennung in diesen Applikationen meist stark gekoppelt so dass es sehr schwierig ist Teile des Systems auszutauschen oder wieder zu verwenden In den letzten Jahren lagerten immer mehr Unternehmen bestimmte Prozesse an darauf spezialisierte Unternehmen aus um sich auf ihre Kernkompetenzen konzentrieren zu k nnen Allerdings war auch hier oft keine wirkliche Integration zwischen den Systemen der Partnerunternehmen vorhanden da die Daten in den meisten F llen dupliziert und konvertiert wurden Das Web Service Paradigma erlaubt eine unkomplizierte Integration der Gesch ftsprozesse verschiedener Unternehmen in ein Prozessnetzwerk Diese neue Form des Unternehmens wird als virtuelles Unternehmen bezeichnet welches sehr schnell und dynamisch auf nderungen reagieren kann um seine Effizienz zu erh hen Dazu geh ren auch so genannte hot plug and play partnerships d h die dynamische Integration neuer Partner zu jedem beliebigen Zeitpunkt 2 1 8 Zusammenfassung und Ausblick Das Internet begann als Document Web welches Wissenschaftlern diente Forschungsdokumente auszutauschen Es bestand aus Web Servern welche mittels HTTP kommunizierten und die Informationen in HTML lieferten um sie im Browser darzustellen Dann bemerkten die Unternehmen dass dieses Document Web auch f r Unternehmenszwecke geeignet ist und es entstanden viele Web Seiten
252. rden wie sich die in Kapitel 2 Architekturen Technologien und Paradigmen vorgestellten Web Service und Management Architektur sinnvoll kombinieren lassen Grunds tzlich existieren hierbei zwei M glichkeiten welche in Abbildung 3 2 berwachung durch Web Services und Abbildung 3 3 berwachung von Web Services dargestellt sind gt berwachung von Web Services Sp testens wenn Web Services sich durchgesetzt haben und auch unternehmenskritische Aufgaben erf llen ist es notwendig diese durch spezielle Managementsysteme zu berwachen Ein solches Managementsystem w re in der Lage Existenz Verf gbarkeit Status und Performance eines Web Services zu 3 Ein berwachungssystem f r Bankperipherieger te berwachen Nat rlich ist es zus tzlich notwendig die Web Service Infrastruktur und die hinter den Web Services liegende Gesch ftslogik zu berwachen Die ben tigte Netzwerkinfrastruktur k nnte in diesem Fall wie bisher durch bereits vorhandene Netzwerkmanagementprodukte berwacht werden um auch die Basis das Netz abzusichern Andere Aufgaben eines solchen Managementsystems w ren der Schutz der Dienste vor unerlaubtem Zugriff durch Authentifikationsmechanismen Verschl sselung ein und ausgehender Nachrichten oder einfache Logging Mechanismen Nat rlich k nnten durch ein solches System auch Nutzer und Nutzungsdauer bestimmt werden welche zur Abrechnung der Dienstnutzung dienen berwachung durch Web Services Der umg
253. rderungen angepasstes Management u ert Hier kommen Technologien wie CORBA WBEM und JMX ins Spiel Siehe hierzu auch Kapitel 2 2 1 5 Standards und Entwicklungen Die Java Management Extensions JMX ist ein von Sun Microsystems und Partnern wie IBM TIBCO Bea Computer Associates und Borland entwickeltes Management Framework der dritten Generation Es basiert auf fr hen Sun Entwicklungen im Management Bereich wie der bereits 1995 also vor der Freigabe der Sprache Java entwickelten Java Management API JMAPI JMX liegt zurzeit in Version 1 0 als 2 Architekturen Technologien und Paradigmen 105 optionales Paket f r J2SE vor und es existieren neben der Referenzimplementierung bereits zwei kommerzielle auf JMX basierende Produkte Das Java Dynamic Management Kit 4 2 JDMK von Sun und Tivoli JMX von IBM 2 2 6 1 Organisationsmodell Das JMX Organisationsmodell baut auf dem allgemeinen von der OSI definiertem Organisationsmodell auf d h auch hier existieren die vier grundlegenden Komponenten auf drei Ebenen JMK Compiland Proprigtery Management Additional Management Application Web Browser Application Managemand Distributed Le C Protocol APIS JHK SHMP Manager API EIMANBEM AFI Laval THM Manager AFI D Current JMX specification Separate JSRs L Future phases of ihe JMX specification Abbildung 2 52 JMX Architektur Quelle JMX2 S 21 Die drei Ebenen der JMX Architektur und die Kernkompone
254. reibung gt Agfa Snapscan 310 Scanner lt Beschreibung gt lt Menge gt 17 lt Menge gt lt Preis gt 200 DM lt Preis gt lt Artikel gt lt Bestellung gt Abbildung 2 9 Einfaches XML Dokument Erf llt ein Dokument diese Syntaxregeln der XML wird es wie das angef hrte Beispiel als wohlgeformt wellformed bezeichnet Die Pr fung auf Wohlgeformtheit bernimmt ein nicht validierender Parser N heres dazu sp ter in Kapitel 2 1 2 3 3 Programmierschnittstellen und Parser Die Wohlgeformtheit gibt an ob ein Dokument den Syntaxregeln entspricht nicht aber ob die logische Struktur eines Dokumentes stimmt d h ob es die richtigen Elemente in der richtigen Reihenfolge enth lt ob die Anzahl der Elemente stimmt ob keine Elemente fehlen usw Hierzu wird die Semantik d h Grammatik und das Vokabular der Sprache in Form einer DTD Document Type Definition festgelegt Stimmt ein Dokument mit dieser vorgegebenen Grammatik berein wird es als g ltig valid bezeichnet Die Pr fung auf G ltigkeit bernimmt ein validierender Parser Ein g ltiges Dokument ist gleichzeitig immer auch wohlgeformt 2 Architekturen Technologien und Paradigmen 34 2 Architekturen Technologien und Paradigmen 2 1 2 3 3 Programmierschnittstellen und Parser XML Parser sind Bestandteile von Anwendungsprogrammen welche XML Dokumente verarbeiten Das hei t XML Parser analysieren Dokumente und stellen
255. reitete Implementierung der SOAP v1 1 und der SOAP Messages with Attachments Spezifikationen Auf Apache SOAP wird weiter unten 3 Ein berwachungssystem f r Bankperipherieger te 167 Open Source Produkt der Apache Group ist f r die Programmiersprachen Java C und Perl erh ltlich Zur Zeit wird an einer zweiten Version gearbeitet die aber an dieser Stelle aus Kompatibilitatsgrunden noch nicht zum Einsatz kommen soll XML Parser werden in Kapitel 2 1 2 3 3 Programmierschnittstellen und Parser detailliert erl utert Weitere Informationen finden sich unter http xml apache org xerces j UDDI4J 2 0 beta Diese unter der Schirmherrschaft von IBM entwickelte Open Source Java API und Referenzimplementierung erm glicht den programmatischen Zugriff auf eine UDDI Registry Somit ist es auf einfache Art und Weise m glich bereitgestellte oder unternehmensinterne Service Registries zu verwenden um eigene Dienste bereitzustellen oder fremde Dienste aufzufinden Weitere Informationen finden sich unter http oss software ibm com developerworks opensource uddi 4i Castor 0 93 Castor ist ein weit verbreitetes Open Source Databinding Framework f r Java welches es erm glicht Java Objekte in XML Dokumente und XML Dokumente in Java Objekte umzuwandeln Dieses Framework wird f r die SOAP Kommunikation mit komplexen Objekten ben tigt Der Autor erwartet aber dass ein solches Framework in den n chsten SOAP Implementierungen bereits entha
256. rhalten zeigt werden wir denken dass Intelligenz im Spiel ist Das folgende etwas abge nderte Beispiel aus RAWS01 soll dies verdeutlichen Ein deutscher Gesch ftsreisender trifft am Flughafen in New York ein und mietet dort sowohl Auto als auch Handy da sein Anbieter Amerika nicht abdeckt Als er zwei Tage sp ter von seinem Meeting zur ck zum Flughafen f hrt klingelt sein gemietetes Handy und seine Reiseplaner Applikation teilt ihm mit dass sein Flug Versp tung hat Das erste Mal wenn dieses Verhalten auftritt ist man sicher berrascht und mutet der Reiseplaner Applikation eine gewisse Intelligenz zu insbesondere wenn diese F higkeit vorher nicht explizit festgelegt wurde Dieses Szenario kann durch die folgende Sequenz einfacher Web Service Interaktionen aufkommen Als der Reisende Auto und Handy mietete verlangte die Reiseplaner Applikation vom Verleihservice nach den Mietvertr gen und teilte die Kosten umgehend der firmeninternen Reisekostenverwaltung mit Beim Erhalten und Aufschl sseln nach Posten bemerkt die Reisekostenverwaltung das Handy und aktualisiert damit sofort das firmeninterne Telefonverzeichnis Als sp ter 2 Architekturen Technologien und Paradigmen 57 die Reiseplaner Applikation die Abflugzeit vom Flughafen einholt und die Verspatung gemeldet bekommt fragt sie als erstes das firmeninterne Telefonverzeichnis ab erhalt die neue Handynummer und verstandigt den Reisenden Ein anderer Punkt den dieses Szen
257. rice gt lt m getLastTradePrice gt lt SOAP ENV Body gt lt SOAP ENV Envelope gt Abbildung 2 20 Beispiel f r eine SOAP Response 2 Architekturen Technologien und Paradigmen zusammen mit der Netzwerkadresse des Service Providers an die SOAP Infrastruktur d h zum Beispiel eine SOAP Client Laufzeitumgebung Diese Laufzeitumgebung interagiert mit der darunter liegenden Netzwerkinfrastruktur zum Beispiel HTTP um die SOAP Nachricht ber das Netzwerk zu versenden Im Punkt 2 bergibt die Netzwerkinfrastruktur die Nachricht an die SOAP Laufzeitumgebung des Service Providers die die Nachricht an die dahinter liegende Applikation weiterleitet Die Laufzeitumgebung ist f r die Konvertierung der SOAP Nachricht in programmiersprachenabh ngige Objekte verantwortlich Diese Konvertierung wird durch Encoding Schemas welche in der Nachricht enthalten sind und Databinding Frameworks siehe Kapitel 3 4 3 3 Castor 0 9 3 unterst tzt Nachdem der Request verarbeitet wurde wird im Punkt 3 eine SOAP Nachricht erzeugt die die Antwort auf diesen Request enth lt und auf dem gleichen Weg an den Service Requestor bergeben wird Im Falle HTTP wird der Nachricht Antwort Mechanismus des Protokolls ausgenutzt Im Punkt 4 erh lt der Service Requestor die Antwort auf seine Anfrage Die Nachricht wird auf gleichem Weg durch die SOAP Laufzeitumgebung gef hrt welche diese in Objekte der Zielprogrammiersprache konvertiert und sie dem
258. rientierte Dokumenttyp MERZ99 Merz Michael 1999 definitionen Electronic Commerce Marktmodelle Anwendungen und EWS N Technologien 1 Aufl 1999 Heidelberg dpunkt Verlag iX6 01b Wegelin Michael 2001 NET baut auf XML ROSE91 Rose Marshall T 1991 ES ST The Simple Book 1 Aufl 1991 Prentice Hall Inc iX6 01c Wegelin Michael 2001 NET baut auf XML Die Kommunikationsinfrastruktur der SKSM00 Scribner Kennard Stiver Mark 2000 en Understanding SOAP IA d Ta eee Sa JM3 00a Gro wendt Volkmar 2000 STAL93 Stalling William 1993 een ee SNMP SNMPv2 and CMIP The Practical Guide to Network g j 2 a Management Standards 1 Aufl 1993 Addison Wesley Publishing Company HMOOB ron wend NO iial 2000 Reine Formsache Elementstruktur von XML Dokumenten definieren In Java Magazin 3 2000 S 81ff JM7 00 Gro wendt Volkmar 2000 Saubere Sache Vereinfachte Kommunikation im Internet mit SOAP CT6 01 Willers Michael 2001 In Java Magazin 7 2000 S 96ff az ee JM12 00 Mathy Frank 2000 SOAP Opera Verteilte Dienste mit SOAP unter Java CUTRO1 Cutlip Rob 2001 In Java Magazin 12 2000 S 20ff Bo en JM1 01 Sch nberger Dirk 2001 i i Im Blickpunkt Microsoft NET und die neue Sprache C CW8 01a Bauer Michael 2001 m Cave NARRIN EST Web Services Methoden und Tools fur verteiltes Computing JM4 01 R wekamp Lars 2
259. rke End Tag und einen zwischen diesen Marken geklammerten Inhalt Der Inhalt kann aus weiteren strukturierten Elementen oder reinem Text bestehen Elemente k nnen auch Attribute besitzen welche in der Anfangsmarke definiert werden Ein Beispiel f r ein solches Dokument liefert Abbildung 2 9 Einfaches XML Dokument In diesem Beispiel wird ein XML Dokument dargestellt wie es im einfachsten Fall bei einer elektronischen Bestellung auftreten k nnte Eine hnlichkeit mit HTML ist vorhanden allerdings gelten folgende Regeln die in HTML nicht zwingend sind 2 Architekturen Technologien und Paradigmen Elemente durfen sich nicht Uberlappen leere Elemente k nnen in Kurzform benutzt werden Gro und Kleinschreibung der Element und Attributnamen ist entscheidend gt gt gt jedes Element muss mit einer Endmarke abgeschlossen werden gt gt Attributwerte m ssen in Anf hrungszeichen gesetzt werden lt xml version 1 0 encoding SO 8859 1 gt lt IDOCTYPE Bestellung SYSTEM Bestellung dtd gt lt Bestellung gt lt Datum gt 14 04 2001 lt Datum gt lt Kunde gt lt Name gt Roland Zack lt Name gt lt EMail gt Roland Zack t online de lt EMail gt lt Kunde gt lt Artikel Artikelnr S0019 gt lt Beschreibung gt AMD Athlon 1100 256 30 5 System lt Beschreibung gt lt Menge gt 7 lt Menge gt lt Preis gt 2100 DM lt Preis gt lt Artikel gt lt Artikel Artikelnr P00123 gt lt Besch
260. rver agent addMBean htmlAdaptor Adaptor name html port 8082 htmlAdaptor start register and start the SOAP adaptor MBean System out printin n lt RzProtoJmxAgent gt gt Creating lt RzProtoAdaptorServer gt RzProtoAdaptorServer soapAdaptor new RzProtoAdaptorServer 8089 agent addMBean soapAdaptor Adaptor name soap port 8089 soapAdaptor start package com wincornixdorf pce rzdiplomarbeit jmx adaptor JDMK 4 2 import com sun jdmk comm CommunicatorServer import com sun jdmk comm CommunicationException import javax management MBeanServer import javax management DynamicMBean import javax management NotificationListener import javax management Notification import javax management AttributeChangeNotification import javax management ObjectName 1 J2SE 1 4 import java net InetAddress import java net Socket import java net ServerSocket import java net SocketException import java io Interrupted OException import java io lOException import java io ObjectInputStream import java io ObjectOutputStream import java util Vector import java util Date import java util Enumeration fee JMX adaptor Standard MBean for sending receiving messages between SOAP framework and JMX agent lt br gt called SOAP adaptor lt br gt The super class defines a lot of generic behavior for the server part of a connector or an adaptor lt br gt listens for client req
261. ry Integration beschrieben welches in Verbindung mit WSDL eingesetzt wird Service Komposition und Workflow werden in einem WSFL Dokument beschrieben Jede Aktion welche ein WSDL Dokument einem Service Requestor zug nglich macht wird als Service Publication bezeichnet Dabei besteht die einfachste und zugleich am wenigsten dynamische M glichkeit darin das WSDL Dokument direkt an den Service Requestor zu senden Alternativ kann der Service Provider das Dokument in einer ffentlich zug nglichen UDDI Registry ver ffentlichen wo es f r den Service Requestor auffindbar ist Das Auffinden des Dokumentes geschieht ebenfalls mit Hilfe des UDDI Protokolls und wird als Service Discovery bezeichnet Da die Implementierung eines Web Services ein Softwaremodul ist liegt es nahe Web Services durch Komposition anderer Web Services zu erzeugen Hierbei existieren eine Reihe von Anwendungsgebieten So k nnten unternehmensinterne Web Services kollaborieren um Workflows abzubilden wobei nach au en hin nur ein Web Service sichtbar ist welcher die Workflow Kette anst t Eine weitere wichtige Anwendung ist die Kollaboration von Web Services verschiedener Unternehmen zum 1 IOP Internet Inter ORB Protocol ist das CORBA Protokoll f r die Kommunikation im Internet Phase zwei 2002 2004 improved infrastructure more complex transactions wird weitere Protokolle einf hren welche eine robustere Infrastruktur und komplexere Transaktion
262. s Schnittstellen Service Requestors k nnen in diesem Verzeichnis Dienste auffinden um diese zu nutzen Um das volle Potential dieser Architektur auszunutzen m ssen drei Interaktionen stattfinden welche sowohl einzeln als auch iterativ auftreten k nnen gt publish Damit auf einen Web Service zugegriffen werden kann und der Service Requestor diesen finden kann muss dessen Schnittstelle ver ffentlicht werden An welcher Stelle die Schnittstelle ver ffentlicht wird h ngt von verschiedenen Faktoren ab Ist eine dynamische Bindung gew nscht geschieht dies in der Service Registry Andernfalls kann die Schnittstellenbeschreibung auch direkt zwischen Service Provider und Service Requestor ausgetauscht werden zum Beispiel ber E Mail FTP Ver ffentlichung auf Website usw find Mit Hilfe dieser Operation erlangt der Service Requestor die Schnittstellenbeschreibung des gew nschten Dienstes Dies kann direkt oder ber das Suchen innerhalb der Service Registry geschehen Weiterhin kann diese Operation in zwei verschiedenen Lebenszyklusphasen aufgerufen werden zur Designzeit um die Schnittstellenbeschreibung zur Programmentwicklung zu verwenden und zur Laufzeit um eine dynamische Nutzung der Architektur zu erm glichen bind Durch diese Operation baut der Service Requestor eine Verbindung zum Service Provider auf und initiiert eine Interaktion Das Initiieren der Interaktion geschieht entweder durch einen direkten Aufruf einer
263. s bestehende J2EE Infrastruktur Es existieren oder befinden sich noch in Arbeit eine Reihe von Java XML APIs welche zu J2EE hinzugef gt werden m ssen um diese Architektur Web Service f hig zu machen gt JAXP Java API for XML Processing dient dem Parsen DOM SAX und Verarbeiten XSL von XML Dokumenten JAXM Java API for XML Messaging dient dem Verarbeiten und Versenden von asynchronen SOAP Nachrichten JAX RPC Java API for XML Remote Procedure Call dient dem Verarbeiten und Versenden von synchronen SOAP Nachrichten JAXR Java API for XML Registries dient dem Zugriff auf XML Registries wie ebXML Registry und UDDI Registry JAXB Java API for XML Binding dient zur Abbildung von XML Daten auf Java Objekte und vice versa Diese Technologien werden zurzeit als JAX Pack Java APIs for XML Pack ausgeliefert und sollen in das f r Mitte des Jahres 2002 angek ndigte Web Services 2 Architekturen Technologien und Paradigmen Pack integriert werden welches zus tzlich den JavaServer Faces Standard die Jakarta Tomcat Servlet JSP Engine und die Java API for WSDL enth lt Die Umsetzung des Web Services Szenarios mit Hilfe der zur Verf gung stehenden Java APIs stellt sich folgenderma en dar Eine Web Service Schnittstelle ist als Servlet oder JSP implementiert Das Servlet bzw die JSP empf ngt die SOAP Nachricht und extrahiert das XML Dokument Anschlie end wird dieses Dokument in ein ode
264. s Architecture Extensions for Financial Services und ist eine von Microsoft Siemens Nixdorf NCR und DEC entwickelte Standardschnittstelle zum Zugriff auf Bankperipherieger te Diese Schnittstelle ist Bestandteil der Windows Open Services Architecture WOSA bei der es sich um eine von Microsoft und Partnern definierte offene Client Server Architektur handelt welche im wesentlichen eine Beschreibung von 2 Architekturen Technologien und Paradigmen 119 118 2 Architekturen Technologien und Paradigmen Aber auch die Client Server Architekturen bringen in diesem Bereich viele Nachteile mit sich Softwareverteilung Softwarepflege Notwendigkeit der Anwendungsportierung aufgrund heterogener Umfelder gt gt gt kostspielige Administration der Clients gt gt hohe TCO Total Cost of Ownership aufgrund der o a Probleme Um die angef hrten Probleme zu reduzieren geht der Trend in Richtung Rezentralisierung durch Thin Client Architekturen Bei Thin Clients welche auch als Network Computer NC bezeichnet werden handelt es sich um Clients mit minimaler Hardware Ausstattung bez glich Speicher Festplatte und Prozessor NCs besitzen die Eigenschaften eines einfachen Terminals mit grafischer Benutzeroberflache Das zentrale Softwaremanagement wird vom Server durchgef hrt die Business Logik liegt auf dem Server und wird dort ausgef hrt so dass auf dem Client nur noch die Pr sentation innerhalb eines Browsers liegt Di
265. s die umfangreichsten und komplexesten Diese Standards gliedern sich in funf Kategorien gt OSI Management Framework and Overview ISO 7489 4 gibt eine allgemeine Einfuhrung in Managementkonzepte und ISO 10040 gibt einen berblick ber die restlichen Dokumente 2 Architekturen Technologien und Paradigmen gt CMIS CMIP ISO 9505 beschreibt den Common Management Information Service CMIS der Dienste f r Managementanwendungen bereitstellt ISO 9506 beschreibt das zugeh rige Protokoll das Common Management Information Protocol CMIP Systems Management Functions ISO 10164 1 14 definiert spezielle Funktionen die vom OSI Systemmanagement ausgef hrt werden k nnen Management Information Model ISO 10165 1 6 beschreibt die Management Information Base MIB welche alle OSI Objekte bez glich des Netzwerkmanagements repr sentiert Layer Management ISO 10733 10737 definieren Managementinformationen Dienste und Funktionen bezogen auf bestimmte OSI Schichten 2 2 3 1 Organisationsmodell Das Organisationsmodell des OSI Managements stellt sich folgenderma en dar Network Management Station Display Network Abbildung 2 41 Organisationsmodell des OSI Managements Grunds tzlich existieren zwei verschiedene Ans tze der Kooperation zwischen den Komponenten einer verteilten Anwendung Die erste M glichkeit wird peer to peer 2 Architekturen Technologien und Paradigmen 2 2 3 2 Informationsmodell A
266. sConnector singleton null the device manager the central controlling instance private JxfsDeviceManager manager the logger for tracing and error logging private JxfsLogger logger counter for number of startups private int startupCount 0 name of property file private String initPropertyFileName c ixfsconnector properties values to init the device manager private String Jxfs_sdm_name private String Jxfs_workstation_name private String Jxfs_config_key private String Jxfs_server_port private String Jxfs_server_name values to init the logger private String Jxfs_logFilename private int Jxfs_traceLevel tt private constructor for singleton object initializing the device manager and logger 7 private RzProtoJxfsConnector System out printin lt RzProtoJxfsConnector gt gt initializing manager JxfsDeviceManager getReference logger JxfsLogger getReference get properties this getProps public int getEventCount return this eventCount Vie listener interface method to handle StatusEvents lt br gt called by the RzProtoJxfsEventGenerator if a CashUnit is empty lt br gt then inform listeners param event an status event U public synchronized void statusOccurred JxfsStatusEvent event if event getStatus JxfsThresholdStatus JXFS_S_BIN_EMPTY JxfsLogicalCashUnit Icu JxfsLogicalCashUnit event getDetails
267. sThresholdStatus JXFS_S_BIN_EMPTY reader statusOccurred statusEvent NERRRRRRET EEE IATRETTIRN trick EKERIN AEREA NEENA ATEA E KEKANA EFT TER SEAR FIT package com wincornixdorf pce rzdiplomarbeit jxfs cassettecountersreader 1 SIXFS 2 0 import com jxfs general contains classes used in more than one other package import com jxfs control contains all the interfaces to J XFS Device Controls import com jxfs events contains all the defined J XFS events exceptions and respective llisteners import com jxfs control cdr Device Control for cash dispenser cash recycler JxfsCashRecycler Hand automatic teller machine 1 J2SE 1 4 import java util Vector Vike Listener to get J XFS operation complete events lt br gt the event JXFS_O _CDR_QUERY_CASH_UNIT inherits the cassettes information lt br gt if event arrives inform the listener lt br gt then the listener can retrieve the cassette counters information author Roger Zacharias version 1 0 7 public class RzProtoOperationCompleteListener implements JxfsOperationCompleteListener the reader to inform of events and deliver cassette info private RzProtoCassetteCountersReader reader actual info of cassette units private JxfsCashUnit cashUnit Ne The class constructor lt br gt param reader the PvJxfsCassCountReader to inform about event 7 public RzProtoOperationCompleteListener RzProtoCassetteCountersReader reader
268. sch pfungskette immer akkurat und aktuell ist und damit die Notwendigkeit der regelm igen Replikation entf llt Verlangt der Kunde Informationen zur Lieferbarkeit eines Produktes wird diese Anfrage automatisch an den entsprechenden Lieferanten weitergeleitet und von diesem beantwortet Auf gleichem Weg wird das Problem der ungenauen falschen oder veralteten Daten behoben So und auffindbar ist Entscheidend f r den Konsumenten ist also nur die Dienstbeschreibungsschnittstelle so dass aus dieser Sicht ein Web Service ein Dienst ist welcher ber eine Schnittstelle im Internet angeboten wird F r den Provider ist neben der Schnittstelle die Implementierung des Dienstes bestimmend Der Provider entscheidet welche Funktionalit t der Dienst bietet an welcher Stelle er sich zur Laufzeit befindet und wo sein Vorhandensein publiziert ist Aus der Sicht des Providers handelt es sich also bei einem Web Service sowohl um die offen gelegte Schnittstelle als auch die Software welche den Dienst implementiert Die folgende Abbildung verdeutlicht dies Consumer Provider Perspective Perspective How to do it How to build it What it does Implementation How to use it D Where to find it How to publish it Where to host it Abbildung 2 2 Web Service Perspektiven 2 1 1 2 Web Applikations Topologien Was unterscheidet die Web Service Technologie von anderen Topologien wie zum Beispiel Application Service Providing ASP oder Software on
269. se Ablaufbeschreibung ram Een UEP f r Ereignisse registrieren Use Case Nr 2 Use Case Verbindungsdaten pr fen Verbindungsdaten eingeben Z Ablauf verbi asdaten ung ltig we Zust ndigkeit Beschreibung G Ne lok Fiir Ereignisse registrieren CE Erfassung und Pr fung der Registrierungsdaten Die Verbindungsdaten IP Ger tename werden f eingegeben Kenntnisnahme der Best tigung Es wird gepr ft ob die Verbindungsdaten g ltig sind Ausnahme Verbindungsdaten ung ltig UEP f r Ereignisse registrieren Der UEP wird der Liste der Ereignisempf nger Abbildung 3 7 Prototyp Use Case Nr 2 Aktivit tsdiagramm hinzugef gt System stellt dem UEP eine Best tigung zu ae Zust ndigkeit Beschreibung Verbindungsdaten ung ltig System meldet Ung ltigkeit Neueingabe durch UEP Tabelle 3 4 Prototyp Use Case Nr 2 Ablaufbeschreibung 3 Ein berwachungssystem f r Bankperipherieger te 3 Ein berwachungssystem f r Bankperipherieger te 3 2 4 3 Use Case Ereignis weiterleiten Use Case Ablaufbeschreibung Use Case Spezifikation Use Case Ereignis weiterleiten Use Case Nr 3 Use Case Ereignis weiterleiten Use Case Nr 3 Ablauf Auf dem Peripherieger t auftretende Ereignisse s u Zust ndigkeit Beschreibung werden dem berwachungspersonal mitgeteilt Ereignis aufnehmen Vorbedingung Use Case Kunde f r Ereignisse registrieren System System nimmt Ereignis entgegen Nachbedi
270. soap gt Web Application Server SOAP Schicht RPC Router Servlet Ea Castor Framework Socket Client Socket JMX MBean Server VM SOAP Adaptg l Socket Server Request Listener JMX MBean Server J XFS gt XSD Mapper J XFS Connector RMI JIXFS Device Services Device Service Comm API WOSA XFS Physikalisches Ger t Abbildung 3 28 Prototyp Informationsflussdiagramm Kommando 184 3 Ein Uberwachungssystem fiir Bankperipheriegerate 3 6 Implementierung Auf die Implementierung soll an dieser Stelle nicht naher eingegangen werden da es in dieser Arbeit vorrangig um die Darstellung der verwendeten Konzepte geht Die Implementierung als Umsetzung dieser Konzepte ist aufgrund der bereits vorhandenen Frameworks nicht komplex Dennoch ist der Aufwand vergleichsweise hoch da die meisten Frameworks sich noch in einem sehr fr hen Stadium befinden und zurzeit kaum nennenswerte Unterst tzung seitens der Literatur existiert KAPITEL 4 Bewertung Das ist eben nichts bewunderungsw rdiges man darf nur die rechten Tasten zu rechter Zeit treffen so spielt das Instrument selbst Johann Sebastian Bach 4 Bewertung 187 Insbesondere wird diese M glichkeit durch neue Ans tze wie JavaServer Faces und Windows Forms eine weitere Bedeutung erlangen Integrierte Managementsysteme Die Arbeit mit Managementsystemen aller Arten hat gezeigt dass es am sinnvollsten ist ein Managem
271. ss mittlerweile f r fast alle Programmiersprachen und Plattformen eine SOAP Anbindung vorhanden und damit wichtige Schritte in die richtige Richtung geschehen sind Der Vollst ndigkeit halber soll an dieser Stelle das grundlegende Web Service Modell noch einmal dargestellt werden welches die Grundlage der gesamten Web Service Vision darstellt l Service Service Description Registry Service Description message y Service Service Service Description Requestor Provider SOAP Abbildung 5 1 Web Service Modell Die drei Instanzen der Web Service Architektur werden durch Sechsecke dargestellt und die Pfeile repr sentieren die Interaktionen Neben den Interaktionspfeilen sind die daf r zust ndigen Protokolle bzw Technologien angef hrt Der Service Provider stellt verschiedene Dienste auf seinem Server zur Verf gung und ver ffentlicht die Web Service Beschreibung in einer globalen Registry wo diese von jedem aufgefunden werden kann Der Service Requestor sucht in dieser Registry nach f r ihn geeigneten bzw ben tigten Diensten Als Antwort auf seine Suchanfrage erh lt er die Schnittstellenbeschreibung des gew nschten Dienstes und ist nun in der Lage auf diesen zuzugreifen um ihn zum Beispiel in eigene Applikationen einzubinden 5 Zusammenfassung 195 194 5 Zusammenfassung im Idealfall erste Feldversuche zum Beispiel in Form von vergebenen Diplomarbeiten unternehmen Die sinnvolle Nutzung der neu entstehen
272. ssettenstatus jLabel2 setText Fach jLabel3 setText ID jLabel4 setText Notenwert jLabel5 setText Anzahl Scheine jPanel1 setLayout gridLayout1 SOAP Client ftir Apache SOAP und Apache Axis package com wincornixdorf pce rzdiplomarbeit soap operatorclient castor framework classes for unmarshalling marshalling from to xml import com wincornixdorf pce rzdiplomarbeit schemata cashunitschema import com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema W J2SE 1 4 import java util Vector import java net URL import java net MalformedURLException import java io StringWriter import java io StringReader import java util Observable Castor 0 9 3 import org exolab castor xml ValidationException import org exolab castor xml MarshalException SOAP 2 2 import org apache soap rpc Call import org apache soap rpc Response import org apache soap rpc Parameter import org apache soap Fault import org apache soap Constants import org apache soap SOAPException Xerces 1 4 3 import org w3c dom Element import org w3c dom Document import org apache soap util xml DOM2Writer fae SOAP client for connecting to and communicating with the webservice lt br gt encapsulates the SOAP client layer and can be used by e g an operator GUI lt br gt two main functions lt br gt forwarding commands to webservice and get results lt br gt polling the webservice for eve
273. sszenarios erm glichen Eine weitere wichtige Aufgabe dieser Protokolle ist die Schaffung einer Sicherheitsarchitektur f r Web Services In Phase drei 2004 adaptive systems haben Web Services eine weite Verbreitung gefunden und Organisationen werden nun nicht nur ihre Systeme sondern auch ihre Gesch ftsmodelle anpassen um die Vorteile des dynamischen Verhaltens der Web Service Technologie zu nutzen Dazu geh ren das dynamische Auffinden von Gesch ftspartnern die dynamische Nutzung von entfernten Diensten und die dynamische Anpassung an nderungen aller Art Es werden sich selbst beschreibende und sich selbst heilende Systeme m glich welche sich permanent optimieren um neue M glichkeiten zu nutzen 2 1 1 7 Web Services Stack Um die Operationen publish find und bind interoperabel auszuf hren wird ein Web Services Stack ben tigt welcher auf jeder Ebene entsprechende Standards und Protokolle zur Verf gung stellt Abbildung 2 7 Web Services Stack zeigt diesen Web Services Stack Die jeweils ber einer anderen liegende Schicht nutzt die F higkeiten der darunter liegenden Schichten und baut auf diesen auf Die vertikalen Balken repr sentieren Anforderungen welche in jeder Schicht erf llt sein m ssen Der Text auf der linken Seite nennt die Standards bzw aufkommende Standards die die jeweilige Schicht adressieren Static UBD Direct e UBD HTTP FIP email MW IOF ete Abbildung 2 7 Web Services St
274. supports 5 types of requests lt br gt request for register lt br gt request for deregister lt br gt request for cassette counters lt br gt request for device status lt br gt request for is device existing lt br gt author Roger Zacharias version 1 0 7 public class RzProtoRequestHandler extends Thread the service requesting client private Socket sockClient the adaptor server connected to this request handler private RzProtoAdaptorServer adaptorServer the MBean server to which the adaptor is connected private MBeanServer mbServer streams from and to client webservice private ObjectOutputStream toClient private ObjectinputStream fromClient fee The class constructor lt br gt starting the thread to process the request and generate the response lt br gt param s the client socket param adaptorServer the connected adaptor server param mbServer the MBean Server to which the adaptor is connected 7 public RzProtoRequestHandler Socket s RzProtoAdaptorServer adaptorServer MBeanServer mbServer this sockClient s this adaptorServer adaptorServer this mbServer mbServer this toClient null this fromClient null this run TE thread starter for processing client request lt br gt 7 public void run this processRequest Vaii build connection from to client lt br gt read and identify request lt br gt process the req
275. t Inhalt die eigentlichen Informationen d h Text und Daten Elemente gt Pr sentation Definition der Ausgabe des Inhalts Als Beispiele sind RTF Dokumente Microsoft Word Dokumente PDF Dokumente und nat rlich mit HTML definierte WWW Seiten zu nennen Der Nachteil von HTML liegt darin dass der Inhalt optisch aber nicht semantisch strukturiert wird d h der Inhalt verschmilzt mit der Pr sentation HTML Tags beschreiben nur wie der Inhalt dargestellt werden soll aber nicht was er darstellt So ist es nicht m glich die dargestellten Daten aus einem HTML Dokument zu extrahieren um sie an anderer Stelle wieder verwenden zu k nnen Es kommt also zu einem Informationsverlust im Sinne der Weiterverarbeitung der Daten vollkommen andere Anforderungen an die verwendeten Kommunikations sprachen stellt XML verfolgt hierbei vier grundlegende Ans tze gt die Strukturierung der zurzeit noch unstrukturierten Informationen im WWW gt den plattform und system bergreifenden Datenaustausch zwischen Geschaftspartnern und zwischen Firmenentit ten innerhalb einer Firma gt die Beschreibung von Metadaten gt die M glichkeit der maschinellen Verarbeitung der Daten Mit XML war zun chst ein enormer Hype verbunden mittlerweile hat sich aber herausgestellt dass XML wirklich viele der beschriebenen Probleme l sen kann und damit seine Daseinsberechtigung in der IT Welt hat Die meisten Konzepte die in XML verwendet werden sind nicht neu
276. t com jxfs events contains all the defined J XFS events exceptions and respective listeners import com jxfs control cdr Device Control for cash dispenser cash recycler JxfsCashRecycler and automatic teller machine 1 J2SE 1 4 import java util Vises Dummy class to get CashUnit empty events from dummy device services lt br gt The problem that is fixed with this class is that device services lt br gt that are not connected to real hardware dummies can not create StatusEvents lt br gt This class periodically checks the cassette counters thread of a cash dispenser lt br gt and if a CashUnit is empty creates an StatusEvent and delivers it to the RzProtoEventForwarder author Roger Zacharias version 1 0 Y public class RzProtoJxfsEventGenerator extends Thread implements IJxfsOperationCompleteListener shows the status of this thread private boolean active connector to J XFS private RzProtoJxfsConnector connector device to observe private String deviceName the device control private JxfsATM atmControl event listener MBean private RzProtoEventForwarder listener vector of IDs of actually empty cash units private Vector emptyLogicalCashUnits fee The class constructor lt br gt initialize properties and the J XFS connector param listener listener that is an event forwarder param deviceName name of CashDispenser device vi public RzProtoJxfsEventGenera
277. t dieser Arbeit in der Version 1 4 vor 1 Die Object Management Group OMG ist eine internationale nicht profit orientierte hersteller bergreifende Organisation die von einigen gro en IT Firmen mit dem Ziel gegr ndet wurde die Entwicklung von objektorientierter Software und Technologie zu unterst tzen Dies geschieht haupts chlich durch die Erstellung von Richtlinien und Standards KAPITEL 2 Architekturen Technologien und Paradigmen Computers are useless they can only give you answers Pablo Picasso 2 Architekturen Technologien und Paradigmen 14 2 Architekturen Technologien und Paradigmen 2 1 Web Service Architekturen Firma X m chte im Internet die Ware W bei Firma Y bestellen wobei Y diejenige Firma sein soll welche W am kosteng nstigsten anbietet Um den g nstigsten Anbieter zu finden muss ein Mitarbeiter der Firma X mit Hilfe von Suchmaschinen und Katalogen verschiedene Anbieter ausw hlen und auf deren Webseiten nach den Konditionen recherchieren G nstiger w re es die Anforderungsparameter also Produkt Kosten Lieferbarkeit Zahlungsbedingungen usw ber eine geeignete Schnittstelle zu definieren und damit einen Software Agenten zu veranlassen alle Angebote zu durchsuchen um den optimalen Anbieter zu finden An dieser Stelle setzt die Vision des dynamischen E Business unter Nutzung der Web Services Technologie an In diesem Kapitel sollen Web Services ihre Visionen die zugrunde li
278. tArea insert result n 0 scroll back to top this commandResultArea setCaretPosition 0 write to status bar this statusBar setText Kassetteninformationen eingetroffen else if this buttonGroup1 isSelected this deviceStateButton getModel String result null try result this parent getClient sendStatusRequest deviceName catch Exception ex JOptionPane showMessageDialog this ex getMessage Fehler bei Kommando JOptionPane ERROR_MESSAGE ex printStackTrace return insert text at top commandResultArea insert result n 0 scroll back to top this commandResultArea setCaretPosition 0 write to status bar this statusBar setText Statusinformationen eingetroffen catch Exception ex ce JOptionPane showMessageDialog this ex getMessage Fehler bei called if register for events checkBox activated deactivated lt br gt Ger teauswahl JOptionPane ERROR_MESSAGE send register request ex printStackTrace yi return void registerForEventsCheckBox_actionPerformed ActionEvent e check if register request or unregister request if lexists if this registerForEventsCheckBox isSelected JOptionPane showMessageDialog this Das Ger t lt deviceName gt existiert write to status bar nicht Fehler bei Gerateauswahl JOptionPane ERROR_MESSAGE this statusBar setText Registriere diesen Client fur Ereignisse von Gerat lt devi
279. te an Eine M glichkeit die hier von Sun propagiert wird ist die Benutzung von Jini in Kombination mit JMX Dieses spontane Auffinden von Ressourcen und Netzwerkdiensten mit Jini welche dann mit JMX berwacht werden wird als Sun Spontaneous Management bezeichnet Da JMX kein eigenes Informationsmodell definiert sind im Bereich der Adapter oft noch Anpassung von Hand vorzunehmen JMX Agenten sind nicht in der Lage in einem Netz zu migrieren d h sie werden auf einem System instanziiert und befinden sich dort bis zu ihrer Zerst rung JMX ist daher als Plattform f r mobile Agenten ungeeignet 1 Die Java Virtual Machine JVM ist integraler Bestandteil der Java Plattform und dient der Ausf hrung von Java Bytecode Diese Technologie und Dienstinfrastruktur erm glicht das spontane Auffinden und Interagieren von Ressourcen in einem Netz Weitere Informationen unter http www sun com jini 2 Architekturen Technologien und Paradigmen gt Es fehlt ein einheitliches Sicherheitskonzept Es werden lediglich f r bestimmte Adapter einfache Sicherheitsmechanismen zur Verf gung gestellt Der mit JMX konkurrierende Ansatz ist CIM WBEM der DMTF welcher im Gegensatz zu JMX auf XML setzt Die Zeit wird zeigen welcher und ob sich einer dieser Standards endg ltig durchsetzten kann JMX ist wie gesagt auf jedem System welches ber eine JVM verf gt einsetzbar und profitiert daher von der breiten Ausrichtung der Java Plattf
280. te to status bar this statusBar setText Ereignis se eingetroffen for int i 0 i lt events size i this eventHistoryArea insert events elementAt i toString n 0 JPanel contentPane JMenuBar jMenuBar1 new JMenuBar JMenu jMenuFile new JMenu JMenultem jMenuFileExit new JMenultem JMenu jMenuHelp new JMenu JMenultem jMenuHelpAbout new JMenultem Imagelcon image Imagelcon image2 Imagelcon image3 JLabel statusBar new JLabel BorderLayout borderLayout1 new BorderLayout JTabbedPane jTabbedPane1 new JTabbedPane JPanel Kommandos new JPanel JPanel Ger t new JPanel JLabel jLabel1 new JLabel JRadioButton cassettelnfoButton new JRadioButton JRadioButton deviceStateButton new JRadioButton JPanel Ereignisse new JPanel JButton sendCommandButton new JButton JLabel jLabel2 new JLabel JTextArea commandResultArea new JTextArea ButtonGroup buttonGroup1 new ButtonGroup JTextArea eventHistoryArea new JTextArea JLabel jLabel3 new JLabel VerticalFlowLayout verticalFlowLayout2 new VerticalFlowLayout JPanel jPanel1 new JPanel VerticalFlowLayout verticalFlowLayout1 new VerticalFlowLayout VerticalFlowLayout verticalFlowLayout3 new VerticalFlowLayout JLabel jLabel4 new JLabel JPanel jPanel2 new JPanel public void actionPerformed ActionEvent e JMenuHelpAbout_actionPerformed e H j
281. tem out printin lt RzProtoCassetteCountersReader gt gt Query cash units of lt deviceName gt catch JxfsException e System out printin e return null wait until notified or timeout try synchronized this this wait timeout catch Exception e e printStackTrace get information about cassettes JxfsCashUnit cassettelnfo listener getCashUnit check for failure if cassettelnfo null System out printin lt RzProtoCassetteCountersReader gt gt Query for cassette counters failed else map J XFS cassette information to SSOP cassette information System out printin lt RzProtoCassetteCountersReader gt gt Query for cassette counters successful cassetteList RzProtoJxfsToSchemaMapper getCassetteList cassettelnfo System out printin lt RzProtoCassetteCountersReader gt gt Returning lt CashUnit gt return cassetteList j TEE wakes up the cassette counters reader after event occurred lt br gt U public synchronized void wakeup this notify starts the cassette counters reader lt br gt starts the connector 7 public void startup connector startup Ve shutdown the cassette counters reader lt br gt stop the connector public void shutdown Vector controls new Vector controls add atmControl connector shutdown controls this connector null this atmContr
282. ternehmen ber Lieferstatus erstellen informieren E Commerce Lieferstatus Unternehmen abfragen Abbildung 2 4 E Commerce Szenario der Zukunft 2 1 1 4 Web Services Modell Die Web Services Architektur basiert auf Interaktionen zwischen drei Instanzen welche jeweils eine bestimmte Rolle einnehmen Diese Instanzen sind gt Service Provider Der Service Provider stellt den Web Service zur Verf gung welcher einen spezifischen Dienst leistet Aus der Gesch ftsperspektive ist dies der Besitzer des Dienstes aus der Architekturperspektive derjenige welcher den Dienst hostet und den Zugriff auf diesen erm glicht Service Requestor Consumer Der Service Requestor ist der Konsument des Dienstes Er findet und benutzt den Dienst um eine bestimmte Aufgabe zu erf llen Aus der Gesch ftsperspektive ist dies das Unternehmen welches eine bestimmte Funktionalit t ben tigt aus der Architekturperspektive ist dies die Applikation welche nach einem Dienst sucht und eine Interaktion mit diesem Dienst anstrebt Die Rolle des Service Requestors kann hierbei von einem Browser welcher auf Benutzereingaben reagiert oder einem Programm ohne Benutzerschnittstelle gespielt werden Nat rlich kann der Service Requestor selbst ein Web Service sein wodurch Workflows realisiert werden k nnen 2 Architekturen Technologien und Paradigmen gt Service Registry Broker Die Service Registry bietet ein durchsuchbares Verzeichnis fur Web Service
283. the abstracted view of a resource that represents its properties as seen by and for the purpose of management A amp amp Management Sicht Management Management Nachrichten Operationen Service spezifische Operationen Abbildung 2 37 Beziehung zwischen Ressource und Managed Object Demnach werden Managed Objects beschrieben durch gt Attribute in denen Managementinformationen gespeichert werden k nnen wie zum Beispiel Parameter oder Zustandsgr en Attribute beschreiben den Zustand eines Managed Objects Sie k nnen sich ndern wenn sich der Zustand des realen Pendants ndert und gezielt durch Management Operationen manipuliert werden Operationen die auf dem Managed Object und ggf auf der berwachten Komponente selbst ausgef hrt werden k nnen wie zum Beispiel ein Ger te Reboot Operationen erm glichen den Zugriff auf ein Managed Object so dass die Menge der m glichen Operationen die Leistungsf higkeit und Komplexit t des Managed Objects beeinflusst Typische Operationen sind Lesen get Schreiben set Erzeugen create und L schen delete 1 Vgl ISO 7498 4 Funktionsmodell Im Funktionsmodell wird der Gesamtkomplex Management in Funktionsbereiche zerlegt und f r diese Funktionsbereiche entsprechende Management Funktionen definiert 2 2 2 2 Architektur Informations Organisations und Kommunikationsmodell Obgleich der Vielfalt der L sungen im Bereich Management basieren al
284. the number of bills that were EH LogicalCashUnit dis j SE NOE UUAN AGO I 1 0 rejectCount Logical information about a pense cash unit unter for reject actions ir Abbildung 3 26 Prototyp CashUnit XML Schema 3 5 3 Informationsfluss Leider existiert in der UML kein Diagramm womit sich Informationsfl sse sinnvoll darstellen lassen Doch gerade bei komplexen Systemen in welchen die Informationen verschiedene Schichten durchlaufen und dabei jeweils ein schichtspezifisches Format aufweisen ist solch ein Diagramm sinnvoll Die auf den n chsten Seiten folgenden nicht standardisierten Diagramme stellen diesen Informationsfluss dar Die erste Abbildung zeigt den Informationsfluss eines Ereignisses vom Endger t die zweite den eines Kommandos vom Client 3 Ein Uberwachungssystem fiir Bankperipherieger te Uberwachungs Client Uberwachungs Client Castor Framework xxx Framework CommAPI WOSAXFS Physikalisches Ger t Abbildung 3 27 Prototyp Informationsflussdiagramm Ereignis 3 Ein berwachungssystem f r Bankperipherieger te 183 Die abgerundeten Rechtecke stellen hierbei einzelne Prozesse bzw VMs virtuelle Maschinen dar welche miteinander kommunizieren um die Anfragen Ereignisse und Managementdaten zwischen Benutzer des Systems und Endger t durchzureichen Die verwendeten Kommunikationstechnologien sind SOAP Sockets RMI und die Comm API bzw alternativ WOSA XFS Innerhalb der Prozesse bzw
285. tierenden Technologien betrachtet werden m ssen Die Web Service Technologie dient dazu Gesch ftslogik ber das Internet zur Verf gung zu stellen wobei Technologien wie J2EE und CORBA der Implementierung dieser Gesch ftslogik dienen Da Web Services von allen Global Players der IT d h IBM Microsoft Sun HP Oracle usw propagiert werden existieren f r den Begriff Web Service eine Reihe von Definitionen Eine nach Ansicht des Autors geeignete findet sich in CBDIWS A web service provides programmable access to a capability that can be used independently of its implementation via a self describing interface based on open internet standards Ein Web Service stellt eine F higkeit capability zur Verf gung dies ist der geleistete Dienst service Der Zugriff auf diesen Dienst erfolgt via Internet Protokollen daher der Begriff web Bei diesen Protokollen handelt es sich um offene Standards d h Standards auf welche sich die Mehrzahl der Unternehmen geeinigt haben und die vom W3C verwaltet werden Weiterhin k nnen Web Services dynamisch gefunden und aufgrund des programmierbaren Zugriffs in eigene Applikationen integriert werden 2 1 1 1 Web Service Perspektiven Ein Web Service kann aus zwei Perspektiven betrachtet werden aus der Sicht des Konsumenten des Dienstes und aus der Sicht des Erbringers Provider des Dienstes F r den Konsumenten ist nur der erbrachte Dienst entscheidend d h es int
286. tierten Welt der SGML XML wird aber nicht nur zur Dokumentenverwaltung sondern auch f r den Datenaustausch benutzt siehe Kapitel 2 1 2 3 4 XML Dokumente oder Daten In DTDs k nnen dagegen nur Textelemente definiert werden was f r den Datenaustausch nicht ausreichend ist XML Schema erweitert die Funktionalit t der DTDs abw rtskompatibel und unterst tzt viele g ngige Datentypen wie String Real Boolean Date Language sowie selbstdefinierte Typen Vererbungsmechanismen Integrit tsbedingungen Listen Referenzen usw Ein weiterer Vorteil der XML Schema Sprache besteht darin dass sie selbst in XML formuliert ist und somit im Gegensatz zur DTD keinen speziellen Parser ben tigt Die Nachteile von XML Schema gegen ber der DTD sind die mittlerweile sehr gro e Verbreitung und Kenntnis von DTDs die Vielzahl von Werkzeugen und bereits auf Basis von DTDs definierten Sprachen Bei Benutzung von XML Schema wird ein Dokument nicht mehr auf G ltigkeit siehe Kapitel 2 1 2 3 1 Wohlgeformte und g ltige XML Dokumente sondern auf Schema Konformitat gepr ft Weiterhin existieren im Gegensatz zu DTDs drei Ebenen der Definition gt Typ Definition erfolgt im Schema gt Element und Attribut Deklarationen die diese Typen verwenden erfolgt ebenfalls im Schema gt Element Definitionen d h Element Instanzen erfolgt im Dokument Das folgende kurze Beispiel soll die Funktionsweise von XML Schema verdeutlichen Zuerst wird
287. tigen bergang diverser Systeme von SGMP nach CMOT zu gew hrleisten musste ein Internet Management Framework entwickelt werden dass von beiden Modellen benutzt werden konnte Dieses Framework wurde Simple Network Management Protocol SNMP genannt W hrend dieser Zeit wuchsen die Probleme und Unstimmigkeiten zwischen CMOT und SNMP Vereinigungen so dass Mitte 1989 das IAB die Idee des gemeinsamen Frameworks aufgab und eine freiheitliche Weiterentwicklung beider Ans tze beschloss Aufgrund der weiten Verbreitung und Stabilit t von SNMP wurde es Ende des Jahres als der Management Standard der Internet Welt empfohlen CMOT konnte sich aus verschiedenen Gr nden nicht durchsetzen und wird heute nur noch sehr sp rlich genutzt Seine Komplexit t und die damit verbundenen Kosten der Implementierung haben dazu gef hrt dass auch IBM als letzter sein CMIP Engagement einstellte und das CMIP CMOT Konzept gr tenteils vom Markt verdr ngt wurde SNMP verbreitete sich rasant wird permanent weiterentwickelt und ist auch heute noch der Standard f r das Management von TCP IP Netzen Einen berblick ber das Internet Management mit SNMP bietet Kapitel 2 2 4 Internet Management SNMP Zu den neueren Ans tzen z hlt das Management mit Hilfe von CORBA Hierbei existieren verschiedene Ans tze unter denen JIDM Joint Inter Domain Management am aussichtsreichsten scheint Ein anderer Ansatz ist die WBEM Initiative Web based Enterprise Mana
288. tion von XML Dokumenten in EDI Nachrichten die Darstellung eines Dokumentes in 1 EDI steht f r Electronic Data Interchange und es handelt sich hierbei um ein weit verbreitetes Datenaustauschformat f r Gesch ftsnachrichten 2 Architekturen Technologien und Paradigmen 41 42 2 Architekturen Technologien und Paradigmen unterschiedlichen Anwendungskontexten extern intern Management Mitarbeiter die Vereinheitlichung von Dokumenten das Filtern von Informationen usw XSL besteht aus zwei Sprachen aus der Transformationssprache XSLT Extensible Stylesheet Language Transformations und der Formatierungssprache XSL FO Extensible Stylesheet Language Formatting Objects XSLT ist eine deklarative Sprache mit der beschrieben wird wie ein XML konformes Dokument in ein anderes meist auch XML konformes Dokument umgewandelt werden soll Die Umsetzung kann das alte Vokabular Ubernehmen aber auch verandern oder vollstandig ersetzen Die bekanntesten Anwendungen sind die berf hrung von semantischen XML Dokumenten in Anzeigestruktur Dokumente wie HTML um diese grafisch aufbereitet in einem Browser zu prasentieren sowie das Konvertieren von XML Dokumenten zwischen verschiedenen Vokabularen also zum Beispiel zwischen dem internen Format der Firma A und dem der Firma B Eine beispielhafte Anwendung w re des automatische Generieren eines Inhaltsverzeichnis XML Dokumentes aus den Kapitel berschriften eines sehr gro
289. tionsmanagement Routing Mechanismen und Authentifizierung SOAP Body Im Body der Nachricht sind die eigentlichen Nutzdaten enthalten d h zum Beispiel die Parameter eines entfernten Aufrufs Erreikisge Cather indagendent Ekeris Abbildung 2 18 Aufbau einer SOAP Nachricht Quelle SKSM00 S 81 2 Architekturen Technologien und Paradigmen 47 Die Kommunikation via SOAP soll anhand des folgenden Szenarios verdeutlicht werden Mainframe ERP DBMS Mainframe ERP DBMS COM CORBA EJB COM CORBA EJB MQ System MQ System Web Services Web Services SOAP Client SOAP Network Protocol response request Abbildung 2 21 SOAP Kommunikation Die Grundanforderungen an einen Netzwerkknoten welcher als Service Provider bzw Service Requestor agieren will sind die Fahigkeit SOAP Nachrichten zu erzeugen und zu verarbeiten Der Service Requestor erreicht dies durch Zugriff auf entsprechende APIs der Service Provider wird in den meisten Fallen durch einen SOAP Listener realisiert der in einem Web Application Server auf SOAP Requests horcht Die SOAP Kommunikation verl uft nach folgendem Schema gt Im Punkt 1 erzeugt die Service Requestor Applikation eine SOAP Nachricht Diese Nachricht enth lt den Request welcher die entsprechende Operation des Service Providers aufruft Der Request kann sowohl ein RPC als auch ein einfaches XML Dokument sein Der Service Requestor bergibt die Nachricht 46 2 Architekturen
290. tname MyMBeans enth lt und ein entsprechender Suchausdruck k nnte alle MBeans selektieren bei denen das Attribut online den Wert false hat Wie auch beim OSI Modell ist es m glich Relationen zwischen MBeans zu definieren Dies ist vorteilhaft wenn unterschiedliche MBeans interagieren sollen oder wenn bestimmte Funktionen eines MBeans von der Existenz eines anderen abh ngig sind Bei Agent Services welche au er dem MBean Server weitere wichtige Bestandteile des Agent Levels sind handelt es sich um Objekte die den MBean Server um Managementfunktionalit ten erweitern Sie stellen Dienste zur Verf gung welche von MBeans oder vom MBean Server zur Verrichtung ihrer Aufgaben genutzt werden k nnen Es ist empfehlenswert Agent Services selbst als MBeans zu implementieren um diese auch einheitlich administrieren und berwachen zu k nnen Agent Services k nnen sowohl durch die JMX Spezifikation definiert als auch durch Drittanbieter vertrieben werden Elementare Agent Services welche in jeder JMX Implementierung zwingend enthalten sein m ssen sind gt Dynamic Class Loading Service Mit dem M Let Service Management Applet bietet JMX die M glichkeit MBeans dynamisch ber das Netzwerk zu laden und im MBean Server zu registrieren Dies erm glicht es die Funktionalit t des Agenten zur Laufzeit zur erweitern oder neuen Managementanforderungen anzupassen Relation Service Der Relation Service stellt die Funkti
291. to lt JMX MBean Server return cu fe return an already mapped DeviceStatus object received from J XFS layer lt br gt use the RzProtoJxfsStatusReader to get this information param deviceName name of device return already mapped DeviceStatus object WY public DeviceStatus getDeviceStatusObject String deviceName this requestNumber System out printin lt RzProtoCommandForwarder gt gt Getting request for lt DeviceStatus gt get J XFS info System out printIn lt RzProtoCommandForwarder gt gt Sending request to lt RzProtoJxfsStatusReader gt System out printin lt RzProtoCommandForwarder gt gt Receiving result from lt RzProtoJxfsStatusReader gt DeviceStatus ds statusReader getStatus deviceName System out printin lt RzProtoCommandForwarder gt gt Sending result to lt JMX MBean Server gt return ds Vis return true if given device exists after querying the J XFS layer lt br gt use the RzProtoJxfsStatusReader to get this information param deviceName name of device return true if device exists otherwise false 7 public Boolean isDeviceExisting String deviceName this requestNumber package com wincornixdorf pce rzdiplomarbeit imx mbeans VER defines the functionality of the RzProtoEventForwarder lt br gt author Roger Zacharias version 1 0 7 public interface RzProtoEventForwarderMBean Bis returns the number
292. to Device Status else if unmarshalClass equals Device Status unmarshalClass equals com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema DeviceStatus DeviceStatus deviceStatus DeviceStatus unmarshal reader return deviceStatus unknown else System out printin lt RzProtoOperatorClient2 gt gt lt unmarshalClass gt unknown throw new MarshalException unmarshalClass unknown param params vector of params for target method exception SOAPException exception MalformedURLException return response object from soap server 7 private Object sendRPC String soapServerUrl String webServicelD String methodName boolean xm lResponse String param String paramValue throws MalformedURLException RemoteException JAXRPCException build call Service service new Service Call call Call service createCall call setTargetEndpointAddress new URL soapServerUrl call setOperationName methodName call setProperty Call NAMESPACE webServicelD Object paramValues paramValue if paramValue null paramValues null if param null call addParameter param XMLType XSD_STRING Call PARAM_MODE_IN send RPC invoke method and get response System out printin lt RzProtoOperatorClient2 gt gt sending soap call to invoke lt methodName gt Object rpcResult call invoke paramValues System out printin lt RzProtoOperatorC
293. ton1 Size new System Drawing Size 104 23 this button1 TabIndex 4 this button1 Text Ger t w hlen this button1 Click new System EventHandler this button1_Click 4 button2 4 this button2 Location new System Drawing Point 8 328 this button2 Name button2 this button2 Size new System Drawing Size 136 23 this button2 TabIndex 7 this button2 Text Statusinformation this button2 Click new System EventHandler this button2_Click button3 4 this button3 Location new System Drawing Point 224 328 this button3 Name button3 private void label2_Click object sender System EventArgs e private void textBox1_TextChanged object sender System EventArgs e private void label1_Click object sender System EventArgs e private void Form1_Load object sender System EventArgs e private void label4_Click object sender System EventArgs e private void label5_Click object sender System EventArgs e private void button2_Click object sender System EventArgs e kkk use web service String device this textBox1 Text this textBox2 Text String result service getDeviceStatus device this label4 Text Statusinformationen erfolgreich erhalten this richTextBox1 Text result private void button3_Click object sender System EventArgs e kkk use web service String device this textBox1
294. tor RzProtoEventForwarder listener String deviceName System out printIn lt RzProtoJxfsEventGenerator gt gt initiated this connector RzProtoJxfsConnector getDefaultInstance this active false this deviceName deviceName this listener listener this emptyLogicalCashUnits new Vector N thread starter method periodically check cassette counters lt br gt if a CashUnit is empty inform the listener RzProtoEventForwarder 7 public void run while active this queryCashUnits try this sleep 5000 catch InterruptedException e e printStackTrace J starts the connector and the polling thread 7 public void startup connector startup this initCashDispenser this active true this start im stops the connector and the polling thread 7 public void shutdown Vector controls new Vector controls add atmControl connector shutdown controls this active false im Listener interface method to handle OperationCompleteEvents lt br gt get information about cash units if JXFS_O_CDR_QUERY_CASH_UNIT occurred lt br gt param event an operation complete event 7 public synchronized void operationCompleteOccurred JxfsOperationCompleteEvent event if event QUERY CASH UNIT occurred if event getOperationID IJxfsCDRConst JXFS_O_CDR_QUERY_CASH_UNIT get cash units JxfsCashUnit cashUnits JxfsCashUnit
295. tream fromClient null ObjectOutputStream toClient null try fromClient new ObjectinputStream clientConn getinputStream toClient new ObjectOutputStream clientConn getOutputStream System out printin lt RzProtoEventListener gt gt Reading and identifying event from lt RzProtoAdaptorServer gt client event String fromClient readObject System out printin lt RzProtoEventListener gt gt Event is n event notify webservice of event and so add event to event history at webService setChanged notifyObservers event release resources clientConn close fromClient close toClient close catch Exception e e printStackTrace package com wincornixdorf pce rzdiplomarbeit soap operatorwebservice 1 J2SE 1 4 import java net ServerSocket import java net Socket import java io ObjectinputStream import java io ObjectOutputStream import java util Observable VER Listens for events from JXFS JMX lt br gt socket server in listening thread get events from jmx adaptor through socket lt br gt inform webservice of events author Roger Zacharias version 1 0 7 public class RzProtoEventListener extends Observable implements Runnable listening port to jmx adaptor private int port Socket Server private ServerSocket serverSocket the listening thread private Thread thisOne shows status of the listening thread private boolean acti
296. u getType n resBuf append status Icu getStatus n String res resBuf toString return res fae send request to webservice to register this client for events from J XFS JMX exception Exception return register successfull not successfull 7 public String sendRegisterForNotificationsRequest throws Exception send rpc Boolean response Boolean this sendRPCAndUnmarshal this soapServerURL this webServicelD registerForNotifications false null Boolean class if successfull start polling thread if response booleanValue return response booleanValue Jim send RPC to web service TODO generalize and outsource to soap helper class param soapServerUrl url of soap server e g http localhost 8080 soap servlet rpcrouter param webServicelD id of webservice e g urn mywebservice param methodName remote method to invoke param xmlResponse specifies if the response is in xml literal style param params vector of params for target method exception SOAPException exception MalformedURLException return response object from soap server 7 private Object sendRPC String soapServerUrl String webServicelD String methodName boolean xmlResponse Vector params throws MalformedURLException SOAPException build call Call call new Call call setTargetObjectURI webServicelD call setMethodName methodName if xmlResponse call setEncodingStyleURI C
297. ublizieren und Suchen dieser Dienste d h es fehlt ein weltweit zugreifbarer Verzeichnisdienst Was der Namensdienst f r CORBA oder die Registry f r RMI sind ist das UDDI Universal Description Discovery Integration f r Web Services Es handelt sich hierbei prim r um eine globale Business Registry die mehrere Unternehmen gemeinsam betreiben UDDI erlaubt die Suche nach Unternehmen Branchen und Web Services Wie bei allen Informationssystemen auf der Ebene von Objekten existieren auch bei UDDI drei Phasen gt publish Der Service Provider stellt Informationen ber sich und seine angebotenen Dienste in Form von WSDL Dokumenten in die Datenbasis der UDDI Registry ein find Der Service Requestor sucht innerhalb der UDDI Registry einen geeigneten Dienst und kann ber verschiedene Einstiegspunkte gew nschte Informationen abfragen Folgende Kategorien existieren 2 Architekturen Technologien und Paradigmen o white pages Informationen Uber Unternehmen o yellow pages Branchenverzeichnis das eine branchen spezifische Suche nach Unternehmen erm glicht also eine Katalogisierung nach Produkten und Diensten darstellt o green pages Informationen zu Gesch ftsmodell Gesch ftsprozessen und Services eines Unternehmens gt bind Der Service Requestor hat einen geeigneten Dienst und seinen Service Provider gefunden und interagiert nun mit diesem UDDI kann neben der Integration von Gesch ftspartnern auch inner
298. uch die Offenlegung der Managementfunktionalit t als Web Service Der in dieser Arbeit vorgestellte Prototyp f r ein modernes berwachungssystem f r Bankperipherieger te zeigt unter anderen wie der zweite Punkt auf einfache Art und Weise realisiert werden kann Weiterhin wird gezeigt wie sich die aktuellen Technologien in den Bereichen Management Web Services und Bankperipheriezugriffsarchitekturen kombinieren lassen um ein flexibles skalierbares dynamisches offenes und auf Standards basierendes berwachungssystem f r Bankperipherieger te zu realisieren VERZEICHNISSE V Abk rzungen Abbildungen Tabellen 5 Zusammenfassung Abk rzungsverzeichnis API ACSE ADO ARM ASF ASN 1 ASP ASP B2B B2C BLOB CDATA CERN CIM CLR CMIP CMISE CMOT Application Programming Interface Association Control Service Element ActiveX Data Objects Application Response Measurement Apache Software Foundation Abstract Syntax Notation One Application Service Provider Active Server Pages Business to Business Business to Customer Binary Large Object Character Data Conseil Europ en pour la Recherche Nucl aire Common Information Model Common Language Runtime Common Management Information Protocol Common Management Information Service Element Common Management Information Service over TCP IP Common Object Request Broker Architecture Customer Relationship Management System Database M
299. uch im OSI Modell werden die Repr sentanten der zu berwachenden Ressourcen als Managed Objects MOs bezeichnet Ein MO kann ein Ger t z B einen Router Teile eines Ger tes z B die einzelnen Ports eines Switches nicht physische Ressourcen z B Eintr ge in Management relevante Log Files oder auch einzelne Verbindungen eines verbindungsorientierten Protokolls repr sentieren Die Schnittstelle vom MO zum umgebenden System bzw der das MO kontrollierenden Agenten wird Managed Object Boundary MOB genannt Von Bedeutung f r die Management Architektur ist dabei nur die Information die an der MOB sichtbar ist die Implementierung der MOs hingegen ist nicht standardisiert Die Gesamtheit aller sich in einem System befindlichen MOs wird auch hier als Management Information Base MIB bezeichnet Der Rahmen zum Entwurf der MIB und zur Festlegung der Datentypen wird von der Structure of Management Information SMI in ISO 10165 siehe auch Abbildung 2 40 OSI Management Standards gestellt welche stark mit objektorientierten Konzepten arbeitet SMI legt folgende Punkte fest gt Modell f r Managed Objects und deren Attribute Hier erfolgt eine detaillierte Beschreibung der MOs deren Attribute Operationen Meldungen und Verhaltensweisen Die Spezifizierung der MOs geschieht durch Erstellung von Managed Object Classes MOCs aus denen dann die MOs instanziiert werden Weiterhin sind auch hier folgende objektorientierte Ans tze vorhanden
300. ueller Fehler vom berwachungssystem automatisch erkannt und daraufhin ein Reboot des Peripherieger tes veranlasst welcher in vielen F llen ausreicht um die Funktionst chtigkeit des Ger tes wieder herzustellen Eine zuverl ssige SB Hard und Software fr hzeitiges Erkennen und Beheben von Betriebsst rungen eine unkomplizierte Administration und Endkundenbedienbarkeit sind die Schl sselfaktoren f r den erfolgreichen Betrieb eines Selbstbedienungsnetzwerkes und unabdingbar f r eine hohe Akzeptanz und Zufriedenheit sowohl bei SB Kunden als auch bei den Betreibern dieser Systeme Bestehende berwachungs und Administrationssysteme f r SB Netzwerke erf llen zwar zuverl ssig ihren Zweck gen gen aber den weiter oben angesprochenen neuen Anforderungen nicht mehr Insbesondere die hohen laufenden Kosten erfordern neue Konzepte in diesem Umfeld Zum Beispiel ist die Gesch ftslogik auf den Endger ten gelagert und nicht zentral implementiert nderungen sind somit auf jedem Endger t erneut durchzuf hren welches einen zeitaufwendigen und kostenintensiven Prozess darstellt Gefragt sind flexible dynamische skalierbare integrierte und web f hige Managementsysteme welche zus tzlich die bereits get tigten hohen Investitionen in vorhandene Systeme sch tzen Ein erster Schritt in diese Richtung soll der in den folgenden Kapiteln vorgestellte Prototyp sein 3 1 1 Management von und durch Web Services Zun chst soll erl utert we
301. uest and generate response by getting information from MBeans lt br gt Y private void processRequest System out printin lt RzProtoRequestHandler gt gt Processing lt RzProtoOperatorWebService gt client request String try clientRequest null fromClient new ObjectinputStream sockClient getiInputStream toClient new ObjectOutputStream sockClient getOutputStream System out printin lt RzProtoRequestHandler gt gt Reading and identifying request from lt RzProtoOperatorWebService gt client clientRequest String fromClient readObject System out printin lt RzProtoRequestHandler gt gt Request is n clientRequest catch Exception e e printStackTrace identify type of request request for register if clientRequest equals register register client for notifications System out printin lt RzProtoRequestHandler gt gt Request for lt notification registering gt received return Registration successful to web service System out printin lt RzProtoRequestHandler gt gt Return Registration successful to lt RzProtoOperatorWebService gt runtime workaround try Thread sleep 500 catch Exception e this sendClientResult new Boolean true register this client for notifications this adaptorServer registerClient this sockClient request for deregister else if clientRequest equals deregist
302. uests and creates threads for processing multiple request concurrently lt br gt listens to notifications from RzProtoEventMBean and forwards them to webservice gt client lt br gt this adaptor can be started stopped with the inherited methods start stop lt br gt when unregistered from MBean Server it is automatically stopped author Roger Zacharias version 1 0 7 public class RzProtoAdaptorServer extends CommunicatorServer implements NotificationListener A ET PERE SRE Bet MBean attributes Rh hah ede T sit sited port to listen on for client webservice requests private int listeningPort lt contig Server Socket to listen for client requests private ServerSocket serverSocketListener socket representing a client private Socket clientSocket socket representing the registered client private Socket registeredClientSocket port of client webservice receiving events private int eventReceiverPort lt config host of client webservice receiving events private String eventReceiverHost lt config nae ae ety MBean constructors DARA Sane RER NER The class constructor JMX Adapter package com wincornixdorf pce rzdiplomarbeit jmx adaptor 1 J2SE 1 4 import java net Socket Wists defines the functionality of the RzProtoAdaptorServer lt br gt author Roger Zacharias version 1 0 7 public interface RzProtoAdaptorServerMBean VER deliver protocol
303. um Produkte und Dienste anzubieten Als n chsten Schritt wollten Unternehmen Transaktionen mit ihren Kunden ber das Internet abwickeln und so entstand das application web Dieses besteht aus Applikationsservern die dynamische HTML oder WML Seiten aus serverseitiger Gesch ftslogik erzeugen was den Beginn des E Commerce darstellte Nun wollen die Unternehmen ihre Prozesse ber das Internet mit anderen Unternehmen integrieren und es entsteht das Service Web Dieses besteht aus Web Application Servern welche mittels SOAP kommunizieren und die Informationen in XML austauschen 2 1 7 Auswirkungen auf Gesch ftsprozesse und modelle Businesses that ignore its potential or decide to sit out its early stages will find themselves outpaced by rivals that take advantage of Web Services to improve their agility and even to transform themselves into new kinds of enterprises Mit der Etablierung der Web Services Technologie wird mit einer weitreichenden Ver nderung der Gesch ftsprozesse gerechnet Nach Gartner ist sogar mit dramatischen Auswirkungen auf die Gesch ftswelt zu rechnen weshalb folgende Voraussagen gemacht werden gt Im zweiten Halbjahr 2002 werden 75 der Unternehmen mit mehr als 100 Millionen Dollar Umsatz teilweise durch Web Services verbunden sein Aussagenwahrscheinlichkeit bei 80 Im ersten Halbjahr 2003 werden 50 der Unternehmen mit weniger als 100 Millionen teilweise durch Web Services verbunden sei
304. ung die einem verbesserten Management zukommt ist enorm f r 18 der Befragten ist diese zumindest wichtig f r 51 sehr wichtig und f r 27 sogar u erst wichtig Die Anzahl der in Kombination eingesetzten Werkzeuge ist erstaunlich hoch was darauf hinweist dass integrierte Gesamtsysteme die den gesamten Anforderungsbereich abdecken gefragt sind Das gr te Problem im Zusammenhang mit Managementsystemen ist qualifiziertes Personal Diese Tatsache deutet darauf hin dass viele dieser Systeme zu komplex oder nicht intuitiv bedienbar sind In der Tat ist die Bedienerfreundlichkeit oft auf relativ niedrigem Niveau denn die Bildschirmausgaben der Werkzeuge m ssen in vielen F llen durch das Know how eines Experten erg nzt werden Weitere M ngel derzeitiger Systeme die aus dieser Studie nicht direkt abgeleitet werden k nnen sind Probleme bei der Fehlerdiagnose mangelhafte Schwachstellenanalysen und oftmals unzureichende Statistikfunktionen 2 2 1 5 Standards und Entwicklungen Bei der Betrachtung des Themengebiets Management in Bezug auf seine technologische Basis lassen sich drei grunds tzliche Entwicklungstendenzen entdecken gt Der OSlI Standard Open Systems Interconnect der sehr m chtig und theoretisch fundiert ist aber aufgrund seiner Komplexit t noch wenig Verbreitung gefunden hat Der Standard der TCP IP Welt das Simple Network Management Protocol SNMP welcher bereits ein weites Einsatzfeld vorweisen kann a
305. unitschema 1 J2SE 1 4 import java net Socket import java net SocketException import java io IOException import java io ObjectInputStream import java io ObjectOutputStream import java io StringWriter import java io ByteArrayInputStream import java util Vector import java util Observer import java util Observable Xerces 1 4 3 import org w3c dom Document import org w3c dom Element import javax xml parsers DocumentBuilder import javax xml parsers DocumentBuilderFactory import javax xml parsers ParserConfigurationException a WebService that exposes the management application interface lt br gt 6 WebService methods lt br gt register for notifications lt br gt deregister for notifications lt br gt get undelivered events lt br gt check if device ist existing lt br gt get cassette counters lt br gt get device status lt br gt socket client to jmx adaptor for sending requests to JXFS JMX lt br gt observer of RzProtoEventListener to get events from JXFS JMX lt br gt This web service runs fine in Apache SOAP but there are some problems in Apache Axis lt br gt TODO Registry auslagern author Roger Zacharias version 1 0 7 public class RzProtoOperatorWebService implements Observer the event listener that listens for events from JXFS JMX private RzProtoEventListener eventListener Event Container Registry TODO Registry
306. uss jeder Zugriff auf das Netz bzw die Ressourcen protokolliert und entsprechend ausgewertet werden 88 2 Architekturen Technologien und Paradigmen zum Erfolg d h zur Herausgabe des ersten Standards zum OSI Management Diese wurden und werden seitdem noch verbessert und erweitert Das OSI Management ist die erste und bisher einzige Management Architektur welche alle vier Teilmodelle siehe Kapitel 2 2 2 1 Teilmodelle einer Managementarchitektur detailliert spezifiziert Damit kommt dem OSl Management wie auch dem ISO OSI Schichtenmodell im Bereich Rechnernetze die Rolle einer Referenzarchitektur zu Die praktische Relevanz des OSI Managements ist im Vergleich zum Internet Management insbesondere im Bereich privater Netze eher gering auch hier sei der Vergleich zum ISO OSI Schichtenmodell erlaubt Bei ffentlichen Netzen dagegen ist es als Basis f r das Telecommunications Management Network TMN von Bedeutung Einen berblick ber die zum OSI Management geh renden Standards gibt folgende Abbildung DOS basierte TCP IP basierte Welten Novell Microsoft LANs Netware LAN Manager Layer 6 Presentation lock SMB Transmission Comtz01 Protocol TCP Layer 2 rochukt 8022LLC Data Link sect DXMCOMOD SYS Media Access L Tretter_ 802 Mac a MAC 10Bas5 Toker Ring IEEE3023 Abbildung 2 40 OSI Management Standards Unter allen Standards die von der ISO entworfen wurden sind die OSI Systems Management Standard
307. utomaten Kontoauszugdrucker und Informationsterminals ist eine komplexe Angelegenheit Banken tendieren dazu diese Ger te und entsprechende Software bei einer Reihe von Herstellern zu erwerben Oft haben oder hatten diese Hersteller unterschiedliche Schnittstellen zum Zugriff auf diese Ger te und verwendeten propriet re Protokolle wodurch die Entwicklung von Anwendungen ein detailliertes Know how ber ger tespezifische Interna erforderte Seit einiger Zeit existieren verschiedene Bem hungen den Zugriff und die Nutzung von Bankperipherieger ten zu standardisieren und damit u a die Komplexit t zu reduzieren 2 3 1 Historie Selbstbedienungssoftware Architekturen welche die Technologien zum Zugriff auf Bankperipherieger te beinhalten unterlagen im Laufe der Zeit einer Reihe von Ver nderungen und entwickelten sich von monolithischen zu verteilten Anwendungen Folgende Entwicklungen die nicht jeweils das Ende der vorhergehenden ra bedeuten sondern koexistieren lassen sich nachvollziehen gt ca 1980 1994 Cluster Architektur gt 1994 1998 Client Server Architektur WOSA XFS gt seit 1998 Network Computing und Thin Client Architektur J XFS Bei den Cluster Architekturen beherrschten unflexible teure und propriet re L sungen vor so dass es wie bereits angesprochen immer wieder Standardisierungsbem hungen in diesem Bereich gab Erste Erfolge konnte 1993 WOSA XFS verbuchen WOSA XFS steht f r Windows Open Service
308. ve JE The class constructor lt br gt param port the port to listen for events yf public RzProtoEventListener int port System out printin lt RzProtoEventListener gt gt initializing this port port this serverSocket null this thisOne new Thread this this active false fae thread starter method starts server socket and wait for connections lt br gt jmx adaptor delivers events through socket lt br gt inform webservice if events came in 7 public void run this active true try System out printin lt RzProtoEventListener gt gt Binding socket listener to port port serverSocket new ServerSocket port catch Exception e e printStackTrace System out printin lt RzProtoEventListener gt gt Listening for events while active JMX Agent package com wincornixdorf pce rzdiplomarbeit jmx agent MBeans to register command forwarder event forwarder and the SOAP adaptor import com wincornixdorf pce rzdiplomarbeit jmx mbeans RzProtoCommandForwarder import com wincornixdorf pce rzdiplomarbeit imx mbeans RzProtoEventForwarder import com wincornixdorf pce rzdiplomarbeit jmx adaptor RzProtoAdaptorServer JDMK 4 2 import javax management ObjectName import javax management MBeanServer import javax management MBeanServerFactory import javax management MalformedObjectNameException import javax management NotComplia
309. vent QUERY CASH UNIT occurred if event getOperationID IJxfsCDRConst JXFS_O_CDR_QUERY_CASH_UNIT f get cash units JxfsCashUnit cashUnits JxfsCashUnit event getData get logical units in the cash unit Vector logicalCashUnits cashUnits getLogicalUnits get information of every cash unit System out printin nKassetten for int 0 i lt logicalCashUnits size i JxfsLogicalCashUnit Icu JxfsLogicalCashUnit logicalCashUnits elementAt i String unitld Icu getUnitID int value Icu getCashType getValue int count Icu getCount int initialCount Icu getlnitialCount JxfsThresholdStatus ts Icu getThresholdStatus boolean isEmpty ts isEmpty System out printin Geldkassette mit value 100 DM Scheinen System out printIn Anzahl Scheine count if cash unit is empty generate status event JxfsStatusEvent source status if isEmpty JxfsStatusEvent statusEvent new JxfsStatusEvent atmControl JxfsThresholdStatus JXFS_S_BIN_EMPTY try atmControl fireStatusEvent statusEvent catch Exception e e printStackTrace build text representation for gui String cassettelnfo i t unitld t value 100 t count this cassetteFields addElement cassettelnfo Tae Listener interface method to handle StatusEvents lt br gt param event an status event ef public synchronized void statusOccurred JxfsStatusEvent eve
310. verschiedene Werkzeuge Einrichtungen und Verfahren Ende der 80er Jahre erforschten mehrere unabh ngige Gruppen Management Protokolle Das fr heste Modell war das High Level Entity Management System HEMS doch obwohl es in Versuchs Netzwerken volle Funktionalit t bewies wurde es im Internet nie angewandt Wenig sp ter wurde ein weiteres Modell durch die OSI Gruppe vorgestellt Es handelte sich hierbei um eine TCP IP f hige CMIP Version dem so genannten CMIP over TCP IP CMOT Anfang 1987 begann eine andere Gruppe am Simple Gateway Monitoring Protocol SGMP zu arbeiten SGMP war sehr einfach aufgebaut und m helos zu integrieren so dass es Ende des Jahres bereits in 80 2 Architekturen Technologien und Paradigmen Informationen ber Uberwachte Objekte z B Drucker Applikationen Betriebssysteme zu definieren und diese Informationen ber XML und HTTP verf gbar zu machen Eine Erl uterung der verschiedenen Facetten des Managements mit Hilfe von CORBA und dem WBEM Ansatz ist nicht Gegenstand dieser Arbeit Der dritte der neueren Ans tze welcher insbesondere von Sun vorangetrieben wird und ein wichtiger Bestandteil dieser Arbeit ist sind die Java Management Extensions JMX in die Kapitel 2 2 6 JMX Die Management Architektur von morgen einen Einblick bietet 2 Architekturen Technologien und Paradigmen 2 2 2 Terminologie und grundlegende Konzepte 2 2 2 1 Teilmodelle einer Management Architektur Eine Management
311. von Attributwerten o M SET Modifikation von Attributwerten o M CANCEL GET Abbruch eines M GET Dienstaufrufes o M ACTION Aufruf einer Operation eines Managed Objects o M CREATE Erzeugung eines Managed Objects o M DELETE L schen eines Managed Objects gt Management Notification Services Aufgabe dieser Dienstklasse ist es in einem Netzwerk ber Ereignisse zwischen 96 2 Architekturen Technologien und Paradigmen zwei Partnerinstanzen zu berichten Diese Instanzen fungieren hierbei in der Manager Agenten Beziehung Als einziges Dienstprimitiv findet sich o M EVENT REPORT Ereignisweiterleitung vom Agenten an Manager Management Association Services Die Dienste dieser Klasse kontrollieren die Anwendungsassoziationen zwischen den beteiligten Systemen In erster Linie sind dies Assoziationsaufbau und abbau Beteiligte Dienste sind o M INITIALIZE richtet eine Assoziation mit einem Partner ein o M TERMINATE beendet eine Assoziation mit einem Partner normal o M ABORT bricht die Assoziation abrupt ab 2 2 3 4 Funktionsmodell Managementaufgaben sind vielseitiger Art und k nnen daher Funktionsbereichen so genannten System Management Functional Areas SMFAs zugeordnet werden ISO schl gt eine Einteilung in f nf Kategorien den so genannten FCAPS vor FCAPS steht hierbei f r Fault Management Configuration Management Performance Management gt gt gt Accounting Management Abrechnungs Management gt gt S
312. wicklungs und nderungsprozess implizierten Teilweise musste um die volle Funktionalit t der Technologien auszunutzen auf Alpha Versionen zur ckgegriffen werden was die Arbeit nicht immer erleichterte aber nat rlich sehr interessant machte Zur Konzeption und Realisierung des Prototyps bediente sich der Autor einer Kombination aus dem Rational Unified Process und ausgew hlten Elementen des Extreme Programming Diese Vorgehensweise kann nach Meinung des Verfassers f r Projekte in diesem Rahmen sehr empfohlen werden da sie sich insbesondere durch schnelle Reaktionsm glichkeiten bei st ndig wechselnden Anforderungen auszeichnet IV DANKSAGUNGEN An dieser Stelle m chte ich mich bei meinen Betreuern f r die geleistete Unterst tzung bedanken insbesondere bei Herrn Prof Dr Kaufmann der in einigen Gespr chen und vielen E Mails durch zahlreiche Anregungen zum Gelingen dieser Arbeit beigetragen hat Mein Dank geht auch an meine Kollegen die durch anregende Diskussionen und konstruktive Kritik sowie aufmunternde Worte einen wichtigen Teil beitrugen insbesondere an die die Angst hatten an dieser Stelle vergessen zu werden Herrn Dipl Ing Peter Diel und Herrn Dipl Math Gerhard Schneider F r ihre Unterst tzung m chte ich mich bei meinen Eltern und Schwiegereltern bedanken Weiterhin bedanke ich mich bei meinen Kommilitonen und Freunden die mir durch ihr gro es Interesse an dieser Arbeit durch Frag
313. work bietet gt eine Client seitige API zum Zugriff auf beliebige Web Services d h die M glichkeit SOAP Nachrichten zu senden und zu empfangen gt eine Server seitige Infrastruktur um Web Services zu hosten gt RPC und Messaging via HTTP und SMTP Der grundlegende Aufbau stellt sich folgenderma en dar Client Application a Apache SOAP API Apache SOAP Listener RPC Router Servlet Apache SOAP Library API Server Application Abbildung 3 17 Apache SOAP Framework Apache SOAP erm glicht somit die Erstellung und Benutzung von Web Services auf Java Basis Beide Prozesse sind aus Sicht des Autors intuitiv und einfach gestaltet wodurch eine problemlose Entwicklung erm glicht wird Zur Erstellung eines SOAP 1 Noch intuitiver ist jedoch die Entwicklung mit Microsoft Visual Studio NET siehe Kapitel 2 1 6 3 Microsoft NET 3 Ein Uberwachungssystem f r Bankperipherieger te 169 Clients werden Klassen der Apache SOAP API genutzt siehe Abbildung 3 19 Einfacher Apache SOAP Client Ein Web Service kann eine einfache Java Klasse ohne Kenntnis des Frameworks sein Diese muss aber deployed werden damit das Framework Kenntnis von dieser hat Dieser Vorgang geschieht Uber entsprechende Deployment Deskriptoren oder eine grafische Administrator Oberflache Ist dies geschehen kann von au en auf den Web Service zugegriffen werden wobei ein Servlet alle eingehenden Anfragen entgegennimmt und an den entsprechende
314. xmins soap http schemas xmlsoap org wsdl soap xmins http schemas xmlsoap org wsdl gt lt types gt lt schema targetNamespace xmiIns http www w3 org 2000 10 XMLSchema gt lt element name TradePriceRequest gt 52 2 Architekturen Technologien und Paradigmen Implementierung zu erzeugen Ein weiterer wichtiger Weg ist der umgekehrte Man kann mit speziellen Werkzeugen aus einem bereits vorhandenen WSDL Dokument Code generieren Hierbei gilt es zwei M glichkeiten zu unterscheiden Die erste M glichkeit besteht darin einen so genannten Client Service Proxy zu generieren welcher nun die Kommunikation mit dem Web Service kapselt und dem Entwickler erm glicht mit dem Web Service wie mit einem lokalen Objekt zu arbeiten Die zweite M glichkeit besteht darin ein Web Service Implementation Template zu erzeugen zu dem der Anwendungsentwickler nur noch die applikationsspezifischen Details implementieren muss Die allgemeine Definition eines Web Service kann nun durch eine technische Definition erg nzt werden Ein Web Service ist eine Softwarekomponente mit den folgenden Eigenschaften gt Der Zugriff geschieht ber eine SOAP basierte Schnittstelle gt Die Schnittstelle wird ber ein WSDL Dokument beschrieben 2 1 5 UDDI Universal Description Discovery Integration Web Services lassen sich mit SOAP aufrufen und mit WSDL beschreiben Als drittes Grundelement bedarf es noch eines Instrumentariums zum P
315. xmlElement String unmarshalClass throws ValidationException MarshalException System out printin lt RzProtoOperatorClient gt gt unmarshalling lt XML element gt to lt unmarshalClass gt element to string because StringReader is desired DOM2Writer dom2writer new DOM2Writer String xmlDocument dom2writer node ToString xmiElement StringReaderreader new StringReader xmIDocument unmarshal to CashUnit if unmarshalClass equals CashUnit unmarshalClass equals com wincornixdorf pce rzdiplomarbeit schemata cashunitschema CashUnit CashUnit cashUnit CashUnit unmarshal reader return cashUnit unmarshal to Device Status else if unmarshalClass equals DeviceStatus unmarshalClass equals com wincornixdorf pce rzdiplomarbeit schemata devicestatusschema DeviceStatus DeviceStatus deviceStatus DeviceStatus unmarshal reader return deviceStatus unknown else System out printin lt RzProtoOperatorClient gt gt lt unmarshalClass gt unknown throw new MarshalException unmarshalClass unknown this pollintervall 10 this soapServerURL http localhost 8080 axis servleV AxisServlet this webServicelD RzProtoOperatorWeb Service ee thread starter method periodically check for events by polling the webservice lt br gt if there are new events inform observer e g GUI zi public void run while active che
316. yse und Entwurfsphase in der man sich erst in der Entwurfsphase auf die Technologien und Programmiersprachen festlegt hat sp testens jetzt leider nur noch rein akademischen Charakter 1 Hierbei handelt es sich um ein auf dem JavaServer Pages Standard aufbauendes Framework womit sich auf einfache Art und Weise HTML Client GUls erstellen lassen Es gleicht eine Art Java Swing f r HTML Browser Eine kurze Beschreibung dieser Technologie findet sich in Kapitel 2 1 6 3 Microsoft NET 186 4 Bewertung 4 Bewertung Das Ziel dieser Arbeit war es in die Gebiete der Management und Web Services Architekturen einzuf hren deren Vor und Nachteile Einsatzgebiete und Entwicklung zu diskutieren und sie sowie entsprechende state of the art L6sungen dem Leser n her bringen Des Weiteren sollten basierend auf diesen Erkenntnissen durch die prototypische Konzeption und Realisierung eines berwachungssystems f r Bankperipherieger te die enormen M glichkeiten und Potentiale aufzeigt werden wie durch die Kombination von Management und Web Services Architekturen lose gekoppelte plattformunabh ngige leicht integrier und adaptierbare Management Systeme erstellt werden k nnen Der erste Aspekt der Zielstellung wird durch Kapitel 2 Architekturen Technologien und Paradigmen abgedeckt in dem eine detaillierte Betrachtung dieser Bereiche erfolgt Der zweite Aspekt welcher den praktischen Teil dieser Arbeit bildet ist in Ka

Download Pdf Manuals

image

Related Search

Related Contents

La qualità percepita: il metodo in un case history (seconda parte)    Orieme LILLIPUT 11  取扱説明書 - ムサシインテック  Manual del propietario y procedimientos de  MICROgarde Controller User Guide  www.rodania.com  baas sa-me - Schneider Electric    Plantronics MX150/MX153 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file