Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Ähnliche Dokumente
Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms

Entwicklung von Web-Anwendungen auf JAVA EE Basis

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

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

Softwareentwicklung mit Enterprise JAVA Beans

Enterprise Java Beans Einführung

Das Interceptor Muster

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern

Die OSGi Service Plattform

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

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Eclipse und EclipseLink

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

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

Programmierung von Client/Server- Anwendungen

EJB 3 - Ein Blick über den Tellerrand. Heiko W. Rupp <hwr@pilhuhn.de>

Architektur iterativ auf Basis von OSGi entwickeln

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

Schritt 4: Hallo Enterprise Bean

Smartphone Entwicklung mit Android und Java

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

SaaS-Referenzarchitektur. iico-2013-berlin

JBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009

Enterprise JavaBeans Überblick

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

Warum EJB Technologie (1)?

Application Servers. Application Server JBoss Java Management Extensions (JMX) Dynamische Rekonfigurierung

Enterprise Java Beans

Gerd Wütherich Nils Hartmann. OSGi Service Platform by example

BPMN 2.0 gehört in den Werkzeugkasten JEDES Java Entwicklers!

Next generation open source BPM JBoss jbpm 4. Java Forum Stuttgart

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Gerd Wütherich Martin Lippert. OSGi Service Platform by example

Komponentenbasierte Softwareentwicklung

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Eclipse Smart Client Beyond Eclipse RCP. Christian Campo, compeople, 24.April 2007

Geschäftskomponenten mit EJB 3.1

JBoss 2.2 Evaluierung

Mit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Anwendungsentwicklung mit Spring

Java Pet Store vs..net Pet Shop. Seminar Software-Entwurf Jörg Eggermann

ORACLE Business Components for Java (BC4J) Marco Grawunder

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Oliver Paulus, 7. Februar Spring Framework Einführung. Oliver Paulus, Was ist Spring?

Hibernate Das Praxisbuch für Entwickler

Der IBM Websphere Portalserver

Etablierung serviceorientierter Architekturen mit Web Services

SE2-10-Entwurfsmuster-2 15

Anwendung eines Enterprise Java Beans

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet.

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

Beispiel: JavaBeans. Enterprise JavaBeans: Server-Komponenten

Prozessautomatisierung mit BPMN 2.0 und Java.

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Enterprise Softwarearchitekturen in Java

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen

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

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

JDO Java Data Objects

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

Automatisiertes Testen von Java EE-Applikationen mit Arquillian

Zend PHP Cloud Application Platform

FH LU JEE Vorlesung SS Ralf Gitzel

Softwareentwicklung mit Enterprise JAVA Beans

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Java Beans ( )

REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet

Android Kurs Online Kurs Entwicklung auf Android-Handys

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Clustering von Application Servern am Beispiel von JBoss 3.2

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Weblogic Server: Administration für Umsteiger

Nils Hartmann Gerd Wütherich. Build my bundle! oder: Es muss nicht immer PDE sein

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Schritt 5: Session Beans

JavaEE Grundlagen. Theis Michael - Senior Developer UniCredit Global Information Services S.C.p.A

NetBeans Rich Client Platform. Anton Epple Göttingen, Source Talk Tage

WebSphere Portal 8 Migrationen

Softwareentwicklung in verteilten Umgebungen, Teil 12 Enterprise Middleware. Dieter Schmalstieg. Dieter Schmalstieg SVU Enterprise Middleware

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen

EJB jar.xml und Name Service (JNDI)

Quickstart. Quickstart. Anleitung zum schnellen Einstieg in JEAF Version 1.1 Letzte Änderung 15. März Projekt JEAF Framework

Anwendungen zur Raumautomation auf Basis der OSGi- und LON-Technologie

Einsatz und Grenzen von Java Server Faces 2.0

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Eine Einführung. Vortragende(r) FU Institut Berlin für Informatik Ingo Mohr

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, Universität Freiburg, Germany

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

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

Transkript:

Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi

Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE Service Plattform B Dokument Speicherung Ergebnis Darstellung Re-Use Service Datenbank Automatische Benachrichtigung Datenbank Automatische Benachrichtigung Service Plattform B Service Plattform C

Warum ist die Implementierung allein mit Java OO nicht sinnvoll? Re-Use Alternativen Pipe.jar Class-Path Verweis versteckt ModelGen.jar.jar Interface Verweise ModelGen.jar

Warum ist die Implementierung allein mit Java OO nicht sinnvoll? Re-Use Alternativen Pipe.jar Klasse M Package B! Klasse N Class-Path Verweis import import ModelGen.jar Package A Public Klasse X import Package B Protected Klasse Y

Warum ist die Implementierung allein mit Java OO nicht sinnvoll? Service Re-Use Alternativen Pipe ModelGen.jar.jar Version 1?.jar Class-Path Verweis: ModelGen.jar Version 2 Benötigte Version ist nicht spezifizierbar!

