Seifenfrei Interoperabilität von Java und.net ohne SOAP

Größe: px
Ab Seite anzeigen:

Download "Seifenfrei Interoperabilität von Java und.net ohne SOAP"

Transkript

1 Seifenfrei Interoperabilität von Java und.net ohne SOAP Thomas Haug Seifenfrei Thomas Haug Copyright 2009 MATHEMA Software GmbH 1

2 Seifenfrei - Agenda Motivation Entscheidungskritierien Technische Anforderungen Begriffsklärung Unzulänglichkeiten in Web Services Alternativen zu Web-Services Zusammenfassung 2

3 Seifenfrei - Agenda Motivation Entscheidungskritierien Technische Anforderungen Begriffsklärung Unzulänglichkeiten in Web Services Alternativen zu Web-Services Zusammenfassung 3

4 Seifenfrei - Motivation Beispiel Szenario An eine Java Server Anwendung (JEE) sind zwei Typen von Clients angebunden Administrative, interaktive Clients Wenige Hohe Anforderungen an Antwortzeiten Viewing Clients Sehr viele die nach dem Publisher-Subscriber Muster arbeiten 4

5 Seifenfrei - Motivation Beispiel Szenario (Fortsetzung) A u fgr u n d ein er geän d er t en U n t er n eh m en sst r at egie so llen d ie C lien t s au f n at ive W in d o w s C lien t s (.N et ) u m gest ellt w er d en Mit welcher Technologie soll die Anbindung stattfinden? Natürlich mit Goldener Hammer! Das ist doch State-of-the-Art! 5

6 Seifenfrei - Motivation Mit welcher Technologie soll die Anbindung stattfinden? Natürlich mit Goldener Hammer! Das ist doch State-of-the-Art! Eindimensionale Betrachtung Aber nicht-funktionale Anforderungen müssen betrachtet werden Hohe Anforderungen an Antwortzeiten?? Sehr viele Clients?? Publisher-Subscriber Muster?? 6

7 Seifenfrei - Agenda Motivation Entscheidungskritierien Technische Anforderungen Begriffsklärung Unzulänglichkeiten in Web Services Alternativen zu Web-Services Zusammenfassung 7

8 Seifenfrei Entscheidungskriterien 1/2 Technologischer Hype Unternehmerische Vision Vorkenntnisse der Entwickler und Architekten Unkenntnis von Alternativen Einflussfaktoren Politischer Druck Strategische Partnerschaften Unternehmerische Anforderungen Technologische Anforderungen Fachliche Anforderungen 8

9 Seifenfrei Entscheidungskriterien 2/2 Technologischer Hype Unternehmerische Vision Vorkenntnisse der Entwickler und Architekten Unkenntnis von Alternativen Einflussfaktoren Politischer Druck Strategische Partnerschaften Unternehmerische Anforderungen Technologische Anforderungen Fachliche Anforderungen 9

10 Seifenfrei Technische Anforderungen (1/2) Kommunikationsmuster Synchrone und/oder asynchrone Kommunikation Welche Querschnitts-Dienste sind erforderlich Namensdienste / Registries Abhängig von Anzahl entfernter Objekte / Dienste Sicherheit (Netzwerk und Nachricht) Transaktionen Garantierte Zustellung (Reliability) 10

11 Seifenfrei Technische Anforderungen (2/2) Was sind die Performance Ansprüche Durchsatz Footprint CPU Verbrauch Nachrichten Größe Firewall Verträglichkeit Programmiermodell Stichwort Instance Management Integrierte Verfügbarkeitslösungen 11

12 Seifenfrei - Agenda Motivation Entscheidungskritierien Technische Anforderungen Begriffsklärung Unzulänglichkeiten in Web Services Alternativen zu Web-Services Zusammenfassung 12

13 Seifenfrei - Begriffsklärung RPC-basierte Kommunikation i.a. synchrone Aufrufe Direkte 1-zu-1 Kommunikation Aufrufer kann erst fortfahren, wenn Ergebnis des Aufrufs bekannt ist Einfaches Kommunikationsmuster Enge Kopplung Beispiele CORBA, JAVA RMI, DCOM, WCF,.Net Remoting, Web Services 13

14 Seifenfrei - Begriffsklärung Nachrichten-basierte Kommunikation i.a. asynchrone Aufrufe Indirekte 1-zu-1 und 1-zu-N Kommunikation Aufrufer initiiert Aufruf, kann aber mit Verarbeitung fortfahren Lose Kopplung Garantierte Auslieferung als zusätzlicher Quality-of-Service (QoS) Aspekt möglich Kommunikationspfad können schwer nachvollziehbar sein Beispiele CORBA Event / Notification, JAVA JMS, MS MQ, WCF 14

15 Seifenfrei - Agenda Motivation Entscheidungskritierien Technische Anforderungen Begriffsklärung Unzulänglichkeiten in Web Services Alternativen zu Web-Services Zusammenfassung 15

16 Seifenfrei WS Unzulänglichkeiten (1/6) Bei der Integration einer.net Anwendung mit einer Java Anwendung würde man spontan auf eine Web Service Lösung setzen Aber Insbesondere unterstützt.net Remoting und Window Communication Foundation (WCF) ausschließlich SOAP als interoperable Nachrichten-Kodierung SOAP und WS sind lediglich eine Sammlung von Spezifikationen Es gibt kein einheitliches Programmiermodell.Net Remoting und WCF in.net haben unterschiedliche Modelle In Java existiert eine Flut unterschiedlicher SOAP Toolkits 16

