Persistenz Services in der Service Component Architecture



Ähnliche Dokumente
Java Enterprise Architekturen Willkommen in der Realität

SAP NetWeaver Gateway. 2013

ORACLE Business Components for Java (BC4J) Marco Grawunder

Vortrag von: Ilias Agorakis & Robert Roginer

WS-Security. Thies Rubarth. Sicherheitskonzepte in global verteilten Anwendungen. 21. Sep 2007 ACM/GI Localgroup #216

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Softwareentwicklung mit Enterprise JAVA Beans

SDD System Design Document

Man liest sich: POP3/IMAP

Übungen zur Softwaretechnik

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Java und XML 2. Java und XML

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

Wiederholung: Beginn

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Zustandsgebundene Webservices

SE2-10-Entwurfsmuster-2 15

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

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

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Dr. Klaus Körmeier BlueBridge Technologies AG

Anforderungen an die HIS

Client/Server-Systeme

BI in der Cloud eine valide Alternative Überblick zum Leistungsspektrum und erste Erfahrungen

peer-to-peer Dateisystem Synchronisation

Koordination Kommunikation Bahn. KoKoBahn. Projektpartner. Laufzeit. Travemünder Datenverbund GmbH, Lübeck. dbh Logistics IT AG, Bremen

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Web Sockets mit HTML5. Quelle:

RESTful Web. Representational State Transfer

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Neue Funktionen in Innovator 11 R5

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Seminarvortrag Serviceorientierte Softwarearchitekturen

Anwendungsfall: Gerichtstermin

Windows Small Business Server (SBS) 2008

Implementierung von Web Services: Teil I: Einleitung / SOAP

FORGE2015 HDC Session 4. Nachhaltige Infrastruktur als technologische Herausforderung. Tibor Kálmán Tim Hasler Sven Bingert

Komponentenbasierter Taschenrechner mit CORBA

WINDOWS 8 WINDOWS SERVER 2012

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

ITIL und Entwicklungsmodelle: Die zwei Kulturen

Erfassung von Umgebungskontext und Kontextmanagement

Online Banking System

Acceptor-Connector. Acceptor-Connector

Design Patterns 2. Model-View-Controller in der Praxis

Macher Solutions Produktinformation SAP Crystal Reports 2011

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

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

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

HANDBUCH LSM GRUNDLAGEN LSM

Softwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom

Überblick und Vergleich von NoSQL. Datenbanksystemen

InLoox. Integriert statt kompliziert: Erfolgreiche Teamarbeit in gemeinnützigen Projekten mit InLoox InLoox GmbH

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

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Workflow Systeme mit der Windows Workflow Foundation

Werkzeugbasierte Entwicklung von Benutzeroberflächen mit CDA-Templates und ART DECOR

1 Einleitung. 1.1 Caching von Webanwendungen Clientseites Caching

Application Service Providing ASP - das neue Geschäftsmodell im ecommerce!

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

White Paper. Installation und Konfiguration der PVP Integration

PRESman. Presentation Manager. Reduzieren Sie nachhaltig die Kosten für das. Erstellen, Verwalten und Verteilen Ihrer

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Jürgen Schwab, debis Systemhaus

SOFTWARE FÜR MOBILE ANLAGEN- INSPEKTIONEN MIT EX-SCHUTZ TERMINALS

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version.

Virtual Private Network. David Greber und Michael Wäger

Message Oriented Middleware am Beispiel von XMLBlaster

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Virtual Desktop Infrasstructure - VDI

BAT 04: Integration von Workflow- Management-Systemen in der Praxis. Referent Tillmann Schall

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Seminare Softwaretechnik - Einführungsveranstaltung

.. für Ihre Business-Lösung

Parallels Mac Management 3.5

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Aktualisierung der Lizenzierungsrichtlinien für Adobe Produkte

Entwurf und Prototypische Implementierung einer Data Mashup Plattform. Abschlussvortrag Projekt-INF

Zur Definition von Web-Services

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

3. Stored Procedures und PL/SQL

Semantic Web Services

Workflow, Business Process Management, 4.Teil

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Kolloquium zur Diplomarbeit

