VSS Documentation. Release Lukas Martinelli

Größe: px
Ab Seite anzeigen:

Download "VSS Documentation. Release 0.0.1. Lukas Martinelli"

Transkript

1 VSS Documentation Release Lukas Martinelli

2

3 Inhaltsverzeichnis 1 Grundlagen Definitionen Middleware Architekturstile Sockets Mechanismus Nachteile Berkeley Sockets Java Socket API Multithreaded Server TCP/IP vs UDP/IP Remote Procedure Call Blocking vs Non-Blocking Synchronous Remote Procedure Call Asynchronous Remote Procedure Call Messaging Message Oriented Middleware (MOM) Enterprise Integration Patterns RabbitMQ Remote Method Invocation (RMI) IDL RMI-Architektur RMI Beispiel SOAP Webservices Web Services Description Language (WSDL) SOAP Envelope Apache Tomcat Non-Functional Requirements (NFRs) Performance NFR Performance and Scalability Tactics Quality Attributes (QAs) Deployment Diagramme 37 i

4 8.1 UML Deployment Diagramm UML Komponenten Diagramm MSDN Deployment Patterns Non-Distributed Deployment Distributed Deployment Web Farms Load-balancing Cluster Failover Cluster Performance Testing Gatling UML Aktivitätsdiagramm Akzeptanzkriterien Kapazitätstest Performancetest Scalability Scale Up Scale Out Edge Server Caching HTTP Clustered and Managed Topology Availability Definition Possible Downtime per % Optimale Verfübarkeit Tactics Verfügbarkeit bei verteilten System Redundanz Cold Standby Warm Standby Hot Standby Single Point of Failure (SPOF) API Maintainability API Requirements Service Design Patterns POINT-Test Distributed Control Systems Definition Future Automation System Architecture (FASA) Distributed Scheduling Fault Tolerance System Management FCAPS IT Infrastructure Library (ITIL) ii

5 19.3 Systems Management Patterns Java Management Extensions (JMX) Logging Indices and tables 67 iii

6 iv

7 Inhaltsverzeichnis: Inhaltsverzeichnis 1

8 2 Inhaltsverzeichnis

9 KAPITEL 1 Grundlagen Prüfungsrelevante Themen: VSS-Definitionen Middleware-Begriff Architekturstile einfache Web-Programmierung und Java-Netzwerkklassen 1.1 Definitionen Programm Hat einen Anfang und ein Ende Akzeptiert Input und produziert Output Läuft deterministisch Ist clock-driven System Besteht aus Programmen und Subsystemen Hört evtl. nie auf Azeptiert immer Input Oft dynamisch konfiguriert Kann sich nichtdeterministisch verhalten Ist event-driven Distributed System A distributed system is a collection of independent computers that appears to its users as a single coherent system. 3

10 1.1.4 Transparency Transparency Access Location Migration Relocation Replication Concurrency Failure Description Hide differences in data representation and how a resource is accessed Hide where the resource is located Hide that the resource may move to another location Hide that the resource may be moved to another location while in use Hide that resources is replicated Hide that resource may be shared Hide failure and recovery Dimensionen Verteilte Software Systeme besitzen drei unabhängige Merkmale: Nebenläufigkeit Verteilung Persistenz Message Passing Interface (MPI) Eine Alternative zu Sockets speziell für die Kommunikation im High Performance Computing (HPC) Bereich. 4 Kapitel 1. Grundlagen

11 1.1.7 Message Exchange Pattern (MEP) Ein Template das die Verbindungsart für den Austausch von Nachrichten festlegt. Beispiele sind: Datagram Request-Response Duplex Diese können auch alle noch Connection-Oriented sein in dem man eine Session hält Abstraktionsebene der Verteilung Datenaustausch Sockets (UDP/TCP über IP) File Transfer Shared Database Nachrichtenaustauch Message-Oriented Middleware HTTP GET, POST 1.1. Definitionen 5

12 Remote Procedure Call (RPC) DCE RPC Java RMI, CORBA Web Services, RESTful HTTP 1.2 Middleware Middleware ist infrastrukturelle Software zur Kommunikation zwischen Software-Komponenten und Anwendungen auf verschiedenen Computern Die Middleware erfüllt folgende Funktionen: Dient als Verteilungsplatform die viele Protokolle unterstützt Bietet höheres Abstraktionsniveau Verbirgt Komplexität darunter Gründe für eine Einführung: Interoperabilität Vereinfachung Communication-oriented middleware Stellt ein von der Applikation unabhängiges Protokoll zur Verfügung. Low-level protocols and API (infrastructure) Sockets 6 Kapitel 1. Grundlagen

13 1.2.2 Anwendungsorientierte Middleware Benutzt ein spezifisches Protokoll High-level protocols and API (programming models) CORBA IDL, RMI interfaces WSDL/SOAP Webservices Multi Channel Architecture (MCA) 1.3 Architekturstile Distributed Objects Jedes Objekt ist unabhängig vom Ort und antwortet auf einen Method Call N-Layers Jedes Layer kennt nur das tieferliegende Layer. Ein Request geht durch alle Layers hindurch (Request flow) und wieder zurück (Response flow) Client-Server Der Client sendet einen Request auf den Server und bekommt die Antwort Architekturstile 7