Warum ist die Implementierung allein mit Java OO nicht sinnvoll?

Warum ist die Implementierung allein mit Java OO nicht sinnvoll?

Features eines Komponenten s Composition Required Interfaces: interfaces, data types, behavior Variante A Variante B Instantiation Provided Interfaces: interfaces, data types, behavior Interaction Development Assembly Execution

Komponenten-Standards und Technologien Standard Implementierung OSGi Equinox, Felix, Knoplerfish Spring DM, (JbossOSGi),.. EJB (JEE) JBoss, Glassfish.. Plattform Eclipse, JBoss Glassfish,.. JBoss, Glassfish,.. Implementierte Komponenten IDSE Service Plattform

Open Services Gateway Initiative (Heute: OSGi Alliance) OSGi Bundle Server OSGi Bundle Küche OSGi Bundle TV Auto

Das Industrie-Konsortium hinter OSGi Sun Oracle IBM OSGi Alliance NTT Deutsche Telekom

Was ist OSGi? Import Interfaces ModelImporterInterface OSGi Bundle.jar.mf (Manifest) Interface Export Interfaces Version 1.2 class Service

Wie funktioniert OSGi? OSGi Service Plattform (z.b. Jboss, Glassfish, Eclipse) Infrastruktur Bundles Persistence Bundle Bundle Applikations Bundles Model Gen. Bundle Instanziierung OSGi Container (z.b. Felix, Equinox) Persistence Bundle Bundle Service Model Gen. Bundle Service registrieren OSGi Service Registry Verbindungen zur Laufzeit dezentral durch die Komponenten kontrolliert Required Interfaces Provided Interfaces

OSGi, Felix und Glassfish in Aktion Live Demo

Welche Szenarien sind mit OSGi realisierbar? OSGi unterstützt nur Singleton-Servies und hat keine Frontend API Kein ORM für DB Zugriff Pipe Client Nativer Client Web Client IDSE Service Plattform Alternativen B OSGi im Enterprise Bereich noch sehr neu OSGi erzeugt hohen Code- Overhead Dokument Speicherung Ergebnis Darstellung Mit R-OSGi Bundle Re-Use Service Datenbank Automatische Benachrichtigung Datenbank Automatische Benachrichtigung Service Plattform B Service Plattform C

Was sind EJBs? Stateless Session Beans Stateful Session Beans IDSE.ear.jar @Stateless class ModelGen.jar @Stateful class class ModelGenerator class Service Service Interface Local/Remote Interfaces ModelGen. Int. + Entity Beans für Datenhaltung!

Wie funktionieren EJBs zur Laufzeit JEE Service Plattform (z.b. Jboss, Glassfish) Deployed ear files IDSE.ear.jar @Stateless ModelGen.jar @Stateful ModelGenerator EJB Container (z.b. Jboss, Glassfish) Instanz Anaylse.ear JNDI (JEE Service Registry) ModelGenerator Instanz 1 ModelGenerator Instanz 2 Verbindungen zur Laufzeit per Dependency Injection zentral durch den EJB Container kontrolliert Required Interfaces Provided Interfaces

Welche Szenarien sind mit EJBs (JEE) realisierbar? Client Web Client Nativer Client Intransparent Intransparent Pipe IDSE Service Plattform Alternativen B EJBs lösen die meisten OO- Probleme nicht Unterstützt Dependency Injection Dokument Speicherung Keine Versionierung Ergebnis Darstellung Keine Versionierung Re-Use Service Datenbank Automatische Benachrichtigung Datenbank Automatische Benachrichtigung Service Plattform B Service Plattform C

OSGi mit JEE ( OS-JEE-I )

Wie funktioniert OSGi mit JEE? OSGi Service Plattform (Glassfish) EARs Web Client EAR OSGi Bundles Bundle J2EE Container (z.b. JBoss,..) OSGi Container (z.b. Felix, Equinox) Web Client EAR Bundle Service J2EE Service Registry OSGi Service Registry Verbindungen zur Laufzeit per Dependency Injection zentral durch den EJB Container kontrolliert Required Interfaces Provided Interfaces

Welche Szenarien sind mit OSGi + EJB (JEE) realisierbar? Client Anbindung über EJBs(JEE) Dokument Web Client ORM (z.b. Hibernate) Nativer funktioniert nicht Client ohne Alternativen weiteres im OSGi-Context IDSE Service Plattform Pipe Speicherung Re-Use Client B Architektur nicht erprobt! Integration Tests problematisch Transparenz durch explizite Abhängigkeiten Ergebnis Darstellung Dependency- Injection der EJBs reduziert den Code Service Overhead Datenbank Automatische Benachrichtigung Datenbank Automatische Benachrichtigung Service Plattform B Service Plattform C

Fragen