Viele gute Stellen sind frei. Besetzen Sie eine.

Transkript:

Persistenz Services in der Service Component Architecture Die nächste Generation Anforderungen an zukünftige Persistenzmechanismen Andreas Holubek Chief Architect Signsoft GmbH Leipziger Str. 118 01127 Dresden p +49 (0)351 894 53-0 f +49 (0)351 894 53-29 e a.holubek@signsoft.com w www.signsoft.de 0 Überblick Service Component Architecture SCA und Persistenz (Web Services) Vorhandenes und APIs Neue Ziele und Architekturen Neue Probleme Was ist heue machbar? Fazit und Ausblick Live Demo 1 1

Service Component Architecture Spezifikationen die Modell für die Anwendungsentwicklung beschreiben Basiert auf der Service Oriented Architecture (SOA) Sprachunabhängig (C++, Fortran, Java, PHP, ) Keine Beteiligung an sprachabhängigen Prozessen (Java Community Process, ) Separierung der Verantwortlichkeiten (Security, Transactions, ) SDO für Parameter und Rückgabewerte (Service Data Objects) Java und C++ API Bindings sind vorhanden (v0.9) 2 SCA Modell Anwendung: - Auswählen der Services - Services miteinander verbinden 3 2

SCA Benefits Entwicklung von Standardkomponenten Vereinfachte Entwicklung und Verteilung von Anwendungen als Netzwerk von Services Erhöhte Flexibilität Erhöhte Testbarkeit Unabhängig von Sprache, System damit offen für die Zukunft Stand (!): November/Dezember 2005 4 SCA Erkennung für Insider SCA Komponentenbeschreibung Verbindungspunkte zu anderen Komponenten 5 3

Persistenz Service - Ziele Daten; überall zu jeder Zeit in jeder Sprache Transparenz auch im Client; Lazy Loading unabhängig vom Adressraum Transaktionssicherheit Anwendungen die überleben 6 Persistenz Service Architektur (Signsoft) Client DO Stubs (Konkretes Data Object in Zielsprache) Anwendungskomponente Service Netzwerk Low-Level Data API (Abstraktes Data Object In neutraler Sprache) Persistenz Service Persistenz Service (ähnlich EntityManager, PersistenceManager) Mediator Services (JDO, EJB, Hibernate, ) Datastore 7 4

Architektur Einführung von Schichten zur Transformation Etablierung von begleitenden Diensten Zukunft: Reduzierung der Schichten Anwendung WS 2 X X 2 WS Basis Technologie TX, Security, JDO, EJB Persistenz Service 8 Vorhandenes und warum es nicht ausreicht. 9 5

Vorhandene APIs und Strategien Anforderung: Persistenzprovider sollte Web Services direkt unterstützen. Derzeitig keine 100%ige Lösung in Sicht. Betrachtung der vorhandenen Basis EJB 3 Persistenz JDO 2 SDO 10 EJB 3 - Persistenz Work in Progress Standard Attach/Detach Mechanismus Kein Austauschformat Kein Lazy Loading, Attributerkennung auf Client Seite JSR (noch in Arbeit) 11 6

Java Data Objects (JDO) Work in Progress Standard Attach/Detach Mechanismus Kein Austauschformat Kein Lazy Loading, Attributerkennung auf Client Seite JSR (Zukunft offen) 12 Service Data Objects (SDO) Austauschformat ist definiert (XML) Hybride Datenmodelle möglich Kein Lazy Loading, Attributerkennung auf Client Seite Nur Teilgraphen ohne Bidirektionalität Implementierungen vorhanden Standard (2.x) wird von Firmengruppe definiert Problem und Vorteil: Sprachunabhängige Datenobjekte 13 7

Mögliche Problemkreise Transparenz Transaktionen Sicherheit Performanz Ad-hoc-Lösungen wie z.b. die Veröffentlichung von Funktionen eines Persistensmanagers als Web Service können keine umfassenden Lösungen im Sinne dieser Problemkreise bieten. 14 Transparenz - auch im Client (Anforderung Part 1) 15 8

