Service-Orientierte Architekturen

Größe: px
Ab Seite anzeigen:

Download "Service-Orientierte Architekturen"

Transkript

1 Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 3: Design Prinzipien Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha Alda

2 Aufbau der Vorlesung Kapitel Thema Referent 1 Einführung in Software-Architektur Sascha Alda 2 Einführung in SOA Sascha Alda 3 Entwurfsprinzipien für SOA Sascha Alda 4 Web Services I Sascha Alda 5 Web Services II Sascha Alda 6 Modellierung von Geschäftsprozessen (BPEL) Sascha Alda 7 Vertiefung SOA (BAM, BPEL4People, Ontologien) Sascha Alda 8 Exception Handling in SOA (Gastvortrag) 9 Einführung in Swordfish Alda, Preissler 10 RESTful Architekturen Sascha Alda 11 OSGi Service Plattform Sascha Alda 12 SOA für Shared Service Center (Gastvortrag) Folie 2

3 Ziele Besseres Verständnis der typischen (und komplexen) SOA-Eigenschaft Lose Kopplung Verstehen des Grundprinzipien eines Enterprise Service Bus Kennenlernen von Entwicklungsprinzipien für lose gekoppelte Architekturen Anwendung von Entwicklungsprinzipien für nicht-funktionale Eigenschaften Allgemeine Vertiefung der Erkenntnisse von SOA Folie 3

4 Aufbau der Vorlesung Kapitel 3: Design Prinzipien von Service-Orientierten Architekturen 1 Enterprise Service Bus 2 Entwurfsprinzipien für die Lose Kopplung 3 Entwurfsprinzipien für nicht-funktionale Anforderungen 3.1 Anpassbarkeit 3.2 Skalierbarkeit 3.3 Verfügbarkeit 3.4 Performanz 3.5 Benutzerfreundlichkeit (Exkurs) 4 Zusammenfassung und Ausblick Folie 4

5 Enterprise Service Bus (ESB) Bisherige Realisierung der Kommunikation zwischen Services: Point-to-Point: Service Consumer Application Sendet Anfragen an: <<ServiceProvider>> <<service>> Buchführung Überweisen( ) Empfängt Anfragen an: Endpunkt Nachteile: Geringe Zuverlässigkeit des Systems beim Ausfall Service Provider Hoher Anpassungsaufwand bei Änderung der IP-Adresse des Provider Hohe Kopplung in der Architektur Folie 5

6 Enterprise Service Bus (ESB) Service Consumer Application Service Provider 1 Service Provider 2 Sendet Anfragen an: Provider Bereitgestellt als: Provider Bereitgestellt als: Provider ESB {Falls ServiceProvider 1 ausfällt} Alternativer Ansatz: Einführung einer Mittlerkomponente (ESB) Alle Anfragen werden an den ESB geschickt Service Provider hat einen symbolischen Name, keine feste IP-Adresse Vorteile: Geringere Anpassungen beim Client, höhere Ausfallsicherheit, geringe Kopplung der Applikationen Nachteile: erhöhte Entwicklungskosten Weitere Anwendungen eines ESBs: Intelligentes Routing (Load Balancing, fachliches Routing, Failover) Ermittlung von Kennzahlen Folie 6

7 Aufbau einer SOA mit einer ESB und verschiedenen Services Service Registry Business Service (Entity Centric) Composed Service Business Service (Task Centric) Backend (z.b. SAP, DBs, Legacy, ERPs) Business Process Service Business Process Service ESB Application Service (z.b. Proxy) Trennung nach Eigentümern Web-Client Application Rich-Client Application Client- Ebene Portal Portal- / Präsentations- Ebene Orchestrierungs- Ebene Business Service (Entity Centric) Business Service (Task Centric) Service- Ebene Backend (z.b. SAP, DBs, Legacy, ERPs) Backend- Ebene Folie 7

8 Abgrenzung Service gegenüber Komponente Komponente KontoHandling Consumer Application Interface von Komponente KontoHandling Implementierung von Komponente KontoHandling Component Provider (Download Server) Download Interface Business Service (Entity Centric) Backend (z.b. SAP, DBs, Legacy, ERPs) Komponentenbasierte Applikationen besitzen oft eigenes User Interface (z.b. Java Beans, MFC) Hybride Komponentenbasierte Architektur SOA definiert kein Modell zur Abbildung von Service-Interfaces auf User Interfaces (Tools vorhanden z.b. )... sind zu erwerben (Komponentenmärkte), gehen in das Eigentum des Konsumenten über Business Services: keine Eigentümerschaft, obliegt weiterhin dem Service Provider... können ihrerseits (intern) über ein Service-Modell verfügen, um somit entfernt auf andere Services zugreifen zu können ( OSGi Service Plattform, Kapitel 8) Folie 8

9 Aufbau der Vorlesung Kapitel 3: Design Prinzipien von Service-Orientierten Architekturen 1 Enterprise Service Bus 2 Entwurfsprinzipien für die Lose Kopplung 3 Entwurfsprinzipien für nicht-funktionale Anforderungen 3.1 Anpassbarkeit 3.2 Skalierbarkeit 3.3 Verfügbarkeit 3.4 Performanz Diskussion: Sicherheit 3.5 Benutzerfreundlichkeit (Exkurs, Selbststudium) 4 Zusammenfassung und Ausblick Folie 9

10 Zentrale Anforderungen an eine SOA: Lose Kopplung Forderung bei SOA: Lose Kopplung der Services einer Anwendungslandschaft Vorteil: Reduktion der Abhängigkeiten zwischen Service Provider und Consumer Bessere Flexibilität bei notwendigen Änderungen, Wartungen, Austauschbarkeit von Services Erhöhte Effektivität (höhere Zuverlässigkeit bei Services) Nachteil: Erhöhter Aufwand für Integrationstechnik und Fehlerbehandlung U.u. schlechtere Performance Grad der Kopplung ist abhängig von Grad der fachlichen Entfernung einer rufenden Komponente zu einem gerufenen Service (verschiedene Anwendungsdomäne) Vertrauen in der Zuverlässigkeit des gerufenen Service z.b. hinsichtlich funktionale Korrektheit, Performance Wissen über Datentypen, Implementierungen Folie 10

11 Mögliche Formen loser Kopplung Vertrauen Wissen hoch viel gering wenig Entfernung nah fern Bereich Enge Kopplung Lose Kopplung Physikalische Verbindung Punkt-zu-Punkt Kommunikationsstil Synchron Asynchron Über Vermittler (ESB) Datenmodell Komplexe gemeinsame Typen Einfache gemeinsame Typen Binding Statisch Dynamisch Plattformspezifika Stark / viel Schwach / wenig Transaktionssicherheit 2PC (Two-Phase-Commit) Kompensation Deployment / Änderungen Gleichzeitig Zu verschiedenen Zeitpunkten Folie 11

