Service-Orientierte Architekturen

Größe: px
Ab Seite anzeigen:

Download "Service-Orientierte Architekturen"

Transkript

1 Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 5: Web Services II Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha Alda

2 (Vorläufiger) Aufbau der Vorlesung Kapitel Thema 1 Organisation, Einführung in Software-Architekturen 2 Einführung in Service-Orientierte Architekturen 3 Design Prinzipien von Service-Orientierten Architekturen 4 (11.5.) Web Services I (SOAP, WSDL) 5 (18.5.) Web Services II (Axis2) 6 (25.5.) Modellierung von Geschäftsprozessen (BPEL, BPMN) 7 (1.6.) Vertiefung und Backup Web Services 8 (8.6.) REST Architekturen 9 (15.6.) Einführung in Swordfish 11 (22.6.) Exception Handling in SOA (Gastvortrag) 12 (29.6.) SOA Point of View von Accenture (Gastvortrag) Folie 2

3 Ziele dieser Unterrichtseinheit Grundlagen des Web Services Framework verstehen Implementierungen eines Web Service basierend auf AXIS2 verstehen und eigenständig anwenden können Analyse von AXIS2 in Hinblick auf die Entwurfsprinzipien einer SOA Folie 3

4 Aufbau dieser Veranstaltung Kapitel 5: Einführung in Web Services, Teil 2 1 Überblick über AXIS2 2 Service-Entwicklung mit AXIS2 3 Aufrufmuster in AXIS2 (inkl. WS-Addressing) 4 Bewertung von AXIS2 5 Zusammenfassung und Ausblick Folie 4

5 Aufbau einer SOAP-basierten Web Services Architektur Return possibleservices : WSDL[ ] UDDI (-compatible) Directory Discover aservice SOAP SOAP Publish aservice : WSDL Service Consumer SOAP Service Bind / Interaction Web Service Provider Web Service aservice : WSDL SOAP XML-basiertes Nachrichtenformat für den Aufruf / Interaktion mit einem Web Service WSDL (Web Service Description Language) XML-basierte Meta-Sprache zur Beschreibung der Schnittstelle eines Web Service UDDI (Universal Description, Discovery and Integration) Directory-Service für die Publikation und Suche von Web Services

6 Überblick AXIS2 Laufzeitumgebung für Web Services basierend auf den W3-Standards SOAP und WSDL Bibliotheken für die Erstellung von Web Service-Clients Tools für die automatische Generierung von Source Code und WSDL- Dokumenten Plug-ins für Eclipse für das vereinfachte Deployment eigener Services und für eine vereinfachte Code-Generierung Web-Oberfläche für die Administration von AXIS2 bzw. von Web Services Weitere Infos unter: Folie 6

7 Installation von AXIS2 Zwei Installationen von AXIS2 sind verfügbar: Aktuelle Version: Version Standard Binary Version Entwickler-Version mit vielen Beispielen und einen Standalone Web Server zum Testen von Web Services Entwicklungstools (Java2WSDL und WSDL2Java) WAR Distribution Version für das Deployment von Web Services (ohne Entwicklungstools) Download als.war File (axis2.war), das in jedem Servlet Container installiert werden kann (z.b. Tomcat) File muss in das Directory../webapps/ kopiert werden Folie 7

8 Servlet und Servlet Container Ein Servlet ist eine Java-Klasse (package javax.servlet.*), mit der ein Java Programm ein HTTP-Request empfangen und verarbeiten kann. Kapselung des HTTP-Requests in eine objektorientierte Struktur (Klasse HttpServletRequest) Zentrale Methoden: doget(), dopost(), doput(), dodelete() u.a. Ausgabe von dynamischen HTML oder XML Code Implementierung der Java Servlet API (aktuell: 3.0) von der Firma SUN Folie 8

9 Servlet und Servlet Container POST web/my HTTP/1.1 Host myserver.com Content-Type: application/ soap+xml Web Browser, Java Programm. Mini -HTTP-Server Servlet-Container (Java) doget() Servlet Anwendung 1 doget() Servlet Anwendung 2 Application-Server Servlet-Klassen müssen in speziellen Laufzeitumgebungen (Servlet Container) installiert werden Servlet-Container nimmt einen HTTP-Request entgegen und kompiliert diesen in ein Java-kompatibles Format Übergabe des Request an Methode doget() bzw. dopost() eines selektierten Servlets (Bestimmung durch URL) Folie 9

10 Architektur von AXIS2 (High-Level View) POST web/my HTTP/1.1 Host myserver.com Content-Type: application/ soap+xml SOAP Envelope. <<Service Consumer>> Mini -HTTP-Server Servlet- Container (Java) dopost() AXIS2 (= Servlet-Anwendung) Web Service n Web Service 1 Application-Server Deployment von AXIS2 als Servlet-Anwendung in einem Servlet-Container Weiterleitung des kompilierten HTTP-Requests inkl. SOAP-Envelope an AXIS2, hier Selektion und Aufruf an den Service (durch URL bestimmt) Folie 10

