Java Frameworks im Vergleich - ADF vs. Grails vs. Spring



Ähnliche Dokumente
Konzentration auf das. Wesentliche.

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Xesar. Die vielfältige Sicherheitslösung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Geschäftsprozessimplementierung mit BPMN, ADF und WebCenter

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Erfahrungen mit Hartz IV- Empfängern

Mehr Interaktion! Aber einfach und schnell!

Test zur Bereitschaft für die Cloud

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Zeitmanagement. Wie Sie Ihre Zeit erfolgreich nutzen. Borse Training & Coaching Wilhelmstr Wiesbaden

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Geyer & Weinig: Service Level Management in neuer Qualität.

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Worum geht es in diesem Projekt?

Namibiakids e.v./ Schule, Rehoboth, Namibia

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Der Kopf ist rund, damit das Denken die Richtung

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Kampagnenmanagement mit Siebel Marketing/Oracle BI ein Praxisbericht

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

Informationen zum neuen Studmail häufige Fragen

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Rundum-G. Die Anforderungen durch ständig steigende

MHP Mobile Business Solution Ihre Prozessoptimierung, um ortsunabhängig flexibel und hoch produktiv zu agieren!

EIDAMO Webshop-Lösung - White Paper

* Leichte Sprache * Leichte Sprache * Leichte Sprache *

Trainingsplan 16-wöchiger Trainingsplan für einen Triathlon (Volkstriathlon), Einsteiger

Statuten in leichter Sprache

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

Was leistet ein Content Management System?

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Grundlagen der Theoretischen Informatik, SoSe 2008

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

WICHTIGER HINWEIS FÜR HÄNDLER UND SERVICE-WERKSTÄTTEN:

Innovative Kommunikations- und Verwaltungslösung für Unternehmen in der Pflege- und Gesundheitsbranche

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Bewährte Allfinanzkonzeption wird um einzigartiges Angebot für das deutsche Handwerk und den Mittelstand erweitert

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

w3lib - einfach Software entwickeln!

Kontakte knüpfen und pflegen, Themen gemeinsam Diskutieren, Termine bekannt geben, oder die. ideal dazu, also sollten wir es auch nutzen!

Moin! Ihr wollt wissen, was wir anders machen als alle anderen? Na dann blättert mal weiter...

windream für Microsoft Office SharePoint Server

Anleitung über den Umgang mit Schildern

Organisation des Qualitätsmanagements

Schindler PORT-Technologie Evolution der Zielrufsteuerung. Revolution des persönlichen Komforts.

Microsoft (Dynamics) CRM 2020: Wie verändern sich Markt, Eco-System und Anwendungsszenarien nach Cloud & Co?

Mobile Intranet in Unternehmen

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

teamsync Kurzanleitung

Pure Web für Diagramme, Berichte, Handwerteingaben

Erstaunliche Lösungen. QUADRANTUS das Grundverständnis die Angebote die Einsatzbereiche

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Reporting Services und SharePoint 2010 Teil 1

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Wohnformen im Alter. Ein Vortrag im Rahmen des Seniorenfrühstücks von Frank Ulrich & Michael Meibohm

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

BENUTZERHANDBUCH. Version 7.6

Haben Sie über elektronisches Schließfachmanagement nachgedacht? Ein Schließfach ist ohne ein solides Schloss nicht komplett.

Der Kunde zahlt die Gehälter.

Thorsten Sett-Weigel Berlin, den 28. März 2012 Finowstraße Berlin

Seco Online Store! Einkauf per Mausklick!

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

4. BEZIEHUNGEN ZWISCHEN TABELLEN

» Weblösungen für HSD FM MT/BT-DATA

Urbacher Computer-Forum

15 Arten von QR-Code-Inhalten!

Temperaturund Klimakontrolle Flottenmanagement

S-Verein VereinshomepagePLUS

Wo sind meine Anforderungen?

Zwischenablage (Bilder, Texte,...)

MS Outlook Integration

Geht nicht, gibt s nicht. Geht auch anders, geht sehr wohl.

iphone- und ipad-praxis: Kalender optimal synchronisieren

Alltag mit dem Android Smartphone

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

1 Planung Migration UNIMOD collect (=neues Release

Auditmanager. Vorbereitung, Durchführung und Maßnahmenumsetzung von Audits leicht gemacht. Auditmanager. im System

Das Werk einschließlich aller seiner Texte ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechts

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Eine Anwendung mit InstantRails 1.7

Mobiler POS mit iaps. Mobile Datenerfassung:

Transkript:

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Frank Szilinski esentri software GmbH Karlsruhe Schlüsselworte: ADF, Java, JEE, JSF, Grails, Spring, Open Source, Rapid Application Development Einleitung In diesem Vortrag werden drei beliebte Application Development Frameworks miteinander verglichen und ein Blick über den Tellerrand der Oracle JEE Entwicklung gewagt. Hierzu werden die spezifischen Eigenschaften der unterschiedlichen Frameworks herausgestellt - individuelle Stärken und Schwächen spielen dabei genauso eine Rolle wie praktische Tipps & Tricks zu den einzelnen Technologien und konkreten Erfahrungen in Projekten. Die Zuhörer können am Ende selbst entscheiden, welches Framework sich für welchen Anwendungsfall am besten eignet. Die Qual der Wahl Obwohl heute im JEE Standard schon sehr viele vereinfachende Konzepte enthalten sind, werden viele Java Enterprise Anwendungen auf Basis von Frameworks entwickelt. Die Entwickler haben dabei die Qual der Wahl und müssen sich zwischen verschiedenen Ansätzen und Alternativen entscheiden. Zentral sind dabei insbesondere folgende Fragestellungen: 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 auch mit anderen kombinieren? welche Oberflächentechnologien passen zum Framework? ist die Lösung ausgereift, gibt es Support und eine gute Dokumentation? Der Vortrag beschäftigt sich mit diesen Fragestellungen und gibt Entscheidungshilfen zu den drei ausgewählten Frameworks für die Praxis. Zum besseren Verständis werden im folgenden die Grundlagen und Schwerpunkte der drei ausgewählten Frameworks herausgestellt. 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. Abb. 1: Die Architektur von Oracle ADF 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 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 Unzureichende Integration in Konfigurationsmanagement-Tools wie Maven Testbarkeit von ADF Anwendungen ist z.t. schwierig Das Framework ist dennoch sehr ausgereift und Großprojekte wie z.b. die Oracle Fusion Application zeigen, wie effektiv sich neue JEE Anwendungen mit Oracle ADF entwickeln lassen. Spring - flexible Open Source Alternative Mit dem Open Source Framework Spring steht ein einfach verständliches, konsistentes Programmierund Konfigurationsmodell als Alternative zur Verfügung. Als Hauptmerkmal 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. Abb. 2: Die Hauptkomponenten des Spring Frameworks 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, das 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 immer mehr Unternehmen 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. Grails - Rapid Application Development Insbesondere für kleine JEE Projekte eignet sich auch Grails. Grails (Groovy on Rails) ist ein erweitertes und innovatives Rapid Applikation 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. Abb. 3: 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. 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) zustellen. 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 ansich sind kleine Grailsanwendungen, die in andere eingebunden werden in dem alle relevanten Konfigurationen zusammengeführt werden.

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. Kontaktadresse: B.Sc. Frank Szilinski esentri software GmbH Stephanienstr. 36 D-76133 Karlruhe Telefon: +49 (0) 721-7540 7530 Fax: +49 (0) 721-7540 7539 E-Mail frank.szilinski@esentri.com Internet: www.esentri.com