Gerd Wütherich Martin Lippert. Mit OSGi Webanwendungen entwickeln

Ähnliche Dokumente
Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms

Eclipse, Spring und OSGi 1

Die OSGi Service Plattform

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

Inhaltsverzeichnis. Bernd Weber, Patrick Baumgartner, Oliver Braun. OSGi für Praktiker

Spring & OSGi: Plattform der Zukunft. Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG)

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile

Frank Schlüter, Techniker Krankenkasse Gerd Wütherich, Freiberuflicher Softwarearchitekt. Enterprise OSGi im wahren Leben: ein Migrationsbericht

Spring und Eclipse Equinox kombiniert. Martin Lippert (it-agile GmbH) Gerd Wütherich (comdirect bank AG)

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

JSP und Servlet Programmierung

Stefan Zörner. Portlets. Portalkomponenten in Java. ntwickier

Inhaltsverzeichnis. xil. 1 Einleitung 1. 2 OSGi-TechnologieimOberblick 11. Bibliografische Informationen

Das Interceptor Muster

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

Tomcat Konfiguration und Administration

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

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

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

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

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Portale mit dem Java-Portlet-Standard JSR168, Jetspeed 2 und WSRP

H OSGi H.2 H.4 H.3. 1 Motivation. 2 Architektur. 2 Architektur (2) Modulsystem/Komponentensystem für Java. OSGi Alliance.

Web- Applikationen. in Java-Web

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

WildFly Application Server Administration

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

DB-Aspekte des E-Commerce Schwerpunkt: Techniken. Servlets und JavaServer Pages

VAADIN, SPRING BOOT & REST

Zukunft der Oracle Applikationsentwicklung: BC4J & XML

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

Datenfernzugriff auf Schienenfahrzeuge mit dem Ferndiagnosesystem RDS. OSGi-Technologie Forum / EuroCargo 2004 Thomas Burri / PPC

Modulare Webanwendungen mit Java Theorie und Praxis. Jan Paul Buchwald 18. Java Forum Stuttgart,

Laufzeitmanagement von OSGi Applikationen

OSGi: Toolunterstützung und Softwareentwicklungsprozess

Kompendium der Web-Programmierung

Single Sourcing in Java: Desktop-Anwendung & Web-Applikation aus einer Quelle

J2EE mit Eclipse 3 und JBoss

Web 2.0 Software-Architekturen

Web-Technologien Kick-Start

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Java 2, Enterprise Edition Einführung und Überblick

Hauptseminar Informatik. Java Web Frameworks Alexander Löser

High Performance REST Applications Sven Hasselbach

Praktikum aus Softwareentwicklung 2, Stunde 11

Laufzeitmanagement von OSGi Applikationen

Handout Klausurnoten-Tool

JAX-RS 2.0 REST mit Java EE 7

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Webanwendungen mit IBM Rational und IBM WebSphere V6

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

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Dynamische Plug-ins mit Eclipse 3. Martin Lippert Tammo Freese

Eclipse Tomcat 5.0 und Struts auf der Win32- Plattform integrieren

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

CampusTec Robert Radestock Michael Zerna

Updates sicher und flexibel gestalten mit Linux

Eclipse Rieh Client Platform

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

Webanwendungen mit Java und JavaServerPages

C. Schädel, C. Schmidt-Casdorff iks GmbH. Provisioning unter OSGi für Test und Betrieb

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

Inhaltsverzeichnis. Zusammenfassung Wydler

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

Klausur Software Engineering 2 WNB SS 2008

Oracle XML Publisher - Überblick - Jürgen Vester Manager Sales Consulting Stuttgart Oracle Deutschland GmbH. Page 1

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

Google Gears Offline Web?

Die OSGI Service Platform-Eine Einführung mit Eclipse Equinox. Click here if your download doesn"t start automatically

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln

Platform as a Service (PaaS) & Containerization

Web-Anwendungen mit JavaServer Faces

Softwareentwicklung mit Enterprise JAVA Beans

Neue Wege mit Contao 4

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Projekt-INF Folie 1

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

Überblick über das Oracle Internet File System. PEGAS systemhaus 2001 PEGAS Firmenpräsentation

Björn Heinemann Leiter Entwicklung Energiewirtschaft

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

Programmierung von Client/Server- Anwendungen

Container als Immutable Infrastructure. John M. Hutchison

Session Beans & Servlet Integration. Ralf Gitzel

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

OSGi und das Schweizer Sackmesser

Server-Side Eclipse: Mit Eclipse mehr als Rich Clients entwickeln

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Die OSGi Alliance die dynamische Softwareplattform auf Java-Basis. W3L AG

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Neuerungen bei STEP 7 V5.5

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Transkript:

Gerd Wütherich Martin Lippert Mit OSGi Webanwendungen entwickeln

Agenda» Warum Webanwendungen mit OSGi?» Architekturmodelle» Web-Container innerhalb von OSGi» OSGi innerhalb eines Web-Containers» Ausblick

Modularisierung und Webanwendungen» Modularisierung in Java kommt!» OSGi» Java Module System» Was ganz anderes?» Webanwendungen sind ein wesentliches Einsatzgebiet von Java» Wir brauchen eine Antwort, wie das zusammenpasst!

Typische Einsatzgebiete von OSGi» Eclipse-SDK» RCP-Anwendungen» Standalone-Anwendungen» Embedded-Systeme» Und Webanwendungen?

Warum OSGi?» Aus Entwicklersicht:» Modularisierung für Webanwendungen» Klares Abhängigkeitsmanagement» JAR-Hell endlich hinter sich lassen» Dynamik ermöglichen