17 Seifenfrei WS Unzulänglichkeiten (2/6) Ist lediglich eine Sammlung von Spezifikationen (Fortsetzung) Interoperabilität ist nicht zwangsläufig gegeben SOAP Nachrichten Missverhältnis zwischen Struktur- und Nutzinformation XML muss erzeugt werden Kann Performance und Footprint Probleme verursachen WS Notification hat keine große Verbreitung Schnittstellen Beschreibung per WSDL ist schwierig / komplex 17

18 Seifenfrei WS Unzulänglichkeiten (3/6) WSDL Beispiel (1/3) <wsdl:definitions targetnamespace="http://soapperftest.mathema.de" xmlns:ns2="http://soapperftest.mathema.de/types" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:mathema="http://soapperftest.mathema.de" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"> <wsdl:types> <xs:schema attributeformdefault="unqualified" elementformdefault="unqualified" targetnamespace="http://soapperftest.mathema.de/types" xmlns:types="http://soapperftest.mathema.de/types" xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:complextype abstract="true" name="component"> <xs:sequence> <xs:element maxoccurs="1" minoccurs="1" name="value" nillable="true" type="xs:anytype"/> </xs:sequence> </xs:complextype> <xs:complextype name="composite"> <xs:complexcontent> <xs:extension base="ns2:component"> <xs:sequence> <xs:element maxoccurs="unbounded" minoccurs="0" name="children" nillable="true" type="ns2:component"/> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> 18

19 Seifenfrei WS Unzulänglichkeiten (4/6) WSDL Beispiel (2/3) <xs:complextype name="integerleaf"> <xs:complexcontent> <xs:restriction base="ns2:component"> <xs:sequence> <xs:element maxoccurs="1" minoccurs="1" name="value" nillable="true" type="xs:int"/> </xs:sequence> </xs:restriction> </xs:complexcontent> </xs:complextype> <xs:element name="echo"> <xs:complextype> <xs:sequence> <xs:element name="input" type="ns2:component"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="echoresponse"> <xs:complextype> <xs:sequence> <xs:element name="return" type="ns2:component"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> </wsdl:types> 19

20 Seifenfrei WS Unzulänglichkeiten (5/6) WSDL Beispiel (3/3) <wsdl:porttype name="soapperftestporttype"> <wsdl:operation name="echo"> <wsdl:input message="mathema:echomessage"/> <wsdl:output message="mathema:echoresponsemessage"/> </wsdl:operation> </wsdl:porttype> <wsdl:binding name="soapperftestsoap11binding" type="mathema:soapperftestporttype"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="echo"> <soap:operation soapaction="urn:echo" style="document"/> <wsdl:input> <soap:body use="literal" namespace="http://soapperftest.mathema.de"/> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://soapperftest.mathema.de"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="soapperftest"> <wsdl:port name="soapperftestsoap11port" binding="mathema:soapperftestsoap11binding"> <soap:address location="http:// :8080/axis2/services/soapperftest"/> </wsdl:port> </wsdl:service> </wsdl:definitions> 20

21 Seifenfrei WS Unzulänglichkeiten (6/6) Der SOAP Stack wird im Allgemeinen als ein peinlicher Fehlschlag eingestuft Tim Bray ( Co-Erfinder von XML) 21

22 Seifenfrei - Agenda Motivation Entscheidungskritierien Technische Anforderungen Begriffsklärung Unzulänglichkeiten in Web Services Alternativen zu Web-Services Zusammenfassung 22

23 Seifenfrei Alternativen 23

24 Seifenfrei Es gibt viele Alternativen RPC basierte Varianten IIOP.Net Hessian [Internet Communication Environment (Ice)] Event/Messaging basierte Varianten ActiveMQ mit NMS IceStrom [IIOP.Net] 24

25 Seifenfrei Es gibt viele Alternativen RPC basierte Varianten IIOP.Net Hessian [Internet Communication Environment (Ice)] Event/Messaging basierte Varianten ActiveMQ mit NMS IceStrom [IIOP.Net] 25

26 Seifenfrei IIOP.Net (1/9) Open Source Framework für.net LGPL Lizenz Model In C# implementiert Aktuelle Version 1.9 SP1 (Oktober 2008) Basiert auf CORBA 2.3 Bidirectional IIOP Value Types Portable Interceptors IIOP/SSL über ein Plugin 26

27 Seifenfrei IIOP.Net (2/9) IIOP Integration über das.net Remoting Framework Client.Net Anwendung Proxy Service Schnittstelle CORBA Server ServiceImpl Servant IiopFormatter POA IiopChannel IIOP Nachricht ORB 27

28 Seifenfrei IIOP.Net (2/9) IIOP Integration über das.net Remoting Framework Client.Net Anwendung Proxy Service Schnittstelle JEE Server EJB Impl EJB Wrapper IiopFormatter? POA? IiopChannel IIOP Nachricht ORB 28

29 Seifenfrei IIOP.Net (3/9) Schnittstellen Beschreibung über OMG IDL Mittels IDLToCLS.Net Assembly erzeugen Mittels CLSToIDL aus Assembly IDL erzeugen 29