14 Tier Architecture Die Applikationsschichten lassen sich beliebig auf den Server oder Client auslagern. Sowohl Persistenz und die eigentliche Business Logik wird vom Server bereitgestelllt, der Client ist lediglich ein Thin Client. Das lässt sich in der Praxis nicht immer so leicht trennen, deshalb gibt es verschiedenste Variationen Tier Architecture Tier 1 : Clients mit Browser Tier 2: Web Server und Presentation Logic (z.b. HTML Templates) Application Server und Business Logic Tier 3: Database Event Driven Architecture Reagiert auf Ereignisse Peer-to-Peer Systeme Eight Fallacies of Distributed Systems Bemerkung: Nicht prüfungsrelevant The network is reliable Oft ist mit Netzwerk das Internet gemeint. Wenn ein Zugriff auf eine 3rd Party API gemacht wird, ist die Chance gross, dass dieser Service auch offline gehen kann. Latency is zero Server näher zu den Kunden bringen (mit Cloud Availability Zones und CDNs). 8 Kapitel 1. Grundlagen

15 Bandwidth is infinite Die meisten Mobilgeräte haben keine unlimitierte Bandbreite. The network is secure TLS Topology doesn t change There is one administrator Even with applications hosted in your own private datacenter, your applications are likely interacting with systems outside your administrative control. Transport cost is zero Not only is transport cost not zero, it s priced Architekturstile 9

16 10 Kapitel 1. Grundlagen

17 KAPITEL 2 Sockets Socket Programmierung ist im Grunde Low-Level Messaging und ist der Basis Mechanismus für verteilte Aufrufe. Es wird kein Programmierkomfort geboten, es werden lediglich Byteströme auf Programmierebene ausgetauscht. 2.1 Mechanismus Ein Socket ist eine eindeutige Verbindung zwischen eine Client (IP + Port) und einem Server (IP + Port). Vorsicht: Typische Fehler: Mit einem Port zu verbinden, für den kein BIND und LISTEN ausgeführt wurde BIND auf Port machen, der bereits belegt ist Protocol Mismatches (Format stimmt nicht überein, Buffer überläuft) Client Client kennt Hostname und Port für den CONNECT mit dem Server: 1. stellt eine Verbindung her 2. erhält Socket Objekt 3. kommuniziert mit Methoden des Socket Objekts 11

18 2.1.2 Server Server kennt eigenen Port und ist im LISTEN Modus: 1. Wartet bis Client über den Connect Port verbindet 2. akzeptiert Request 3. erzeugt für jeden Request einen neuen Socket (neuer Port) um auf den Request zu antworten 4. Ursprünglicher Connect Sockets ist bereit für weitere Requests 12 Kapitel 2. Sockets

19 2.2 Nachteile Byteströme müssen erstellt und geparst werden Messaging Format muss selbst spezifiziert und implementiert werden Viele fehlende Features die heute Middleware übernimmt (z.b. Synchronization) 2.3 Berkeley Sockets Funktioniert platformübergreifend für alle Sprachen gleich. Primitive Meaning SOCKET Create new communication end point BIND Attach a local address to a socket LISTEN Announce willingness to accept connections ACCEPT Block caller until connection request arrives CONNECT Actively attempt to establish connection SEND Send data over connection RECEIVE Receive data over connection CLOSE Release the connection Message Exchange Pattern (MEP) nicht garantiert Weder die Socket API noch MPI legen das Message Exchange Pattern fest. Dies muss in der Applikation festgelegt werden und muss behandeln können: Wer schreibt wann? Wie geht man mit Buffer Overflows um? Wie wird zwischen Client und Server synchronisiert? 2.4 Java Socket API Die Klasse Socket in Java benutzt standardmässig einen TCP/IP Socket Server Beispiel für einen Single-Threaded Server, welcher die aktuelle Zeit liefert 2.2. Nachteile 13

