esentri Whitepaper Weblication Development

Werbung
Enterprise Weblication development made easy
Whitepaper
Inhalt
Einleitung: Weblications made easy...
2
Teil 1: Open Source und Industriestandards
4
Teil 2: Frontendtechnologien im Vergleich
5
Fat-Client
5
RIA - Rich Internet Applications
6
Web Frameworks
7
Teil 3: Die wichtigsten Web-Frameworks im Vergleich
8
ADF - der Oracle Standard
9
Spring - Flexibel mit Open Source
11
Grails - Die Scriptsprache für Java
13
APEX - Webanwendungen direkt auf der Datenbank
15
Zusammenfassung und Ergbenisse
17
Weblications made easy...
esentri - der easy entry ins Weblication development
Der „easy entry“ ist bei esentri nicht nur Teil des Firmennamens sondern auch tief in unserer
Unternehmensphilosophie verankert. Dabei bieten wir unseren Kunden den einfachen Zugang
zu modernen Webtechnologien und stellen vor allem den „Joy of use“ in den Mittelpunkt unserer
Entwicklungsprojekte, denn in Zeiten des Web 2.0 müssen Unternehmensanwendungen neben den
funktionellen Anforderungen auch eine hohe Usability bieten und den Anwender durch eine moderne
Oberfläche durch die Geschäftsprozesse führen. Hierzu sind die Vorgehensweisen des „Rapid Application
Development“ besonders geeignet, um die Entwicklungszyklen mit Hilfe von agilen Methoden zu
optimieren und die Anwender bei der Entwicklung von Anfang an direkt zu beteiligen. Im Ergebnis
entstehen Applikationen, die mit den Anwendern für die tägliche Arbeit konzipiert wurden und nicht an
den gelebten Prozessen vorbei entwickelt werden.
Zur Umsetzung des Rapid Application Developments stehen heute unterschiedliche Technologien und
methodische Ansätze zur Verfügung, die vor Beginn eines Projektes zu evaluieren sind, damit die
bestmögliche Technologieauswahl für das Unternehmen getroffen werden kann. esentri positioniert sich
mit maßgeschneiderten Anwendungen, die wir unter dem Stichwort „Weblication Development“ mit
Ihnen gemeinsam entwickeln und passend in Ihre bestehende IT-Landschaften integrieren.
Das IT-Business-Alignment genießt dabei in unseren Projekten höchste Priorität, denn wir schlagen von
Anfang an die Brücke zwischen den Prozessinhabern in den Businessabteilungen und den IT-Experten
und schaffen somit Lösungen, die von allen Mitarbeitern über alle Unternehmensbereiche hinweg als
echter Fortschritt gesehen werden.
Dieses Whitepaper soll als erste Orientierung dienen und bei der Vorauswahl der in Frage kommenden
Technologien und Frameworks helfen. Dabei werden vor allem die Vor- und Nachteile einzelner
Technologien näher beleuchtet, was bei einem Abgleich mit den individuellen Anforderungen bereits zu
einer Einschränkung der in Frage kommenden Frameworks führen kann. Zusätzlich gehen wir auf die
Themen Open-Source und Industriestandards ein. Durch aktuelle Akquisitionen rücken diese beiden
Bereiche immer enger zusammen und erlauben neue Möglichkeiten des Einsatzes von Open-Source
Technologien, die bis vor kurzem auf Grund von fehlenden Supportgarantien im Unternehmensumfeld
noch nicht realisierbar waren.
2
Weblications made easy...
Die Qual der Wahl bei der Auswahl der Technologie
Die erste aber wichtigste Entscheidung, die zu Beginn jeder Weblication Entwicklung getroffen werden
muss, ist die Auswahl der richtigen Technologie. Dabei sollte im Rahmen der Vorauswahl zuerst zwischen
den grundsätzlichen Frontend-Modellen der Fat-Clients, Rich-Internet Applications und Web-Framworks
unterschieden werden, was nicht nur eine Frage der Funktionalität sondern auch des Komplexitätsgrades
bei der Umsetzung und vor allem der späteren Anpassbarkeit bedeutet. Warum sich gerade die Gruppe
der Web-Frameworks als bester Kompromiss aus Usablitity und überschaubarer Komplexität erweisen,
wird im zweiten Teil dieses Whitepaper deutlich herausgearbeitet.
Das richtige Web-Framework für meine konkreten Anforderungen?
Da auch das Angebot an Web-Frameworks groß ist, liegt die Zielsetzung im ditten Teil des Whitepapers
demnach in der Identifizierung eines passenden Angebots, welches es einerseits ermöglicht moderne
und leicht bedienbare Frontends zu erstellen, sich andererseits aber auch in den Bereichen Middleware
und Technologiestandards in Ihre IT-Strategie einfügt und damit einen nachhaltigen Mehrwert bietet.
Dabei stehen in der Praxis eine Vielzahl von Frameworks zur Verfügung, die eine erste Vorauswahl
oft alles andere als einfach machen. Hier ist es zielführend vor der technologischen Betrachtung
einige grundsätzliche Fragestellungen zu beantworten und erst im zweiten Schritt die spezifischen
Besonderheiten der einzelnen Rahmenwerke unter Beachtung der jeweiligen Zielsetzung und der
gesamten IT-Strategie des Unternehmens näher zu analysieren.
Abb 1: Technologien und Frameworks im Überblick
3
Open Source und Standards
Open Source im
Unternehmen
Abhängigkeit von
Herstellern
Beim Thema der Nutzung von Open Source Komponenten
in Unternehmen scheiden sich oft die Geister. Dies
beginnt bei generellen Diskussionen zur Wertigkeit,
Stabilität und Sicherheit von Open Source Technologien
und endet oft bei Themen wie Support und langfristige
Weiterentwicklung der OpenSource Komponenten,
um die Investitionssicherheit gewährleisten zu können.
Open Source Frameworks bieten generell den Vorteil,
die Abhängigkeit von einzelnen Herstellern zu minimieren
und dadurch Flexibilität zu schaffen, die sich langfristig
auch in sinkenden Kosten niederschlagen kann. In der
Gesamtbetrachtung etablieren sich oft Kombinationen
aus proprietären Anwendungssystemen der etablierten
Hersteller wie z.B. Oracle, die sich heute oft homogen mit
Open Source Technologien kombinieren lassen.
Dabei sind in letzter Zeit zwei grundsätzliche Trends zu
beobachten: Zum einen werden Frameworks, die anfangs
als kostenpflichtige Produkte in den Markt eingetreten sind
für die Weiterentwicklung als Open Source freigegeben.
Andererseits kommt es zu Übernahmen von Open Source
Plattformen durch große Anbieter wie zum Beispiel
Oracle oder VMWare. Dabei wird in den seltensten
Fällen die Open Source Entwicklung des Produktes
eingestellt, vielmehr gibt es kostenpflichtige Versionen,
die einen umfassenden Support beinhalten und somit die
Philosophie der Open Source Gemeinde mit den Vorteilen
eines kostenpflichtigen Supports kombinieren.
Open Source Technologien sind dabei heute weit von
Spielwiesen technikaffinier Programmierer entfernt und
haben sich bereits in vielen Bereichen, vor allem auch
bei Großkonzernen etabliert. Durch die Unabhängigkeit
von den Strategien großer Anbieter entstehen oft
Innovationen, die erst viel später auch in kommerzielle
Applikationsframeworks zur Anwendung kommen. Dadurch
besteht die Möglichkeit bereits frühzeitig Funktionalitäten
einzusetzen, die oft aus dem Web 2.0 bereits bekannt sind
aber in kommerziellen Lösungen auf Grund der längeren
Releasezyklen noch nicht zur Verfügung stehen.
Die Frage nach Abhängigkeiten und Standards
Wurde bisher nach den größten Vorteilen bei der Nutzung von Open-Source Technologien gefragt,
war die Unabhängigkeit von einzelnen Herstellern eines der Hauptargumente, mit denen Open Source
Plattformen punkten konnten. Dagegen argumentierten die etablierten Hersteller mit der Einhaltung
von Industriestandards. In letzter Zeit hat sich hier aber ein Trend entwickelt, der vor allem in der
Übernahme von Sun durch Oracle begründet liegt. Java ist seitdem auch und vor allem bei Oracle
die Basis jeder Plattform. Darüber hinaus wurden auch klassische Open Source Produkte wie MySQL
im Bereich der Datenbanken oder GlassFish im Umfeld der Application-Server in das Produktportfolio
aufgenommen und sowohl als Open Source und parallel als Version mit kostenpflichtigen Support
weitergeführt. Die Grenzen zwischen Open-Source und kommerziellen Angeboten gehen ineinander
über, weshalb sich Technologien etablieren, die sowohl die Unabhängigkeit der Open Source Gemeinde
bieten, aber auch den bezahlten Support und die Industriestandards der großen Hersteller beinhalten.
Vor allem Oracles Application Development Framework (ADF) bietet hier den besten Kompromiss aus
einem Java-Kern und einer vollständigen Integration in alle bestehenden Industriestandards und ist
daher oft die erste Wahl bei einem finalen Vergleich der einzelnen Web-Frameworks.
4
Frontendtechnologien im Vergleich - Fat Client
Fat-Client
Bei der Entwicklung von Webapplikationen steht die Auswahl der richtigen Frontendtechnologie häufig
an erster Stelle. Oberstes Ziel ist es, die gewohnte Usability auch in die Webanwendungen zu portieren
und damit den Anwendern eine einfach zu bedienende Anwendung zur Verfügung zu stellen, die den
Schulungs- und Einarbeitungsaufwand minimiert.
Dabei gibt es heute drei etablierte Frontend-Modelle, die sich grundlegend unterscheiden
Frontend
Fat Client
(Eclipse RCP, .NET,
Java Webstart)
Rich Internet
Applictaions
(Adobe Flex, Silverlights, JavaFX)
Web Frameworks
(JSF/ADF Faces,
GWT,ZK,...)
Abb 2: Übersicht der drei grundlegenden Frontendmodelle
Fat Client
In Fat-Client Modellen ist es nötig, eine Anwendung auf den Clients der Anwender
zu installieren, was grundsätzliche Nachteile mit sich bringt, die vor allem dadurch
entstehen, dass jeder Rechner mit den jeweiligen Anwendungen zu bestücken ist und
dadurch ein dezentraler Zugriff von Rechnern außerhalb des Firmennetzes immer
mit zusätzlichem Aufwand verbunden ist. Darüber hinaus ergeben sich bei Versionswechseln oftmals Inkompatibilitäten, die erst mühsam mittels Updates der Clients zu
beseitigen sind. Diese Philosophie widerspricht aber den grundsätzlichen Paradigmen
moderner Webapplikationen, die einfach zu warten und vor allem auch unabhängig
vom Betriebssystem von überall aus zu erreichen sind. Aus diesen Gründen sollte das
Fat Client-Konzept im Rahmen der Frontend-Auswahl für Webapplikationen nicht in die
engere Auswahl genommen werden.
Frontend
Fat Client
NICHT OPTIMAL
Rich Internet
Applictaions
ADOBE FLEX
Web Frameworks
JSF/ADF FACES
Abb 3: Übersicht der drei grundlegenden Frontendmodelle
5
Frontendtechnologien im Vergleich - RIA
Rich Internet Applications
Im Mittelpunkt der sogenannten Rich Internet Applications steht die Portierung von Features, die sonst
nur in Desktop-Anwendungen zur Verfügung stehen, in originäre Webanwendungen. Prominentestes
Beispiel ist hierbei sicher die Funktion „Drag & Drop“, die heute jeder Benutzer täglich anwendet, welche
aber in den meisten Webapplikationen nicht zu finden ist und dadurch eine Umstellung der Benutzer beim
Wechsel zwischen unterschiedlichen Anwendungen bedingt. Rich Internet Applications schließen diese
Lücke und lassen die Grenze zwischen Desktop und Web verschwimmen. Mit dem von Adobe angebotenen
Adobe Flex steht ein RIA-Framework mit unzähligen Möglichkeiten zur Verfügung, welches es gerade für
umfangreiche Produkte, die als „Software-as-a-Service“ (SaaS) angeboten werden, prädestiniert. Dabei
sind die Integration von Echtzeit-Kommunikation oder der hohe Bedienkomfort nur zwei Beispiele, die
esentri auch in seinem eigenen Produkt „Social PM“ nutzt. Einer der größten Nachteile liegt bei Flex,
trotz überragender Frontent-Möglichkeiten in der Komplexität, die jedes Flex-Projekt in sich birgt.
Bei der Entwicklung von Unternehmensanwendungen, vor allem im Rahmen des Rapid Application
Development, spricht genau diese Komplexität gegen den Einsatz von Flex und anderen RIA-Frameworks:
Die Entwicklung der Oberflächen ist in Summe zu komplex und jede Anpassung mit großem Aufwand
verbunden. Daher scheiden aufwendige RIA-Entwicklungen für dynamische und agile Projektvorhaben
aus! Gerade wenn die Unternehmensprozesse einem ständigen Wandel unterliegen und dementsprechend
auch die Applikationen einer laufenden Anpassung unterworfen sind, müssen die Rahmenwerke eine
schnelle und einfache Änderung ermöglichen. Was für im Internet angebotene SaaS–Applikationen wie
„Social PM“ ein echter Vorteil für das „Look&Feel“ und die Usability ist, spricht gerade bei der dedizierten
Entwicklung von Business Anwendungen grundsätzlich gegen einen Einsatz von Flex und vergleichbaren
Frameworks.
Vor- und Nachteile der Technologien
RIA mit
ADOBE FLEX
+ Echtes Desktop Feeling
+ Keine große Umstellung für Benutzer
+ Hoher Bedienkomfort (F-Tasten Nutzung...)
+ Browserunabhängigkeit
+ Möglichkeit von Echtzeit-Kommunikation
+ Integration von Chat, Screensharing
+ Offline Funktionalität für Außendienst
+ Sehr gute Anbindung an Java Middleware
- Browser-Plugin notwendig
- Abhängigkeit von Adobe, kleine Community
- Keine Portlet Integration (JEE Standart)
- anspruchsvolle Technologie, z.T. sehr aufwendig
- Komplexität durch „Low Level“ Development
6
Abb 4: Vor und Nachteile ADOBE FLEX
Frontendtechnologien im Vergleich - Web Frameworks
Web-Frameworks
Web-Frameworks sind heute aus dem Rapid Application Development nicht mehr wegzudenken. Sie
bieten viele Funktionen der Rich Internet Applications, kombinieren diese aber mit einer überschaubaren
Komplexität. Durch vorgefertigte Komponenten und Bausteine ist die Entwicklung und laufende
Anpassung der Applikationen schnell und unkompliziert möglich. Gerade agile Projekte, die auch den
Anwender bei der Konzeption und in die laufende Entwicklung mit einbeziehen, profitieren dadurch. Die
dabei entstehenden Frontends zeichnen sich durch ein modernes und zeitgemäßes „Look and feel“ aus.
Die Einarbeitung der eigenen Entwicklungskapazitäten kann dabei im Rahmen der Projektumsetzung in
der Regel „on-the-job“ erfolgen, was auch die laufende Pflege durch eigene IT-Ressourcen ermöglicht
und somit im Rahmen der langfristigen IT-Strategie des Unternehmens zu positiven Effekten führt.
Dabei machen eine große Bandbreite an verfügbaren Frameworks und ein als generell undurchsichtiger
anzusehender Markt bereits die Vorauswahl der in Frage kommenden Lösungen mehr als kompliziert.
Deshalb ist die Abwägung der Vor- und Nachteile im Rahmen von einigen Fragestellungen nötig, die am
Ende die Auswahl des richtigen Frameworks für die jeweiligen speziellen Anforderungen ermöglicht und
somit die Gefahr einer Fehlentscheidung minimiert.
Vor- und Nachteile der Technologien
Web Frameworks
JSF 2.0
ADF Faces 11g
+ Entwicklung komplett im JEE Standart
+ Perfekt für beliebige Endgeräte/Frontends
+ Große weltweite Community
+ Open Source Lösungen möglich
+ Portlet Integration im JEE Standart
+ ADF Hervorragende SOA-Integration
+ ADF Strategisches Produkt im Oracle-Stack
+ ADF Hohe Entwicklungsgeschwindigkeit
- Hoher Aufwand bei speziellen Anforderungen
- Viele Open Source Frameworks zur Auswahl
- z.T. fehlender Komfort verglichen mit Forms
- größere Umstellung der Endbenutzer
- ADF Teamwork und agile Entwicklungen
Abb 4: Vor und Nachteile ADOBE FLEX
7
Web-Frameworks - Auswahlkriterien
Die wichtigsten Fragestellungen bei der Auswahl eines
geeigneten Web-Framworks
Um einen objektiven Vergleich der am Markt als etabliert geltenden Frameworks zu ermöglichen, muss
eine ganzheitliche Betrachtung der angestrebten Lösung vorgenommen werden. Dafür ist es einerseits
wichtig, die IT-Strategie und die bestehenden Systeme, in welche sich die neue Anwendung einbetten
soll, genauer zu analysieren. Zusätzlich muss der Kontext, in dem die Applikation später verwendet
wird, näher betrachtet werden, da in Abhängigkeit der späteren Benutzer und der zu berücksichtigen
Geschäftsprozesse die Stärken und Schwächen der gängigen Frameworks an Gewicht gewinnen.
Obwohl heute im JEE-Standard schon sehr viele vereinfachende Konzepte enthalten sind, werden
viele Java Enterprise Anwendungen auf Basis von Frameworks oder proprietären Lösungen wie Oracle
Application Express entwickelt. Die Entwickler haben dabei die Qual der Wahl und müssen sich zwischen
verschiedenen Ansätzen und Alternativen entscheiden. Dabei haben sich in letzter Zeit vor allem
drei Frameworks etabliert. Dieses Whitepaper beschäftigt sich mit diesen Fragestellungen und gibt
Entscheidungshilfen zu den drei ausgewählten Frameworks für die Praxis. Zum besseren Verständnis
werden im Folgenden die Grundlagen und Schwerpunkte herausgestellt.
Zentral sind dabei insbesondere folgende Fragestellungen,
die sich in Abhängigkeit des jeweiligen Anwendungsfall
in ihren Ergebnissen deutlich unterscheiden:
8
•
wie schnell kommt man zum Ergebnis?
•
eignet sich das Framework für den konkreten Anwendungsfall?
•
wie hoch ist die Lernkurve?
•
wie gut werden gängige Standards unterstützt?
•
wie flexibel ist die Lösung?
•
lässt sich das Framework mit anderen Technologien kombinieren?
•
welche Oberflächentechnologien passen zum Framework?
•
ist die Lösung ausgereift, gibt es Support und eine gute Dokumentation?
ADF - der Oracle Standard
ADF - produktiv mit Oracle im Standard
Oracle hat mit ADF und der perfekten Integration in die IDE „JDeveloper“ Maßstäbe bei der JEE
Entwicklung gesetzt. Seit geraumer Zeit können mit dem Oracle ADF Framework produktiv und konform
zum JEE Standard komplexe Webanwendungen realisiert werden. Der Hauptvorteil von ADF liegt in
der Toolunterstützung und der Integration in den Oracle Technologiestack. Dies gilt insbesondere für
die Möglichkeit, die komplette Persistenzschicht für bestehende Datenbankstrukturen zu generieren
und mittels Data Bindings entsprechende Oberflächen per Drag & Drop zu designen. Die generelle
Herangehensweise lehnt sich an der Entwicklung von Forms Anwendungen an und bietet zunächst auch
unerfahrenen Java Entwicklern die Möglichkeit, aufwendige JEE Anwendungen zu implementieren.
Browser / Mobile Devices
Desktop
Swing
Office
JSP
JSF
Metadata Services
Struts
ADF Faces
JSF/ADFc
Relational Data
EJB
BAM
Portlet
Toplink
XML Data
BPEL
JCR
Controller
Model
ADFm (JSR 227)
Java
View
Web Services
JMX
Legacy Data
ADF BC
BI
Business
Services
XML
Packaged Apps
Abb. 5: Die Architektur von Oracle ADF
9
ADF - der Oracle Standard
Gerade die Implementierung der Geschäftslogik (Business Services) ist bei JEE Anwendungen extrem
wichtig und oft ein Auswahlkriterium für ein Framework. ADF bietet von Haus aus die Möglichkeit viele
Standardtechnologien einzubinden. Neben den ADF Business Components können Enterprise Java Beans,
Web Services oder einfache Java Klassen verwendet werden, was eine saubere Trennung zwischen der
Geschäftslogik und dem Frontend ermöglicht. Oracle setzt dabei auf den JSR 227 Standard und das
Konzept der Data Bindings, um von der konkreten Implementierung der Services zu abstrahieren. Dabei
achtet Oracle darauf, dass ausschließlich gängige Standards verwendet werden. Die Entscheidung,
welche Technologie im konkreten Projekt zum Einsatz kommt, trifft der Entwickler (Development by
Choice).
Trotzdem wird ADF außerhalb der Oracle Community kaum verwendet. Die Gründe hierfür sind vielfältig,
z.B.:
•
ADF ist nicht für alle Application-Server kostenlos verfügbar
•
die Abhängigkeit von den Oracle Bibliotheken wird z.T. als zu groß eingeschätzt
•
erfahrenen Java Entwicklern wird tendenziell zu viel generiert
•
Standardanforderungen sind zwar einfach umzusetzen, spezifische Anforderungen erfordern jedoch tiefgreifende Kenntnisse über den internen Aufbau von ADF
•
Testbarkeit von ADF Anwendungen ist z.T. schwierig
Das Framework ist dennoch sehr ausgereift und Großprojekte wie z.B. die Oracle Fusion Applications
zeigen, wie effektiv sich neue JEE Anwendungen mit Oracle ADF entwickeln lassen.
Flexibilität
hoch
+ Optimale Lösung für Oracle nahe Java EE Projekte
+ Kurze Entwicklungszeit (4GL), Drag & Drop
+ Starke Oberflächen- und Portaltechnologien
+ Ausgefeilte IDE, erprobtes Framework
+ Generierung (z.B. WebServices)
+ Strategisches Produkt bei Oracle
Oracle
ADF
- Hohe Lizenzkosten, kein Open Source
- Abhängigkeiten JDeveloper/Oracle
- Anbindung an „restliche“ JEE Welt z.T. aufwendig
- Entwicklungsdauer steigt überproportional mit Komplexität
- Dokumentation und Support gut, jedoch weit verstreut
- Viel generierter Code, Schwierigkeiten beim Teamwork
- Schwächen bei agiler Vorgehensweise
Entwicklungsgeschwindigkeit
gering
langsam
Abb. 6: Vor und Nachteile Oracle ADF
10
schnell
Spring - Flexibel mit Open Source
Spring - flexible Open Source Alternative
Mit dem Open Source Framework Spring steht ein einfach verständliches, konsistentes Programmier- und
Konfigurationsmodell als Alternative zur Verfügung. Dabei ist es besonders leichtgewichtig und kommt
ohne große Abhängigkeiten aus. Viele Vorteile des Spring Frameworks sind inzwischen aber auch im
JEE 6 Standard enthalten und es bleibt die Frage, wann sich der Einsatz des Spring Frameworks lohnt.
Schließlich wird der Marktführer im Open Source Umfeld weltweit von Millionen Entwicklern eingesetzt
und als weiteres Indiz für den großen Erfolg wurde Springsource 2009 für 420 Mio. Dollar von der Firma
VMWare gekauft.
Spring AOP
Spring ORM
Spring Web
Hibernate support
iBatis support
JDO support
WebApplicationContext
Multipart resolver
Web utilities
Web MVC Frameworks
Source-level metadata
AOP infrastructure
Spring Web MVC
Spring DAO
Transaction infrastructure
JDBC support
DAO support
Spring Context
Application context
Web Views
JSP / Velocity
PDF / Excel
UI support, Validation
JNDI,EJB support &
Remoting Mail
Spring Core
Supporting utilities
Bean container
Abb. 7: Die Hauptkomponenten des Spring Frameworks
11
Spring - Flexibel mit Open Source
Von Anfang an verfolgten die Erfinder von Spring das Ziel, dem Entwickler möglichst viel Flexibilität
einzuräumen. Je nach Anwendungsfall können alle Module des Spring Frameworks verwendet werden
oder nur Teile davon. Der Grundgedanke dabei geht allerdings weiter wie bei ADF, das eher auf die
End-to-End Programmierung ausgelegt ist. Spring ist vielmehr eine echte Integrationsplattform, die
hohen Wert auf die Austauschbarkeit einzelner Frameworks legt. So kann man in Spring innerhalb
kürzester Zeit die Persistenzschicht austauschen und beispielsweise iBatis anstatt Hibernate einsetzen.
Gleiches gilt für die Anbindung des Frontends und der dort verwendeten Technologien. Egal ob man sich
entscheidet mit JSP, JSF oder Adobe Flex Benutzeroberflächen zu realisieren – Spring hat die passenden
Konzepte dafür bereits vorgesehen. Diese Flexibilität wird von vielen Entwicklern weltweit geschätzt und
garantiert Unternehmen eine hohe Investitionssicherheit. So ist es nicht verwunderlich, dass sich immer
mehr Unternehmen dazu entscheiden, große Teile ihrer Java Projekte mit Spring zu realisieren, zumal
Spring Projekte grundsätzlich auf beliebigen Application Servern ausgeführt werden können.
Flexibilität
hoch
Spring
Framework
+ Spring ist Open Source, Support verfügbar
- Mehr „Handarbeit“ nötig
+ Hohe Flexibilität, wenig Abhängigkeit
- Kein klassisches RAD Framework
+ Große weltweite Community
- zunehmende Komerzialisierung
+ Komplexe Projekte bleiben beherrschbar
- Komplexität durch „Low Level“ Development
+ Viele Open Source Projekte achten auf
- Relativ hohe Rüstzeit
Spring Integration
+ Spring Roo als Beschleuniger
Entwicklungsgeschwindigkeit
gering
langsam
Abb. 8: Vor und Nachteile des Spring Framework
12
schnell
Grails - Die Skriptsprache für Java
Grails - Die Skriptsprache für Java
Grails (Groovy on Rails) ist ein erweitertes und innovatives Rapid Application Framework, das auf den
Sprachkonstrukten von Groovy und Ruby on Rails beruht. Grails basiert auf verschiedenen Prinzipien und
Konzepten, die es dem Framework ermöglichen Entwicklungszeit einzusparen und Code zu vereinfachen.
Es eignet sich daher hervorragend für kleinere Projekte, da es Entwicklern einen sehr schnellen Einstieg
in die JEE Entwicklung ermöglicht. Als Basis nutzt Grails die etablierten Java Frameworks Spring,
Spring MVC, Hibernate und SiteMesh. Das Ergebnis ist somit immer Java Bytecode und Anwendungen
sind dadurch auf jedem gängigen Application Server lauffähig. Die Open Source Quellcodes werden
inzwischen von SpringSource gepflegt und stehen indirekt auch in Konkurrenz zum Spring-eigenen
Rapid Application Framework Roo.
Grails
Hibernate
Java Language
Sitemesh
JEE
Groovy
Spring
Java Development Kit (JDK)
Java Virtual Machine
Abb. 9: Bestandteile von Grails
Der Grundaufbau von Grails basiert auf dem MVC-Pattern (Model-View-Controller), das in Grails mit
Domainklassen, Controllerklassen und Groovy Server Pages (GSP) umgesetzt wird. Prinzipiell ist es aber
auch möglich andere Oberflächentechnologien wie Adobe Flex in der View einzusetzen.
13
Grails - Die Skriptsprache für Java
Die Domainklassen (Model) sind der Kern der Anwendung und bilden das Geschäftsmodell ab.
Domainklassen sind persistent und entsprechen einer physischen Tabelle in der Datenbank. Der
wesentliche Vorteil von Grails ist es, Konventionen vor die Konfiguration (Convention over Configuration)
zu stellen. Damit wird der Konfigurations- und Entwicklungsaufwand deutlich reduziert.
Durch ein ausgefeiltes Plugin-Konzept können Grails Anwendungen zudem schnell durch vordefinierte
Funktionen erweitert werden. Grails ist eine Plugin-Laufzeitumgebung, die Standardplugins (z.B. GORM)
umfasst und andere Plugins lädt und konfiguriert. Grails-Plugins an sich sind kleine Grailsanwendungen,
die
in
andere
Applikationen
eingebunden
werden
und
dabei
alle
relevanten
Konfigurationen
zusammenführen. Durch diese bei Grails verwendeten Konzepte ist vor allem die agile Entwicklung von
Applikationen im Fokus. Dabei entstehen in kürzester Zeit lauffähige Applikationen mit einem begrenzten
Funktionsumfang, die dann Schritt für Schritt erweitert oder angepasst werden. Dadurch können auch
die Benutzer der Fachabteilungen im Rahmen der Anforderungsspezifikation tieferi in die technische
Umsetzung einbezogen werden und erhalten, anders als bei klassischen Vorgehensmodellen, in kurzen
Zeitabständen die ersten lauffähigen Versionen der neuen Applikation. Eine laufende und dynamische
Anpassung der Entwicklung kann dabei als wesentlicher Vorteil von Grails in Kombination mit agilen
Entwicklungsmethoden gesehen werden.
Flexibilität
hoch
+ Schnelle Ergebnisse
+ Groovy ist sehr mächtig & intuitiv
+ Agilität / Scaffolding
+ Closures
+ AJAX Unterstützung
+ Umfangreiche Plugins verfügbar
+ Nutzt Spring MVC und bewährte Projekte
+ DRY Prinzip & wenig Code
Grails
- Verhältnismäßig junge Technologie
- Performance
- Dokumentation, relativ kleine Community
- Komplexere Anforderung
- Akzeptanz bei Kunden
Entwicklungsgeschwindigkeit
gering
langsam
Abb. 10: Vor und Nachteile Grails
14
schnell
APEX - Webanwendungen direkt auf der Datenbank
APEX – Application Express von Oracle
Neben den bereits genannten Frameworks, die alle auf gängigen Java Standards basieren, hat sich gerade
in der Oracle Welt mit Application Express (APEX) eine vielversprechende Alternative für das Rapid Web
Application Development entwickelt. Was ursprünglich unter dem Namen HTML DB als kleines Projekt
begann, ist heute bei vielen unserer Kunden im Einsatz und erfreut sich wachsender Beliebtheit.
Die gute Resonanz gerade aus agilen Projekten kommt dabei nicht von ungefähr, denn APEX hat gerade
in Datenbank-orientierten Unternehmen, die bereits mit Oracle arbeiten herausragende Alleinstellungsmerkmale zu bieten, die gerade für Teams mit vorhandenem PL/SQL Know-How interessant sind.
Web Listener
(Apache & mod_plsql/EPG)
Web Browser
Applictaion
Express
Meta Data
Abb. 11: Aufbau der APEX Architektur
15
APEX - Webanwendungen direkt auf der Datenbank
Oracle Application Express setzt direkt auf der Datenbank auf und die Webanwendungen werden
komplett durch PL/SQL Funktionen generiert. So können die Vorteile der Oracle Datenbank gerade
bei datenintensiven Applikationen direkt genutzt werden ohne neue Programmiersprachen zu lernen.
Besonders interessant ist dabei, dass keine Entwicklungsumgebung installiert werden muss, sondern
APEX Anwendungen direkt im Browser entwickelt werden. Dadurch wird die Geschwindigkeit, mit
der Ergebnisse erzeugt werden können, drastisch erhöht und es besteht zu jedem Zeitpunkt die
Möglichkeit eine lauffähige Version zu präsentieren. Unterstützt werden die Entwickler dabei durch viele
durchdachte Assistenten, die es auch Anfängern ermöglichen in kurzer Zeit komplexe Webanwendungen
zu erstellen.
Zwar wird mit PL/SQL ein proprietärer Standard verwendet, jedoch ergeben sich dabei auch enorme
Vorteile für Firmen, die ihre technologische Ausrichtung ohnehin im Oracle Umfeld haben oder
beispielsweise Oracle Forms ablösen möchten ohne einen komplett neuen Technologiestack erlernen zu
müssen. Wertvolle Geschäftslogik in Form von PL/SQL kann somit nämlich auch für Webapplikationen
effektiv genutzt werden, ohne dabei den „teuren Weg“ über Web Services und SOA zu gehen. Diese lassen
sich zwar auch nutzen, jedoch ist APEX nicht als Integrationsplattform zu sehen, die im Rahmen einer
SOA Strategie verwendet werden sollte, sondern vielmehr als Werkzeug, mit dem sich datenzentrierte
Applikationen in Rekordzeit entwickeln lassen.
16
Zusammenfassung
ADF & Spring sind ausgereifte Frameworks, das sich hervorragend für JEE Projekte eignen.
Während Oracle mit ADF vor allem auf standardisierte Entwicklung setzt, steht bei Spring
die Flexibilität und Erweiterbarkeit im Vordergrund, die in vielen Projekten entscheidend
sein kann. Grails ist ein junges Framework, mit dem sehr schnell einfache JEE Anwendungen
erstellt werden können.
Durch die Übernahme von Sun und die damit verbundene strategische Positionierung von Java als
zentraler Kern der zukünftigen Produkte hat sich vor allem Oracle in letzter Zeit als Markteilnehmer
etabliert, der die Produkte der Open-Source Bewegung nahtlos in Industriestandards integriert und
somit die Investitionssicherheit als auch die Flexibilität für die Kunden in den Vordergrund stellt. Dabei
hat sich Oracle APEX bei der Entwicklung kleinerer Anwendungen mit einer überschaubaren Komplexität
als eines der wichtigsten und erfolgreichsten Werkezeuge im Markt etablieren können. Durch ein in
vielen Unternehmen bereits vorhandenes Know-How in der Anwendung von PL/SQL stellt APEX eine
echte Alternative für die schnelle und agile Entwicklung dar.
Komplexität
Flexibilität
gering
hoch
hoch
Spring
Framework
Oracle
ADF
Grails
Apex
Entwicklungsgeschwindigkeit
gering
langsam
schnell
Abb. 12: Vergleich Oracle ADF, Spring Framework,Grails,Apex
Wächst die Komplexität der umzusetzenden Lösungen bietet Oracle ADF, welches voll und ganz auf die
Java-Standards setzt, ein breites Sepktrum an Möglichkeiten an. Vor allem die nahtlose Integration in
SOA-Umgebungen macht dabei Oracle ADF zur ersten Wahl. Dabei setzt Oracle auch bei der Entwicklung
seiner Fusion Applications und den WebCenter Komponenten auf ADF. Somit ist die Entwicklung und
Integration aller Frontends im Unternehmen in einen einheitlichen Standard in greifbarer Nähe.
17
Zusammenfassung
Gerade die Trends hin zum sogenannten Enterprise 2.0, welches interne und externe Kommunikation
im Stile sozialer Netzwerke erlaubt und zudem Portale für Kunden, Lieferanten und interne Zwecke
kombiniert, stellt an Unternehmen hohe Anforderungen an die Integration von Prozessen und Oberflächen,
welche mit ADF erfolgreich umgesetzt werden können.
Zusätzlich besteht auch die Möglichkeit der kombinierten Nutzung von ADF und Spring, wobei ADF hier
als Plattform dient und somit eine Kombination beider Technologien im Unternehmen ermöglicht.
Letztenendes ist vor allem der Gesamtkontext bei der Auswahl des richtigen Frameworks entscheidend.
Hier spielt vor allem die IT-Strategie des Unternehmens eine wichtige Rolle. Weiterhin ist zu beachten,
ob es zukünftig eine Entwicklung hin zu Service-orientierten Architekturen geben wird, was den
Integrationsaspekt in den Mittelpunkt der Entscheidung bei der Framework-Auswahl rückt. Dabei haben
die Oracle Technologien APEX und ADF in letzter Zeit meist den besten Kompromiss bieten können,
vor allem weil hiermit neben der Einhaltung von Industriestandards auch die Berücksichtigung von
Open-Source Komponenten möglich ist und die klare Positionierung hin zu Java seitens Oracle eine
breite Variation an zukünftigen Möglichkeiten bietet, ohne in die Gefahr zu laufen eine proprietäre
IT-Insel zu schaffen.
18
Enterprise Weblication development made easy
Weitere Fragen ?
Sollten Sie weitere Fragen zur
Auswahl der für Sie maßgeschneiderten
Technologie und eines leistungsfähigen
und flexiblen Webframeworks haben,
stehen Ihnen die Experten von esentri
jederzeit gerne zur Verfügung.
esentri Weblication Workshop
Um
alle
Vor-
und
Nachteile
der
einzelnen
im
Whitepaper dargestellten Technologien speziell auf
Ihre Anforderungen auslegen zu können, bieten wir
Ihnen einen speziellen Workshop an. Hier nehmen
wir den Gesamtkontext Ihrer Anforderungen auf und
präsentieren Ihnen nach ausführlicher Analyse der
prozessualen und technischen Anforderungen eine
für Sie maßgescheiderte Lösung. Hierbei profitieren
Sie von der Expertise unserer Oracle- und Open
Source Experten, die über viele Jahre umfangreiche
Projekterfahrungen gesammelt haben.
Fragen Sie uns einfach nach einem individuellen
Angebot!
Herunterladen