20
Enterprise Weblication development made easy Whitepaper

Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

Enterprise Weblication development made easyWhitepaper

Page 2: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

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

Page 3: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

2

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.

esentri - der easy entry ins Weblication development

Weblications made easy...

Page 4: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

3

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.

Die Qual der Wahl bei der Auswahl der Technologie

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.

Das richtige Web-Framework für meine konkreten Anforderungen?

Abb 1: Technologien und Frameworks im Überblick

Weblications made easy...

Page 5: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

4

Open Source und Standards

Abhängigkeit von Herstellern

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.

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.

Open Source im Unternehmen

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.

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.

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.

Page 6: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

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 Versions-

wechseln 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.

Abb 2: Übersicht der drei grundlegenden Frontendmodelle

Frontend

Fat ClientNICHT OPTIMAL

Rich InternetApplictaions

ADOBE FLEX

Web FrameworksJSF/ADF FACES

Abb 3: Übersicht der drei grundlegenden Frontendmodelle

5

Frontend

Fat Client(Eclipse RCP, .NET,

Java Webstart)

Rich InternetApplictaions

(Adobe Flex, Silver-lights, JavaFX)

Web Frameworks(JSF/ADF Faces,

GWT,ZK,...)

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

Fat-Client

Frontendtechnologien im Vergleich - Fat Client

Page 7: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

6

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.

Rich Internet Applications

RIA mitADOBE 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

+ O�ine 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

Vor- und Nachteile der Technologien

Abb 4: Vor und Nachteile ADOBE FLEX

Frontendtechnologien im Vergleich - RIA

Page 8: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

7

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.

Web Frameworks

+ 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

Vor- und Nachteile der Technologien

JSF 2.0 ADF Faces 11g

Abb 4: Vor und Nachteile ADOBE FLEX

Frontendtechnologien im Vergleich - Web Frameworks

Page 9: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

8

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:

• 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?

Web-Frameworks - Auswahlkriterien

Die wichtigsten Fragestellungen bei der Auswahl eines geeigneten Web-Framworks

Page 10: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

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.

Desktop

Swing O�ce

Met

adat

a Se

rvic

es

Browser / Mobile Devices

JSP JSF ADF Faces View

Struts JSF/ADFc Controller

ADFm (JSR 227)

Java EJB BAM BPEL Web Services BI ADF BC

Portlet Toplink JCR JMX XML

Abb. 5: Die Architektur von Oracle ADF

ADF - der Oracle Standard

Model

BusinessServices

Packaged AppsLegacy DataXML DataRelational Data

9

ADF - produktiv mit Oracle im Standard

Page 11: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

10

• 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.

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.:

Flexibilität

Entwicklungsgeschwindigkeit

langsam schnellgering

hoch

OracleADF

+ Optimale Lösung für Oracle nahe Java EE Projekte

+ Kurze Entwicklungszeit (4GL), Drag & Drop

+ Starke Ober�ächen- und Portaltechnologien

+ Ausgefeilte IDE, erprobtes Framework

+ Generierung (z.B. WebServices)

+ Strategisches Produkt bei Oracle

- 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

Abb. 6: Vor und Nachteile Oracle ADF

ADF - der Oracle Standard

Page 12: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

11

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 AOPSource-level metadata

AOP infrastructure

Spring ORMHibernate support

iBatis supportJDO support

Spring WebWebApplicationContext

Multipart resolverWeb utilities

Spring DAOTransaction infrastructure

JDBC supportDAO support

Spring ContextApplication context

UI support, ValidationJNDI,EJB support &

Remoting Mail

Spring Web MVCWeb MVC Frameworks

Web ViewsJSP / Velocity

PDF / Excel

Spring CoreSupporting utilities

Bean container

Abb. 7: Die Hauptkomponenten des Spring Frameworks

Spring - Flexibel mit Open Source

Spring - flexible Open Source Alternative

Page 13: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

12

Flexibilität

Entwicklungsgeschwindigkeit

langsam schnellgering

hoch

Spring Framework

+ Spring ist Open Source, Support verfügbar

+ Hohe Flexibilität, wenig Abhängigkeit

+ Große weltweite Community

+ Komplexe Projekte bleiben beherrschbar

+ Viele Open Source Projekte achten auf

Spring Integration

+ Spring Roo als Beschleuniger

- Mehr „Handarbeit“ nötig

- Kein klassisches RAD Framework

- zunehmende Komerzialisierung

- Komplexität durch „Low Level“ Development

- Relativ hohe Rüstzeit

Spring - Flexibel mit Open Source

Abb. 8: Vor und Nachteile des Spring Framework

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.

Page 14: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

13

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

Spring Hibernate Sitemesh JEE

Java Language Java Development Kit (JDK)

Java Virtual Machine

Groovy

Abb. 9: Bestandteile von Grails

Grails - Die Skriptsprache für Java

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.

Grails - Die Skriptsprache für Java

Page 15: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

14

Flexibilität

Entwicklungsgeschwindigkeit

langsam schnellgering

hoch

Grails

+ Schnelle Ergebnisse

+ Groovy ist sehr mächtig & intuitiv

+ Agilität / Sca�olding

+ Closures

+ AJAX Unterstützung

+ Umfangreiche Plugins verfügbar

+ Nutzt Spring MVC und bewährte Projekte

+ DRY Prinzip & wenig Code

- Verhältnismäßig junge Technologie

- Performance

- Dokumentation, relativ kleine Community

- Komplexere Anforderung

- Akzeptanz bei Kunden

Grails - Die Skriptsprache für Java

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.

Abb. 10: Vor und Nachteile Grails

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.

Page 16: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

15

APEX - Webanwendungen direkt auf der Datenbank

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 Alleinstellungs-

merkmale zu bieten, die gerade für Teams mit vorhandenem PL/SQL Know-How interessant sind.

Web Listener(Apache & mod_plsql/EPG)

Applictaion Express

Meta Data

Web Browser

Abb. 11: Aufbau der APEX Architektur

APEX – Application Express von Oracle

Page 17: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

16

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.

APEX - Webanwendungen direkt auf der Datenbank

Page 18: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

17

Zusammenfassung

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.

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.

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.

Spring Framework

Flexibilität

Entwicklungsgeschwindigkeit

langsam schnellgering

hoch

Grails

OracleADF

Apex

Komplexität

gering

hoch

Abb. 12: Vergleich Oracle ADF, Spring Framework,Grails,Apex

Page 19: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

18

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.

Page 20: Enterprise Weblication development made easy Whitepaper · 2018. 8. 27. · Enterprise Weblication development made easy Whitepaper. Inhalt ... Rich-Internet Applications und Web-Framworks

Enterprise Weblication development made easy

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!

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.