1
Geronimo
Web 2.0
Apache GeronimoStartrampe für
Web-2.0-Anwendungen
Frank Pientka, März 2009, Dortmundcomes to you
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 2 Pientka, Impaq AG, Apache Geronimo
Vorstellung des Referenten: Frank Pientka
Dipl.-Informatiker,Senior Consultant
bei der IMPAQ AG in DortmundVeröffentlichungen und Vorträge zuApplikations- und Portalservern
2
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 3 Pientka, Impaq AG, Apache Geronimo
IMPAQ Gruppe – Shortfacts
Los AngelesLondon Posen
Warschau
Hamburg
Dortmund
Frankfurt
Headquarter Zürich München
�1992 gegründet
�~ 400 Mitarbeiter
�9 Standorte weltweit
�Nearshore Services Center in Polen
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 4 Pientka, Impaq AG, Apache Geronimo
Agenda
1 Noch ein Applikationsserver?
2 Apache Geronimo: Überblick
3 Erster Eindruck
4 Apache SOA-Produkte
5
6
Web 2.0 Beispiele
Ausblick
3
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 5 Pientka, Impaq AG, Apache Geronimo
Was ist ein JavaEE-Server?
Quelle: SUN
Java Platform Enterprise Edition (Java EE 5.0)
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 6 Pientka, Impaq AG, Apache Geronimo
JavaEE Generationen
zertifizierte Server
2029
24
12
4
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 7 Pientka, Impaq AG, Apache Geronimo
JavaEE Geschichte
Die Anforderungen steigen. Komplexität auch?
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 8 Pientka, Impaq AG, Apache Geronimo
JavaEE 6.0 steht vor der Tür…2009
JSR-316 13 Monate Verzug im Zeitplan! (Public Review Ballot) 23.2.2009: alle JSR sollten early public Draft sein
Ziele: � Erweiterbarkeit, Modularität/ Profile, einfachere Entwicklung, SCANeue JSRs: � JSR-196 Java Authentication SPI for Containers � JSR-236 Timer for Application Servers � JSR-237 Work Manager for Application Servers � JSR-299 Web Beans (Public Review Ballot)
= Context and Dependency Injection ?� JSR-311 JAX-RS: Java API for RESTful Web Services Aktualisierte Technologien:� Java SE 6-Unterstützung� Enterprise JavaBeans 3.1 (Public Review Ballot)� Java Persistence API 2.0 (Public Review Ballot)� Servlets 3.0 (Public Review Ballot)� JavaServer Faces 2.0 (Public Review Ballot)� JAX-WS 2.2 (Maintenance)� Java EE Connector API 1.6 (Public Review Ballot)
“Java EE 6 will be the most important release of the platform since it was released nearly 10 years ago” Rod Johnson
“The next wave of innovation in platform middleware will likely emerge from the convergence of Spring, OSGi, SCA and other initiatives, rather than from the Java EE community. “ Gartner
5
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 11 Pientka, Impaq AG, Apache Geronimo
Warum ein neuer Java-Applikationsserver?
� Neu Anforderungen
� Neue Generation von Servern
� Reife des Marktes/ Technologie
� Innovation trotz Kompatibiltät
� Professionelle OpenSource ist eine echte Alternative zu kommerziellen Produkten
� Wer braucht ein Rundum-Sorglos-Paket?
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 12 Pientka, Impaq AG, Apache Geronimo
Vergleichsmöglichkeiten
� Marktstudie/Benutzerbefragung: (Evans Data, ohloh, Forester, Gartner)
� Produkttests (JavaMagazin, IX)
� Benchmark (SPECjAppServer2004)
� Statistiken (Download, Aktivitäten)
“Very large, active development team
Over the past twelve months, 26 developers
contributed new code to Apache Geronimo.
This is one of the largest open-source teams in the
world, and is in the top 2% of all project teams
on Ohloh.”
6
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 15 Pientka, Impaq AG, Apache Geronimo
Codezeilen, Größen im Ohloh.net-Vergleich
GlassFish (80-105 MB)
JBoss Application Server (106 MB)
Apache Geronimo (16, 55, 74 MB)
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 16 Pientka, Impaq AG, Apache Geronimo
Vergleich der Downloadzahlen
JBoss: 30.000 und 100.000 Downloads/ MonatGeronimo: 70.000 und 180.000 Downloads/ MonatGlassfish: 300.000 und 600.000 Downloads/ Monat (inkl. JavaEE SDK)
2.1.1 2.1.2 2.1.32.1
7
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 18 Pientka, Impaq AG, Apache Geronimo
Agenda
1 Noch ein Applikationsserver?
2 Apache Geronimo: Überblick
3
4 Apache SOA-Produkte
Erster Eindruck
5
6
Web 2.0 Beispiele
Ausblick
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 20 Pientka, Impaq AG, Apache Geronimo
Geronimo Ziele
� Einfache Benutzung
� Apache Software License
� Geeignet für Entwickler, Administratoren und Integratoren
� Eclipse-Unterstützung
� Regelmäßige Releases mit neuen Funktionen und Fehlerkorrekturen
� lebendige Community
8
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 21 Pientka, Impaq AG, Apache Geronimo
Geronimo modularer Aufbau
Geronimo Kern
Webcontainer
Sicherheit SOAP, WebService
EJB, JPA, Scheduling, Reporting, Portal, andere Plugins
Web-Cluster JMS
Portletcontainer
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 22 Pientka, Impaq AG, Apache Geronimo
Geronimo Versionen
August2003
�Apac
he G
eron
imo P
rojek
t ges
tartet
�V1.0-
M5 rele
ased,
J2EE 1
.4 Z
ertifiz
ieru
ng
Okt2005
Jan2006
�V1.0 re
lease
d
Juni2006
�V1.1 re
lease
d
�V2.1.4
Sep2006
�V1.1.1
releas
ed
Juni2007
�V2.0-M
6 rele
ased,
Java
EE 5
Zerti
fizie
rung
Aug2007
�V2.0.1
releas
ed
Okt2007
�V2.0.2
releas
ed
Feb2008
�V2.1 re
lease
d
Sept2008
�V2.1.3
releas
ed
�V2.2
März2009
9
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 23 Pientka, Impaq AG, Apache Geronimo
Was ist Apache Geronimo?
Ein leichtgewichtiger
JavaEE-Anwendungsserver
unter Apache Lizenz
Schmalfuß(~75 MB download)
JavaEEzertifiziert
Geringe Kosten Professioneller
Support möglich
sehr freie Lizenz
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 24 Pientka, Impaq AG, Apache Geronimo
Apache Geronimo Komponenten
Tomcat
OpenJPA
Möglichkeiten pro Produkt n und Version k !
10
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 25 Pientka, Impaq AG, Apache Geronimo
Apache Geronimo integriert
Tomcat
OpenJPA
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 28 Pientka, Impaq AG, Apache Geronimo
Geronimo Architektur
LifeCycleService
NamingService
SecurityService
TransactionService
GBean Kernel
Kernel Services
Geronimo
Liferay
Commons
Tomcat ActiveMQ StAX Axis 2 Etc.
Jetty
OpenEJB
OpenJPA
Etc.
CXF
Etc.
Derby Etc.
Etc.
Optional Plugins
11
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 29 Pientka, Impaq AG, Apache Geronimo
Geronimo Architektur Exkurs: MBean vs. GBean-Ansatz
MBeans mit MBeanServer GBeans mit Mikro-KernelGeronimo verwendet sowohl Constructor als auchSetter InjectionInversionOfControl (IoC)
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 30 Pientka, Impaq AG, Apache Geronimo
Geronimo Bean (GBean)
� Modularer Mikro-Kernel (GBean-Manager)� Jedes Modul ist eine GBean� GBean haben Lebenszyklus und können zur Laufzeit gestoppt/ gestartet werden (~OSGI)
� GBeans sind Voraussetzung für Plug-ins� GBeans über JMX-Adapter verwaltbar
“Microkernels have won. The only real argument for monolithic systems was performance.” (Andrew Tanenbaum, 1992)
12
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 31 Pientka, Impaq AG, Apache Geronimo
Geronimo Bean (GBean)
GBeanGBean GBean
Geronimo Kern
KonfigurationKonfiguration
Abhängigkeiten
Abhängigkeiten werden in Deploymentplan beschrieben.
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 32 Pientka, Impaq AG, Apache Geronimo
Geronimo Module/ Konfiguration
� Eindeutiger Modul-Namen, wie in Maven2:moduleId=groupId/artifactId/version/type
� Zusammenstellung von konfigurierten GBeans
� Modul wird selbst wieder als GBean verwaltet
groupId artifactId version type
13
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 34 Pientka, Impaq AG, Apache Geronimo
Geronimo Module/ Konfiguration
� Beispiel: org.apache.geronimo.configs/welcome-tomcat/2.0.2/car
� Zur Adressierung im Implementierungsplan oder im Deployer-Werkzeug verwendet<dependency>
<groupId>gruppe<groupId>
<artifactId>datei<artifactId>
<version>version<version>
<type>typ<type>
</dependency>
� Abspeicherung im Repository unter repository/
groupId/artifactId/version/artifactIdversion.type
GBean1
GBean2GBean3
Module1
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 35 Pientka, Impaq AG, Apache Geronimo
Modulverwaltung- und Konfiguration
ModuleRepository
speichern
referenziert
Geronimo Kernel
config.xml
laden
14
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 36 Pientka, Impaq AG, Apache Geronimo
Verzeichnis-Aufbau Repository
$GERONIMO_HOME/repository|+-/...|+-/commons-logging-+| || +-/commons-logging-+| || +--/1.0.4--+| || +-commons-logging-1.0.4.jar+-/...
Von einer Version eines Moduls existiert nur ein ExemplarTransparente Adressierung, Vermeidung von Duplikaten
Ende der
JAR-Hölle
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 37 Pientka, Impaq AG, Apache Geronimo
Geronimo Systemmodule
15
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 38 Pientka, Impaq AG, Apache Geronimo
Geronimo Systemmodule: Startmeldung
1/9 org.apache.geronimo.configs/rmi-naming/2.1.3/car
2/9 org.apache.geronimo.configs/j2ee-server/2.1.3/car
3/9 org.apache.geronimo.configs/transaction/2.1.3/car
4/9 org.apache.geronimo.configs/j2ee-security/2.1.3/car
5/9 org.apache.geronimo.configs/jasper/2.1.3/car
6/9 org.apache.geronimo.configs/tomcat6/2.1.3/car
7/9 org.apache.geronimo.configs/geronimo-gbean-deployer/2.1.3/car
8/9 org.apache.geronimo.configs/sharedlib/2.1.3/car
9/9 org.apache.geronimo.configs/webservices-common/2.1.3/car
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 39 Pientka, Impaq AG, Apache Geronimo
Modul-Abhängigkeiten
jee-system
jee-specs rmi-naming
tomcat6
tomcat6-
deployer
tomcat6-
console
jee-server
activemq-
ra
activemq-
console
openejb
openejb-
deployer
transaction
xmlbeans
16
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 40 Pientka, Impaq AG, Apache Geronimo
Eigenes Assembly
jee-system
jee-specs rmi-naming
tomcat6
tomcat6-
deployer
tomcat6-
console
jee-server
activemq
-ra
activemq
-console
openejb
openejb-
deployer
transaction
MyApp
xmlbeans
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 41 Pientka, Impaq AG, Apache Geronimo
Geronimo fertige Assemblies
Big-G WASCE
Little-G Micro-G EigenesPaket
Bsp.: SOA-Assemblygaswerk.sourceforge.net
Nur soviel, wie nötig
8 Plugingruppen
ab Geronimo 2.2
17
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 46 Pientka, Impaq AG, Apache Geronimo
Produktvarianten: Darf es etwas mehr sein?
� Apache Geronimo� Little-G: Webserver ohne Webkonsole
� Tomcat, Jetty: ausgereift vs. innovativ/schnell
� AXIS, CXF: ausgereift vs. flexibel/schnell
� IBM WebSphere Community Edition (WAS CE)� Ohne Source-Code
� Bessere Qualität, Dokumentation, Beispiele
� Mehrere Plattformen
� Definierte, längere Release-Zyklen
� Migrationsmöglichkeit zu IBM WebSphere
� Support
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 47 Pientka, Impaq AG, Apache Geronimo
Open-Source-Code
WebSphere
Application Server
Network Deployment
WebSphere
Extended Deployment
WebSphere Application
Server Community
Edition
WebSphere Application Server - Express
WebSphereApplication Server
WebSphere
Application Server
for zOS
gemeinsamer Code
BenutzeranforderungenKostenRessourcenbedarf
FunktionalitätHochverfügbarkeitSkalierbarkeit
Die WebSphere Familie: Scale-UP (Quelle: IBM)
18
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 48 Pientka, Impaq AG, Apache Geronimo
Installation von Anwendungen
� Web Console
� Hot Deployment Verzeichnis deploy� Nur für Entwicklung, für Produktion deaktivieren
� Kommandozeilen Werkzeug� deployer.sh --user system --password
manager deploy [war/jar/ear] [plan file]
� GShell (Groovy-basiert): gsh.sh� Arten:
� WAR� EAR� RAR� CAR
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 50 Pientka, Impaq AG, Apache Geronimo
Deploymenteinheiten mit Deploymentplan
JAR META-INF\ejb-jar.xmlopenejb-jar.xml
RARMETA-INF\ra.xml
geronimo-ra.xml
WEB-INF\web.xmlgeronimo-web.xmlWAR
EARMETA-INF\application.xml
geronimo-application.xml
19
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 57 Pientka, Impaq AG, Apache Geronimo
Deployment vereinfachen: Domain spezifische Sprache
Unterschiede: Erstell-/Laufzeit
D
e
p
l
o
y
m
e
n
t
p
l
a
n
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 59 Pientka, Impaq AG, Apache Geronimo
WARweb.xml
geronimo-web.xml
Servlet
applicationContext.xml
<bean id="dataSource"
class="...JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/Datenbank</value>
</property>
</bean>
...
ctx.getBean(„ Datenbank“)
...
<resource-ref>
<res-ref-name>Datenbank</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<ref-name>Datenbank</ref-name>
<pattern>
<groupId>console.dbpool</groupId>
<artifactId>MySqlDS</artifactId>
<name>MySqlDS</name>
</pattern>
</resource-ref>
DB
Beispiel: Anwendungsaufbau
Deplomenentbeschreibung =
Sprache für Geronimo-Deployment
20
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 61 Pientka, Impaq AG, Apache Geronimo
Deployment auf der Kommandozeile
DeploymentwerkzeugGeronimo
Server
Konfigurationsdatenbank
Repository
Anwendungsmodul
Deploymentplan
Hot, offline, Deployment mit Plan
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 62 Pientka, Impaq AG, Apache Geronimo
Mehrere Geronimo Instanzen, Repositories, Plugins
Geronimo-Server DEV
Geronimo-Server PROD
MavenServlet
CAR-
Modul.JAR
CONFIG
Modul.SER
Repository
Geronimo-Server
Repository
deploy search-plugins
http://geronimo.apache.org/plugins/geronimo-2.1/
http://geronimo.apache.org/plugins/geronimo-2.1/
http://localhost:8080/plugin/maven-repo/
geronimo-plugins.xml
FarmingHosting
21
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 63 Pientka, Impaq AG, Apache Geronimo
Cluster & Lastverteiler
Apache-
HTTP
Server
Browser
Browser
Geronimo-Server
Geronimo-Servermod_jk
AJP
AJP
HTTP/S
DatenbankMaster
80
443
8080
8443
8009
8080
8443
8009
DatenbankSlave
EJB-Cluster mit Wadi, TerracotaIIS-Verwendung über mod_proxyTomcatcluster-Beispiel vorhanden
Sitzungsdaten replizieren
Sitzungsübernahme bei Ausfall
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 65 Pientka, Impaq AG, Apache Geronimo
Geronimo Monitoringkonsole JVM
verfügbare Statistikdaten:
•Statistikdaten des Transaktionsmanagers
•JVM-Statistikdaten
•Statistikdaten für AJP-/Web-/WebSSL-Konnektoren
•Thread-Pool-Statistikdaten
•Statistikdaten für Webanwendungen
22
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 67 Pientka, Impaq AG, Apache Geronimo
Agenda
1 Noch ein Applikationsserver?
2 Apache Geronimo: Überblick
3
4 Apache SOA-Produkte
Erster Eindruck
5
6
Web 2.0 Beispiele
Ausblick
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 68 Pientka, Impaq AG, Apache Geronimo
Erste Schritte: Skripte
� JDK 5.0 installieren und JAVA_HOME setzten� Herunterladen, auspacken:
� http://geronimo.apache.org/downloads.html
� Server starten: � startup.[bat|sh]
� Aufrufen:� http://localhost:8080/console
� Module anzeigen lassen:� deploy .[bat|sh] list-modules
� Plug-ins suchen, installieren:� deploy.[bat|sh] search-plugins
http://geronimo.apache.org/plugins/samples-2.1.2/
� Anwendung installieren:� deploy .[bat|sh] list-modules
� Server stoppen (CTRL+C): � shutdown.[bat|sh]
23
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 69 Pientka, Impaq AG, Apache Geronimo
Arbeitsschritte mit Geronimo
Server starten: startup
Anwendung installieren: deploy deploy sample.war
Anwendung startendeploy start ModuleID
Anwendung stoppendeploy stop ModuleID
Anwendung deinstallierendeploy undeploy ModuleID
Server stoppen: shutdown
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 70 Pientka, Impaq AG, Apache Geronimo
Werkzeugunterstützung
� Eclipse 3.4+WTP 3, MAVEN 2.0.8� SUN/IBM JDK 5.0 oder 6.0
Migrationsunterstützung für:� Tomcat� JBoss� BEA WebLogic� WebSphere
Alternativ:� NetBeans� ANT� RAD
24
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 71 Pientka, Impaq AG, Apache Geronimo
Geronimo Web-Console
Als AJAX-Portlet innerhalb des Pluto-Portal-Containershttp://localhost:8080/console
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 72 Pientka, Impaq AG, Apache Geronimo
Agenda
1 Noch ein Applikationsserver?
2 Apache Geronimo: Überblick
3
4
5
Apache SOA-Produkte
6
Web 2.0 Beispiele
Erster Eindruck
Ausblick
25
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 73 Pientka, Impaq AG, Apache Geronimo
OpenSource SOA-Stack Apache
� Axis/ CXF (Webservice)
� Tomcat/Geronimo (Applikationsserver)
� Pluto/ Jetspeed (Portal)
� ActiveMQ/ ServiceMix (ESB/JBI)
� Synapse-Axis (WS-ESB)/ Camel-CXF
� ODE (Orchestration Director Engine)
� Tuscany (SCA/SDO/DAS)
� jUDDI (Service Registry)
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 74 Pientka, Impaq AG, Apache Geronimo
Apache Geronimo als SOA-Stack
Integration vieler Apache-KomponentenSupport erhältlich
Incubating Apache’s Next Generation Platform, Forrester, 2007
26
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 75 Pientka, Impaq AG, Apache Geronimo
Apache SOA-Stack
Apache Tomcat
eigene AnwendungSOAP/Web
Services (Axis)
JMS Messaging
Security / Authentication
Web Tier Clustering
andereDienste
eigene Integration
SOAP/Web Services (Axis)
Entwicklungs-Wartungsaufwand
eigene Anwendung
Apache Tomcat
SOAP/Web Services (Axis)
JMS Messaging
Security / Authentication
Web Tier Clustering
weitere Plug-ins für EJBs, Transaktion, etc.
Geronimo Plug-In Kernel
Integriertgetestet
erweiterbar
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 76 Pientka, Impaq AG, Apache Geronimo
Integrierte SOA-Anwendungen
� jUDDI Java Implementierung derUniversal Description, Discovery, und Integration (UDDI) Spezifikation für Web Serviceshttp://localhost:8080/juddi/
� ActiveMQ Konsolen-Portlet
� Pluto Portlet-Container: JSR-168 Portlets
� Axis/ CXF (Webservice + Tools)
27
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 77 Pientka, Impaq AG, Apache Geronimo
Agenda
1 Noch ein Applikationsserver?
2 Apache Geronimo: Überblick
3
4 Apache SOA-Produkte
5 Web 2.0 Beispiele
Erster Eindruck
6 Ausblick
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 78 Pientka, Impaq AG, Apache Geronimo
WEB 2.0-/SOA-Welt wachsen zusammen
Balance zwischen
ausgereiften Standards &
innovativen Frameworks
28
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 80 Pientka, Impaq AG, Apache Geronimo
Webanwendung: klassisch und mit AJAX
traditionell synchron
asynchron mit Ajax
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 84 Pientka, Impaq AG, Apache Geronimo
Dojo Toolkit Übersicht
� 2004 von Alex Russell� Dojo Foundation (IBM, Sun, AOL u.a.)� Komponenten:
� Dojo Kern:� Dijit: Dojo Widgets Komponenten� mit JavaScript, HTML und CSS� DojoX: Dojo Experimental
dojo/dojoc/demos/featureexplorer_local.htmldojo/dijit/themes/themeTester.html
29
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 92 Pientka, Impaq AG, Apache Geronimo
WAS CE Feature Pack Überblick
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 93 Pientka, Impaq AG, Apache Geronimo
Beispiel: PlantsByWebSphere
Kaufhaus für Pflanzen und Gartengeräte
30
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 94 Pientka, Impaq AG, Apache Geronimo
PlantsByWebSphere Client-/Server
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 95 Pientka, Impaq AG, Apache Geronimo
index.html
<script type="text/javascript">
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.TabContainer");
dojo.require("ibm.widget.InventoryGrid");
dojo.require("ibm.widget.ItemDetails");
dojo.require("ibm.widget.HtmlShoppingCart");
</script>
PlantsByWebSphere-Client AJAX-Seitenaufbau
31
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 98 Pientka, Impaq AG, Apache Geronimo
Agenda
1 Noch ein Applikationsserver?
2 Apache Geronimo: Überblick
3
4 Apache SOA-Produkte
5 Web 2.0 Beispiele
Erster Eindruck
6 Ausblick
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 99 Pientka, Impaq AG, Apache Geronimo
Fazit Geronimo
� Trotz junger Geschichte, beachtliche Reife, grosse Zukunft
� Gute Standardunterstützung
� Gute Dokumentation
� Große Wahlmöglichkeit� Little-G, Tomcat/Jetty, Axis/CFX, Geronimo/WAS CE
� Eigene Assemblies nach Maß
� Gute Migrationsunterstützung
� Einfache und automatisierbare Verwaltung
32
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 102 Pientka, Impaq AG, Apache Geronimo
Ausblick
� Wiedergeburt des Applikationsservers (SOA/ Web 2.0) -> Großvater bleibt fitEnde der Einheitsgröße, mehrere Konfektionsgrößen (JavaEE 6)
Einheitliches Modulkonzept (Microkernel) für JSE/JEE, OSGI? -> Produktrenovierung, neue Einsatzgebiete
� Geronimo ist flexibel konfigurierbar und erweiterbar -> die Enkel wachsen heran
� Geronimo integriert viele Apache Komponenten -> Apache-SOA-Stack
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 103 Pientka, Impaq AG, Apache Geronimo
Bücher, Artikel Geronimo:
� Apachen Geronimo: Serverhandbuch, Frank Pientka, DPunkt-Verlag
� Apachen Geronimo: Frank Pientka, JM 08/08
� Experience Java EE Using WebSphere Application Server Community Edition: Redbook, 02/09, sg247639
� Building Dynamic Ajax Applications Using WebSphere Feature Pack for Web 2.0: Redbook, 11/08, sg247635
� Migrating from WebSphere Application Server Community Edition to WebSphere Application Server: : Redbook, 08/07, sg247433
� Developing Rich Internet Applications for WebSphere Application Server Community Edition: 09/08, IBM developerworks
� What’s new in WebSphere Application Server Community Edition 2.1, 06/08, IBM developerworks
33
Apache Geronimo = Startrampe für Web 2.0
Geronimo
Web 2.0
Page 104 Pientka, Impaq AG, Apache Geronimo
IMPAQ AG
Mobil +49 175 1613922
Phone +49 (231) 9704-200
Fax +49 (231) 9704-199
Senior Berater
Frank Pientka www.impaqgroup.com
Emil-Figge-Str. 85
44227 Dortmund
Vielen Dank für Ihre Aufmerksamkeit!!!
“The entire history of software engineering is
one of rising levels of abstraction”
Grady Booch
Nächste Geronimo Schulung: 8.-9.6.09, OIO, Mannheim
www.oio.de/seminar/open-source/geronimo-schulung.htm