Problem: Transparenz im Client Value Objects, Data Transfer Objects Gängige (J2EE) Pattern Alter Hut ; wird benötigt, aber: Lazy Loading? Teilgraphen? Dynamik? Lebensdauer? Austauschbarkeit? Übertragen werden lediglich unvollständige Objekte Versuchte Lösung: Attach, Detach, Merge, 16 Ansprüche für die Zukunft Transparenz im Client, in der Session Client Client DTO erzeugen DTO füllen DTO Serialisieren DTO Deserialisieren DTO verarbeiten DTO Serialisieren DTO Deserialisieren Merge Session, Server Lokal wie entfernt arbeiten Service Ein Transaktionskontext 17 9

System, Sprache Datenobjekte, DTO sind unabhängig von System und Sprache. Aber, werden heute sehr eng daran gekoppelt. Nutzbarkeit, Domainmodell ist an die Zeit, Firma, Strategie, gebunden (!). Hybride Datenmodelle gewinnen an Bedeutung. Lösung: Beschreibung und Transport in einer neutralen Form => XML. 18 Konzept Lazy-Loading Mit Metainformationen angereicherte XML- Repräsentation der Objekte Verarbeitung z.b. durch JAX-RPC Handler Chains Clientseitiger Aufbau ganzer Objektgraphen Zugriffsabhängiges Nachladen von Attributen und Teilgraphen 19 10

Konzept Lazy-Loading Nachladen bei erfolgtem Zugriff Client Persistenz Service 20 Transaktionen (Anforderung Part 2) 21 11

Transaktionen Transaktionskontext zusammengesetzt aus: Transaktion(en) des gemeinsamen Persistenzkontextes von Client und Persistenzdienst + Transaktionskontext über alle beteiligten Services der durch den Client initiierten Operation 22 Transaktionen Beispiel: Service 2: Informationsystem freie Transportkapazitäten Transaktionskontext 1 Client Transaktionskontext 2 Service 1: Speicherung Kundendaten Gesamtkontext der Clientoperation 23 12

Transaktionen Web Services Coordination als mögliche Basis für notwendigen Web Services-Transaktionskontext August 2005 Version 1.0 vorgelegt von Arjuna, BEA, Hitachi, IBM, IONA, Microsoft 24 Transaktionen Konzept: Bereitstellen einer (erweiterbaren) Basisplattform zur Koordination von Web Service Interoperabilität Klassifikation von Koordinationen durch verschiedene Koordinationstypen Koordinationstypen-abhängiger Umfang verfügbarer Transaktionsprotokolle Management verteilter WS-Transaktionen mithilfe von Coordinator-Instanzen 25 13

Transaktionen Koordinationstypen: Web Services Atomic Transaction Kurzlebige Verbindungen Einhaltung von ACID-Kriterien Vertrauenskontext zwischen den Teilnehmern notwendig Transaktionsprotokolle: Completion, 2PC 26 Transaktionen Web Services Business Activity Framework Langlebige Verbindungen Vertrauenskontext zwischen Teilnehmern kann nicht vorausgesetzt werden u.u. Zusammengesetzt aus einzelnen Atomic-TX Zwei Koordinationsprotokolle (BusinessAgreementWithParticipantCompletion, BusinessAgreementWithCoordinatorCompletion) Erfolgreicher Transaktionsabschluss nicht in jedem Fall vom Erfolg der Operationen aller Teilnehmer abhängig (Aufweichung ACID, Kompensation) 27 14

Transaktionen Bsp. Aufbau Koordinationskontext (A-TX): Persistenz Service fordert Koordinationskontionskontext über Client fordert Koordina- Activation Client 5Service registriert text Client über Activation- von Persistenz Service Coordinator sich 1 für an ein Transaktionsprotokoll Service von Coordinator 1 mit erhaltenem Persistenz Kontext Service Client sendet des Client an registriert sich für ein Anwendungsnachricht 1 2 3 4 Transaktionsprotokoll 6einschl. 7 Kontext 8 an11 Persistenz Service Activation Service Coordinator 1 Registration Service Activation Service Coordinator 2 Registration Service Coordinator 2 registriert angefordertes Transaktionsprotokoll bei Coordinator 1 9 10 28 Transaktionen Bsp. Abschluss Transaktion (A-TX) Client Persistenz Service (1) commit committed Protokollnachrichten Protokoll 2 Kontext Aw1 Protokoll 1 Kontext 1 Protokoll 2 Protokollnachrichten Protokoll 2 Teilnehmer 12 Protokoll 2 Kontext Aw2 Protokoll 2 Coordinator 1 Coordinator 2 29 15