30 Seifenfrei IIOP.Net (4/9) Beispiel IDL 1: module ohneseife { 2: interface DemoService { 3: long meininttest(in long wert); string meinstringtest(in string zeichenkette); Komponent echo(in Komponent komponent); }; 4: #pragma ID DemoService "IDL:ohneSeife/DemoService:1.0" 5: }; 30

31 Seifenfrei IIOP.Net (5/9) Generierte.Net Assembly aus Beispiel 31

32 Seifenfrei IIOP.Net (6/9) Beispiel C# Client 1: string ior = "IOR: "; 2: IiopClientChannel channel = new IiopClientChannel(); 3: ChannelServices.RegisterChannel(channel,false); 4: DemoService demoservice = (DemoService) RemotingServices.Connect(typeof(DemoService), ior); 5: demoservice.meinstringtest("hallo, ein.net Client"); Zugriff auf COS Name Service ist möglich 32

33 Seifenfrei IIOP.Net (7/9) Server Objekte in IIOP.Net sind reguläre.net Remoting Objekte 1: class DemoServiceImpl : MarshalByRefObject, DemoService { 2: public string meinstringtest(string zeichenkette) { 3: Console.WriteLine("Empfangen {0}", zeichenkette); 4: return "OK"; 5: } Beispiel Server 1: int port = 8087; 2: IiopChannel chan = new IiopChannel(port); 3: ChannelServices.RegisterChannel(chan); 4: DemoServerImpl server = new DemoServerImpl(); 5: string objecturi = "demoserver"; 6: RemotingServices.Marshal(server, objecturi) 33

34 Seifenfrei IIOP.Net (8/9) Beispiel RMIOverIIOP 1: IiopClientChannel channel = new IiopClientChannel(); 2: ChannelServices.RegisterChannel(channel); 3: RmiIiopInit init = new RmiIiopInit(nameServiceHost, nameserviceport); 4: NamingContext nameservice = init.getnameservice(); NameComponent[] name = new NameComponent[] { new NameComponent("ch.elca.iiop.demo.ejbAdder.AdderHome", "") }; 5: AdderHome adderhome = (AdderHome)nameService.resolve(name); 6: Adder adder = adderhome.create(); 7: double result = adder.add(sum1, sum2); 34

35 Seifenfrei IIOP.Net (9/9) Integrationsaufwand Leichte Integration in existierende CORBA Landschaft möglich Nicht nur auf Java beschränkt Bettet sich nahezu nahtlos in das.net Remoting Framework ein Unterstützung von COS Naming ist vorhanden Nutzung bestehender CORBA Services wie COS Transaction und COS Notification ist möglich, aber mit Entwicklungsaufwand verbunden. Schlecht geeignet für Szenarien, in denen Firewalls durchdrungen werden müssen 35

36 Seifenfrei Es gibt viele Alternativen RPC basierte Varianten IIOP.Net Hessian [Internet Communication Environment (Ice)] Event/Messaging basierte Varianten ActiveMQ mit NMS IceStrom [IIOP.Net] 36

37 Seifenfrei Hessian (1/8) Binäres Web Service Protokoll für RPC Spezifikation von Caucho Binär-codiert Nachrichten Transportprotokoll HTTP RPC basierte Kommunikation Implementierungen u. a. für Java (http://hessian.caucho.com/, 3.2 oder Alternative Hessian4J 1.0).Net (C#) (http://www.hessiancsharp.org/, 1.3.3, LGPL) Keine explizite Schnittstellen Beschreibungssprache 37

38 Seifenfrei Hessian (2/8) Hessian C# Client und Tomcat-basierter Hessian Service Client.Net Anwendung CHessianProxyStandardImpl Service Schnittstelle Tomcat ServletImpl Host & Context CHessianMethodCaller Engine Catalina Hessian IO System Hessian Nachricht Service Catalina & HTTP Connector 38

39 Seifenfrei Hessian (3/8) Programmierer müssen Datentypen der Programmiersprache auf Hessian Datentypen kennen Basist yp en Hessian Java.Net Typ (C#) boolean boolean bool 32-bit int int int 64-bit long long long 64-bit double double double 64-bit date java.util.date DateTime UTF8-encoded string String string remote objects 39

40 Seifenfrei Hessian (4/8) Programmierer müssen Datentypen der Programmiersprache auf Hessian Datentypen kennen (Fortsetzung) Container Hessian Java.Net Typ (C#) list List IList map Map IDictionary Spezialkonstrukte Hessian Java.Net Typ (C#) null null null ref Kennzeichnet Referenzen 40

41 Seifenfrei Hessian (5/8) Beispiel Schnittstelle in C# und Java 1: namespace HessianClient { 2: interface IdemoService { 3: int meininttest(int wert); string meinstringtest(string zeichenkette); Komponent echo(komponent component); 4: } 5: } 1: package service; 2: public interface DemoService { 3: int meininttest(int wert); String meinstringtest(string zeichenkette); Komponent echo(komponent component); 4: } 41

42 Seifenfrei Hessian (6/8) Beispiel C# Client 1: string url = "http://"+host+":8080/hessian/demoservice"; 2: CHessianProxyFactory factory = new CHessianProxyFactory(); 3: IDemoService demoservice = (IDemoService)factory.Create(typeof(IDemoService), url); 4: demoservice.meinstringtest("hallo, ein.net Client"); 42

43 Seifenfrei Hessian (7/8) Beispiel Java Server in Web Container (z. B. Tomcat / Jetty) 1: public class DemoServiceImpl extends HessianServlet implements DemoService { 2: public int meininttest(int wert) { System.out.println("Integer '"+wert+"' empfangen."); return wert++; } 3: public String meinstringtest(string zeichenkette) { System.out.println("String '"+zeichenkette +"' empfangen."); return "Hallo Client, server hat '"+zeichenkette +"' von Ihnen empfangen"; } 4: } 43

44 Seifenfrei Hessian (8/8) Vor- und Nachteile Integrationsaufwand Einfaches Programmiermodell Integration in Java Web Container Eignet sich für Szenarien, in denen Firewalls durchdrungen werden müssen Sicherheit über HTTPS Lastverteilung lässt sich mit mäßigem Aufwand realisieren Kein einheitliches (Server-seitiges) Programmiermodell Keine Unterstützung für Namensdienste/Registries, Transaktionen und Reliable Messaging 44

45 Seifenfrei Es gibt viele Alternativen RPC basierte Varianten IIOP.Net Hessian [Internet Communication Environment (Ice)] Event/Messaging basierte Varianten ActiveMQ mit NMS IceStrom [IIOP.Net] 45

46 Seifenfrei ActiveMQ und NMS (1/8) Apache Projekt ActiveMQ bietet Nachrichten-basierte Kommunikation auf Basis der JMS Spezifikation Ist grundsätzlich asynchron Bietet Qualitätsaspekte wie Transaktionsanbindung Persistente Queues Garantierte Auslieferung Ortstransparenz Transport über TCP 46

47 Seifenfrei ActiveMQ und NMS (2/8) ActiveMQ NMS.Net Messaging API Unterstützt sog Cross Lanaguage Clients and Protocols OpenWire STOMP Streaming Text Oriented Messaging Protocol Unterstützt ActiveMQ und MSMQ Ist integraler Bestandteil von Spring.Net Unterstüzte Nachrichten: ITextMessage, IMapMessage IBytesMessage 47

48 Seifenfrei ActiveMQ und NMS (3/8) Point-to-Point Asynchrone Kommunikation zwischen genau zwei Partnern Sind mehrere Empfänger registriert, erhält genau einer die Nachricht Sender JMS Queue Empfänger JMS Broker 48

49 Seifenfrei ActiveMQ und NMS (4/8) Publisher-Subscriber Asynchrone Kommunikation zwischen einem Sender und mehreren Empfängern Empfänger 1 Sender JMS Topic JMS Broker. Empfänger n 49

50 Seifenfrei ActiveMQ und NMS (5/8) Beispiel Java Publisher Beispiel 1: ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = factory.createconnection(); 2: Session jmssession = connection.createsession(false, Session.AUTO_ACKNOWLEDGE); Topic topic = jmssession.createtopic("demotopic"); 3: MessageProducer producer = jmssession.createproducer(topic); producer.setdeliverymode(deliverymode.non_persistent); 4: jmssession.createtextmessage("hallo eine Nachricht"); producer.send(message); 50

51 Seifenfrei ActiveMQ und NMS (6/8) Beispiel C# Subscriber Beispiel (1/2) 1: using Apache.NMS.ActiveMQ; using Apache.NMS; namespace NMSSubscriber { class Subscriber { static void Main(string[] args) { 2: ConnectionFactory factory = new ConnectionFactory("tcp://localhost:61616"); IConnection connection = factory.createconnection(); 3: ISession jmssession = connection.createsession(acknowledgementmode.autoacknowledge); ITopic topic = jmssession.gettopic("demotopic"); 4: IMessageConsumer consumer = jmssession.createconsumer(topic); 51

52 Seifenfrei ActiveMQ und NMS (7/8) Beispiel C# Subscriber Beispiel (2/2) 5: consumer.listener += new MessageListener( new Client().OnMessage); connection.start(); } 6: public void OnMessage(IMessage message) { try { if (message is ItextMessage) { ITextMessage msg = message as ITextMessage; Console.WriteLine("Nachricht : " + msg.text); } } catch (NMSException e) { Console.WriteLine(e); } } 52

53 Seifenfrei ActiveMQ und NMS (8/8) Vor- und Nachteile Integrationsaufwand Ähnliches Programmiermodell in Java und.net Transaktionen werden unterstützt Reliable Messaging wird unterstützt Lastverteilung lässt sich leicht realisieren Sicherheit über HTTPS Funktioniert nur mit OpenWire- oder Stomp-basierten JMS Broker 53

54 Seifenfrei Es gibt viele Alternativen RPC basierte Varianten IIOP.Net Hessian [Internet Communication Environment (Ice)] Event/Messaging basierte Varianten ActiveMQ mit NMS IceStrom [IIOP.Net] 54

55 Seifenfrei IceStorm (1/8) Internet Communication Environment (ICE) ZeroC (www.zeroc.com) Lizenzmodell Kostenlos für nicht-kommerzielle und akademische Projekt Kostenpflichtig für kommerziellen Einsatz Komplettes Programmiermodell zur Entwicklung verteilter System, sowohl RPC als auch Nachrichten-basierter Systeme Implementierungen verfügbar für C++, C#, Java, VisualBasic, Ruby, Perl und Python 55

56 Seifenfrei IceStorm (2/8) Das Ice Programmiermodell ist sehr stark an CORBA angelegt Ice Client Anwendung Proxy Service Schnittstelle Ice Server Servantl ServantLocator ObjectAdapter Ice Communicator Ice Nachricht Ice Communicator 56

57 Seifenfrei IceStorm (3/8) IceStrom unterstützt ausschließlich Publisher-Subscriber Asynchrone Kommunikation zwischen einem Sender und mehreren Empfängern Empfänger 1 Sender Topic. IceStorm Broker Federation von IceStrom Broker ist möglich Nachrichten sind nicht persistent Topics und Subscriber können persistent sein Empfänger n 57

58 Seifenfrei IceStorm (4/8) Ice(Storm) beschreibt Schnittstellen und Nachrichten mittels der Specification Language for Ice (SLICE) 1: module Demo { 2: interface DemoService { 3: void melde(string wert); 4: }; 5: }; Stubs und Skeletons der entsprechenden Zielplattform mittels slice2* generieren 58

59 Seifenfrei IceStorm (5/8) Ice Publisher in Java 1: IceStorm.TopicManagerPrx manager = IceStorm.TopicManagerPrxHelper.checkedCast( communicator().propertytoproxy("topicmanager.proxy")); 2: IceStorm.TopicPrx topic = manager.retrieve("demotopic"); 3: DemoService clock = DemoServicePrxHelper.uncheckedCast(publisher); 4: clock.melde("hallo eine Nachricht"); 59

60 Seifenfrei IceStorm (6/8) Ice Subscriber in C# (1/2) 1: IceStorm.TopicManagerPrx manager = IceStorm.TopicManagerPrxHelper.checkedCast( communicator().propertytoproxy("topicmanager.proxy")); 2: IceStorm.TopicPrx topic = manager.retrieve("demotopic"); 3: Ice.ObjectAdapter adapter = communicator().createobjectadapter("demo.subscriber"); 4: Ice.Identity subid = new Ice.Identity(id, Ice.Util.generateUUID()); 5: Ice.ObjectPrx subscriber = adapter.add(new ServiceImpl(), subid); 6: topic.subscribeandgetpublisher(qos, subscriber); 7: adapter.activate(); 60

61 Seifenfrei IceStorm (7/8) Ice Subscriber in C# (2/2) 8: public class ServiceImpl : DemoServiceDisp_ { public override void melde(string wert, Ice.Current current) { Console.WriteLine(wert); } } 61

62 Seifenfrei IceStorm (8/8) Vor- und Nachteile Einheitliches Programmiermodell für alle Plattformen Sicherheit über SSL Reliable Messaging (ordered messages) wird unterstützt Ähnliche Komplexität wie CORBA Keine Transaktionen wie bei JMS 62

63 Seifenfrei Zusammenfassung (1/3) Es gibt sowohl für RPC als auch Nachrichten-basierte Systeme Alternativen zu Webservices Die Entscheidung ob und welche Alternative einsetzbar ist, ist grundsätzlich vom Projekt und dessen Anforderungen abhängig 63

64 Seifenfrei Zusammenfassung (2/3) Eigenschaft WCF / java IIOP.Net Hessian(CS) ActiveMQ Ice(Storm) Lizenzmodell LGPL LGPL Apache kommerziell Codierung XML GIOP binär binär binär Transport HTTP TCP TCP HTTP TCP TCP UDP Firewalltauglich Programmiermodell leicht Modell des eingesetzten Produkts schwierig (Bidirectional IIOP).Net Remoting CORBA bzw. EJB Modell leicht schwierig bedingt Eigenes Modell für.net Servlet API in Java JMS (-like) Gleiches Modell sowohl in :Net als auch Java Schnittstellen WSDL IDL API API SLICE Dokumentation ++ + o + ++ Prof. Service ++ o o

65 Seifenfrei Zusammenfassung (3/3) Eigenschaft WCF / java IIOP.Net Hessian(CS) ActiveMQ Ice(Storm) Sicherheit Transaktionen Zuverlässigke it WS Security HTTS WS Transaction WS Reliability COS Security IIOP/SSL COS Transaction COS Event Notification HTTPS Apache OpenSSL n/a n/a JMS Transaction JMS durable n/a Bedingt (keine persistenten Nachrichten) Performance - + o

66 Fragen? Vielen Dank! 66

Arten von Broker Architekturen

Arten von Broker Architekturen Arten von Broker Architekturen Common Object Request Broker Architecture (CORBA) Entworfen von Object Management Group (OMG) Für Datenaustausch und Kommunikation zwischen Komponenten verschiedener Programmiersprachen

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Frank Kargl Torsten Illmann Michael Weber Verteilte Systeme Universität Ulm {frank.kargl torsten.illmann weber} @informatik.uni-ulm.de

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

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Ein einfacher Server. .NET Remoting. Klassentypen

Ein einfacher Server. .NET Remoting. Klassentypen Einführung - eine Klienten-Applikation kann mit einer Komponente interagieren die hinter einer Grenze liegt - Remoting ermöglicht eine Kommunikation von Komponenten Kontext-, Applikationsdomänen- (leichtgewichtiger

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

Norm 410 Security Token Service

Norm 410 Security Token Service 1 Norm 410 Security Token Service 2 3 4 Release und Version Release 2 Version 2.5.0 (2.4.0) vom 25.04.2013, NAUS-Beschluss vom 14.06.2012 5 6 7 8 9 10 Status Arbeitsentwurf vom 12.08.2008 Potenzielle Norm

Mehr

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 3 Peter Sollberger Eine erste CORBA Anwendung Inhalt Dienstag, 4. November Object Request Broker CORBA Architektur und Komponenten (Teil 1) Übung:

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Objektorientierte Systeme II Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte

Mehr

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF Mathias Slawik, SS 2009 Agenda Technologien Java RMI (Remote Method Invocation) Microsoft WCF (Windows Communication Foundation) Benchmark

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

SOA, Webservices und SOAP für Schnelleinsteiger

SOA, Webservices und SOAP für Schnelleinsteiger SOA, Webservices und SOAP für Schnelleinsteiger (C)opyright 2005 by Jochen Vajda Inhalt Einführung I. Was ist SOA? II. Webservices, SOAP und WSDL SOAP mit PHP5 I. Benötigte Komponenten II. Client ohne

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

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Komponentenmodelle II

Komponentenmodelle II Komponentenmodelle II DCOM / CORBA Detlef Streitferdt Technische Universität Ilmenau DCOM Architektur Client Proxy Stub Component CoCreateInstance Security Provider DCE RPC Protocol Stack Security Provider

Mehr

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de XML-RPC, SOAP und Web Services Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was ist RPC? Was hat XML mit RPC zu tun? Was sind XML-RPC und SOAP? Was sind Web Services? Wird das die Welt retten?

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaSbilität zu Standards (WS- I) Contracts

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2005 Teil 16 RMI, DCOM, Webservices cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) JVM JVM Client Server Stub Java Remote Skeleton Method

Mehr

Netzprogrammierung Web-Dienste

Netzprogrammierung Web-Dienste Netzprogrammierung Web-Dienste Robert Tolksdorf und Mitarbeiter und Peter Löhr Überblick 1. Was sind Web-Dienste? 3 2. WSDL 13 3. Axis 20 4. SOAP 23 5. SOAP und HTTP 30 6. Zusammenfassung 36 Robert Tolksdorf

Mehr

JMS JAVA MESSAGE SERVICES. Entwicklung von Webanwendungen SS 07

JMS JAVA MESSAGE SERVICES. Entwicklung von Webanwendungen SS 07 JMS JAVA MESSAGE SERVICES Entwicklung von Webanwendungen SS 07 Marc Seeger Stephan Helten [ms155] [sh094] Agenda Teil 1: Marc Seeger [ms155] Einführung: Was ist Messaging Message Oriented Middleware [MOM]

Mehr

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen

Mehr

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

Mehr

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP 1 5. Web-Services Kommunikation zwischen Client und Server über XML-Format SOAP Client SOAP Server Beschreibung von Webservices in WSDL (Web Services Description Language) Web Service Protokollstapel Suche

Mehr

Business Process Management und Enterprise Service Bus

Business Process Management und Enterprise Service Bus Business Process Management und Enterprise Service Bus Gegner oder doch eine gute Ergänzung? Author: Date: Markus Demolsky Soreco International 08. November 2010 Vortragender Warum über Integration nachdenken?

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

Netzprogrammierung: Microsoft.NET Remoting

Netzprogrammierung: Microsoft.NET Remoting Netzprogrammierung: Microsoft.NET Remoting Robert Tolksdorf und Peter Löhr Überblick 1. Fernaufrufbare Objekte 2. Parameterübergabe 3. Konfigurationsdateien http://msdn.microsoft.com/en-us/library/72x4h507(vs.85).aspx

Mehr

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

SOA mit.net: Vom Geschäftsprozess zur Lösung

SOA mit.net: Vom Geschäftsprozess zur Lösung SOA mit.net: Vom Geschäftsprozess zur Lösung Manfred Steyer Aktuelles Buch.Net 4.0 Update ISBN 978-3866454439 http://tinyurl.com/net4update 1 Kontakt [www] www.softwarearchitekt.at [mail] Manfred.Steyer@SoftwareArchitekt.at

Mehr

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel VS12 Slide 1 Verteilte Systeme Vorlesung 12 Sebastian Iwanowski FH Wedel Mögliche Plattformen für Web Services VS12 Slide 2 VS12 Slide 3 Java-Software für verteilte Systeme J2EE: Java 2 Enterprise Edition

Mehr

KompaRbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AWribuRerung. Mehr Spielraum auf Transportebene

KompaRbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AWribuRerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaRbilität zu Standards (WS- I) Contracts

Mehr

unterschiedlichen Sprachen

unterschiedlichen Sprachen 8.1.6.NET Remoting.Net ( dotnet ) : von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von Programmen in unterschiedlichen Sprachen C# ( Csharp

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Beispiel Minibank nur: Kunde, Konto, Überweisung personen.person Attributes Name:String Vorname:String überweisungen.überweisung Attributes Verwendungszweck:String Datum:Date betrag:integer

Mehr

Evaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software

Evaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software Evaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software Diplomarbeit Alexander Matuschinski Betreuer: Prof. Dr. Lutz Prechelt Zweitgutachter: Prof.

Mehr

Client/Server-Programmierung. CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO)

Client/Server-Programmierung. CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO) Client/Server-Programmierung WS 2007/08 CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO) Version 1.2, 28.11.07 Schritt 1: Erstellung der IDL Zuerst muß eine IDL (Interface Definition Language)-Datei erstellt

Mehr

Enterprise Application Integration. 8. Nachrichten-orientierte Middleware

Enterprise Application Integration. 8. Nachrichten-orientierte Middleware Enterprise Application Integration 8. Nachrichten-orientierte Middleware Kommunikation zwischen IS in Unternehmen eng Remote Procedure Calls/ Remote Method Invocation, z.b. bei: CORBA EJB DCOM+ Web Services

Mehr

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover DCOM und.net B. Sc. Tobias Buchloh Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover 2004-12-21 Gliederung Motivation Einordnung (D)COM.NET

Mehr

Web Services. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Institut für Systemsoftware, Johannes Kepler Universität Linz

Web Services. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Institut für Systemsoftware, Johannes Kepler Universität Linz Web Services JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network Pratikum SWE 2 Institut für Systemsoftware, Johannes Kepler Universität Linz Web Services Einführung Web-Services in Java JAXB

Mehr

0. Inhaltsverzeichnis

0. Inhaltsverzeichnis 0. Inhaltsverzeichnis 0. Inhaltsverzeichnis...1 1. Kurze Einführung WebService Architektur...2 1.1 Synchrones Modell:...2 1.2 Asynchrones Modell:...2 1.3 Vorteile:...3 1.4 Voraussetzungen...3 2. Testseite

Mehr

Web Services Monitoring

Web Services Monitoring Web Services Monitoring Foliensatz zum Vortrag von der OIO Hauskonferenz am 17. Dezember 2009 predic8 GmbH Moltkestr. 40 53173 Bonn www.predic8.de info@predic8.de Ihr Sprecher Thomas Bayer Trainer, Berater,

Mehr

Sun ONE. Sun Open Net Environment. Architektur für Web-Services on Demand. Dr. Rainer Eschrich rainer.eschrich@sun.com

Sun ONE. Sun Open Net Environment. Architektur für Web-Services on Demand. Dr. Rainer Eschrich rainer.eschrich@sun.com Sun ONE Sun Open Net Environment Dr. Rainer Eschrich rainer.eschrich@sun.com Architektur für Web-Services on Demand Sun ONE Vision Wie kann Software dem Kunden helfen? Kostenreduktion: Wie? In dem man

Mehr

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion Verteilte Anwendungen und Klassifikation von Interaktionsformen explizit implizit orthogonal nicht-orthogonal uniform nicht-uniform transparent nicht-transparent explizite, orthogonale Interaktion weit

Mehr

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013 GTUG Java Arbeitskreis Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung September 2013 Jürgen Depping CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Agenda Was ist OmnivoBase?

Mehr

14.3 WebServices mit.net

14.3 WebServices mit.net Die Ausführungen zu ASP.NET können an dieser Stelle nicht vertieft werden, da dieses Thema derartig komplex ist, dass es den Rahmen dieses Buches sprengen würde. Statt dessen sei auf das sehr eindrucksvolle

Mehr

Kap. 6 Message-Oriented Middleware (MOM)

Kap. 6 Message-Oriented Middleware (MOM) Kap. 6 Message-Oriented Middleware (MOM) G 6.1Asynchrone Prozedur- bzw. Methodenaufrufe Lose Kopplung von Komponenten G 6.2Queued Transactions Entkopplung von Client/Server-Transaktionen G 6.3Publish/Subscribe-Techniken

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

CORBA Implementierung von Client und Server

CORBA Implementierung von Client und Server CORBA Implementierung von Client und Server J. Heinzelreiter WS 2003/04 Implementierung des Clients Initialisierung und Freigabe des ORBs. Mapping von Interfaces. Behandlung von Objektreferenzen. Verwaltung

Mehr

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08 Service Oriented Architecture Hanno Wunderlich SWT-Projekt WS07/08 1 Agenda Einführung SOA / Webservices Standards und Technologien hinter SOA/Webservices Beispiel für SOA SOA in unserem Projekt 2 Einführung

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Kommunikation ist alles

Kommunikation ist alles Kommunikation in verteilten Systemen mit Kommunikation ist alles >> alexander ziegler In einem verteilten System müssen die Anwendungsbestandteile miteinander interagieren nur so funktioniert ein großes

Mehr

Loadbalancing und Clustering mit Tomcat 6

Loadbalancing und Clustering mit Tomcat 6 Loadbalancing und Clustering mit Tomcat 6 Java Forum Stuttgart 3. Juli 2008 Michael Heß ORDIX AG, Paderborn mhe@ordix.de www.ordix.de Agenda Zielsetzung des Vortrags Webserver Integration Loadbalancing

Mehr

Kap. 6 Message-Oriented Middleware (MOM)

Kap. 6 Message-Oriented Middleware (MOM) Kap. 6 Message-Oriented Middleware (MOM) 6.1Asynchrone Prozedur- bzw. Methodenaufrufe Lose Kopplung von Komponenten 6.2Queued Transactions Entkopplung von Client/Server-Transaktionen 6.3Publish/Subscribe-Techniken

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Service Contract Handling. Best-Practices zum Umgang mit Service Contract Artefakten (WSDL) in Oracle SOA Suite 11g

Service Contract Handling. Best-Practices zum Umgang mit Service Contract Artefakten (WSDL) in Oracle SOA Suite 11g Service Contract Handling Best-Practices zum Umgang mit Service Contract Artefakten (WSDL) in Oracle SOA Suite 11g Matthias Furrer Principal Consultant November 2013 Dieses Dokument beschreibt allgemeine

Mehr

Übersicht. Projekt DB-basierte, mobile Systeme. Übersicht. Was sind Web Services? Web Service - Kompakt. Warum das Rad neu erfinden?!

Übersicht. Projekt DB-basierte, mobile Systeme. Übersicht. Was sind Web Services? Web Service - Kompakt. Warum das Rad neu erfinden?! Übersicht HTML Projekt DB-basierte, mobile Systeme JAX-RPC via SOAP Aufgabenblatt 4 Web Services Übersicht Was sind Web Services? "A web service is any service that is available over the Internet, uses

Mehr

GI-Services erstellen und bereitstellen

GI-Services erstellen und bereitstellen GI-Services erstellen und bereitstellen Günter Dörffel ESRI Geoinformatik GmbH g.doerffel@esri-germany.de Agenda Positionierung von GIS-Services SOA im GIS Kontext Standards und Ihre Bedeutung 2 1 Arten

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 1 Object Request Broker el0100 copyright Abt. Technische

Mehr

Kommunikationsmodelle Kapitel 4. Professionelle Implementierungen

Kommunikationsmodelle Kapitel 4. Professionelle Implementierungen Kommunikationsmodelle Kapitel 4. Professionelle Implementierungen Sommersemester 2015 H.-A. Schindler (auf Grundlage einer Vorlesung von Winfried E. Kühnhauser bis ss 2010 ) 4.3 XML-RPC, SOAP, Web-Services

Mehr

Friedrich. Kiltz. Java Webservices

Friedrich. Kiltz. Java Webservices Friedrich Kiltz Java Webservices Symbole.NET 379 @Action 279, 423 @Addressing 372 @BindingType 416 @Consumes 87 @Context 82, 88 @CookieParam 82, 88 @DefaultValue 82, 88 @DELETE 87 @Encoded 82, 88 @Endpoint

Mehr

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000

Mehr

Realtime Anbindung an SAP ERP

Realtime Anbindung an SAP ERP Realtime Anbindung an SAP ERP 14.07.2014, 15:00 NovaTec Consulting GmbH Leinfelden-Echterdingen, München, Frankfurt am Main, Berlin, Jeddah / Saudi-Arabien Showcase - Push SAP Terminauftrag NovaTec 09.09.2015

Mehr

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP 1 5. Web-Services Kommunikation zwischen Client und Server über XML-Format SOAP Client SOAP Server Beschreibung von Webservices in WSDL (Web Services Description Language) Web Service Protokollstapel Suche

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

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Web-Services Implementierung

Web-Services Implementierung Web-Services Implementierung Praktikum Informationsintegration 8.11.2005 Agenda Aktueller Stand / Abgabe Implementierung Wie geht das mit Java und Tomcat? Service Client 2 Abgabe Teil 1 Ein paar Zahlen

Mehr

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Die Herausforderung: Hostanbindung Viele Unternehmen besitzen Mainframe- und Legacy-Anwendungen, so genannte Enterprise Information Systems (EIS),

Mehr

Abbildung 3-1: Clients und Server C+S

Abbildung 3-1: Clients und Server C+S Abbildung 3-1: Clients und Server C+S Abbildung 3-2: Interaktions-koordinations-arten Abbildung 3-3: Zuverlässige Nachrichtenübertragung a) durch individuell quittierte Nachrichten b) durch Quittierung

