Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Martha Baumann Geändert vor über 7 Jahren
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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, 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 26.01.2015, Folie 17 Serialisierung: Tiefer OG Zeit in ms lineares Wachstum Schwankungen durch Messungenauigkeiten
18
Seminar Ben Mainz Software Engineering RWTH Aachen 26.01.2015, 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 26.01.2015, 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 26.01.2015, Folie 20 Webservice Architekturen: EJB vs REST CORBA- Java- Ser. REST-JSONREST-Protobuf POST-1.6896 ms2.1412 ms GET-1.4416 ms1.7246 ms RPC2.8396 ms-- Initialisierungs- phase 7900.35 ms136.95 ms REST-Lookup deutlich schneller REST-Methodenaufrufe schneller als RPC-Methodenaufruf
21
Seminar Ben Mainz Software Engineering RWTH Aachen 26.01.2015, 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 26.01.2015, 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 26.01.2015, Folie 23 Ich danke für Ihre Aufmerksamkeit.
24
Seminar Ben Mainz Software Engineering RWTH Aachen 26.01.2015, Folie 24 Literaturverzeichnis Colin J. Ihrig: JavaScript Object Notation. Apress, 2013. Erik T. Ray: Learning XML. O'Reilly, 2001. Stefan Tilkov: REST und HTTP: Einsatz der Architektur des Web für Integrationsszenarien. dpunkt.verlag, 2011. 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, 1995. 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/
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.