12 Formen der Kopplung bei der Service Kommunikation Point-to-Point Synchron (z.b. innerhalb einer Java VM oder Netzwerk) :localcomponent :ServiceHandler :ServiceImplement :Backend AufrufComponent( ) Z.B. gekapselte Remote-Interaktion über RPC oder Java RMI zahlein( 30 EUR ) zahlein( 30 EUR ) checkkonto() Komponente ist während der Bearbeitung geblockt! zahlein( 30 EUR ) resultofoperation resultofoperation Folie 12

13 Formen der Kopplung bei der Service Kommunikation Point-to-Point Asynchron (z.b. innerhalb einer Java VM oder Netzwerk) :localcomponent :ServiceHandler :ServiceImplement :Backend AufrufComponent( ) Z.B. gekapselte Remote-Interaktion über RPC oder Java RMI Komponente ist während der Bearbeitung nicht geblockt! zahlein( 30 EUR ) Weitere Aufrufe möglich zahlein( 30 EUR ) checkkonto() zahlein( 30 EUR ) callbackresult resultofoperation (resultofoperation) Problem: Programmiersprachen (z.b. Java) oder Netzwerkprotokollen (z.b. HTTP) unterstützen meist nur synchrone Methodenaufrufe Folie 13

14 Formen der Kopplung bei der Service Kommunikation Implementierung der Asynchronität in Java mit Thread-Technologie und Client-seitiger Calllback-Methode: Callback-Methode, wird von Service Handle aufgerufen Source Code des Client Folie 14

15 Formen der Kopplung bei der Service Kommunikation Remote-Aufruf möglich hier: Beispiel: - Socket - RMI - SOAP - JMI Source Code der Service Implementierung Source Code des Service Handles Folie 15

16 Formen der Kopplung bei der Service Kommunikation Asynchrone Point-to-Point Kommunikation in Java: Asynchronität durch Nebenläufigkeit (Thread) und Client-seitge Callback Methode Vorteile: Client-System ist nicht geblockt, damit verbesserte Performance wegen erhöhter Parallelität Nachteile: Austauschbarkeit des Client-Systems nicht möglich, da feste Referenz auf Client in Callback-Methode Austauschbarkeit des Service (ohne Änderung des Client) nicht möglich, da feste Referenz in Service Handle implementiert Optimierung: Interceptoren Enterprise Service Bus Publish Subscriber Muster Folie 16

17 Formen der Kopplung bei der Service Kommunikation Asynchrone Kommunikation über Interceptoren: Service Handle (= Interceptor) kann vollkommen transparent für den Client zur Laufzeit eine neue Service-Implementierung bestimmen Mögliche Kriterien: Ausfall eines Service, fachliche Gründe, Load-Balancing u.a. In Praxis eher weniger verwendet Erweiterter Source Code des Service Handles Nachteil: kein zentrales Routing oder Service-Suche, aufwändige Operationen auf dem Client-Host Folie 17

18 Formen der Kopplung bei der Service Kommunikation Asynchrone Kommunikation über Enterprise Service Bus: Der Client sendet eine asynchrone Nachricht (inkl. fachlicher Service-Name, Operation, Eingabe-Parameter) an einen ESB, der diese dann an den entsprechenden oder äquivalenten Service weiterleitet In Praxis meistens verwendet Erweiterter Source Code des Client Nachteil: Client kann nicht entkoppelt werden zur Laufzeit (wegen direkter Referenz auf Client) Folie 18

19 Formen der Kopplung bei der Service Kommunikation Asynchrone Kommunikation über Publish-Subscriber Muster Client und Service Provider werden einen zentralen Registrierungsmechnismus komplett entkoppelt beide können zur Laufzeit ausgetauscht werden Beide melden sich mit symbolischen Namen an und (zur Laufzeit) ab In Verbindung mit ESB auch asynchrone Kommunikation möglich Service Consumer Application Consumer Name IP-Adresse Eintrag für Consumer vom TYP Cons1 kann sich zur Laufzeit wechseln Sendet Anfragen an: Provider subscribe Cons Bereitgestellt als: Cons1 MyCons ESB publish Service-Request from Cons1 to Provider1 publish Service-Response from Provider1 to Cons1 Provider Name IP-Adresse Provider Provider subscribe Service Provider Application 1 Sendet Antwort an: Cons1 Bereitgestellt als: Provider1 Folie 19

20 Formen der Kopplung bei der Service Kommunikation Aufbau des Publish Subscriber Muster SubscriberPool Consumer <<interface>> void subscribe( Consumer ) void unsubscribe( Consumer ) publish( ) ; 1 subscribers 0..* update( ) ; for all client in subscribers { consumer.update( ); } ConcreteSubscriberPool ConcreteConsumer getmoreinfos( ) update( ) ; Folie 20

21 Formen der Kopplung bei der Service Kommunikation Zusammenfassung Komplexität Hoch Asynchron ESB + Publish-Subscriber Asynchron ESB Asynchron mit lokalen Interceptoren Asynchron Point-To-Point Synchron ESB Gering Synchron Point-To-Point Eng Lose Kopplung Folie 21

22 Weitere Java-Frameworks für die asynchrone Kommunikation Java Message Service API (JMS) Programmierschnittstelle für die Ansteuerung einer Message Oriented Middleware (MOM) basierend auf Java (J2EE) Asynchrone und zuverlässige Kommunikation Server-Komponente muss diese API implementieren Open Source (GlassFish, OpenJMS) und kommerzielle Implementierungen (z.b. WebSphere MQ, SAP JMS) vorhanden Tipp: Java Mail API Programmierschnittstelle für die Ansteuerung von Mail-Servern über IMAP, POP3 Protokolle Asynchrone und zuverlässige Kommunikation Kann mit beliebigen Mail-Servern verwendet werden (z.b. Account über GMX) Sehr schlank Folie 22

23 Transaktionen vs. Kompensation Szenario: Wie kann bei verteilten Transaktionen (= Bündelung mehrerer kohärenter Lese- und Schreibzugriffen) auf verschiedenen Backends der gemeinsame Erfolg oder das gemeinsame Fehlschlagen ermittelt werden? Einhaltung von Transaktionseigenschaften (z.b. ACID) Ansatz aus dem Bereich der Datenbanksysteme: 2PC (Two Phase Commit) Protokoll: 1. Commit-request Phase 2. Commit Phase Folie 23