Mehr

Eclipse Smart Client Beyond Eclipse RCP. Christian Campo, compeople, 24.April 2007

Eclipse Smart Client Beyond Eclipse RCP. Christian Campo, compeople, 24.April 2007 Eclipse Smart Client Beyond Eclipse RCP Christian Campo, compeople, 24.April 2007 1 Übersicht Definition / Architektur Smart Client Smart Client mit RCP Gesamtfazit 2 Fat - Thin - Smart Fat Client lokale

Mehr

8.1.6.NET Remoting. C# ( Csharp, Cis ) : Referenzsprache für.net,

8.1.6.NET Remoting. C# ( Csharp, Cis ) : Referenzsprache für.net, 8.1.6.NET Remoting.Net ( dotnet ) : von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von Programmen in unterschiedlichen Sprachen C# ( Csharp,

Mehr

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Middleware Versuch einer Einleitung Host dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Mainframe enthält vollständige Anwendung Typ. COBOL, C Mainframe contd.! Nachteile! Mainframe ist teuer

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Die Open-Source CORBA-Implementierung der FU Berlin

Die Open-Source CORBA-Implementierung der FU Berlin Die Open-Source CORBA-Implementierung der FU Berlin Gerald Brose Xtradyne Technologies AG brose@xtradyne.com Übersicht Motivation Überblick über das JacORB-Projekt Möglichkeiten zum Mitmachen 2 1 Warum

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Praktikum Middleware