Sicherheit und Performanz (Anforderung Part 3 und 4) 30 Sicherheit Schutz der Daten in verteilter Systemumgebung vor: Einsichtnahme Unbefugter Änderung durch Unbefugte Zugriff auf Persistenzdienst nur für autorisierte Instanzen Unabstreitbarkeit gesendeter Nachrichten 31 16

Sicherheit Mögliche Lösungsansätze: HTTP als Quasistandard bei Wahl des Transportprotokolls für SOAP-Nachrichten Einsatz sicherer Kanäle (HTTPS) zum Schutz versendeter Daten Authentifizierung und Autorisierung mithilfe von WS-Security 32 Performanz Performanzeinbruch durch XML-Repräsentation der zu übertragenden Daten? Steigende Leistungsfähigkeit moderner IT-Systeme Zahlreiche Möglichkeiten der Optimierung Parsing von SOAP-Nachrichten Reduktion von Netzwerkzugriffen Übertragung von (Teil-)Graphen persistenter Objekte 33 17

Realisierung 34 Idee Persistenz Service Umsetzung von hierarchisch strukturierten Services zur Persistierung von Objekten Veröffentlichung von Service zur Objektpersistierung (initiale Aufrufschnittstelle für den Client) Persistenz Service ist Menge persistenter Objekte mit Servicecharakter untergeordnet 35 18

Plattformen & APIs Apache Axis/Axis2 Web Services Coordination Web Services Atomic Transaction Web Services Business Activity Framework JAX-RPC/Axiom WS-Security Persistenztechnologien wie JDO/EJB3-Persistenz 36 Fazit und Ausblick Umfeld für Lösungen existiert Umsetzung erfordert jedoch noch viel Handarbeit Perspektivisch: Abbau der Service-seitigen Schicht und Ersatz der darunterliegenden Basistechnologie durch XML-Repräsentation Clientseitige Objektanreicherung weg von dummen Datenobjekten, hin zu Funktionalität SCA als zukünftiges Architekturmodell Keine Abhängigkeit von JCP, J2EE,.NET, 37 19

Literatur Web Services Transaktionen http://www-128.ibm.com/developerworks/library/specification/ws-tx/ Web Services Coordination ftp://www6.software.ibm.com/software/developer/library/ws-coordination.pdf Web Services Atomic Transaction ftp://www6.software.ibm.com/software/developer/library/ws-atomictransaction.pdf Web Services Business Activity Framework ftp://www6.software.ibm.com/software/developer/library/ws-businessactivity.pdf Business Transaction Protocoll http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=business-transaction Apache Axis http://ws.apache.org/axis/ http://ws.apache.org/axis2/ Dapeng Wang (Hrsg.), Thomas Bayer, Thilo Frotscher, Marc Teufel. Java Web Services mit Apache Axis. Software & Support Verlag, 2004. Web Services Security http://www.oasis-open.org/specs/index.php#wssv1.0 JAX-RPC http://java.sun.com/webservices/jaxrpc/index.jsp SCA http://www-128.ibm.com/developerworks/library/specification/ws-sca/ 38 Live Demo Client DO Stubs (Konkretes Data Object in Zielsprache) Anwendungskomponente Service Netzwerk Low-Level Data API (Abstraktes Data Object In neutraler Sprache) Persistenz Service Persistenz Service (ähnlich EntityManager, PersistenceManager) Mediator Services (JDO, EJB, Hibernate, ) In der Demo zu sehen (incl. Transaktionen) Datastore 39 20

Vielen Dank! Fragen? 40 21