Warum OSGi?» Aus Betriebssicht:» Updates in Produktion ohne Herunterfahren einer App» Granularität von Updates (Bundles statt ganze App)» Dynamik ermöglichen» Flexibles Management» Verschiedene Versionen gleichzeitig betreiben

Was bedeutet das?» Webanwendungen bestehen aus OSGi-Bundles» Keine klassischen WAR-Files mehr» Stattdessen Standard-OSGi-Bundles» Libraries in eigenen Bundles» Web-UIs in getrennten Bundles» Nutzung von OSGi-Services» etc.» Umdenken im Bau von Anwendungen!» Eine gute Struktur entsteht nicht von alleine

Web-Container und OSGi» Die OSGi-Welt besteht aus OSGi-Bundles, die in einer OSGi-Runtime laufen» Wo bleibt der klassische Web- und Servlet- Container?

Architekturmodell 1» Web Container läuft innerhalb des OSGi Frameworks» Web Container wird als Bundle innerhalb des OSGi Frameworks installiert und gestartet» Anwendungs-Bundles können Webapplikationen (oder Teile davon) in den Web Container deployen

Übersicht Embedded Web Container» Fragen:» Wie werden Webanwendungen (oder Teile davon) in den eingebetteten Container deployed?» Welche Elemente der Servlet-Spezifikation werden unterstützt?

OSGi HTTP Service I» OSGi Standard Service seit R1» Zugriff auf den Servlet Container über das Interface org.osgi.service.http.httpservice» Servlets und Ressourcen können dynamisch registriert und deregistriert werden

OSGi HTTP Service II» Rudimentäre Unterstützung der Servlet-Spezifikation» Servlets» Resourcen» Unterstützte Web-Elemente: Element Servlets Servlet init params Servlet mappings Mime mappings Element in web.xml <servlet> <servlet> <init-param> <servlet-mapping> <mime-mapping>

Equinox-Jetty-Integration» Alternative Implementierung des OSGi HTTP Service auf Jetty-Basis» JSP-Support (Jasper-Engine)» Anmelden von Servlets, JSPs und Ressourcen über Extension Points» Ansonsten gleiche Beschränkungen wie beim OSGi HTTP Service

PAX Web I» http://wiki.ops4j.org/display/paxweb/pax+web» Basiert auf Jetty» Erweitert den OSGi HTTP Service» Dynamisches An- und Abmeldung von Web Elementen über das Interface org.ops4j.pax.web.service.webcontainer» JSP-Support

PAX Web II Element Context params Session timeout Servlets Servlet init params Servlet mappings Filter Filter init params Filter mappings Listeners Error pages Welcome files Mime mappings Element in web.xml <context-param> <session-timeout> <servlet> <servlet> <init-param> <servlet-mapping> <filter> <filter><init-param> <filter-mapping> <listener> <error-page> <welcome-file-list> <mime-mapping>

PAX Web Alternative Deployment-Modelle» Pax Web Extender Whiteboard Implementierung des Whiteboard Patterns Servlets, Ressourcen etc. werden selber als OSGi Services an der OSGi Service Registry implementiert» Pax Web Extender War Implementierung des Extender Patterns Ermöglicht das Deployment von bundle-fizierten WARs Spezifikation der Webelemente über WEB-INF/web.xml

Spring Dynamic Modules - Web Support I Spring Dynamic Modules: Formerly known as Spring-OSGi Mitglied der Spring-Familie http://www.springframework.org/osgi Keine eigene OSGi-Framework-Implementierung, sondern eine Brücke zwischen Spring und OSGi-Framework Spring DM Web Support: Fokus in Spring DM 1.1 Integration von Spring DM mit Web-Applikationen

Spring Dynamic Modules - Web Support II» Natives Deployment von Webapplikationen» Tomcat-Support» Jetty-Support» Volle Unterstützung der Servlet-Spezifikation 2.5

OSGi RFC 66 OSGi and Web Applications» Spezifikation» Derzeit als Draft verfügbar» Beschreibt, wie Webanwendungen in OSGi unterstützt werden (Servlet Spec. 2.5, JSP Spec. 2.1)» Referenzimplementierung:» Spring DM / Spring DM Server

Ich habe aber einen App-Server!» Und ich darf nur EARs, WARs, etc. deployen» Was nun?

Architekturmodell 2» OSGi Framework eingebettet in Webanwendung» OSGi Framework wird innerhalb einer Webanwendung ausgeführt» Anwendungs-Bundles werden innerhalb des eingebetteten OSGi Frameworks installiert und gestartet

Übersicht Embedded OSGi Framework» Fragen:» Wie werden Webanwendungen (oder Teile davon) in den umgebenden Container deployed?» Welche Elemente der Servlet-Spezifikation werden unterstützt?

Eclipse Equinox Servlet-Bridge» Bestandteil der Equinox-Distribution» Ermöglicht das Ausführen eines OSGi Frameworks innerhalb einer Webanwendung

Eclipse Equinox Servlet-Bridge

Servlet-Bridge Was geht? Was nicht?» Alles über OSGi-Http-Service» Vorteile:» Funktioniert überall» WAR-File wird deployed» Wenn gewünscht, Management über normalen Management-Agent von OSGi» Nachteile:» Deployment erfolgt über das Interface org.osgi.service.http.httpservice Gleiche Einschränkungen wie beim OSGi HTTP Service

Wo stehen wir gerade?» Es gibt eine OSGi Plattform, aber nur wenige nutzen diese Software zur Implementierung ihrer Webanwendungen» Möglichkeiten der Modularisierung und Versionierung nutzen» Verbesserung des Schnitts unserer Anwendungen» Statt einem WAR entstehen mehrere Module» Betrieb verschiedener Versionen» Laufzeitdynamik für Zero Down Time nutzen» Servlet API 3.0 Early Draft liegt vor

Thank you!