Schnittstellen für Verteilte System mit J2EE Frank Schwichtenberg SourceTalk 2008 Göttingen, 25.09.2008.

Slides:



Advertisements
Ähnliche Präsentationen
Objektrelationales Mapping mit JPA
Advertisements

Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Cloud42 Dominik Muhler Seminar StuPro cims cims.
Stefan Kurz und Marius Podwyszynski
Semesterarbeit von Dieter Lorenz, Sebastian Galenski, Stephan Bury
RMI RMI Systemarchitektur Servlet Cont. Präsentation Logik Datenbank Servlet Cont. Servlet Cont. EJB-Container Oracle RMI JDBC.
Basis-Architekturen für Web-Anwendungen
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Enterprise Java Beans (EJB) VL Anwendungssysteme Freitag, Gerald Weber.
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Datenbankzugriff im WWW (Kommerzielle Systeme)
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Web-Datenbanken Ein Ausblick. © Prof. T. Kudraß, HTWK Leipzig Ausblick auf aktuelle Trends Web 2.0 (Social Web) Informationsintegration: (Web) Content.
JAVA RMI.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Seminar Internet Technologien
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Das Web als Präsentations- / Kommunikationsschicht
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Robotron – Titel der Präsentation Martin Kunze,
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
EJB-Applikationsserver
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage Ziele Lösungsansatz Komponenten Demonstration.
Management- und Web Services- Architekturen
XML und Datenbanken © 2006 Markus Röder
Einführung in Web Services Web Services in der Praxis
Client-Server-Modell
Reinhold Rumberger Web Services.
SharePoint 2013 Web Services
Vassil Dimov.  Was ist Blue Age  Eigenschaften  Möglichkeiten  Hello World (Beispiel)  Entity Creation(Beispiel)  Benefit.
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 2: Service 18. February 2013 Folie 1 von 19.
Sd&m AG software design & management Herrnstraße Offenbach am Main Telefon (069) Telefax (069) Internet-Anwendungen.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
EJB Architektur für große Web - Applikationen Gerald Weber
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Enterprise-IT-Praktikum JAX-RS-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Dennis Boldt David Gregorczyk
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
Generic Enabler Felix Holzäpfel-Stein, Aachen Generische Komponenten im Cloudkontext.
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
AUTONOME PROVINZ BOZEN - SÜDTIROLPROVINCIA AUTONOMA DI BOLZANO – ALTO ADIGE Ripartizione 9 – InformaticaAbteilung 9 - Informationstechnik Amt 9.6 – Amt.
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Verteilte Anwendungen: J2EE
Robotron – Titel der Präsentation Olaf Nowatzki Dresden,
Web-Interface for Multi-FPGA Board Pamette
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
1.
 Präsentation transkript:

Schnittstellen für Verteilte System mit J2EE Frank Schwichtenberg SourceTalk 2008 Göttingen,

2 Wie einfach es sein kann, die komplexen Anforderungen an Verteilte Systeme mit Java zu erfüllen.

3 B2B ● Business-to-Business ● Kommunikation über Internet ● Service Orientierte Architektur (SOA) ● Hochintegrierbar

4 Verteilte Systeme ● Netzwerkfähigkeit – Viele Gleichzeitige Nutzer (Threads) – Connection Management ● Datensicherheit – Integrität – Verlust – Zugriff ● Hochverfügbarkeit – Skalierbarkeit – Clustering

5 Anforderungen ● (Internet-) Dienst ● Einfach nutzbar ● Flexibel einsetzbar ● Integration in andere Dienste/Applikationen ● Transaktionen ● Hochperformant ● Benutzerverwaltung, bzw. AA (Authentifizierung & Autorisierung)

6 Komponenten ● Server / Netzwerkschnittstelle ● Datenbank ● Businesslogic

7 Java ● „Java ist Netzwerkfähig“ – Servlets in Tomcat – J2EE Application-Server ? ● Java abstrahiert Datenbanken – JDBC – Hibernate ● Java ist Objektorientiert und kann XML :-)

8 Konzept ? Schnittstelle ? Was ist eigentlich zu tun ?

9 Was ist zu tun? „Mit Dingen etwas tun.“ Entitäten und Handlung Entity Session