Praktikum Middleware Praktikum Middleware Institut für verteilte Systeme Thema: Web Service Migration Betreuer : Holger Schmidt Von : Lionel Montheu WS 2006/2007 Inhaltsverzeichnis 1 Aufgabenbeschreibung... 4 2 Grundlegende

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

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

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Januar 2012 CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Motivation Modernisierung eines Systems mit

Mehr

7.1.1 Grundzüge der Fernaufruf-Implementierung

7.1.1 Grundzüge der Fernaufruf-Implementierung 7.1.1 Grundzüge der Fernaufruf-Implementierung = Aufrufbeziehung Aufrufer Vertreter (proxy, client stub) Fernaufrufdienst A d a p t e r Treiber (skeleton, server stub) Fernaufrufdienst Aufgerufener (Modul,

Mehr

Grundlagen und Implementation. Jan Kraft

Grundlagen und Implementation. Jan Kraft Grundlagen und Implementation Jan Kraft Gliederung 1 die OMG 2 Was ist CORBA? 3 Funktionsweise 3.1 die Interface Definition Language 3.2 Objekt Adapter 3.3 weitere Komponenten des ORB 3.4 InterORB Protokolle

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany Enterprise JavaBeans Einführung Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Inhalt Allgemeines Motivation Rollen Aufbau einer EJB Arten von Beans Enterprise JavaBeans

Mehr

Vernetzung von Systemen mit LabVIEW. Christian Mergl Applications and Systems Specialist NI Central European Region

Vernetzung von Systemen mit LabVIEW. Christian Mergl Applications and Systems Specialist NI Central European Region Vernetzung von Systemen mit LabVIEW Christian Mergl Applications and Systems Specialist NI Central European Region Vernetzte Systeme sind von Natur aus interdisziplinär kombinieren Software, Hardware und

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr