Integrierte Entwicklungsumgebungen (IDE) für die Java-Entwicklung im Oracle-Umfeld [email protected], [email protected] 7/20/2011 Integrierte Entwicklungsumgebungen (IDE) sind in der heutigen Zeit zu einem wesentlichen Einflussfaktor bei der Entscheidung für oder gegen bestimmte Technologien, Produkte und Hersteller geworden. Obwohl die Entwicklungsumgebungen vieler Anbieter kostenfrei sind oder nur zu einem sehr geringen Teil direkt zum Umsatz beitragen, sind sie für die Erhaltung der Kundenbasis und die Gewinnung neuer Kunden von großer Bedeutung. Oracle verfügt durch die Aquisitionen der letzten Jahre (BEA, SUN) über mehrere IDE im Bereich der Java-Entwicklung, die sich in ihrer Funktionalität teilweise überschneiden. Dies macht eine Positionierung schwierig, bietet allerdings auch den Vorteil, dass Kunden die für ihre Anforderungen am besten geeignete IDE auswählen können. Das Papier soll eine Hilfestellung bei der Auswahl der geeigneten IDE für die Anwendungs-Entwicklung auf Basis der Java-Plattform geben. Seite 2 Juli 2011 (1.0) 1 Überblick ........................................................................................................................ 3 2 Oracle JDeveloper ........................................................................................................... 3 3 4 5 2.1 Historie .................................................................................................................... 3 2.2 Marktposition .......................................................................................................... 3 2.3 Funktionsumfang ..................................................................................................... 4 2.4 Application Server ................................................................................................... 4 2.5 Besonderheiten ....................................................................................................... 4 2.6 Support.................................................................................................................... 4 2.7 Positionierung ......................................................................................................... 5 2.8 Weitere Informationen ............................................................................................ 5 Oracle Enterprise Pack for Eclipse (OEPE) ....................................................................... 6 3.1 Historie .................................................................................................................... 6 3.2 Marktposition .......................................................................................................... 6 3.3 Funktionsumfang ..................................................................................................... 7 3.4 Application Server ................................................................................................... 7 3.5 Besonderheiten ....................................................................................................... 7 3.6 Support.................................................................................................................... 7 3.7 Positionierung ......................................................................................................... 8 3.8 Weitere Informationen ............................................................................................ 8 NetBeans IDE .................................................................................................................. 9 4.1 Historie .................................................................................................................... 9 4.2 Marktposition .......................................................................................................... 9 4.3 Funktionsumfang ..................................................................................................... 9 4.4 Application Server ................................................................................................... 9 4.5 Besonderheiten ..................................................................................................... 10 4.6 Support.................................................................................................................. 10 4.7 Positionierung ....................................................................................................... 10 4.8 Weitere Informationen .......................................................................................... 10 Zusammenfassung ........................................................................................................ 11 Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 3 Juli 2011 (1.0) 1 Überblick Oracle bietet für die Entwicklung von Anwendungen auf Basis von Java folgende Entwicklungsumgebungen (IDE) an: • • • Oracle JDeveloper Oracle Enterprise Pack for Eclipse (OEPE) NetBeans IDE Während der Oracle JDeveloper als IDE (sieht man einmal von den zahlreichen Plug-Ins ab) ausschließlich im Hause Oracle weiterentwickelt wird , gibt es für die beiden anderen IDE eine breite Open Source Community, die sich an der Weiterentwicklung aktiv beteiligt. Oracle hat mehrfach bekräftigt, die Unterstützung für alle 3 Entwicklungsumgebungen weiterzuführen. 2 Oracle JDeveloper 2.1 Historie Der Oracle JDeveloper ist ursprünglich aus einer Lizensierung des JBuilders von Borland durch Oracle entstanden, wurde aber inzwischen komplett neu in Java geschrieben. Die Weiterentwicklung des Oracle JDeveloper erfolgt synchron mit der Entwicklung der Fusion Middleware. 2.2 Marktposition Oracle JDeveloper ist unter Entwicklern verbreitet, die vorwiegend auf der Basis von OracleTechnologien entwickeln. Der Marktanteil ist im Vergleich zu Eclipse und NetBeans gering. Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 4 Juli 2011 (1.0) 2.3 Funktionsumfang • • • • • • • Entwicklung von Java-Anwendungen XML-Entwicklung (XML, XSD, XSL) Entwicklung von Composite Applications (SCA/SOA) Entwicklung von Web-Applikationen (ADF) Entwicklung von Web Services Datenbank-Design und -Entwicklung (SQL, PL/SQL, Java) ... 2.4 Application Server Der JDeveloper enthält einen integrierten WebLogic Server zum Testen der Entwicklungsergebnisse. Diese können alternativ auch auf einem externen Server deployed und ausgeführt werden. 2.5 Besonderheiten • • • • Der Oracle JDeveloper ist eine Entwicklungs-Umgebung, die sich auf die Implementierung von Anwendungen auf Basis von Oracle-Technologien konzentriert. Es werden nur Modellierungstechniken (UML) unterstützt, die unmittelbar zur Implementierung beitragen. Der Oracle JDeveloper bietet in einem speziellen Modus ("Customizing Mode") die Möglichkeit, von einer Basis-Version abgeleitete Varianten von ADF- und SOAAnwendungen zu entwickeln. Die im Team Productivity Center (TPC) zusammengefassten Plug-Ins für den JDeveloper unterstützen das Application Lifecycle Management (ALM) durch die Integration verbreiteter Repositories. Der Oracle JDeveloper bietet Unterstützung beim Upgrade von Komponenten der Fusion Middleware. 2.6 Support Der Support für das kostenfreie Produkt erfolgt über ein sehr aktives OTN-Forum. Kunden können zusätzlich den Support durch die Suppport-Organisation von Oracle erwerben. Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 5 Juli 2011 (1.0) 2.7 Positionierung Anwendungen • • • Der JDeveloper ist die optimale Entwicklungsumgebung für die Oracle Fusion Applications und die Fusion Midddleware , da er eine durchgängige Unterstützung über alle Komponenten der Architektur bietet. Der JDeveloper ist für die Entwicklung von ADF/WebCenter-Applikationen vorgesehen, die wesentliche Komponenten des ADF-Frameworks wie die ADF Business Components, den ADF Binding Layer und die ADF Task Flows nutzen wollen. Der Oracle JDeveloper enthält Funktionen für die Datenbank-Entwicklung (DB-Design, PL/SQL, XMLDB) . Damit können Entwickler die Möglichkeiten der Oracle Datenbank nutzen, ohne dass zusätzliche Werkzeuge im Entwicklungsprozess erforderlich sind. Entwickler Der JDeveloper richtet sich vor allem an Entwickler, die auf Basis der Oracle Fusion Applications und Fusion Middleware entwickeln. Dabei kann es sich sowohl um IndividualEntwicklung als auch um die Anpassung von Oracle Standard-Software handeln. Im Bereich der dialog-orientierten Anwendungsentwicklung ist der JDeveloper besonders für Kunden interessant, die bisher mit Oracle Forms entwickelt haben und zukünftig verstärkt Oracle ADF einsetzen wollen. 2.8 Weitere Informationen Oracle Technet JDeveloper JDeveloper Forum Deutsche ADF Community www.oracle.com/technology/products/jdeveloper forums.oracle.com/forums/forum.jspa?forumID=83 www.oracle.com/webfolder/technetwork/de/community/adf/index.html Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 6 Juli 2011 (1.0) 3 Oracle Enterprise Pack for Eclipse (OEPE) 3.1 Historie Seit 2003/2004 wird die Weiterentwicklung der Open Source-Software Software Eclipse von der Eclipse Foundation bestimmt. Oracle ist seit März 2007 strategisches Mitglied und leitet einige Projekte innerhalb der Community. Eclipse hat sich in den letzten Jahren zu einer universellen Entwicklungs-Plattform Entwicklungs Plattform entwickelt,, für die es eine Vielzahl von Erweiterungen (Plug-Ins) (Plug Ins) verschiedener Hersteller gibt. Daneben gibt es eine Reihe von Eclipse Runtime Projekten, von denen einige von Oracle geführt werden (z.B. EclipseLink). In Verbindung mit kommerziellen Produkten und Dienstleistungen enstleistungen hat sich Eclipse zu einem umfassenden Ecosystem entwickelt. Das Oracle Enterprise Pack for Eclipse (OEPE) fasst alle für Eclipse zertifzierten Plug Plug-Ins von Oracle in einem Produkt zusammen und steht damit Entwicklern zur Verfügung, für die Eclipse clipse die bevorzugte Entwicklungsumgebung (IDE) für Java EE ist. Eclipse steht unter der Eclipse Public License (EPL) und ist als quelloffene Software kostenfrei zugänglich. 3.2 Marktposition Eclipse nimmt als universelle Plattform eine dominierende Position im Markt der IDE ein. OEPE ist als Sammlung von Plug-Ins Ins ein Teil des Ecosystems von Eclipse. Die hohen Download-Zahlen Zahlen der Software zeigen, dass OEPE auf großes Interesse stößt. OEPE ist besonders stark unter Kunden verbreitet, die Java-Anwendungen Java mit Eclipse clipse entwickeln und den Oracle WebLogic Server einsetzen. Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 7 Juli 2011 (1.0) 3.3 Funktionsumfang Das von Oracle angebotene Software-Paket enthält neben den Plug-Ins von OEPE auch wesentliche Teile der Eclipse-Plattform, u.a. das Web Tools Project (WTP). • • • • • • • Entwicklung von Java EE-Applikationen (EJB/JPA, JSF) Unterstützung für Komponenten des Frameworks Oracle ADF Unterstützung für Spring und Oracle Coherence Entwicklung von Web Services Entwicklung für den Oracle WebLogic Server und Oracle GlassFish Entwicklung für die Oracle Datenbank ... 3.4 Application Server Die Eclipse IDE enthält keinen integrierten Application Server. Zum Testen der Applikationen können Application Server lokal oder remote eingebunden werden. 3.5 Besonderheiten Eclipse unterstützt als IDE nicht nur die Entwicklung von Java-Applikationen, sondern auch die Entwicklung mit PHP, C++ und verschiedenen Script-Sprachen Der Funktionsumfang von Eclipse ist durch die große Anzahl von Plug-Ins verschiedener Hersteller wesentlich umfangreicher als beim JDeveloper. So werden neben zahlreichen Modellierungstechniken u.a. auch die modell-getriebene Software-Entwicklung unterstützt. 3.6 Support Der Support für das kostenfreie Produkt erfolgt über ein OTN-Forum. Kunden können zusätzlich den Support durch die Suppport-Organisation von Oracle erwerben. Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 8 Juli 2011 (1.0) 3.7 Positionierung Anwendungen • • • Das OEPE richtet sich an Entwickler, die Eclipse als Standard-IDE einsetzen und deren Anwendungen auf Server-Technologien von Oracle (Datenbank, Application Server) basieren. OEPE ist die geeignete Entwicklungsumgebung, wenn Standard-Technologien (Java SE/EE) in Verbindung mit Oracle-Komponenten im Projekt zum Einsatz kommen sollen. OEPE kann eingesetzt werden, um Applikationen auf Basis des Frameworks Oracle ADF zu entwickeln, wenn als Persistenz-Technologie für den Business Service Layer EJB/JPA vorgesehen ist. In diesem Fall muss jedoch auf den ADF Binding Layer (ADF Model) verzichtet werden, der erst für ein späteres Release von OEPE vorgesehen ist. Entwickler Das Oracle Enterprise Pack for Eclipse (OEPE) richtet sich vor allem an Entwickler, die Eclipse als Entwicklungs-Umgebung bevorzugen und die in einem Umfeld entwickeln, in dem neben Oracle-Komponenten auch Middleware-Technologien anderer Hersteller zum Einsatz kommen. Ein wesentliches Entscheidungskriterium für ein IDE ist die Wahl der im Projekt eingesetzten Technologien. Während traditionelle 4GL-Entwickler (Oracle Forms) sich mit der Funktionalität der relational orientierten ADF Business Components anfreunden können, entscheiden sich Java-Entwickler in der Regel für Standard-Technologien auf Basis der EJB. 3.8 Weitere Informationen Eclipse Community Eclipse - Projekte Oracle Technet - OEPE Forum OEPE www.eclipse.org www.eclipse.org/projects www.oracle.com/technetwork/developer-tools/eclipse forums.oracle.com/forums/forum.jspa?forumID=578 Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 9 Juli 2011 (1.0) 4 NetBeans IDE 4.1 Historie Die Ursprünge von NetBeans liegen in der Entwicklungs-Umgebung SynerJ der Firma Forte, die 1999 von Sun übernommen wurde. Die daraus entstandene IDE NetBeans erfreute sich rasch großer Beliebtheit in der Java-Community. Durch die Akquisition von Sun durch Oracle hat Oracle die Veerantwortung für die Weiterentwicklung von NetBeans übernommen. NetBeans steht unter der Common Development and Distribution Licence (CDDL) sowie der GNU General Public Licence (GPL) und wird von einer sehr aktiven Community getragen. 4.2 Marktposition NetBeans hat in den letzten Jahren seinen Anteil ausbauen können und ist nach Eclipse die am meisten verbreitete Java-IDE im Markt. 4.3 Funktionsumfang • • • • • • • • Entwicklung von Java SE-Applikationen Entwicklung von Java EE-Applikationen (Java EE 5.0, 6.0) Entwicklung von Web Services Entwicklung von Java ME-Applikationen (mobile Anwendungen) Unterstützung für dynamische Script-Sprachen (Ruby, Groovy, Jython) Entwicklung mit C/C++ und PHP Entwicklung von JavaFX-Anwendungen (Multimedia-Anwendungen) Unterstützung für den Oracle GlassFish Server 4.4 Application Server NetBeans steht als Download in verschiedenen Paketen zur Verfügung. Die IDE kann damit sowohl ohne Application Server als auch mit GlassFish und Apache Tomcat als integrierte Application Server bezogen und installiert werden. Zum Testen der Applikationen können neben den integrierten Servern weitere externe Application Server eingebunden werden. Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 10 Juli 2011 (1.0) 4.5 Besonderheiten • • NetBeans unterstützt als IDE nicht nur die Entwicklung von Java-Applikationen, sondern auch die Entwicklung mit PHP, C++ und verschiedenenScript-Sprachen NetBeans unterstützt automatisierte Build-Prozesse mittels Hudson und Maven 4.6 Support Der Support für das kostenfreie Produkt erfolgt vorwiegend über eine sehr aktive Community. Kunden können zusätzlich den Support durch die Suppport-Organisation von Oracle erwerben. 4.7 Positionierung Anwendungen • • NetBeans ist eine leichtgewichtige IDE, die mit den Fortschritten bei der Weiterentwicklung der Java-Plattform (JDK, Java EE, Java ME etc.) Schritt hält und dem Entwickler als neue Funktionalitäten in der IDE zur Verfügung stellt. NetBeans ist die geeignete Entwicklungsumgebung, um erste Erfahrungen mit neuen Versionen der Standards zu sammeln und von den letzten technologischen Fortschritten der Java-Plattform zu profitieren. Entwickler NetBeans IDE richtet sich an Entwickler, die die aktuellen Versionen der Java-Standards praktisch erproben und produktiv einsetzen wollen. Aus den daraus gewonnenen Erfahrungen lassen sich Schlussfolgerungen für die zukünftige Anwendungsentwicklung im Unternehmen ziehen. 4.8 Weitere Informationen NetBeans Community NetBeans Forum www.netbeans.org forums.netbeans.org Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware Seite 11 Juli 2011 (1.0) 5 Zusammenfassung Eclipse ist als "General Purpose IDE" unter Entwicklern stark verbreitet. Durch das Oracle Enterprise Pack for Eclipse (OEPE) werden Entwickler unterstützt, die Eclipse in Verbindung mit Oracle Server-Produkten (Datenbank, Application Server) bzw. -Technologien (Oracle ADF) einsetzen wollen. NetBeans IDE erfreut sich wachsender Beliebtheit in der Entwickler-Community. Durch die zeitnahe Unterstützung neuer Java-Standards (SE, EE, ME) und des GlassFish-Servers als Referenz-Implementierung von Java EE ist NetBeans besonders für Entwickler geeignet, die neue Funktionalitäten der Java-Standards praktisch erproben und einsetzen wollen. Der Oracle JDeveloper ist eine IDE, die eine sehr gute Unterstützung für Oracle-Produkte und -technologien (Datenbank, Fusion Applications, Fusion Middleware) und deren Integration in der Anwendungsentwicklung bietet. Hinsichtlich der Arbeitsweise und Bedienung weisen die drei IDE viele Ähnlichkeiten auf, so dass ein Wechsel zwischen den IDE und die damit verbundene Einarbeitung relativ rasch möglich sind. Entscheidungen für oder gegen den Einsatz einer IDE sollten immer in Abhängigkeit vom konkreten Projekt, d.h. den Anforderungen, Randbedingungen und den gewählten Technologien getroffen werden. Um die Stärken der jeweiligen IDE zu nutzen, kann auch der gleichzeitige Einsatz mehrerer IDEs im Projekt sinnvoll sein, zumal sich die Entwicklungsergebnisse zwischen den IDE austauschen lassen. Oracle Deutschland B.V. & Co.KG - Business Unit Fusion Middleware