10 Entity-Session-Model ● Entity – Object, das Abbildet/Repräsentiert womit umgegangen wird ● Session – Nicht: Sitzung mit Session-id etc. – Object, das den Umgang mit den Entities darstellt. ● Create, Retrieve, Update, Delete ● findByName ● u.v.m. ● „Sessions definieren Funktionalität auf Entities.“

11 Schnittstellen-Art ● RMI, Enterprise Service – Java spezifisch – Java ist Plattformunabhängig ● Webservice mit SOAP – Weitgehend Unabhängig von Programmiersprache – Plattformunabhängig ● REST (Representational State Transfer) – HTTP – Unabhängig

12 Webservice mit SOAP ● Wohldefiniert (WSDL, SOAP) ● Client(-generierung) Plattformunabhängig ● XML-Messages – Transportformat und -methode vollständig gekapselt ● Client arbeitet auf Objekten/Strukturen (Client-Stub) – Einfach wenn Parameter der Methoden Simple-Types sind ● Performance-Einbußen – Standardverfahren: XML-Serialisierung, HTTP – Streaming schwer ein-/umsetzbar ● Arbeiten auf Remoteobj. vs. Übertragen von Datenobjekten ● Entwurf ist oft Methodenbasiert

13 REST ● Selbsterklärend ● Repräsentations-Orientiert / Resourcen – Serialisierung / Deserialisierung ● CRUD ● HTTP, Streaming, Browser als Minimal-Client ● Oft schwer benutzbar nach funktionaler Anpassung – Nicht mehr strikt Repräsentations-Orientiert ● „Implementations Unfreundlich“ – Aber einfach, wenn schon Dinge zum Übertragen vorhanden sind. (Entities)

14 Webservice-/Rest-Clients in Java ● Bei größeren Projekten und SOA sind Clients oft in Java implementiert. – Java Client API wird benötigt !? ● Bei Webserives mit SOAP oft Server und Client mit AXIS Service nicht mehr plattformunabhängig ● Wegen einfacher, flexibler, plattformunabhängiger Schnittstelle existiert natürlich keine Java Remote Schnittstelle.

15 Transaktionen ? Performance ? Java Client API ?

16 Doch ein Java-Service ? ● Ein Schritt zurück? ● Enterprise Service mit EJB3 – JBoss, Glassfish ● Skalierbar, Clusterfähig – Entities, Sessions ● Sessions definieren Funktionalität auf Entities – Austausch von Entities (Datenobjekte) – Kein LocalHome, kein RemoteHome, kein Xdoclet – Performant – Persistenz und Transaktionen !!!

17 EJB3 „Mit Dingen etwas tun.“ Entitäten und Handlung Entity Session Persistenz Transaktionen, AA durch Anotation

18 Webservice 2.0 ● JAX-WS 2.0 – Methoden der Session werden zu Webservice-Methoden durch Anotation – Kein wscompile etc. ● XML-Messages – Document/Literal Wrapped – Serialisierung der Entities mit JaxB ● Übertragung von „Datenobjekten“ ● Transaktionen in EJB-Session – Konkurierende Zugriffe sind kein Problem

19 REST-Interface ● CRUD-Methoden der Session – Servlet bildet HTTP-Methoden auf Session-Methoden ab ● PUT, GET, PUT, DELETE ● Create, Retrieve, Update, Delete ● Repräsentation von Entities in XML (JaxB) – URI/URL mit ID der Entity – Generische Erweiterung auf Basis von XML oder Java- Reflections möglich ● Transaktionen in EJB-Session – Konkurierende Zugriffe sind kein Problem

20 BusinessLogic + ● Application Server natürlich (z.B. JBoss)

21 Das, was immer alle wollen ! ● Unterstützung verschiedener Schnittstellen ● Von einfach bis performant ● Transaktionen (zumindest intern) ● Sicherheit ● Fokussierung der Entwicklungsarbeit auf Businesslogik und Datenmodellierung

22 ● „Erzeugung von Diensten zur XML-Verarbeitung mit JaxB und EJB3“ (Masterarbeit, Mai 2006) – ● Fragen? Vielen Dank für's zuhören