11 Handler in AXIS2 Handler dienen dazu, die Kernfunktionalität von AXIS2 zu erweitern, indem sie bestimmte Funktionen implementieren, die dann in den Verarbeitungsprozess ein- und ausgehender Nachrichten eingefügt werden können. Nicht zu verwenden für anwendungsspezifische Daten ( SOAP Body) Nur Auswertung von anwendungsunabhängigen Daten ( SOAP Header) Anwendung: Logging Überprüfung von sicherheitsrelevanten Aspekten Transaktionen Sessionverwaltung Erweiterte Adressierungskonzepte Folie 11

12 Handler in AXIS2 Implementierung von Handlern nach einer generischen Schnittstelle Interface org.apache.axis2.engine.handler Wichtige Methode: InvocationResponse invoke( MessageContext context ) Definition von Handler in Handler-Flows Eingehende Flows (Behandlung von eingehenden Requests) Ausgehende Flows (Behandlung von ausgehenden Responses) Handler können Abhängigkeiten zu anderen Handlern oder aber auch Angaben zur Reihenfolge mitbestimmen Definition und Verwaltung der Flows in der Konfigurationsdatei axis2.xml Folie 12

13 Module in AXIS2 Mit Modulen kann die Funktionalität von AXIS2 erweitert werden (Plugin Konzept) In den meisten Fällen realisieren Module Funktionserweiterungen, indem sie mehrere zusammenhängende Handler installieren, die dann für bestimmte Services zugeordnet werden können Module können auch Web Services enthalten Beispiele: WS-Addressing WS-Security WS-AtomicTransactions Module werden in der Datei module.xml spezifiziert Engagement von Modulen zu Services: Global für alle Services: in Datei axis2.xml Local für einen Service: in Datei services.xml Manuell oder per Web-Schnittstelle Folie 13

14 Nachrichtenfluss in AXIS2 (Detail-Sicht auf Architektur) AxisEngine SOAP Request MC-Req H1 H2 Hn IN FLOW MC-Req AXIS Servlet Http Transport Utils Message Receiver Web Service MC-Res MC-Res SOAP Response Transport Sender Hm H1 AxisEngine OUT FLOW Folie 14

15 Aufbau dieser Veranstaltung Kapitel 5: Einführung in Web Services, Teil 2 1 Überblick über AXIS2 2 Service-Entwicklung mit AXIS2 3 Aufrufmuster in AXIS2 (inkl. WS-Addressing) 4 Bewertung von AXIS2 5 Zusammenfassung und Ausblick Folie 15