20 public class TimeServer { public static void main(string args[]) throws Exception { int port = 2342; ServerSocket server = new ServerSocket(port); while(true) { Socket client = server.accept(); try(printwriter out = new PrintWriter(client.getOutputStream(), true)) { Date date = new Date(); out.println(date); } } } } Der Konstruktor des ServerSockets macht implizit einen BIND und LISTEN wenn ihm ein Port übergeben wurde. Mit dem server.accept Call warten wir bis ein Client eine Verbindung eröffnet, um dann einen neuen Socket client zu eröffnen auf dem wir ihm daten zurücksenden können Client Beispiel für den Client der die Zeit vom Server holt public class TimeClient { public static void main(string args[]) throws IOException { String host = "localhost"; int port = 2342; } Socket server = new Socket(host, port); try(bufferedreader in = new BufferedReader(new InputStreamReader(server.getInputStream))) { String date = in.readline(); } Der Client macht lediglich einen CONNECT und schreibt auf den Socket Berkeley Socket Pattern Der Konstruktor in der Java Socket API macht vieles implizit (zum Beispiel den CONNECT oder BIND). Es wäre besser die Berkely Sockets nicht zu abstrahieren sondern direkt explizit connect() und listen() Methoden zu verwenden UDP und Multicast DatagramSocket für UDP MulticastSocket für Multicasts mit UDP 2.5 Multithreaded Server 2.6 TCP/IP vs UDP/IP Connection-Oriented vs Connection-Less 14 Kapitel 2. Sockets

21 QoS Unterschiede Sequencing: Wird die Paketreihenfolge sichergestellt? Packet loss: Werden Pakete erneut übertragen? Broadcast und Multicast möglich Bemerkung: Can one program listen to and accept connections on multiple ports? Bemerkung: How can multiple clients connect to the same server without blocking the port? 2.6. TCP/IP vs UDP/IP 15

22 16 Kapitel 2. Sockets

23 KAPITEL 3 Remote Procedure Call Es gibt zwei Designdimensionen: lokaler Aufruf: Kommunikation mit nächsttieferer lokaler Schicht ** remote Aufruf:** Kommunikation mit derselben Schicht auf entferntem Rechner 3.1 Blocking vs Non-Blocking Blockiert ein Programm (beispielsweise der accept() Call beim Java Socket API) so muss dies unbedingt dokumentiert werden. Bringt ausserdem viele Fehlermöglichkeiten mit sich. Bei blockierenden Methoden deshalb immer ein Timeout setzen. Blocking API Call Ja Situationsbedingt Non-blocking API Call Selten Ja 3.2 Synchronous Remote Procedure Call 3.3 Asynchronous Remote Procedure Call 17

24 18 Kapitel 3. Remote Procedure Call

25 KAPITEL 4 Messaging Queue-basiertes Messaging gestattet die flexible und lose Kopplung unterschiedlichster Systeme: Auf unterschiedlichen Plattformen In unterschiedlichen Programmiersprachen Mit völlig unterschiedlichen Message-Formaten (Text, Byte, Objekt). Messaging wird heute vielfach als einfacherer Ansatz für die Integration unterschiedlicher Systeme eingesetzt mit den Merkmalen: Einfachheit Lose Kopplung Erweiterbarkeit Skalierbarkeit Fehlertoleranz Die APIs sind einfach zu benutzen, es müssen aber viele Designentscheidungen getroffen werden: Message intent (command vs. data) Returning a response (request-reply) Huge amounts of data (sequencing) Slow messages (message expiration) QoS (guaranteed delivery, transactionality, idempotency) 19

26 4.1 Message Oriented Middleware (MOM) Message Queing Model Mit dem Message-Queuing Model enkoppelt man den Empfänger von der Zeitdimension. Er kann selbst wählen, wie er die Nachricht empfangen will. Der Sender kann auch eine lokale Queue verwenden um beispielsweise momentane Übertragungsprobleme auszugleichen oder inkommende Nachrichten zu puffern. 20 Kapitel 4. Messaging

27 4.1. Message Oriented Middleware (MOM) 21

28 4.1.2 Architekturen Pipes-and-Filter Chaining Hub-and-Spoke Architecture 22 Kapitel 4. Messaging

29 Einige Provider Implementationen: * Apache ActiveMQ * Redis * JBoss * RabbitMQ * WebSphere MQ Terminologie Client An application or process that produces and/or receives messages. Producer/Publisher A JMS client that creates and sends messages. Consumer/Subscriber A JMS client that receives messages. Message An object that contains the data being transferred between JMS clients. Queue A staging area that contains messages that have been sent and are waiting to be read (by only one consumer). Note that, contrary to what the name queue suggests, messages don t have to be delivered in the order sent. A JMS queue only guarantees that each message is processed only once. Topic A distribution mechanism for publishing messages that are delivered to multiple subscribers Channel Types Point-to-Point Channel How can the caller be sure that exactly one receiver will receive the document or perform the call? Messages werden zu einem spezifischen Consumer gerouted, der eine Queue für die Messages verwaltet. Jede Message geht an eine spezifische Queue. Publish-Subscribe Channel How can the sender broadcast an event to all interested receivers? Messages werden an ein spezielles Topic gesendet. Subscriber können alle Messages zu einem Topic abonnieren. Der Publisher muss die Consumer nicht kennen Message Oriented Middleware (MOM) 23

30 4.1.6 Quality of Service (QoS) Settings Attribute Transport Type FIFO delivery Message length Setup retry count Delivery retries Description Transport Protokoll für die Übertragung Messages werden in der Reihenfolge zugestellt, in der sie gesendet wurden Maximale Länge einer Nachricht Maximale Anzahl Versuche um die Remote Queue zu erreichen Maximale Anzahl Versuche um eine Nachricht in die Queue zu speichern Persistenz Nicht-Persistent Vorteil dieses Modus ist der geringe Overhead. Die Nachrichten werden nicht gelogged oder gespeichert. Falls ein JMS Provider ausfällt, kann eine solche Meldung verloren gehen. Persistent Instruiert den JMS Provider, dass dieser sich darum kümmern muss, dass die Nachrichten nicht verloren gehen. Der JMS Provider muss solche Nachrichten auch garantiert maximal einmal abliefern. Eine Nachricht kann also verloren gehen, darf dann aber garantiert nur einmal abgeliefert werden. Ein JMS Provider muss eine PERSISTENT Message einmal-und-nur-einmal abliefern. Dadurch wird die Performance verschlechtert Message-Struktur Header Er enthält Informationen für das Routing und die Identifikation oder auch QoS Settings. Ein MOM-Provider normiert seine Message Header. Properties (optional) Informationen, mit deren Hilfe ein Consumer Nachrichten filtern oder weiterrouten kann (Erweiterungen des Standard- Headers). Body Enthält die auszutauschenden Nutzdaten (Text, Objekte, Binärdaten). 24 Kapitel 4. Messaging

31 4.1.9 Ablauf Create the sender creates the message and populates it with data. Send the sender adds the message to a channel. Deliver the messaging system moves the message from the sender s computer to the receiver s computer, making it available to the receiver. Receive the receiver reads the message from the channel. Process the receiver extracts the data from the message. 4.2 Enterprise Integration Patterns Polling Consumer Blocking Receive-Call (optionaler Timeout) Event-driven Consumer Request Handler Pattern 4.2. Enterprise Integration Patterns 25

32 4.2.3 Guaranteed Delivery Pattern 4.3 RabbitMQ TODO 26 Kapitel 4. Messaging

33 KAPITEL 5 Remote Method Invocation (RMI) 5.1 IDL IDL-Begriff, IDL-Beispiele, IDL-Prozess Recurring Design Issues in Remoting: * Wire protocol * Naming/addressing of endpoints * Message Exchange Pattern (MEP) on application level * Request-Reply, One-Way, Long Polling,... * Data formatting (requests, replies) a.k.a. parameter syntax * QoS policies: Um diese Probleme in den Griff zu kriegen, wird ein Vertrag/Interface benötigt, der diese Aspekte definiert Service Contract vs. Service Implementation TODO: 5.2 RMI-Architektur Wird eine Methode auf einem Objekt aufgerufen, wird ein synchroner Aufruf vom Client an den Server gemacht. Der Anwendungsentwickler auf der Client-Seite bleibt der Remote Aufruf verborgen (Proxy Pattern). 27

34 5.2.1 RMI-Registry Remote Objekte können auch referenziert werden, dies muss speziell über einen Namensdienst (RMI-Registry) gehandhabt werden. Diese RMI-Registry wird von der RMI-Referenzschicht zur Verfügung gestellt. RMI stellt ebenfalls einen Mechanismus bereit um ein Remote Object, dass als Parameter an ein anderes Remote Object übergeben wurde, dynamisch nachzuladen. 28 Kapitel 5. Remote Method Invocation (RMI)

35 5.2.2 RMI-Compiler All die Stubs und Skeletons von Hand anzulegen wäre eine zu grosse Handarbeit. Deshalb wird RMI-IDL (als Interface Sprache) benutzt. Mithilfe des RMI-Compiler kann man dann vom RMI-IDL automatisch Proxies und Stubs erzeugen. In neuen Java Versionen kann dies auch dynamisch zur Laufzeit mithilfe von Introspection passieren Stub Ein Stub ist ein Stellvertreterobjekt (Remote Proxy), das Clientaufruf an Server weiterreicht. Die Stub-Klasse baut Socket-Verbindung zu Server auf (CONNECT). Sie schickt Namen der Methode und Parameter und holt das Ergebnis ab Skeleton Ein Skeleton nimmt Aufrufe des Stubs entgegen und leitet sie an Serverobjekt weiter. Erzeugt Socket auf demselben Port wie Stub (BIND/LISTEN/ACCEPT), wartet auf den Methoden-aufruf vom client und delegiert diesen an das Objekt. Der Rückgabewert wird dann über die Socketverbindung an Client zurück gesendet Deployment Die RMI-Registry wurde sowohl vom Client, als auch vom Server verwendet. Um diese bereitzustellen, wird ein Infrastruktur Server benötigt. Wer started die RMI-Registry? Die RMI-Registry muss separat auf dem Infrastruktur Server gestartet und verwaltet werden Kritik Es ist nicht immer klar, dass es sich um Remote Zugriffe handelt (Timeout Management) Client und Server sind stark gekoppelt (Objekt Serialisierung ist starker Vertrag) Binäres Protokoll (Kompabilität benötigt, gleiche Java Version auf Client und Server) Referenzen müssen gemanagt werden (Remote Garbage collection) Wird oft von der Firewall geblocket, da es sich um ein eigenes Protokoll handelt. 5.3 RMI Beispiel Es muss ein Interface für die Remote-Methoden erstellt werden, dass sowohl dem Client, als auch dem Server bekannt ist import java.rmi.remote; import java.rmi.remoteexception; public interface Hello extends Remote { String sayhello() throws RemoteException; } 5.3. RMI Beispiel 29

36 Der Server implementiert nun dieses Interface import java.rmi.remoteexception; import java.rmi.server.unicastremoteobject; public class HelloImpl extends UnicastRemoteObject implements Hello { public HelloImpl() throws RemoteException { super(); } public String sayhello() throws RemoteException { return "Hello World!"; } } Nun muss ein Remote Object der Implementierung erzeugt und bei der RMI-Registry angemeldet werden. import java.rmi.naming; public class HelloServer { public static void main(string args[]) { try { HelloImpl obj = new HelloImpl(); Naming.rebind("rmi://[hn]/remoteHello", obj); } catch (Exception e) {... } } } Zuerst muss das Remote Object von der RMI-Registry abgeholt werden. Danach können wir auf dem Interface alle definierten Methoden aufrufen import java.rmi.*; public class RmiClient { public static void main(string[] args) { try { Hello obj =(Hello)Naming.lookup("rmi://[hn]/remoteHello"); String message = obj.sayhello(); System.out.println(message); } catch (Exception e) {... } } } Call-by-Value Es werden Kopien der Objekte zwischen Client und Server verschickt, dazu müssen die Parameter-Klassen serialisierbar sein. Vorteil: sie Anzahl der remote Zugriffe ist reduziert Nachteil: Änderungen von entfernten Objekten sind so nicht möglich Call-by-Reference Referenz auf das Parameter-Objekt wird an den Server übertragen, dazu muss die Parameter-Klasse ebenfalls ein RMI-Object sein (sie muss also ein Remote-Interface haben und von UnicastRemoteObject ableiten). Vorteil: Server kann übergebene Client-Objekte auf Client ändern Nachteil: Remote-Zugriffe sind teuer 30 Kapitel 5. Remote Method Invocation (RMI)

37 5.3.3 Objekt Serialisierung Um die Java Objekte zu übertragen, müssen sie zuerst serialisiert werden. Bei der Serialisierung werden die Objekte in einen flachen, geordneten Bytestream geschrieben. Um in Java ein Klasse serialisierbar zu machen, muss das Objekt mit dem Marker Interface java.io.serializable ausgezeichnet werden public class Person implements Serializable { private static final long serialversionuid = 1L; private String name; private String place; private int year; Person(String aname, String aplace, int ayear) { name = aname; place = aplace; year = ayear; } } Die serialversionuid ist die Versionsnummer einer Klasse. Wird ein Objekt deserialisiert, werden die serialversionuid des Codes und des Objekts verglichen. Stimmen diese nicht überein wird eine InvalidClassException auftreten RMI Beispiel 31

38 32 Kapitel 5. Remote Method Invocation (RMI)

39 KAPITEL 6 SOAP Webservices Basiert auf den Grundsätzen von RPC. Web Services, SOAP, WSDL; Apache Tomcat 6.1 Web Services Description Language (WSDL) WSDL ist ein XML Format mit dem RPC beschrieben werden können. Es handelt sich also eigentlich um eine IDL in XML. WSDL schreibt man heutzutage nicht mehr von Hand, sondern wird mit Contract Generation automatisch generiert (wsimport für Java oder svcutil für.net). Diese Tools können auch direkt Proxies, Skeletons und Stubs für ein Schema generieren. 33

40 6.1.1 Terminologie Service Endpoint Binding Interface Operation Types Serialization Interoperabilität ist nicht gewährleistet. Ein.NET Client kann zum Beispiel keine Java HashMap deserialisieren. Es können verschiedene Implementation für die Serialiserung in Java benutzt werden: JAXB Implementation: In der JDK integriert 3rd Party Java-to-XML Mapper Castor OX Kritik XML ist sehr verbose und deshalb nicht so gut lesbar WSDL ist eine komplexe Sprache mit einer hohen Lernkurve XML und XSD komplex Tools können viele dieser Pain Points abnehmen. 6.2 SOAP Envelope <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:header> <m:trans xmlns:m="http://www.w3schools.com/transaction/" soap:mustunderstand="1">234</m:trans> </soap:header> <soap:body> <m:getprice xmlns:m="http://www.w3schools.com/prices"> <m:item>apples</m:item> </m:getprice> </soap:body> </soap:envelope> 6.3 Apache Tomcat 34 Kapitel 6. SOAP Webservices

41 KAPITEL 7 Non-Functional Requirements (NFRs) Availability Compliance Maintainability Performance Response time, latency; throughput A.k.a. completion time, service time,... Privacy Recovery Resilience, Fault Tolerance, Robustness Scalability Throughput Usability, User-Friendliness 7.1 Performance NFR Gefahr: TODO 7.2 Performance and Scalability Tactics Optimize repeated processing Reduce contention via replication Prioritize processing Consolidate related workload Distribute processing over time Minimize the use of shared resources Reuse resources and results 35

42 Partition and parallelize Scale up or scale out Degrade gracefully Use asynchronous processing Relax transactional consistency Make design compromises Gefahr: TODO 7.3 Quality Attributes (QAs) QA Accuracy: orders must not be lost, resource reservations must be undone QA Efficiency (performance): sub-second response times specified QA Interoperability: multiple platforms to be supported QA Modifiability: skills for selected technologies must be available locally 36 Kapitel 7. Non-Functional Requirements (NFRs)

43 KAPITEL 8 Deployment Diagramme 8.1 UML Deployment Diagramm Hardware, Prozessoren und Runtimes (z.b. JVM) werden als Nodes dargestellt. Artefakte werden Nodes zugewiesen um den Deployment Status des Systems zu modellieren. 8.2 UML Komponenten Diagramm 37

44 38 Kapitel 8. Deployment Diagramme

45 KAPITEL 9 MSDN Deployment Patterns 9.1 Non-Distributed Deployment 9.2 Distributed Deployment 39

46 9.3 Web Farms 40 Kapitel 9. MSDN Deployment Patterns

47 9.4 Load-balancing Cluster 9.4. Load-balancing Cluster 41

48 9.5 Failover Cluster 42 Kapitel 9. MSDN Deployment Patterns

49 KAPITEL 10 Performance Testing 10.1 Gatling Gatling ist eine Load Testing Software mit der man Benutzungsszenarien spezifizieren und deren Ausführungszeit messen kann. Um Szenarien zu modellieren eignen sich UML Aktivitätsdiagramme gut. In einer realen Testumgebung kann es gut sein, dass von einem einzelnen Load Generator nicht genügend Usersessions simuliert werden können, um den zu testenden Server voll auszulasten UML Aktivitätsdiagramm 10.3 Akzeptanzkriterien Es empfiehlt sich in jedem Fall für eine Applikation Akzeptanzkriterien zu definieren. Die dabei gewählten Metriken müssen spezifisch, messbar und realistisch sein. Beispiele für Akzeptanzkriterien: Nr Kriterium Metrik K1 Die Webseite soll flüssig bedienbar sein. 95% aller Requests sollen in weniger als 500ms beantwortet werden. Response Time in ms K2 Das erstellen eines Tweets darf in 95% der Fälle nicht länger als 2s dauern Response Time in ms K3 99.9% der Requests müssen ohne Fehler durch den Server beantwortet werden können. no_errors / no_total 10.4 Kapazitätstest Performance sollten an der Kapazitätsgrenze durchgeführt werden. Deshalb muss zuerst evaluiert werden, wieviele Benutzer ein System zur gleichen Zeit benutzen können. Die Kapazitätsgrenze findet man heraus, indem man die Anzahl User hochschraubt, ohne das man die Akzeptanzkriterien verletzt. Diese Kapazitätsgrenze kann nun als Baseline für Performance Tests genommen werden. 43

50 10.5 Performancetest Man kann nun versuchen Performancesteigerung durchzuführen und dann nochmals den Performancetest laufen lässt. Diesen kann man nun mit der Baseline vergleichen. 44 Kapitel 10. Performance Testing

51 KAPITEL 11 Scalability Scalability ist die Fähigkeit: mit steigender Belastung umzugehen ohne die SLAs zu verletzen indem die Anzahl Ressourcen erhöht wird Grundsätzlich gibt es drei verschiedene Ansätze: Work harder Mehr Power um die Arbeit zu erledigen Work smarter Besser Algorithmen verwenden Get help Parallelismus einführen 11.1 Scale Up Underlying resources that are increased are mainly the resources (CPUs, storage, bandwidth,...) of an individual server Scale Out Underlying resources that are increased are mainly additionally complete servers. 45

52 46 Kapitel 11. Scalability

53 KAPITEL 12 Edge Server Ein Edge Server (Load Balancer) hat eine einzige IP Adresse und verteilt Requests an mehrere andere IP Adressen. Typische Verteilungsmechanismen: Round robin Abwechslungsweise die Last verteilen Last-recently-used Führt zu guter Lastverteilung Workload-based Aufrund von Monitoring Ergebnissen die Auslastung abschätzen und dementsprechend verteilen. 47

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

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

Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision

Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision Zielsetzung: System Verwendung von Cloud-Systemen für das Hosting von online Spielen (IaaS) Reservieren/Buchen von Resources

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

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

39 Object Request Brokers. 40 Components of an ORB. 40.1 Stubs and Skeletons. 40.1.1 Stub

39 Object Request Brokers. 40 Components of an ORB. 40.1 Stubs and Skeletons. 40.1.1 Stub 39 Object Request Brokers 40.1 Stubs and s invoke methods at remote objects (objects that run in another JVM) Stub: Proxy for remote object example ORBs: RMI, JavaIDL : Invokes methods at remote object

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

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

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

Klausur Verteilte Systeme

Klausur Verteilte Systeme Klausur Verteilte Systeme SS 2005 by Prof. Walter Kriha Klausur Verteilte Systeme: SS 2005 by Prof. Walter Kriha Note Bitte ausfüllen (Fill in please): Vorname: Nachname: Matrikelnummer: Studiengang: Table

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

GridMate The Grid Matlab Extension

GridMate The Grid Matlab Extension GridMate The Grid Matlab Extension Forschungszentrum Karlsruhe, Institute for Data Processing and Electronics T. Jejkal, R. Stotzka, M. Sutter, H. Gemmeke 1 What is the Motivation? Graphical development

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

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

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz IDS Lizenzierung für IDS und HDR Primärserver IDS Lizenz HDR Lizenz Workgroup V7.3x oder V9.x Required Not Available Primärserver Express V10.0 Workgroup V10.0 Enterprise V7.3x, V9.x or V10.0 IDS Lizenz

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

JONATHAN JONA WISLER WHD.global

JONATHAN JONA WISLER WHD.global JONATHAN WISLER JONATHAN WISLER WHD.global CLOUD IS THE FUTURE By 2014, the personal cloud will replace the personal computer at the center of users' digital lives Gartner CLOUD TYPES SaaS IaaS PaaS

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

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

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1 Komponenten 1 2. Die Anfänge 3 Peter Sturm, Universität Trier 1 Selbstzufrieden Anwendung Hardware 4 Oh? Da gibt es noch jemanden? Anwendung Anwendung TCP/IP Hardware Hardware 5 Peter Sturm, Universität

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

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

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Java Remote Method Invocation (RMI)

Java Remote Method Invocation (RMI) Java Remote Method Invocation (RMI) Alexander Petry 13. Mai 2003 engl.: Entfernter Methodenaufruf 1 Übersicht 1. Einleitung 2. RMI Interfaces und Klassen 3. Parameterübergabe 4. Dynamisches Nachladen von

Mehr

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

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

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

Administering Microsoft Exchange Server 2016 MOC 20345-1

Administering Microsoft Exchange Server 2016 MOC 20345-1 Administering Microsoft Exchange Server 2016 MOC 20345-1 In diesem 5-tägigen Kurs lernen Sie, wie Sie Exchange Server 2012 administrieren und supporten. Sie erfahren, wie Sie den Exchange Server 2016 installieren

Mehr

Ralf M. Schnell. Technical Evangelist Microsoft Deutschland GmbH

Ralf M. Schnell. Technical Evangelist Microsoft Deutschland GmbH Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH Was ist Server Core? Warum Server Core? Was kann man damit machen? Was kann man damit nicht machen? Server Core: Installation Server Core:

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= How to Disable User Account Control (UAC) in Windows Vista You are attempting to install or uninstall ACT! when Windows does not allow you access to needed files or folders.

Mehr

Group and Session Management for Collaborative Applications

Group and Session Management for Collaborative Applications Diss. ETH No. 12075 Group and Session Management for Collaborative Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZÜRICH for the degree of Doctor of Technical Seiences

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

Konzepte von Betriebssystem-Komponenten Middleware RMI

Konzepte von Betriebssystem-Komponenten Middleware RMI Konzepte von Betriebssystem-Komponenten Middleware RMI Mario Kiefer 21. Januar 2005 1 Einführung RMI (Remote Method Invocation) ermöglicht es mit relativ einfachen Mitteln verteilte Anwendungen zu erstellen.

Mehr

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS CITT Expertengespräch TietoEnator 2006 Page 1 Data Freshness and Overall, Real

Mehr

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com z/os Explorer Agenda Introduction and Background Why do you want z/os Explorer? What does z/os Explorer do? z/os Resource Management

Mehr

Remote Methode Invocation (RMI) ETIS SS05

Remote Methode Invocation (RMI) ETIS SS05 Remote Methode Invocation (RMI) ETIS SS05 Motivation Ablauf der Kommunikation Erstellung Remote-Service Zusammenfassung Gliederung 2 Motivation I RMI: Remote Method Invokation Möglichkeit verteilte Java-Anwendungen

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

Ü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

Caching. Hintergründe, Patterns &" Best Practices" für Business Anwendungen

Caching. Hintergründe, Patterns & Best Practices für Business Anwendungen Caching Hintergründe, Patterns &" Best Practices" für Business Anwendungen Michael Plöd" Senacor Technologies AG @bitboss Business-Anwendung!= Twitter / Facebook & co. " / kæʃ /" bezeichnet in der EDV

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

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient Filing system designer FileDirector Version 2.5 Novelties FileDirector offers an easy way to design the filing system in WinClient. The filing system provides an Explorer-like structure in WinClient. The

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

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Zabbix 2.4. What's new? What's new in Zabbix 2.4. 1 of

Zabbix 2.4. What's new? What's new in Zabbix 2.4. 1 of Zabbix 2.4 What's new? 1 of What's new in Zabbix 2.4 About me Name: Pascal Schmiel Email: Schmiel@dv-loesungen.de WEB: www.dv-loesungen.de Senior Consultant Zabbix Certified Professional 2 of What's new

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

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

7 Remote Method Invocation (RMI)

7 Remote Method Invocation (RMI) 7 Remote Method Invocation (RMI) Verteilte Java Anwendungen; Client/Server Architektur Vorläufige Version 188 c 2005 Peter Thiemann Server: Aufgaben erstellt remote objects Objekte, deren Methoden von

Mehr

ISO 15504 Reference Model

ISO 15504 Reference Model Process flow Remarks Role Documents, data, tools input, output Start Define purpose and scope Define process overview Define process details Define roles no Define metrics Pre-review Review yes Release

Mehr

EtherNet/IP Topology and Engineering MPx06/07/08VRS

EtherNet/IP Topology and Engineering MPx06/07/08VRS EtherNet/IP Topology and Engineering MPx06/07/08VRS 3 1. Engineering via free EtherNet/IPTM-Port of a device on Bus from MPx07V10 2. Engineering via optional Industrial-Ethernet-Switch 3. Engineering via

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

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit Hochschule für Technik und Architektur Chur Dr. Bruno Studer Studienleiter NDS Telecom, FH-Dozent bruno.studer@fh-htachur.ch 1 GSM: 079/610 51 75 Agenda Vorteile von Java und Konvergenz Service Creation

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

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 Template Transfer Transfer project templates easily between systems

XML Template Transfer Transfer project templates easily between systems Transfer project templates easily between systems A PLM Consulting Solution Public The consulting solution XML Template Transfer enables you to easily reuse existing project templates in different PPM

Mehr

H Mcast Future Internet made in Hamburg?

H Mcast Future Internet made in Hamburg? H Mcast Future Internet made in Hamburg? Thomas Schmidt (HAW Hamburg) schmidt@informatik.haw-hamburg.de Forschungsschwerpunkt: IMS Interagierende Multimediale Systeme 1 Prof. Dr. Thomas Schmidt http://www.haw-hamburg.de/inet

Mehr

Zend PHP Cloud Application Platform

Zend PHP Cloud Application Platform Zend PHP Cloud Application Platform Jan Burkl System Engineer All rights reserved. Zend Technologies, Inc. Zend PHP Cloud App Platform Ist das ein neues Produkt? Nein! Es ist eine neue(re) Art des Arbeitens.

Mehr

9. Remote Method Invocation Grundlagen der Programmierung II (Java)

9. Remote Method Invocation Grundlagen der Programmierung II (Java) 9. Remote Method Invocation Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

ISO 15504 Reference Model

ISO 15504 Reference Model Prozess Dimension von SPICE/ISO 15504 Process flow Remarks Role Documents, data, tools input, output Start Define purpose and scope Define process overview Define process details Define roles no Define

Mehr

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek. wojtenek@mac.com

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek. wojtenek@mac.com Verfügbarkeit von Applikationen und Failover Szenarien Winfried Wojtenek wojtenek@mac.com Verfügbarkeit % Tage Stunden Minuten 99.000 3 16 36 99.500 1 20 48 99.900 0 9 46 99.990 0 0 53 99.999 0 0 5 Tabelle

Mehr

Symbio system requirements. Version 5.1

Symbio system requirements. Version 5.1 Symbio system requirements Version 5.1 From: January 2016 2016 Ploetz + Zeller GmbH Symbio system requirements 2 Content 1 Symbio Web... 3 1.1 Overview... 3 1.1.1 Single server installation... 3 1.1.2

Mehr

Introduction to Azure for Developers MOC 10978

Introduction to Azure for Developers MOC 10978 Introduction to Azure for Developers MOC 10978 In dem MOC Kurs 10978: Introduction to Azure for Developers lernen Sie, wie Sie die Funktionalität einer vorhandenen ASP.NET MVC Applikation so erweitern,

Mehr

Red Hat Cluster Suite

Red Hat Cluster Suite Red Hat Cluster Suite Building high-available Applications Thomas Grazer Linuxtage 2008 Outline 1 Clusterarten 2 3 Architektur Konfiguration 4 Clusterarten Was ist eigentlich ein Cluster? Wozu braucht

Mehr

Customer-specific software for autonomous driving and driver assistance (ADAS)

Customer-specific software for autonomous driving and driver assistance (ADAS) This press release is approved for publication. Press Release Chemnitz, February 6 th, 2014 Customer-specific software for autonomous driving and driver assistance (ADAS) With the new product line Baselabs

Mehr

HIR Method & Tools for Fit Gap analysis

HIR Method & Tools for Fit Gap analysis HIR Method & Tools for Fit Gap analysis Based on a Powermax APML example 1 Base for all: The Processes HIR-Method for Template Checks, Fit Gap-Analysis, Change-, Quality- & Risk- Management etc. Main processes

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

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!. +++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!. +++ Oracle Mobile Cloud Service (MCS) MCS SDK & MAF MCS

Mehr

Overall Coordination- and Communication Platform. for electronic and standardised Data-Exchange between. Ports and Hinterland in Rail-Traffic

Overall Coordination- and Communication Platform. for electronic and standardised Data-Exchange between. Ports and Hinterland in Rail-Traffic Overall Coordination- and Communication Platform for electronic and standardised Data-xchange between Ports and Hinterland in Rail-Traffic KoKoBahn Hafenübergreifende Koordinations- und Kommunikationsplattform

Mehr

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation

Mehr

Microsoft Azure Fundamentals MOC 10979

Microsoft Azure Fundamentals MOC 10979 Microsoft Azure Fundamentals MOC 10979 In dem Kurs Microsoft Azure Fundamentals (MOC 10979) erhalten Sie praktische Anleitungen und Praxiserfahrung in der Implementierung von Microsoft Azure. Ihnen werden

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

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann - ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

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

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH Windows Azure für Java Architekten Holger Sirtl Microsoft Deutschland GmbH Agenda Schichten des Cloud Computings Überblick über die Windows Azure Platform Einsatzmöglichkeiten für Java-Architekten Ausführung

Mehr

Version/Datum: 1.5 13-Dezember-2006

Version/Datum: 1.5 13-Dezember-2006 TIC Antispam: Limitierung SMTP Inbound Kunde/Projekt: TIC The Internet Company AG Version/Datum: 1.5 13-Dezember-2006 Autor/Autoren: Aldo Britschgi aldo.britschgi@tic.ch i:\products\antispam antivirus\smtp

Mehr

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration II

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration II Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle Application Server 10g R2: Administration II Beschreibung: Die Teilnehmer lernen verschiedene Topologien des Oracle Application

Mehr

Algorithms for graph visualization

Algorithms for graph visualization Algorithms for graph visualization Project - Orthogonal Grid Layout with Small Area W INTER SEMESTER 2013/2014 Martin No llenburg KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum

Mehr

Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation

Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation Eine Betrachtung im Kontext der Ausgliederung von Chrysler Daniel Rheinbay Abstract Betriebliche Informationssysteme

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

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung

Mehr

Mehr erreichen mit der bestehenden Infrastuktur. Mathias Widler Regional Sales Manager DACH mwidler@a10networks.com

Mehr erreichen mit der bestehenden Infrastuktur. Mathias Widler Regional Sales Manager DACH mwidler@a10networks.com Mehr erreichen mit der bestehenden Infrastuktur Mathias Widler Regional Sales Manager DACH mwidler@a10networks.com 1 Das Unternehmen A10 Networks Gegründet 2004, 240 Mitarbeiter Mission: Marktführer im

Mehr

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1 HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1 AGENDA Einführung Apps - Einführung Apps Architektur SharePoint-Hosted Apps Cloud-Hosted Apps Ausblick 11.09.2012 IOZ AG 2 ÜBER

Mehr

Clustering von Application Servern am Beispiel von JBoss 3.2

Clustering von Application Servern am Beispiel von JBoss 3.2 Clustering von Application Servern am Beispiel von JBoss 3.2 Cluster Workshop iternum GmbH Alexanderstraße 7 60489 Frankfurt/Main www.iternum.com Agenda Clustertechnik allgemein Was ist Clustering? Gründe

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

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

Core Solutions of Microsoft Exchange Server 2013 MOC 20341

Core Solutions of Microsoft Exchange Server 2013 MOC 20341 Core Solutions of Microsoft Exchange Server 2013 MOC 20341 In diesem Seminar lernen die Teilnehmer, eine Microsoft Exchange Server 2013-Messagingumgebung zu konfigurieren und zu verwalten. Es werden Richtlinien,

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

AS Path-Prepending in the Internet And Its Impact on Routing Decisions

AS Path-Prepending in the Internet And Its Impact on Routing Decisions (SEP) Its Impact on Routing Decisions Zhi Qi ytqz@mytum.de Advisor: Wolfgang Mühlbauer Lehrstuhl für Netzwerkarchitekturen Background Motivation BGP -> core routing protocol BGP relies on policy routing

Mehr

The Unbreakable Database System

The Unbreakable Database System The Unbreakable Database System Real Application Cluster Unterföhring, 04.2005 M. Kühn 1 Comparisson HA - HA Ziele, DataGuard, HA Oracle, RAC RAC Features - Cache Fusion, TAF, Load Balancing RAC on Solaris

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Open Source Data Center Virtualisierung mit OpenNebula. 22.05.2013 LinuxTag Berlin. Bernd Erk www.netways.de

Open Source Data Center Virtualisierung mit OpenNebula. 22.05.2013 LinuxTag Berlin. Bernd Erk www.netways.de Open Source Data Center Virtualisierung mit OpenNebula 22.05.2013 LinuxTag Berlin Bernd Erk VORSTELLUNG NETWAYS NETWAYS! Firmengründung 1995! GmbH seit 2001! Open Source seit 1997! 38 Mitarbeiter! Spezialisierung

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

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

IBM Cloud Marketplace - Neue Geschäftschancen aus der Cloud - ISV Beispiel eperi GmbH

IBM Cloud Marketplace - Neue Geschäftschancen aus der Cloud - ISV Beispiel eperi GmbH IBM Cloud Marketplace - Neue Geschäftschancen aus der Cloud - ISV Beispiel eperi GmbH ISV Executive Summit 2014 22. Oktober Berlin - Ralf Heineke EcoD Cloud Evangelist DACH Marketplace - Neue Geschäftschancen

Mehr