24 Transaktionen vs. Kompensation Nachteile von 2PC für Service-orientierte Architekturen: Setzt die Verfügbarkeit von allen teilnehmenden Systemen und Services voraus Probleme insbesondere bei langläufigen Prozessen (Deadlocks) Bei Geschäftsprozessen wünscht man sich oft die Intervention mit dem Endbenutzer im Fehlerfall 2PC impliziert keine lose Kopplung Ansatz: Kompensation Die ersten n Teile einer verteilten Transaktion werden ausgeführt (d.h. Modifikation auf Backend-Systemen inkl. Commit) Bei Fehlschlagung (Abort) der n+1 Transaktion führt man eine fachliche Kompensation der bereits abgeschlossenen Transaktionen aus (abhängig vom Anwendungskontext) Beispiel: Stornierung einer Reise Folie 24

25 Beispiel einer Kompensation :InteraktionsKomp :ReservationProcess :FlightService :HotelServicce BookFlight ( Paris ) bookflight ( Paris, User) confirmation BookHotel( Hotel Plaza ) bookhotel( Plaza, User) Exception: Time OUT! Compensation [opt] AskUserOpinion() CancelFlight ( Paris, User) Folie 25

26 Aufbau der Vorlesung Kapitel 3: Design Prinzipien von Service-Orientierten Architekturen 1 Enterprise Service Bus 2 Entwurfsprinzipien für die Lose Kopplung 3 Entwurfsprinzipien für nicht-funktionale Anforderungen 3.1 Anpassbarkeit 3.2 Skalierbarkeit 3.3 Verfügbarkeit 3.4 Performanz 3.5 Benutzerfreundlichkeit (Exkurs) 4 Zusammenfassung und Ausblick Folie 26

27 Nicht-funktionale Anforderungen Nicht-funktionale Anforderungen definieren übergreifende Eigenschaften eines Software-Systems unabhängig von der zu implementierenden Funktionalität (Qualitätsanforderungen) Weitere Kategorien: Entwicklungsprozess Projekt Management Rechtliche Rahmen Manche nicht-funktionale Eigenschaften können als funktionale Eigenschaft reformuliert werden (z.b. Sicherheitsanforderungen)

28 Übersicht von nicht-funktionalen Anforderungen Zuverlässigkeit (Reliability) Anpassbarkeit (adaptability) Wartbarkeit (maintainability) Verständnis der Anwendung (understandability) Skalierbarkeit (scalability) Verfügbarkeit (availability) Effizienz (efficiency) Portabilität (portability) Bedienbarkeit (usability) Fehlertolerant (fault tolerance) Performanz (performance) Robustheit (robustness) Mobilität (mobility)

29 Formulierung von Nicht-funktionalen Anforderungen Nicht-funktionale Anforderungen werden in den Phasen Anforderungserhebung und Anforderungsanalyse beschrieben. Häufig High-Level Beschreibung in textueller Form. Beispiel (Performanz): Die Antwortzeit des Service sollte schnell sein Nicht-funktionale Anforderungen sollten quantifizierbar beschrieben sein: Die Antwortzeit des Service sollte weniger als 2 Sekunden betragen Bessere Verifikation und Testbarkeit Prototyping Testing (Akzeptanztests) Folie 29

30 Ableitung Entwurfszielen aus nicht-funktionalen Eigenschaften Aufgabe im System Design: Ableitung der nicht-funktionalen Eigenschaften hinzu konkreten Entwurfszielen (design goals) für die Ziel-Architektur Ableitung basiert auf fundamentalen Entwurfsprinzipien (tactics) [Bass, 2003]) Im Folgenden: Präsentation ausgewählter Entwurfsprinzipien: Verfügbarkeit Anpassbarkeit Performanz Skalierbarkeit Exkurs: Usability (in Englisch)

31 Anpassbarkeit Anpassbarkeit beschreibt Anforderungen an das System bezüglich der Einfachheit, notwendige Änderungen nach dem Deployment vorzunehmen. Subklassen: Adaptivität (Das System passt seine Struktur selber (autonom) an) Tailorabilität (Endbenutzer führen eigenständig Anpassungen durch) Bereiche: Antizipation von Änderungen Verzögerung von Entwurfsentscheidungen Policy-basierte Vereinbarungen (vgl. Übung)

32 Anpassung von Service Antizipieren von Änderungen Empfehlung: Identifikation von Services, die sich mit der Zeit angepasst werden Neue Technologien, neue Anbieter Änderung während des Software-Lebenszyklus (Mock-Up, Produkt) Anwendung des Strategie Pattern: <<serviceprovider>> <<concreteprovider>> :service Consumer AbstractService :Service (Mock-Up) <<concreteprovider>> :Service (Kommerzielles Produkt) <<concreteprovider>> :Service (OpenSource) Context

33 Anpassung von Service Verzögerung von Design- Entscheidungen Konventionelle Entwicklung: alle Design-Entscheidungen werden durch den Entwickler zur Entwicklungszeit herbei geführt Ergebnis: monolithische Architekturen, keine Anpassung möglich nach dem Deployment Ansatz: Verzögerung von Design-Entscheidungen zur Deployment Zeit oder während der Benutzungszeit des Systems Kontext-basierte Anpassung der Architektur durch einen Administrator den End-Benutzern oder durch das System selbst Kosten: Zusätzliche Infrastruktur zur Unterstützung von dynamischen Architektur-Anpassungen Gängige Techniken: Konfigurationsdateien (configuration files) Verzögerte Bindung der Services und Komponenten (late binding)