16 Der Code-First Ansatz Implementierung (Source Code) einer Komponente liegt zuerst vor Ableitung der abstrakten Schnittstellen-Beschreibung (WSDL) Generierung von Proxy-Klassen (Stubs) für einen Client Verwendung und Integration der Komponente als Web Service WSDL-Generator Source Code- Generator Input für erzeugt Input für Komponenten- Implementierung (z.b. Java) WSDL-kompatible Beschreibung der Schnittstelle Proxy-Klasse für Client (Java) Proxy-Klasse für Client (C++) Proxy-Klasse für Client (C#) Folie 16

17 Der Contract-First Ansatz Spezifikation der anwendungsspezifischen Datentypen in verschiedenen XML-Schemata Spezifikation der auszutauschenden Nachrichten (XML-Schema) Ableitung des WSDL-Files aus den Schemata Client-Proxy (Stub) und Service-Skeleton Generierung

18 Der Contract-First Ansatz Datentypen I (XML-Schema) Datentypen I (XML-Schema) Input für Nachrichten (XML-Schema) Input für WSDL-kompatible Beschreibung der Schnittstelle Input für Source Code- Generator Input für WSDL-Tool Service-Skeleton (Java, C++,...) Klassen für Datentypen Klassen für Nachrichten Proxy-Klasse für Client (Java) Proxy-Klasse für Client (C++) Proxy-Klasse für Client (C#) Folie 18

19 Contract-First vs. Code-First ein Vergleich Code-First Vorteile: Bestehende Komponenten (Altbestände) können als Web Service integriert werden Nachteile: Probleme bei der Umwandlung von komplexen, programmiersprachen-spezifischen Datentypen Probleme bei der Interoperabilität zwischen verschiedenen Programmiersprachen Contract-First Vorteile: Geringere Interoperabilitätsprobleme, da frühzeitige Einigung auf gemeinsame anwendungsspezifische Datentypen Nachteile: Schlechte Tool-Unterstützung, schlechte Compiler Folie 19

20 Code-First bei AXIS AXIS2 erlaubt die Entwicklung und Inbetriebnahme von Web Services von POJOs ( Plain Old Java Objects ) Keine AXIS-spezifischen Klassen, Packages, Code-Fragmente sind notwendig Anders als beim Sun Java Web Services Developer Pack (JWSDP)! Folgerung: Alt-Systeme können ohne Erweiterung des Source-Codes integriert werden Folie 20

21 Implementierung der Klasse PartnerChange als Web Service public class PartnerChange { public PartnerChange(){ } public String deletepartner( Partner partner ){ if ( partnervorhanden( partner )) { deletepartnerint ( partner ); return "Partner gelöscht"; } return "Partner nicht gefunden"; } public String changepartner( Partner partner ){ Object ref = null; if (!partnervorhanden( partner )) { ref = legepartnerneuan( partner ); // nur Neuanlage } else { ref = getreference( partner ); //anhand PrimKey } changeandsaveproperties( ref, partner ); //Übertrage neue Werte } return "Erfolgreiche Änderung"; Folie 21

22 Paketierung der Klassen des Service Die resultierenden Klassen werden compiliert und in ein spezielles Archiv (.aar) gepackt Packen nach ZIP, dann Unbennenung Tools (z.b. Eclipse, AXIS2-Wizard-Service-Generator unter Aufbau des Archivs: PartnerChangeService.aar de service... lib META-INF PartnerChange.class Partner.class services.xml Spezifische Klassen (POJO!) und Libraries für den Service Spezieller Deployment Deskriptor zur weiteren Definition des Service Folie 22

23 Der Deployment Decriptor services.xml Der Deployment Descriptor services.xml konfiguriert den Web Service für das eigentliche Deployment (Installation) Aufgaben: Identifikation der relevanten Operationen Zuordnung des Kommunikationsstils (RPC, Document) Zuordnung von Modulen Aufbau: <service> <description>partnerchangeservice</description> <parameter name = PartnerChange > de.service.partnerchange </parameter> <operator name= deletepartner > <messagereceiver class= org.apache.axis2.rpc.receivers.rpcmessagereceiver /> <operation>... // weitere Operationen </service> Deployment descriptor services.xml Folie 23

24 Das Administrator-Interface AXIS2 bietet ein Web-basiertes Frontend zum Hochladen, Löschen und zur Statuskontrolle (Administration) von Services an. Link: Folie 24

25 Hot Deployment und Hot Update von Services Die hochgeladenen Services werden unter <webapps>/axis2/web-inf/ services hochgeladen Module (Handler) werden unter <webapps>/axis2/web-inf/modules hochgeladen (Format *.mar) Manuelles Hochladen in das Directory ist auch möglich AXIS2 unterstützt das Hot Deployment von Web Services, d.h. der Service steht nach der Kopie in das WEB-INF Verzeichnis unmittelbar zur Verfügung ohne den AXIS2-Server neu zu starten Support auch vom Hot Update: Änderung eines einzelnen, bereits im Betrieb befindenden Web Service zur Laufzeit Beispiel: Änderung der Zuordnung einer Klasse zu einem Service (Änderung der services.xml Datei) Änderung werden ohne Neustart des Servers übernommen Folie 25

26 WSDL2Java und Java2WSDL AXIS2 stellt zwei wichtige Tools zur Entwicklung bereit Verfügbar nur in der Standard Binary Edition WSDL2Java Aus einer gegebenen WSDL-Datei werden die Stub-Klassen für einen Javabasierten Client und (optional) für den Server entwickelt Java2WSDL Aus einer Java-Klasse wird eine WSDL-Datei erzeugt Kommandozeilen-Befehle Verfügbar für Windows und UNIX, sehr gut implementiert Tool-Support für Eclipse AXIS2-Wizard-Code-Generator (recht bugy ) Folie 26

27 Stub-Generierung mit WSDL2Java Mit dem Tool WSDL2Java können aus einer WSDL-Beschreibung eines Web Service die für den Client relevanten Stub-Klassen erzeugt werden Befehl: wsdl2java uri -o C:/ClientCode p de.services.client.example Der Aufruf erzeugt den Client-Stub (= eine Java-Klasse) PartnerChangeServiceStub, der im Verzeichnis C:/ClientCode abgelegt wird Die Klasse gehört dem Package an, das mit dem Parameter p spezifiziert wurde Die intern gebrauchten Datentypen (hier: Partner) werden als Inner Classes zu der Stub-Klasse generiert (Auslagerung mit Parameter u ) Für die Request-Nachricht und die Response wird eine eigene Klasse generiert Folie 27

28 Implementierung des Service Consumers basierend auf generierten Stubs package de.services.client.example; import java.rmi.remoteexception; import org.apache.axis2.axisfault; import org.apache.ws.axis2.*; import org.apache.ws.axis2.myservicestub.changepartner; import org.apache.ws.axis2.myservicestub.changepartnerresponse; import org.apache.ws.axis2.myservicestub.partner; public class Client { public static void main ( String [] args ) throws RemoteException { MyServiceStub stub = new MyServiceStub(" // Request erzeugen ChangePartner partnerrequest = new ChangePartner(); Partner partner = new Partner(); partner.setname("maier"); partnerrequest.setpartner( partner ); //Service aufrufen und Ergebnis aus Response holen ChangePartnerResponse response = stub.changepartner(partnerrequest); String antwort = response.get_return(); System.out.println("Ergebnis der Änderung: " + antwort); }} Folie 28

29 Service Consumer ohne Code-Generierung Der Client zum Aufruf eines Web Service lässt sich auch ohne Code- Generierung implementieren. Zentrale Klassen, die benötigt werden (bei der Codegenerierung weitesgehend gekapselt durch die Stub -Klasse): Klasse (aus Package org.apache.axis2.client) ServiceClient Options EndpointReference RPCServiceClient Bedeutung Kapselung von Methoden zur Interaktion auf einen Web Service, ggf. mit weiteren Options noch weiter konfiguriert; Setzen von Header- Informationen Konfigurationsdaten für den Aufruf eines Web Service (z.b. Kommunikationsmuster, Übernahme der EndpointReference) Endpunkt und Ziel-Adresse des Web Service Spezieller Client für den RPC-Kommunikationsstil Folie 29

30 AXIOM als Basis für XML-Nachrichten AXIS2 verwendet das Framework AXIOM zur Erzeugung und Interpretation von XML-Nachrichten XML-Nachrichten werden zwischen einem Service-Client und einem Web Service ausgetauscht Zentrale Klassen: Klassen org.apacheaxiom.om.omelement org.apache.axis2.databin ding.utils.beanutil Bedeutung Kapselung eines XML-Dokuments. Übergabe an Web Service (Request) und Rückgabe nach Verarbeitung an den ServiceClient (Response) Operationsparameter (RPC-Style) werden hier umgewandelt in ein XML-Dokument (OMElement) Folie 30

31 Aufruf eines Web Service mit ServiceClient public void sendrequest() throws AxisFault{ // Service-Client mit Optionen und Endpoint referenzieren ServiceClient sender = new ServiceClient(); Options options = sender.getoptions(); EndpointReference targetepr = new EndpointReference(" options.setto( targetepr ); // Selektiere die Operation "deletepartner" in ein XML-Fragment QName deletepartner = new QName("Link to XML-Schema", "deletepartner" ); //Parameter für die Operation "deletepartner übergeben Partner partner = new Partner(); // Üergabe der Werte... Object[] opargs = new Object[] { partner }; // OMElement mit der RequestNachricht erzeugen OMElement request = BeanUtil.getOMElement(deletePartner, opargs, null, false, null); //Request an Web Service schicken (synchron, IN-OUT bzw. Request-Response) OMElement response = sender.sendreceive( request ); // diese Datentypen sollen zurückgeliefert werden Class[] returntypes = new Class[] { String.class }; //Antwort mit BeanUtil zu deserialisieren Object[] result = BeanUtil.deserialize( response, returntypes, null); //Ermittlung des String String antwort = (String) result[0]; } Folie 31

32 Aufruf eines Web Service mit RPCServiceClient public void sendrequestrpc() throws AxisFault{ RPCServiceClient sender = new RPCServiceClient(); Options options = sender.getoptions(); EndpointReference targetepr = new EndpointReference(" options.setto( targetepr ); // Selektiere die Operation "deletepartner" in ein XML-Fragment QName deletepartner = new QName("Link to XML-Schema", "deletepartner" ); //Parameter für die Operation "deletepartner übergeben Partner partner = new Partner(); // Übergabe der Werte... Object[] opargs = new Object[] { partner }; // diese Datentypen sollen zurückgeliefert werden Class[] returntypes = new Class[] { String.class }; //Request an Web Service schicken (synchron, IN-OUT bzw. Request-Response) Object[] response = sender.invokeblocking( deletepartner,opargs, returntypes ); //Ermittlung des String String antwort = (String) response[0]; } Vorteil: Kapselung der Erzeugung des OMElement-Objekt Kürzerer Source Code Folie 32

33 Weitere Infos zum ServiceClient Ein ServiceClient benötigt immer eine Laufzeitumgebung von AXIS2, um Requests verschicken und empfangen zu können Die Laufzeitumgebung wird repräsentiert durch ein Objekt der Klasse ConfigurationContext, das über sämtliche Informationen der Laufzeitumbeung verfügt Weitere Services Installierte Module Ist der Service in einem Server eingebettet, so wird der ConfigurationContext des Servers übernommen Ist der ServiceClient nicht in einem Server (z.b. Tomcat) eingebunden, so wird eine Default-Konfiguration aus dem Kernel erzeugt (axis2-kernel.jar) erzeugt Über die Methode addheader( OMElement header ) kann ein SOAP-Header explizit hinzugefügt werden. Folie 33

34 Aufbau dieser Veranstaltung Kapitel 5: Einführung in Web Services, Teil 2 1 Überblick über AXIS2 2 Service-Entwicklung mit AXIS2 3 Aufrufmuster in AXIS2 (inkl. WS-Addressing) 4 Bewertung von AXIS2 5 Zusammenfassung und Ausblick Folie 34

35 Synchrone und asynchrone Aufrufmuster AXIS2 bietet die Möglichkeit, Nachrichten synchron sowie asynchron zu verschicken (Erweiterung gegenüber AXIS1.x) Aufrufmuster (Message Exchange Patterns) Unterscheidung (API-Level-Asynchronität) Synchron (Blockierendes API): Service Consumer wartet nach Absetzen des Service-Aufrufs auf die Antwort und bleibt während der Wartezeit blockiert Asynchron (Nicht-blockierendes API): Service Consumer kann nach Absetzen des Service-Aufrufs weiter operieren, Rückgabe über Callback-Handler Konform zu unseren Entwurfsprinzipien für eine SOA (siehe Kapitel 2/3) Asynchronität sorgt für eine lose Kopplung zwischen Service Consumer und Provider des Web Service Service Consumer kann auch z.b. beim Ausfall des Service Provider weiter operieren Folie 35

36 Transport-Level-Asynchronität Weitere Unterscheidung bei AXIS2: Transport-Level-Asynchronität Anzahl der notwendigen Verbindungen während des Service-Aufrufs zwischen dem Consumer und dem Provider Probleme beim Standard-Transportprotokoll HTTP: Typisches Zwei-Wege-Protokoll: per Default wird dieselbe Verbindung für den Transport eines Requests und der zugehörigen Response (+ Empfangsbestätigungen) verwendet Probleme bei sehr langläufigen Transaktionen: möglicher Time-Out beim Service Consumer Service Consumer könnte Response nicht mehr empfangen Time-Out kann verlängert werden Nicht immer praktikabel, da u.u. hoher Ressourcenverbrauch Ansatz bei AXIS2 Etablierung von zwei unterschiedlichen Verbindungen für den Transport von Request und Response Folie 36

37 Übersicht der möglichen Aufrufmuster Durch die Kombination von API-Auswahl und Anzahl der eingesetzten Verbindungen ergeben sich vier Aufrufmuster: AXIS2 unterstützt über die Klasse ServiceClient alle Aufrufmuster API Anzahl der Verbindungen Beschreibung Blockierendes API 1 Synchroner Aufruf des Web Service, Aufruf z.b. über HTTP Nicht-blockierendes API 1 Asynchroner Aufruf des Web Service, Einsatz von Callback- Handler, Aufruf z.b. über HTTP Blockierendes API 2 Synchroner Aufruf des Web Service, Aufruf z.b. über SMTP (selten eingesetzt), oder HTTP (neuer HTTP-Prozess) Nicht-blockierendes API 2 Asynchroner Aufruf des Web Service,, Aufruf z.b. über SMTP (selten eingesetzt), oder HTTP (neuer HTTP-Prozess) Folie 37

38 Request-Response mit blockierenden API eine Verbindung <<Service Consumer>> ServiceClient (Klasse von AXIS2) Request Response H T T P <<Service Provider >> RPCServiceClient sender = new RPCServiceClient(); Options options = sender.getoptions(); EndpointReference targetepr = new EndpointReference(...); options.setto( targetepr ); //Request an Web Service schicken (synchron, IN-OUT bzw. Request-Response) Object[] response = sender.invokeblocking( deletepartner,opargs, returntypes ); //Alternative: SendReceive, Rückgabe ist ein XML-Document OMElement requestpayload = createrequestpayload(); //Erzeugung des Request-Docs OMElement responsepayload = sender.sendreceive(requestpayload); Nachteil: Antwortzeit kann sehr lange dauern, ServiceClient wird geblockt Folie 38

39 Request-Response mit nicht-blockierenden API eine Verbindung <<Service Consumer>> Callback-Handler ServiceClient (Klasse von AXIS2) Request Response H T T P <<Service Provider >> org.apache.axis2.client.async.callback callback = new org...callback(){ public void oncomplete(asyncresult result) { // Analyse des SOAP-Bodies Object obj1 =result.getresponseenvelope().getbody(); //Analyse des SOAP-Headers Object obj2 = result.getresponseenvelope().getheader(); } } public void onerror(exception result) { //... } sender.sendreceivenonblocking(requestpayload, callback); Folie 39

40 Request-Response mit nicht-blockierenden API zwei Verbindungen <<Service Consumer>> Callback-Handler ServiceClient (Klasse von AXIS2) Transport Sender Client-Side Server Request ACK Response ACK H T T P <<Service Provider >> ServiceClient sender = new ServiceClient(); Options options = sender.getoptions(); // Client-seitige Integration des Modules "WS-Adressing" sender.engagemodule( new QName( Constants.MODULE_ADDRESSING)); // Erzeugung eines separaten Serverprozesses options.setuseseparatelistener(true); // Payload erzeugen.. // Request verschicken mit Referenz auf Callback sender.sendreceivenonblocking(requestpayload, callback); Folie 40

41 WS-Adressing Das WS-Adressing Module erlaubt die Spezifikation von getrennten Adressangaben innerhalb einer SOAP-Nachricht für die flexible Interaktion zwischen Service Konsumenten und Service Providern Basiert auf einer Spezifikation von W3C (2006) Geeignet für Zwei-Wege Aufrufmuster (siehe letzte Folien) Verwendung von unterschiedlichen Transport-Protokollen innerhalb einer Request-Response Sequenz Informationen werden im SOAP Header eingefügt Wichtige Informationen: To: An welchen Endpunkt soll die Nachricht versendet werden? From: Welches ist die Adresse des Absenders ReplyTo: An welchen Endpunkt soll die Response geschickt werden? FaultTo: An welchen Endpunkt sollen Fehlermeldungen geschickt werden? MessageID: Zu welchem Callback-Handler bezieht sich die Request (vom Service Client oder Consumer definiert) RelatesTo: Zu welchem Callback-Handler bezieht sich die Request (vom Service Provider gesetzt, i.d.r. aus MessageID) Folie 41

42 Beispiel-Request mit WS-Addressing POST /axis2/services/partnerchangeservice Host: myserver.de... <soapenv:envelope>... <soapenv:header> <wsa:to> <wsa:address> </wsa:address> </wsa:to> <wsa:replyto> <wsa:address> </wsa:address> </wsa:replyto> <wsa:messageid> urn:uuid:f4f8fdjkd9c99d </wsa:messageid>... </soapenv:envelope> Folie 42

43 Einweg-Aufruf mit nicht blockierendem API <<Service Consumer>> ServiceClient (Klasse von AXIS2) Request ACK H T T P <<Service Provider >> ServiceClient sender = new ServiceClient(); Options options = sender.getoptions(); // Payload erzeugen.. // Request verschicken ohne Rückgabewerte oder Callback sender.fireandfortget( requestpayload ); Server liefert einen HTTP-Reponse mit Status-Code 202 ( Accepted ) Folie 43

44 Aufbau dieser Veranstaltung Kapitel 5: Einführung in Web Services, Teil 2 1 Überblick über AXIS2 2 Service-Entwicklung mit AXIS2 3 Aufrufmuster in AXIS2 (inkl. WS-Addressing) 4 Bewertung von AXIS2 5 Zusammenfassung und Ausblick Folie 44

45 Diskussion Service Schnitt Referenzfreiheit ist immer gegeben Aufrufe werden immer per Kopie durchgeführt (Call-By-Value) Grobe Granularität Implementierung von eher feingranularen Services bei AXIS2 üblich Grobgranular durch workflow-basierte Laufzeitumgebungen Normalform Abhängig von der Entwicklung der Service-Schnittstellen Redundanzfreiheit Abhängig von der Entwicklung der Service-Schnittstellen In einer Service-Klasse können auch private Methoden definiert werden, somit ist eine Basis für Redundanzfreiheit gegeben Session-Kontext Abhängig von der Entwicklung der Service-Schnittstellen und Implementierung Session-Kontext kann über Header mitgeliefert werden Technische Neutralität Gegeben durch die Verwendung von Standards wie WSDL, WS-Adressing Folie 45

46 Anpassbarkeit AXIS2 garantiert eine hohe Anpassbarkeit einer service-orientierten Architektur durch das explizit machen der Architektur der Laufzeitumgebung Handler-Konzept Module-Konzept Hot Deployment von neuen Services Hot Update von laufenden Services Anpassbarkeit von Verbindungen zwischen Services: Abhängigkeiten zwischen Web Services können in AXIS2 nicht realisiert und angepasst werden Nachbildung eventuell über Handler-Konzept möglich, aber umständlich Verbesserung erst durch BPEL Keine Adaptivität, keine Tailorabilität Folie 46

47 Performanz Erreicht durch besseres XML-Parsing durch das Framework AXIOM XML-Dokument wird nie zu Ende geparst, nur bis der Ziel-Code erreicht Verbesserte Serialsierung und De-Serialisierung von XML-Dokumenten Alternative DOM: Nachricht wird komplett in eine objekt-orientierte Struktur umgewandelt, hoher Ressourcenverbrauch Folie 47

48 Skalierbarkeit Durch die flexible Adressierung und durch das Händler-Konzept sind die Verbindungen nicht starr Anfragen sondern können unter Umständen (z.b. hohe Client oder Server- Auslastung) umgeleitet oder priorisiert werden AXIS2 ist leichtgewichtig, daher ist das Klonen einer AXIS2 Instanz recht einfach Folie 48

49 Loose Coupling und Sicherheit Durch verschiedene Aufrufmuster wird eine lose Kopplung zwischen Service Consumer und Provider erreicht Kein Enterprise Service Bus realisiert Würde die lose Kopplung noch verringern Sicherheit Wird durch das Modul WS-Security erreicht, Vorstellung und Diskussion erfolgt später... Folie 49

50 Aufbau dieser Veranstaltung Kapitel 5: Einführung in Web Services, Teil 2 1 Überblick über AXIS2 2 Service-Entwicklung mit AXIS2 3 Aufrufmuster in AXIS2 (inkl. WS-Addressing) 4 Bewertung von AXIS2 5 Zusammenfassung und Ausblick Folie 50

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

Auszug aus Axis2 Schulung

Auszug aus Axis2 Schulung Auszug aus Axis2 Schulung Dieses Dokument ist ein Auszug aus unserem Skript zur Axis2- Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen Mehr

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

Java Web Services mit Apache Axis2 Entwickler

Java Web Services mit Apache Axis2 Entwickler Thilo Frotscher, Dapeng Wang, Marc Teufel Java Web Services mit Apache Axis2 Entwickler Vorwort 15 1 Einleitung 25 1.1 Entstehung 26 1.2 Unterstützte Standards 28 1.3 Was beinhaltet Axis2? 29 1.4 Warum

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Vertiefte Grundlagen Graphentheorie

Vertiefte Grundlagen Graphentheorie Bauinformatik Vertiefte Grundlagen Graphentheorie 6. Semester 8. Übung Webservices Technische Umsetzung am Beispiel Flächenträgheitsmoment äg e e und Biegemoment e Benutzte Software ECLIPSE: Programmierumgebung

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Implementierung von Web Services: Teil I: Einleitung / SOAP

Implementierung von Web Services: Teil I: Einleitung / SOAP Implementierung von Web Services: Teil I: Einleitung / SOAP Prof. Dr. Kanne - FSS 2007 Carl-Christian Kanne, February 25, 2007 Web Services - p. 1/12 Web Services: Allgemein XML Datenaustauschformat plattformunabhängig

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Java Web Services mit Apache Axis2

Java Web Services mit Apache Axis2 Thilo Frotscher, Marc Teufel, Dapeng Wang Java Web Services mit Apache Axis2 ntwickier Vorwort 13 Wer sollte dieses Buch lesen? 14 Aufbau 14 Wichtiger Hinweis zu den Listings 16 Feedback 16 Danksagung

Mehr

WebService in Java SE und EE

WebService in Java SE und EE Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Auszug aus Axis2 Übungen

Auszug aus Axis2 Übungen Auszug aus Axis2 Schulung -1- Auszug aus Axis2 Übungen Version 1.1 Dieses Dokument ist ein Auszug aus unserem Übungsskript zur Axis2-Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen.

Mehr

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente

Mehr

Auszug aus JAX-WS Folien

Auszug aus JAX-WS Folien Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

E-Business Architekturen

E-Business Architekturen E-Business Architekturen Übung 3b Entwicklung eigener Service-Angebote 01.03.2015 Prof. Dr. Andreas Schmietendorf 1 Ziele der Übung Möglichkeiten zur Serviceimplementierung (ggf. auch Cloud) Umgang mit

Mehr

3-schichtige Informationssystem-Architektur

3-schichtige Informationssystem-Architektur 3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte Client als Applikation & Applet XML über SOAP Standard plattformunabhängig objektorientierte Architektur multiuserfähig

Mehr

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung serviceorientierter Architekturen mit Web Services Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Entwicklung von Serviceangeboten) 1 Agenda Einsatzbereiche von Web Service basierten Angeboten Übersicht zur Java-System Application

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION Allgemein Infomon bietet die Architektur für das Informations-Monitoring in einer Windows- Topologie. Die Serverfunktionalität wird in einer IIS-Umgebung

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

WSDL. Web Services Description Language. André Vorbach. André Vorbach

WSDL. Web Services Description Language. André Vorbach. André Vorbach André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist

Mehr

PL/SQL Web-Services mit Oracle 11g

PL/SQL Web-Services mit Oracle 11g DOAG 2008 Konferenz 01. - 03.12.2008 Nürnberg Markus Fiegler ORDIX AG, Paderborn mf@ordix.de www.ordix.de Agenda SOA und Web-Services im Überblick Datenbank als Web-Services Provider - Alternative mit

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

RESTful Web. Representational State Transfer

RESTful Web. Representational State Transfer RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ 0 Überblick ----------- Die Installation des GeoShop Redirector im Apache

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Wie richten Sie Ihr Web Paket bei Netpage24 ein Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Systemvoraussetzungen

Systemvoraussetzungen Systemvoraussetzungen Inhaltsübersicht 1. ELOprofessional 2011 1.1. Server 2011 1.2. ELO Windows Client 2011 1.3. ELO Java Client 2011 1.4. ELO Webclient 2011 1.5. ELO Client for Microsoft Outlook 1.6.

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Installationsanleitung dateiagent Pro

Installationsanleitung dateiagent Pro Installationsanleitung dateiagent Pro Sehr geehrter Kunde, mit dieser Anleitung möchten wir Ihnen die Installation des dateiagent Pro so einfach wie möglich gestalten. Es ist jedoch eine Softwareinstallation

Mehr

Architektur von SOAP basierten Web Services

Architektur von SOAP basierten Web Services Architektur von SOAP basierten Web Services André Homeyer 28.11.2005 Worst-Case einer verteilten Anwendung TravelTime Client Benutzerinterface WackyWing Server Flüge suchen TravelTime Server Flüge suchen

Mehr

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education Andy Bosch Java Server Faces Das Standard-Framework zum Aufbau webbasierter Anwendungen An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse Grundsätzlich spielt das Operating System keine Rolle. Es muss aber zumindest Java installiert sein. In unserem Falle wählen wir Linux (Debian/Ubuntu), da es am einfachsten zu handhaben ist. Es kann auch

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Apache AXIS Architektur

Apache AXIS Architektur In diesem Kapitel Um was geht s? Axis Architektur Eine Übersicht Subsysteme Message Flow Handlers und Chains (Handler Ketten) Message Contexts Adminstratives Subsystem SOAP Message Modell Subsystem Message

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

Mehr

3 Windows als Storage-Zentrale

3 Windows als Storage-Zentrale 3 Windows als Storage-Zentrale Windows als zentrale Datenspeichereinheit punktet gegenüber anderen Lösungen vor allem bei der Integration in vorhandene Unternehmensnetze sowie bei der Administration. Dabei

Mehr

HTBVIEWER INBETRIEBNAHME

HTBVIEWER INBETRIEBNAHME HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten

Mehr

:: Anleitung Hosting Server 1cloud.ch ::

:: Anleitung Hosting Server 1cloud.ch :: :: one source ag :: Technopark Luzern :: D4 Platz 4 :: CH-6039 Root-Längenbold LU :: :: Fon +41 41 451 01 11 :: Fax +41 41 451 01 09 :: info@one-source.ch :: www.one-source.ch :: :: Anleitung Hosting Server

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer Smap3D PDM 10 Installation Stand-Alone-Migration-Analyzer Smap3D PDM 10 Seite 1 Inhalt 1. Smap3D PDM 10 3 2. Installation Stand-Alone-Migration-Analyzer 3 Systemvoraussetzungen 3 Workstation (32 und 64

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010 VERTRIEBLICHE FRAGEN ZUM FITSMS-GATEWAY mpc networks GmbH Abteilung FitSMS Vertrieb tel +49 (0) 7154-17

Mehr

AlwinPro Care Modul Schnittstelle TV-Steuerung

AlwinPro Care Modul Schnittstelle TV-Steuerung AlwinPro Care Modul Schnittstelle TV-Steuerung Beschreibung AlwinPro Care bietet die Möglichkeit TV für tageweise abzurechnen und stellt für die Freischaltung der Leistung einen Authentifizierungsserver

Mehr

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

Architektur des agimatec-validation Frameworks

Architektur des agimatec-validation Frameworks Development : Implementierung Validierungskonzept (Dokumentation) This page last changed on Apr 03, 2008 by roman.stumm. Architektur des agimatec-validation Frameworks Generierung der Metainformationen

Mehr

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011 .procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können

Mehr

Anwenderdokumentation PersoSim

Anwenderdokumentation PersoSim Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für

Mehr

Web Services Security

Web Services Security Web Services Security Dokumentation zu den Beispielen Vortrag vom 11.12.02 Svetoslav Draganov Einrichtung der Entwicklungsumgebung unter Windows NT/2000/XP 1. Herunterladen aller Packages - VeriSign Trust

Mehr

Design anpassen eine kurze Einführung

Design anpassen eine kurze Einführung Design anpassen eine kurze Einführung Das gesamte Layout von Papoo basiert auf modernen CSS Layouts die vollständig ohne Layout Tabellen funktionieren. Um schnell vorhandene Designs anpassen zu können

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale

Mehr

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Allgemeines Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Stand 21.11.2014 Die Yeastar MyPBX Telefonanlagen unterstützen die automatische Konfiguration der tiptel 3010, tiptel 3020 und tiptel 3030

Mehr

Datenübernahme easyjob 3.0 zu easyjob 4.0

Datenübernahme easyjob 3.0 zu easyjob 4.0 Datenübernahme easyjob 3.0 zu easyjob 4.0 Einführung...3 Systemanforderung easyjob 4.0...3 Vorgehensweise zur Umstellung zu easyjob 4.0...4 Installation easyjob 4.0 auf dem Server und Arbeitsstationen...4

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Betr.: Neuerungen eps Online-Überweisung

Betr.: Neuerungen eps Online-Überweisung Studiengesellschaft für Zusammenarbeit im Zahlungsverkehr GmbH. Tel. +43/1/505 32 80-0 Fax: +43/1/505 32 80-77 Internet: www.stuzza.at E-Mail: office@stuzza.at A-1070 Wien, Stiftgasse 15-17/8 Betr.: Neuerungen

Mehr