Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen.

Ähnliche Präsentationen


Präsentation zum Thema: "Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen."—  Präsentation transkript:

1 Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen

2 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 2 Gliederung Serialisierung 2. Webservice Architekturen 3. Feature-Vergleich 4. Testergebnisse 5. Motivation 1. Zusammenfassung und Ausblick6.

3 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 3 Enterprise Information Systems (EIS) Application Server + DB Client :A :B :A‘:B‘ Client Middleware :A :B :A‘:B‘ Optimierung der Kommunikation in Enterprise Information Systems structured data (e.g. XML, JSON) Technology: Web Services (e.g. RPC, REST, …)

4 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 4 Gliederung Serialisierung 2. Webservice Architekturen 3. Feature-Vergleich 4. Testergebnisse 5. Motivation 1. Zusammenfassung und Ausblick6.

5 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 5 Serialisierung serialized file p:Person name = „Kai“ mp:MobilePhone deserialize serialize OD  Bildet strukturierte Daten in ein anderes Format ab  Speicherung und Übertragung os = „ANDROID“

6 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 6 Serialisierungsformate & -bibliotheken  eXtensible Markup Language (XML) textuelle Form  lesbar für Menschen Begin- und Endtags  schwergewichtig weit verbreitet und stark toolunterstützt ca. 80% Overhead Anna 35 Peter Hans 35 Peter Hans

7 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 7 Serialisierungsformate & -bibliotheken  JavaScript Object Notation (JSON) textuelle Form  lesbar für Menschen keine redundanten Tags  leichtgewichtig gültiger JavaScript-Code  Protocol Buffers (protobuf) Konzept Binäres Format  nicht lesbar für Menschen Spezifizierungssprache für Schemata Klassen enthalten Serialisierungsmechanismen { "name": "Anna", "age": 35, "children": ["Peter", "Hans"] } message person { required string name = 1; optional int64 age = 2; repeated string children = 3; }

8 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 8 Gliederung Serialisierung 2. Webservice Architekturen 3. Feature-Vergleich 4. Testergebnisse 5. Motivation 1. Zusammenfassung und Ausblick6.

9 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 9 Webservice Architekturen  Webservice (WS) Kommunikation zwischen Komponenten Netzwerk Server-Client Server Provide WS (REST, RPC) Client Network Data transfer

10 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 10 Realisierung von Webservices  Representational State Transfer (REST) Ressourcenorientierter Architekturstil HTTP-Protokolle Modularität und Skalierbarkeit  Remote Procedure Call (RPC) Funktionen im Server haben eine ID Remote-Objekt wird lokal gebunden Stub kapselt Komplexität  Enterprise JavaBeans (EJB) – Session Bean Realisierung des RPC-Mechanismus Java-EE Server CORBA (Common Object Request Broker Architecture) definiert Protokolle und Dienste

11 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 11 Gliederung Serialisierung 2. Webservice Architekturen 3. Feature-Vergleich 4. Testergebnisse 5. Motivation 1. Zusammenfassung und Ausblick6.

12 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 12 Feature-Vergleich: Datenaustauschformate LesbarkeitVerwendungAustauschErweiterbar- keit PerformanzZusätzl. Features JAXB +o----- GSON ++o+-oo Jackson ++o--+ Protobuf Java-Ser

13 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 13 Objektgraphen (OG) … … …  Tiefer OG Alle Bibliotheken  Breiter OG Alle Bibliotheken  Zyklischer OG Jackson und Java-Serialisierer  Zwei eingehende Referenzen Jackson, Java-Serialisierer und protobuf

14 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 14 Feature-Vergleich: Webservice Architekturen  Ressourcen versus Aktionen SkalierbarkeitSicherheitKopplungPerformanz RESTzustandslosalle HTTP- Methoden loseCaching RPC (SOAP) zustands- behaftet HTTP-Poststarkzusätzliche Protokolle

15 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 15 Gliederung Serialisierung 2. Webservice Architekturen 3. Feature-Vergleich 4. Testergebnisse 5. Motivation 1. Zusammenfassung und Ausblick6.

16 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 16 Serialisierung: Tiefer Objektgraph  Dateigröße in Bytes  lineares Wachstum  Java-Serialisierer bei nur einem Objekt am größten

17 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 17 Serialisierung: Tiefer OG  Zeit in ms  lineares Wachstum  Schwankungen durch Messungenauigkeiten

18 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 18 Serialisierung: Breiter OG  Dateigröße: ähnliches Verhalten wie bei tiefem OG  Zeit: protobuf um Faktor 10 schneller als Java-Serialisierer Jackson, GSON und JAXB ca. gleich schnell

19 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 19 Deserialisierung: Zeit  tiefer OG  lineares Wachstum  protobuf am schnellsten  Jackson, GSON und Java-Serialisierer in etwa gleich schnell  JAXB ca. 13 mal langsamer als protobuf

20 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 20 Webservice Architekturen: EJB vs REST CORBA- Java- Ser. REST-JSONREST-Protobuf POST ms ms GET ms ms RPC ms-- Initialisierungs- phase ms ms  REST-Lookup deutlich schneller  REST-Methodenaufrufe schneller als RPC-Methodenaufruf

21 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 21 Gliederung Serialisierung 2. Webservice Architekturen 3. Feature-Vergleich 4. Testergebnisse 5. Motivation 1. Zusammenfassung und Ausblick6.

22 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 22 Zusammenfassung und Ausblick  Vorteile und Nachteile verschiedener Formate  Performanz, Skalierbarkeit: REST  größere Kopplung, Erweiterbarkeit: RPC Themen für weiterführende Arbeiten interessant  weitere Serialisierungsbibliotheken (Thrift, Avro)  weitere Webservice Architekturen  Fokus auf interne Datenstruktur bei der Serialisierung

23 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 23 Ich danke für Ihre Aufmerksamkeit.

24 Seminar Ben Mainz Software Engineering RWTH Aachen , Folie 24 Literaturverzeichnis  Colin J. Ihrig: JavaScript Object Notation. Apress,  Erik T. Ray: Learning XML. O'Reilly,  Stefan Tilkov: REST und HTTP: Einsatz der Architektur des Web für Integrationsszenarien. dpunkt.verlag,  Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA,  google protobuf website: https://code.google.com/p/protobuf/, november 2014.https://code.google.com/p/protobuf/  GSON - google json website: https://code.google.com/p/google-gson/, november 2014.https://code.google.com/p/google-gson/


Herunterladen ppt "Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen."

Ähnliche Präsentationen


Google-Anzeigen