34 Anpassung von Service Verzögerung von Design- Entscheidungen durch Laufzeitumgebungen <<Laufzeitumgebung>> <<servicehandle>> :aservice <<service>> :aservice Anpassungservice Die Service-Laufzeitumgebung (service container) ermöglicht: Dynamisches (Nach-)Laden und De-Aktivierung von Services Definition von neuen Bindings Konfiguration von einzelnen Services Konfiguration von nicht funktionalen Eigenschaften (z.b. Sicherheit) Konfiguration von impliziten Diensten (z.b. Exception Handling, Persistenz von Daten, transaktionales Verhalten

35 Anpassung von Service Verzögerung von Design- Entscheidungen durch Laufzeitumgebungen <<Laufzeitumgebung>> <<servicehandle>> :aservice <<service>> :aservice Anpassungservice Technische Voraussetzungen: Anwendung von Late Binding Konzepten aus der OO (Polymorphismus, Vererbung) Mechanismen zum Laden von Klassen (class loading, siehe Java) Reflection (Laufzeitanalyse von Klassen) Beispiele: AXIS 2 (siehe Kapitel 4) EJB Container OSGi Container

36 Classloader in Java Java ermöglicht das Nachladen und Instanzieren (hot deployment) von Komponenten durch einen erweiterbaren Klassenlader-Mechanismus: java MainClass Load bootstrap classes Bootstrap Classloader Normaler Class Load Prozess Laufzeit-Archiv rt.jar Load extended classes Extended Classloader Verzeichnis lib / ext Load application classes Application Classloader Classpath Load further classes Falls neue Klassen instanziert New Classloader (z.b. URLClassload) File Server (URL) Folie 36

37 Skalierbarkeit Skalierbarkeit: die Fähigkeit einer Software-Architektur an einer erhöhten Nutzungsrate flexibel angepasst zu werden. Regel: Eine Software-Architektur skaliert gut, falls bei steigender Nutzungsrate der Ressourcenbedarf des Systems linear mit wächst und das Antwortverhalten der Architektur ebenfalls linear bleibt Eine Software-Architektur skaliert schlecht, falls bei steigender Nutzungsrate und bei Zugabe von Ressourcen ab einem gewissen Zeitpunkt keine Antwort mehr liefert (exponentielles Antwortverhalten) Horizontale Skalierung: Hinzufügen oder Replikation von Services in einem bestehenden Hardware-Umgebung Vertikale Skalierung: Hinzufügen von neuer Hardware Folie 37

38 Skalierbarkeit Herausforderungen für SOA Herausforderungen im Bereich SOA: Hohes Datenaufkommen durch komplexe Datenstrukturen (z.b. XML) SOAP: Größe einer Nachricht um Faktor 4-20 größer als Nutzdaten Hoher Aufwand für Serialisierung und Deserialisierung Java: 20% mehr Aufwand als normaler Methodenaufrufe Hohe Laufzeiten von Geschäftsprozessen durch Benutzerinteraktionen Resultierende Anforderungen: Service Konsumenten müssen Ihre Nutzlast explizit machen (z.b. über SLA) Nutzlast muss angemessen sein Geringere Kopplung fördert die Skalierbarkeit Folie 38

39 Wie kann man die Skalierbarkeit erhöhen? <<Service Consumer>> <<ServiceProvider>> <<service>> Buchführung Buchen( ) Kontrollieren( ) Überweisen( ) Szenario: Erhöhung der Anzahl Benutzer (Gesamtzahl der Zugriffe z.b. pro Woche) Erhöhung der parallelen Zugriffe auf den Service pro Sekunde (Durchschnitt, Max) Datenvolumen pro Zugriff erhöht sich, was die Zeit für Abarbeitung deutlich anhebt Folie 39

40 Wie kann man die Skalierbarkeit erhöhen? <<ServiceProvider>> <<Service Consumer>> <<LoadBalancer>> <<service>> Buchführung <<service>> Buchführung <<service>> Buchführung Ansatz 1: Klonen eines Services In einer Laufzeitumgebung (horizontale Skalierung) Über mehrere Server hinweg (vertikale Skalierung) Einführung eines Load Balancers Rule Of Three Servers Effekt: Es können mehrere Transaktionen parallel abgearbeitet werden Folie 40

41 Wie kann man die Skalierbarkeit erhöhen? <<ServiceProvider>> <<Service Consumer>> <<service>> Buchen( ) <<service>> Kontrollieren( ) <<service>> Überweisen( ) Ansatz 2: Fachliche Teilung eines Services Effekt: In einer Laufzeitumgebung (horizontale Skalierung) Über mehrere Server hinweg (vertikale Skalierung) Das Antwortverhalten wird erhöht, was auch auch die Skalierbarkeit verbessert Nicht zwingend eine Verbesserung für parallele Zugriffe Für Workflow-Komponenten weniger geeignet Folie 41

42 Wie kann man die Skalierbarkeit erhöhen? <<Service Consumer>> A - H <<ServiceProvider>> <<service>> Buchführung Buchen( ) Kontrollieren( ) Überweisen( ) <<Service Consumer>> I - Z <<service>> Buchführung Buchen( ) Kontrollieren( ) Überweisen( ) Ansatz 3: Teilung eines Service nach Typen von Service Consumer Effekt: In einer Laufzeitumgebung (horizontale Skalierung) Über mehrere Server hinweg (vertikale Skalierung) Es können mehrere Transaktionen parallel abgearbeitet werden Folie 42

43 Skalierbarkeitswürfel nach Abbott und Fisher In Praxis werden die drei Skalierbarkeitsmethoden vermischt. Darstellung in einem Würfel wie folgt denkbar: Z Optimum (hoch skalierte Architektur Aufteilung nach Service Konsumer Fachliche Aufteilung der Services Y Ursprung (0, 0, 0) Klonen von Services X Folie 43

44 Optimierte Architektur für die Skalierbarkeit <<ServiceProvider>> Y-Achse Split Service Consumer A - H <<service>> Buchen( ) <<service>> Buchen( ) <<service>> Buchen( ) X-Achse Split <<service>> Kontrollieren( ) <<service>> Kontrollieren( ) <<service>> Kontrollieren( ) Service Consumer I - Z <<service>> Buchen( ) <<service>> Buchen( ) <<service>> Buchen( ) X-Achse Split <<service>> Kontrollieren( ) <<service>> Kontrollieren( ) <<service>> Kontrollieren( ) X-Achse Split X-Achse Split <<service>> Überweisen( ) <<service>> Überweisen( ) <<service>> Überweisen( ) X-Achse Split <<service>> Überweisen( ) <<service>> Überweisen( ) <<service>> Überweisen( ) X-Achse Split Z-Achse Split Folie 44

45 Skalierbarkeit Weitere Heuristiken Einführung von schlanken Services mit einer einfachen Schnittstelle und wenigen Abhängigkeiten Vermeidung von Flaschenhälsen, Single Points of Failure Bessere Service-Replikation im Falle von horizontaler Skalierbarkeit Verwendung von einfachen, flexiblen Konnektoren Vermeidung von heterogenen Komponenten Migration von häufig verwendeten Services in die Nähe zu Konsumenten Folie 45

46 Architekturprinzipien nach Abbott und Fisher N+1 Design Design for Rollback Design to be diasbled Design to be monitored Use Mature Technologies Asynchronous Design Stateless Design Horizonal Scale, no vertical Scale Design for at least two axes of scale Buy Commodity Hardware Design for multiple live sites Folie 46

47 Architekturprinzipien nach Abbott und Fisher N+1 Design Design for Rollback Design to be Disabled Design for Rollback Availability Design for multiple live sites Use Mature Technologies Design to be monitored Asynchronous Design Stateless Systems Horizontal Scale Design for at least two axes of scale Buy Commodity Hardware Scalability Cost Folie 47

48 Verfügbarkeit Verfügbarkeit beschreibt Anforderungen bezüglich: Die von Endbenutzern geforderte Online-Zeit Die maximale Offline-Zeit oder die tolerierbare Ausfallrate Maßnahmen im Falle der Nicht-Verfügbarkeit des Systems des Zielsystems. Bereiche: Ausfallerkennung (failure detection): Wie können Ausfälle erkannt werden? Ausfallbehandlung (failure handling): Wie können auftretende Fehler behandelt werden? Ausfallprävention (failure prevention): Wie können Ausfälle vermieden werden? Ausfallbenachrichtigung (failure notification): Wie können Dritt-Services über Ausfälle benachrichtigt werden?

49 Verfügbarkeit - Ausfallerkennung Ping / Echo sendping() [t exceeds] handleexception :service Consumer confirmping( data ) :service Provider Heartbeat register() [t exceeds] handleexception :service Consumer sendheartbeat( data ) :service Provider Falls eine Bestätigung nach einem bestimmten Zeitraum ausbleibt, gilt der Service Provider als ausgefallen (nicht erreichbar)

50 Verfügbarkeit - Ausfallbehandlung Exception Handling :3rdparty Service delegateexception handleexception :service Consumer :service Provider ServiceProvider provider= ; try { supplier.usemethod( );. } catch (UnavailabilityException e) { handleexception( ); } Chain of Responsibility Design Pattern (hier: Delegation von Ausnahmen)

51 Verfügbarkeit Ausfallbehandlung Suche nach alternativen Service nach Ausfall query :service Registry :service Provider1 publish <<service>> :aservice :service Consumer :service Provider2 <<service>> :aservice Zustandsdelegation Backend Nach dem Ausfall eines Service Provider sucht der Service Consumer nach einem Provider, der einen äquivalenten Service anbietet. Realisierung: Konsumentenseitige Suche im globalen Verzeichnis (z.b. UDDI) Indirekt über Enterprise Service Bus Zustandsmanagement Zustandslos: nicht zu beachten Zustandsbehaftet: Eventueller Zustand des alten Service geht verloren Alternative: Delegation Zustand zwischen benachbarten Services oder über Backup

52 Verfügbarkeit Ausfallbehandlung / -prävention Aktive Redundanz :service Provider :service Consumer Bridge :service Provider redundante Services :service Provider Service-Request wird von einem Bridge-Service parallel zu einer Reihe von äquivalenten Services delegiert Service-Antwort wird von allen Komponenten parallel erzeugt und an die Bridge gesendet, erste (oder beste) Antwort wird an Konsument delegiert Vorteil: Alle Services befinden sich im gleichen Zustand (ggf. über gemeinsames Backend) Hohe Verfügbarkeit und hohe Performanz Nachteil: Hoher Ressourcenaufwand

53 Verfügbarkeit Ausfallbehandlung bei nicht redundanten Services compensatefailure( ) :service Consumer :service Provider <<service>> :aservice Bis jetzt: alle Methoden zur Ausfallbehandlung bedingen redundante Services Redundanz kann nicht immer garantiert werden oder ist nicht erwünscht Ausnahmebehandlung von nicht redundanten Services: Interaktion mit Benutzer zur Entscheidungsfindung Kompensation (siehe Lose Kopplung) Temporäre Aufgabe der Funktionalität

54 Performanz Service Policies Performanz: Annahmen bezüglich der Geschwindigkeit einer Operation Effizienz: Erfüllung der Performanz-Anforderungen bei gleichzeitiger minimaler Auslastung der System-Ressourcen Arten von Performanz-Anforderungen: Antwortzeiten (response) (wie schnell reagiert ein Service auf Nutzeranfragen) Durchlaufsatz (throughput) (wieviel kann ein Service in einem festgelegten Zeitraum erreichen) Bereiche: Reduzierung des Berechnungsaufwands Scheduling von Ereignissen Service Policies

55 Performanz Heuristiken Nachrichten werden produziert und werden übergeben :ProvidedService Generierte Antwort in vorgegebenen Zeitfenster Optimierung der Effizienz eines Service Vermeidung von vielen Loops, effizienter Aufbau Zugriff auf Backends nur wenn nötig Verringerung der Zugriffsrate seitens der Konsumenten Verwendung von effizienten caching/queue Strukturen (Scheduling) Vermeidung von Deserialsierung und Serialisierung Verwendung von asynchronen Kommunikations- und Verarbeitungsmethoden Umgehen von höheren Schichten, direkter Zugriff auf niedrigere Schichten Erhöhung der parallelen Prozesse (z.b. Threads, mehr Prozessoren) u.v.a.m.! Quelle: Shirazi, J.: Java Performance Tuning, O Reilly

56 Scheduling von Ereignissen Ein Scheduler verwaltet die Zuordnung von Ereignissen zu Ressourcen. Ressource: CPU, Netzwerk, Methode, Thread, weitere Services Drei wesentliche Bestandteile: (Neu-)Priorisierung von Ereignissen Queueing (Einreihen) von Ereignissen Zuordnung von Ereignissen auf Ressourcen Bekannte Scheduling-Implementierungen, z.b. First-in/First-out (FIFO) Keine Priorisierungen, alle Events werden gleich behandelt Scheduling-Implementierungen mit Prioritäten: Semantische Relevanz (Zuordnung von Priorisierungen anhand fachlicher, inhaltlicher, zeitlicher Relevanz) Deadline Relevanz (Höhere Priorität zu Ereignissen mit kürzerer Deadline) Ablauf Relevanz (Höhere Priorität zu Ereignissen mit kürzeren Durchlaufzeiten) Folie 56

57 Performanz Service Policies Eine Service Policy reguliert die Interaktion zwischen einem Service- Konsumenten und einem Service-Provider durch einen gegenseitigen Vertrag Beispiel SOA: Service Level Agreement (SLA) Verschiedene Aspekte können definiert werden: Verfügbarkeit eines Dienstes Garantierte Antwortzeit und Durchsatz eines Service Nutzungsrate seitens des Service-Konsumenten Anpassungen (z.b. Benachrichtigung vor einer Anpassung) :service Consumer :service Provider Service Policy zwischen Consumer and Provider : Verfügbarkeit: zwischen 10 a.m. and 11 p.m. Performanz: Antwortzeit < 2 sec Durchsatz: 50 parallele Aufrufe / sek Nutzungsrate: max. 30 parallele Aufrufe / min, Input 500kb / Aufruf

58 Literatur Generelle Entwurfsprinzipien: Josuttis, SOA in der Praxis, Performance, Skalierbarkeit, Anpassbarkeit, Sicherheit Bass, Clements, Kazmann: Software Architecture in Practice, SEI Series, 2. Auflage, 2003 Skalierbarkeit, Verfügbarkeit, generelle Entwurfsprinzipien: Abbott, Fisher: The Art of Scalability, Addison-Wesley, 2010 Folie 58

59 Security, Sicherheit Sicherheitsanforderungen definieren Eigenschaften des Systems, um den nicht authorisierten Zugriff auf Software-Systeme durch Dritte zu unterbinden und somit Risiken wie Datenklau, Spionage zu minimieren. Oftmals Anwendung bekannter Ansätze, um eine service-orientierte Architektur sicher zu machen. Wird oft unterschätzt, vernachlässigt (wie so oft) Diskussion in Teams (2-3 Leute, max 5-7 Minuten): wo finden aus Ihrer Security-Aspekte in einer Service-Orientierten Architekturen Anwendung? Folie 59

60 Usability Usability is concerned with how easy it is for the user to accomplish a desired task and the kind of support the system provides to the user Usability is the ease with which a user can learn to operate, prepare inputs for, and interpret outputs of system or component Areas of concerns Runtime aspects (Nielsen s heuristics) Support user during system execution User interface design

61 Usability Principles according to Nielsen Visibility of system status Match between system and the real world User control and freedom Consistency and standards Recognition rather than recall Aesthetic and minimalist design Help users recognize, diagnose, and recover from errors Help and documentation Called Nielsen s heuristics of usability, 1994

62 Usability Principles according to Nielsen Visibility of system status The system should always keep users informed about what is going on, through appropriate feedback within reasonable time For example, pay attention to response time 0.1 sec: no special indicators needed 1.0 sec: user tends to lose track of data 10 sec: max duration if user to stay focused on action for longer delays, use percent-done progress bars searching database for matches

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 2: Einführung in Service-Orientierte Architekturen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha Alda

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 7: Web Services IV Exkurs über Sicherheitsanforderungen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha

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

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

OSS/J als Basis für Enterprise Application Integration

OSS/J als Basis für Enterprise Application Integration OSS/J als Basis für Enterprise Application Integration Geschäftsprozessgesteuerte EAI im Telekommunikationsbereich r A business of PwC Agenda OSS-Architekturen als Integrationsherausforderung OSS/J als

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

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

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

Wege zur Integration In und mit der Cloud. Wolfgang Schmidt Vorstand Cloud-EcoSystem. 2014 W.Schmidt, X-INTEGRATE

Wege zur Integration In und mit der Cloud. Wolfgang Schmidt Vorstand Cloud-EcoSystem. 2014 W.Schmidt, X-INTEGRATE Wege zur Integration In und mit der Cloud Wolfgang Schmidt Vorstand Cloud-EcoSystem Wie viele Cloud Integrationstechnologien braucht man? Antworten auf den 150+ Folien Quelle: Forrester Report: How Many

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

Mehr

PRODATIS CONSULTING AG. Folie 1

PRODATIS CONSULTING AG. Folie 1 Folie 1 Führend im Gartner Magic Quadranten für verteilte, interagierende SOA Projekte Oracle ist weltweit auf Rang 1 auf dem Markt der Enterprise Service Bus Suiten (ESB) für SOA Software 2010 26,3 %

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

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

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

SaaS-Referenzarchitektur. iico-2013-berlin

SaaS-Referenzarchitektur. iico-2013-berlin SaaS-Referenzarchitektur iico-2013-berlin Referent Ertan Özdil Founder / CEO / Shareholder weclapp die Anforderungen 1.000.000 registrierte User 3.000 gleichzeitig aktive user Höchste Performance Hohe

Mehr

Titelbild1 ANSYS. Customer Portal LogIn

Titelbild1 ANSYS. Customer Portal LogIn Titelbild1 ANSYS Customer Portal LogIn 1 Neuanmeldung Neuanmeldung: Bitte Not yet a member anklicken Adressen-Check Adressdaten eintragen Customer No. ist hier bereits erforderlich HERE - Button Hier nochmal

Mehr

Service Oriented Architecture & Enterprise Service Bus

Service Oriented Architecture & Enterprise Service Bus Service Oriented Architecture & Enterprise Service Bus 25.05.2005 Sven Stegelmeier 1 Inhalt Einführung in SOA Motivation Begriffsdefinitionen Bestandteile einer SOA Dienste als Bausteine Entwicklungsstadien

Mehr

Oracle Business Process Analysis Suite. Gert Schüßler Principal Sales Consultant

<Insert Picture Here> Oracle Business Process Analysis Suite. Gert Schüßler Principal Sales Consultant Oracle Business Process Analysis Suite Gert Schüßler Principal Sales Consultant 1 Geschäftsprozesse Zerlegung am Beispiel Kreditvergabe Antrag aufnehmen Antrag erfassen Schufa Kunden

Mehr

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen Daniel Liebhart SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen ISBN-10: 3-446-41088-0 ISBN-13: 978-3-446-41088-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa

WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa Dr. Stefan Pietschmann, PF Service-Oriented Enterprise Applications, T-Systems MMS Dresden, 22.10.2013 About US PF42 Service-oriented enterprise

Mehr

SOA Service Oriented Architecture

SOA Service Oriented Architecture SOA Service Oriented Architecture (c) Till Hänisch 2006, BA Heidenheim [IBM] [WS] Wir haben: Prog ramm Proxy Proxy K2 K1 Plattformunabhängiger RPC Wir haben: Prog ramm Proxy Proxy K2 K1 Plattformunabhängiger

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

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

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

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

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

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

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

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128 ... Einleitung... 15 1... Grundlagen der Modellierung von Enterprise Services... 23 1.1... Serviceorientierte Architekturen... 26 1.1.1... Merkmale serviceorientierter Architekturen... 27 1.1.2... SOA

Mehr

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

Mehr

PROZESSE INTEGRIEREN leicht gemacht EFFIZIENTE PROZESSE

PROZESSE INTEGRIEREN leicht gemacht EFFIZIENTE PROZESSE PROZESSE INTEGRIEREN leicht gemacht DURCH TransConnect Geschäftsprozesse ableiten mit der Universal Worklist (UWL) Integrationsszenarien effektiver verwalten und transportieren Optimierte Personalverwaltung

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

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

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

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

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

Lightweight Java in der Automatisierungstechnik

Lightweight Java in der Automatisierungstechnik Lightweight Java in der Automatisierungstechnik Erfahrungen aus dem Anlagenbau Dr. Markus Eiglsperger eig@zuehlke.com Business Driver im Anlagenbau Kosten Modularisierung Vernetzung Agilität Paradigmenwechsel

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

Der SBB Online-Ticketshop Mit SOA zum Erfolg

Der SBB Online-Ticketshop Mit SOA zum Erfolg Der SBB Online-Ticketshop Mit SOA zum Erfolg BAT 03 Stefan Meichtry, Stefan Becker Bern, den 17.03.2006 SBB Informatik 1 Das Ziel SBB Informatik 2 Agenda Problemraum Lösungsraum Analyse Wir sind hier Synthese

Mehr

Integrating Architecture

Integrating Architecture Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Vorstellung und Einführung Ein beliebiger Zeitpunkt in einem beliebigen Unternehmen

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

Die Eclipse Rich Client Plattform - eine alternative Client-Technologie für Business Process Management Systeme Java Forum Stuttgart, Juli 2006

Die Eclipse Rich Client Plattform - eine alternative Client-Technologie für Business Process Management Systeme Java Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform - eine alternative Client-Technologie für Business Process Management Systeme Java Forum Stuttgart, Juli 2006 Dirk Günther Teammanager R&D e-business d.guenther@cenit.de

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

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

SAP NetWeaver Gateway. Connectivity@SNAP 2013

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

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Business Process Management. Cloud und Mobile Computing. BPMday 2013 Köln, 13. November 2013. Enzo Favuzzi - Sales Manager WebCenter & BPM

Business Process Management. Cloud und Mobile Computing. BPMday 2013 Köln, 13. November 2013. Enzo Favuzzi - Sales Manager WebCenter & BPM Business Process Management von Cloud und Mobile Computing BPMday 2013 Köln, 13. November 2013 Enzo Favuzzi - Sales Manager WebCenter & BPM Safe Harbor Statement The

Mehr

SpringSource Enterprise & Application Platform: Wo geht die Reise hin?

SpringSource Enterprise & Application Platform: Wo geht die Reise hin? SpringSource Enterprise & Application Platform: Wo geht die Reise hin? Eberhard Wolff Regional Director & Principal Consultant SpringSource Copyright 2007 SpringSource. Copying, publishing or distributing

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

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

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

Mehr

Human-Computer Interaction

Human-Computer Interaction Human-Computer Interaction Masterstudiengang Medieninformatik WS 2013 / 2014 Prof. Dr. Robert Strzebkowski Usability Grundlagen / Einige wesentliche Ansätze 4& Agenda 1.! HCI / Software-Ergonomie / Usability

Mehr

ServiceGlobe: Flexible and Reliable Web Service Execution

ServiceGlobe: Flexible and Reliable Web Service Execution ServiceGlobe: Flexible and Reliable Web Service Execution Markus Keidl, Stefan Seltzsam und Alfons Kemper Universität Passau Fakultät für Mathematik und Informatik 94030 Passau @db.fmi.uni-passau.de

Mehr

RAC auf Sun Cluster 3.0

RAC auf Sun Cluster 3.0 RAC auf Sun Cluster 3.0 Schlüsselworte RAC, OPS, Sun Cluster, Performance, Availability Zusammenfassung Oracle hat mit dem Real Application Cluster (RAC) aus einer Hochverfügbarkeitslösung eine Höchstverfügbarkeitslösung

Mehr

Implementierung von Geschäftsprozessen in der Verwaltung mit Hilfe von SOA

Implementierung von Geschäftsprozessen in der Verwaltung mit Hilfe von SOA E-Gov Fokus Geschäftsprozesse und SOA 31. August 2007 Implementierung von Geschäftsprozessen in der Verwaltung mit Hilfe von SOA Im Vortrag werden die Vor- und Nachteile von Geschäftsprozessen in der öffentlichen

Mehr

Sicherheit in Workflow-Management-Systemen

Sicherheit in Workflow-Management-Systemen Sicherheit in Workflow-Management-Systemen Fakultät für Informatik Institut für Programmstrukturen und Datenorganisation KIT University of the State of Baden-Wuerttemberg and National Research Center of

Mehr

Band M, Kapitel 7: IT-Dienste

Band M, Kapitel 7: IT-Dienste Bundesamt für Sicherheit in der Informationstechnik Postfach 20 03 63 53133 Bonn Tel.: +49 22899 9582-0 E-Mail: Hochverfuegbarkeit@bsi.bund.de Internet: https://www.bsi.bund.de Bundesamt für Sicherheit

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

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

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

Open Source Data Center Virtualisierung mit OpenNebula. 05.03.2013 CeBIT 2013. Bernd Erk www.netways.de

Open Source Data Center Virtualisierung mit OpenNebula. 05.03.2013 CeBIT 2013. Bernd Erk www.netways.de Open Source Data Center Virtualisierung mit OpenNebula 05.03.2013 CeBIT 2013 Bernd Erk VORSTELLUNG NETWAYS NETWAYS! Firmengründung 1995! GmbH seit 2001! Open Source seit 1997! 35 Mitarbeiter! Spezialisierung

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

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

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

Leistung schafft Vertrauen

Leistung schafft Vertrauen SOA Hintergrund und Praxis visionäre Praxis oder praxisnahe Vision Toni Gasser Integration Services 27. Oktober 2010 Leistung schafft Vertrauen Private Banking Investment Banking Asset Management Seite

Mehr

Gemeinsam mehr erreichen.

Gemeinsam mehr erreichen. Gemeinsam mehr erreichen. Microservices in der Oracle SOA Suite Baden 10. September 2015 Ihr Ansprechpartner Carsten Wiesbaum Principal Consultant carsten.wiesbaum@esentri.com @CWiesbaum Schwerpunkte:

Mehr

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory /

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory / Mobile Backend in Cloud Azure Mobile Services / Websites / Active Directory / Einführung Wachstum / Marktanalyse Quelle: Gartner 2012 2500 Mobile Internet Benutzer Desktop Internet Benutzer Internet Benutzer

Mehr

Investitionsschutz und Innovationsdruck: Wie muss eine zukunftssichere Plattform aussehen?

<Insert Picture Here> Investitionsschutz und Innovationsdruck: Wie muss eine zukunftssichere Plattform aussehen? Investitionsschutz und Innovationsdruck: Wie muss eine zukunftssichere Plattform aussehen? Jürgen Menge TSBU Middleware Oracle Deutschland GmbH Oracle Forms Heute sehr aktive Kundenbasis

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

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

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

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

Service Oriented Architecture. IM-Briefing 2008 4. Dezember 2008

Service Oriented Architecture. IM-Briefing 2008 4. Dezember 2008 Service Oriented Architecture IM-Briefing 2008 4. Dezember 2008 Agenda Begrüssung Was ist SOA Herkunft Player Modell Komponenten Zusammenfassung Diskussion Seite 1 Was ist SOA? Herkunft Der Begriff serviceorientierte

Mehr

Frontend Migration from JSP to Eclipse Scout

Frontend Migration from JSP to Eclipse Scout Frontend Migration from JSP to Eclipse Scout Peter Nüdling Raiffeisen Schweiz Jérémie Bresson, Peter Barthazy BSI Business Systems Integration AG Eclipse Finance Day, Zürich, 31. Oktober 2014 Seite 1 WebKat:

Mehr

LMU. Grundlagen verteilter Systeme. Vorlesung am 12. Mai 2009. Dr. Frank Sarre. Lehr- und Forschungseinheit für Programmierung und Softwaretechnik

LMU. Grundlagen verteilter Systeme. Vorlesung am 12. Mai 2009. Dr. Frank Sarre. Lehr- und Forschungseinheit für Programmierung und Softwaretechnik LMU Ludwig- Maximilians- Universität München Lehr- und Forschungseinheit für Programmierung und Softwaretechnik Vorlesung am 12. Mai 2009 Serviceorientiertes egovernment Grundlagen verteilter Systeme Dr.

Mehr

WebSphere Portal 8 Migrationen

WebSphere Portal 8 Migrationen WebSphere Portal 8 Migrationen Enrico Regge IT Specialist reggeenr@de.ibm.com André Hagemeier IT Specialist andre.hagemeier@de.ibm.com 2014 IBM Corporation Agenda Suche & Security Theme WCM Applikationen

Mehr

JBoss 7 als Plattform für hochverfügbare Anwendungen

JBoss 7 als Plattform für hochverfügbare Anwendungen JBoss 7 als Plattform für hochverfügbare Anwendungen Orientierungspunkt 04/2013 24.05.2013, OIO Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld Java EE seit 1998 Konzeption und Realisierung

Mehr

Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH

Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH What is a GEVER??? Office Strategy OXBA How we used SharePoint Geschäft Verwaltung Case Management Manage Dossiers Create and Manage Activities

Mehr

Enterprise JavaBeans

Enterprise JavaBeans Enterprise JavaBeans Sebastian Pipping 18. Dezember 2006 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Teil I J2EE J2EE Was ist J2EE? Was ist J2EE?

Mehr

German English Firmware translation for T-Sinus 154 Access Point

German English Firmware translation for T-Sinus 154 Access Point German English Firmware translation for T-Sinus 154 Access Point Konfigurationsprogramm Configuration program (english translation italic type) Dieses Programm ermöglicht Ihnen Einstellungen in Ihrem Wireless

Mehr

TAV Übung 3. Übung 3: Verteilte Datenhaltung

TAV Übung 3. Übung 3: Verteilte Datenhaltung Übung 3: Verteilte Datenhaltung 1. Serialisierung Konstruieren Sie Historien aus drei Transaktionen T1, T2 und T3, die folgende Merkmale aufweisen: 1. Die serielle Reihenfolge ist T1 vor T2 vor T3. 2.

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

Security Technologien in Java EE 6

Security Technologien in Java EE 6 Security Technologien in Java EE 6 Java Forum Stuttgart 2010 Sebastian Glandien Acando GmbH sebastian.glandien@acando.de Agenda I. Einleitung II. Java Authentication SPI for Containers (JSR-196) I. Message

Mehr

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing Vorstellung Studienprojekt Policy4TOSCA Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing Institute of Architecture of Application Systems (IAAS) www.iaas.uni-stuttgart.de

Mehr

Simulation von Computer- und Kommunikationssystemen

Simulation von Computer- und Kommunikationssystemen Computer und Kommunikationssysteme Nachbildung der Verarbeitung in Rechnern und Kommunikation in Netzwerken Belegung und Auslastung von Systemressourcen Analyse von Systemverhalten Systemleistung in der

Mehr

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework

Mehr

Orchestrierung in der Praxis

Orchestrierung in der Praxis Orchestrierung in der Praxis Michael J.M. Wagner software, design & management sd&m AG Carl-Wery-Str. 42 81739 München michael.wagner@sdm.de Abstract: Die Integration von Anwendungen stellt nach wie vor

Mehr

ITSM Infoday 2013. Mit Business Process Service Management zu mehr Flexibilität, Transparenz und Stabilität. Peter Brückler

ITSM Infoday 2013. Mit Business Process Service Management zu mehr Flexibilität, Transparenz und Stabilität. Peter Brückler ITSM Infoday 2013 Mit Business Process Management zu mehr Flexibilität, Transparenz und Stabilität Peter Brückler Copyright 2013 NTT DATA EMEA Ltd. Agenda Der Druck auf Unternehmen Business Process Management

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

AnyWeb AG 2008 www.anyweb.ch

AnyWeb AG 2008 www.anyweb.ch OMW 8.1- What s new System- Applikations- und Servicemanagement Agenda Was ist OMW HTTPS Agent Remote Agent Installation User Role Based Service View Custom Message Attributes Maintenace Mode Weitere Erweiterungen

Mehr

Cloud Computing. Betriebssicherheit von Cloud Umgebungen C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y

Cloud Computing. Betriebssicherheit von Cloud Umgebungen C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y Cloud Computing Betriebssicherheit von Cloud Umgebungen Urs Zumstein Leiter Performance Care Team Urs.Zumstein@DevoTeam.ch 079 639 42 58 Agenda Definition von Cloud Services Anforderungen an die Betriebssicherheit

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Persönlichkeiten bei bluehands

Persönlichkeiten bei bluehands Persönlichkeiten bei Technologien bei Skalierbare Anwendungen mit Windows Azure GmbH & co.mmunication KG am@.de; posts..de/am 1 2 3 4 5 6 7 8 9 Immer mehr Mehr Performance Mehr Menge Mehr Verfügbarkeit

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

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland The following is intended to outline our general product direction. It is intended for information purposes

Mehr

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2014 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger Die Macht, die uns umgibt Design Prinzipien Schneller und besser Software entwickeln 2012 Jörg Bächtiger Joerg.Baechtiger@Abraxas.ch http://www.xing.com/profile/joerg_baechtiger Übersicht geben Zusammenhänge

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

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