Oracle JDeveloper IDE Technology Overview
Oracle JDeveloper is a mature, robust and quality Java integrated development environment that shines when paired with Oracle Application Development Framework and Oracle Fusion Middleware stack.
- Given its targeted audience, the primary market for Oracle JDeveloper lies within systematic IT projects among corporate IT organizations and commercial Internet service providers/independent software vendors (ISPs/ISVs) that are heavily focused on the Oracle technology ecosystem (Oracle Database, Oracle Fusion Middleware [OFM] and Oracle Fusion Applications).1
- JDeveloper will remain the core flagship Java integrated development environment (IDE) for Oracle environments in the foreseeable future, even as Oracle continues investing in Eclipse and NetBeans technology.
- IT leaders must consider that JDeveloper (along with Oracle Application Development Framework [ADF]) is a virtual necessity when customizing Oracle Fusion Applications; as a result, any significant investment in Oracle Fusion applications must include accompanying investments in this IDE as well.
- IT leaders should strongly consider the combination of Oracle JDeveloper and ADF when deploying applications on the broader set of technologies within the OFM stack. Gartner believes the level of developer productivity in these scenarios can be measurably higher than alternative technologies.
- In most scenarios, IT leaders should give preference to alternative IDE technologies when targeting application runtime deployments beyond Oracle's OFM stack (such as IBM WebSphere, Red Hat JBoss and Apache Tomcat). This is especially true for those that integrate and rely heavily on independent open-source software (OSS) frameworks, such as Spring or Hibernate.
Table of Contents
- Hot Topics
- Gartner's Impressions
Originally released in 1998, Oracle JDeveloper has matured and evolved into a complete end-to-end IDE targeted at developers building Java-based IT solutions on Oracle middleware technologies. Its principal mission is to support the complete OFM stack, including extensions for service-oriented architecture (SOA), business process management, WebCenter, business intelligence, and Java Platform, Enterprise Edition (EE; see Note 1). As part of this effort, it is also the core development environment for Oracle Fusion Applications (see Note 2).
Oracle JDeveloper supports:
- Rapid application development features, such as visual editors for JavaServer Pages, HTML and Swing
- Advanced development practices, including code analysis and optimization, UML modeling and process modeling (BPEL)
- PL/SQL, portlet, Web service and XML development
As mentioned previously, JDeveloper's competitive advantage over competing toolsets (such as Eclipse) is only fully realized when it is paired with the Oracle ADF framework. As a result, Gartner estimates that at least 90% of JDeveloper developers use it exclusively in conjunction with ADF. There is no absolute requirement to use ADF with JDeveloper, it works well as a general-purpose Java IDE; in reality, the two are used hand in hand within most scenarios.
Oracle does not deliver tools for each phase of the software development life cycle (SDLC) out of the box. Instead, it integrates with industry best-of-breed solutions in two ways. First, JDeveloper includes extensions into external third-party tools leveraged throughout the SDLC (source code control, build management and so on). These extensions are often sufficient for individual developers or very small teams. However, each of these external tools comes with its own API, data format and features. Consequently, this point-to-point integration fails to meet the needs of larger teams and complex projects. For these efforts, a shared cross-platform repository is needed to properly track tasks and bugs, build results, and so on. The growing field of application life cycle management (ALM) addresses these integration and collaboration needs.
Gartner defines "ALM" as the process of planning, guiding, measuring and reporting the steps necessary to deliver new or modified software. ALM processes are implemented around a tool that has a metadata repository that enables specific implementation and execution tools (compilers, debuggers, modeling tools and others) to share information about artifacts; a workflow system that describes the (sometimes quite messy) sequence of activities required to design, develop and deploy the artifact; and a data warehouse that enables the capture of information about practices so they can be repeated.
Oracle's ALM solution is its Team Productivity Center (TPC) toolset, which includes a server-side centralized metadata repository, a connector framework for integrating third-party ALM repositories and tools, a set of out-of-the-box adapters for market-leading repositories and tools, and an extension that integrates this information into the JDeveloper IDE. The JDeveloper extension provides a team navigator, build dashboard, chat client and admin console, adding support for the concept of team development accessible directly from the IDE. For example, the team navigator can be used to assign and manage team members and then manage coloration, work items, defects and other queries across the entire team. Another component of Oracle's ALM strategy is in its support of Hudson, a continuous integration server project in Eclipse. Integration between JDeveloper and Hudson can be achieved through the TPC Build Dashboard. This allows links between Hudson job information, including build success/failure and other output of jobs that Hudson performs, to the artifacts in third-party ALM repositories (SCM, tasks, defects and so forth) and saved in the centralized metadata repository.
Oracle JDeveloper currently has extensions for Java Micro Edition projects, and like any general-purpose Java IDE, it supports server-side, Web-based mobile application development through the use of Cascading Style Sheets (CSS) and HTML. However, support for mobile applications is expanded considerably when the IDE is combined with ADF. Moreover, the upcoming release of the Oracle ADF Mobile framework extension — expected some time in 2012 — will add considerably more functionality, including the ability to build hybrid applications, integration with device services and support for HTML5 user interfaces.
As is the case with any general-purpose Java IDE, Oracle JDeveloper can be used to deploy Java-based cloud applications into an infrastructure-as-a-service (IaaS) cloud platform. In addition, Oracle has recently announced its own Public Cloud infrastructure strategy. We expect to see significant integration with this infrastructure and other areas of cloud-centric SDLC support in future versions of Oracle JDeveloper.
The next version of JDeveloper (12c) will focus first on alignment with the OFM 12c stack, adding support for new features in various products across the board. It will also add updated support for new Java platform versions and Web technologies (such as Java EE 6, Java Studio Enterprise 7, HTML5 and CSS3). We believe Oracle will maintain its focus on continued performance, stability improvements and developer productivity, as well as enhanced support for Maven and extension development support. Oracle JDeveloper 12c is expected some time in 2013.
While Oracle may expand support for its OFM stack in its other Java tools over time (namely, Eclipse), Gartner believes the combination of Oracle JDeveloper and Oracle ADF will remain the sole toolset that fully embraces and supports these technologies for the foreseeable future.
- Support for the Git version control system
- Support for Java services within Oracle's Public Cloud
- ADF Faces improvements
- Groovy editor and debugging
- Improved representational state transfer (REST) support
- Oracle Enterprise Security support
- Comprehensive HTML5 and CSS3 support
When to Consider
Given its targeted audience, the primary market for JDeveloper lies within systematic IT projects among corporate IT organizations and commercial ISPs/ISVs that are heavily focused on the Oracle technology ecosystem (Oracle Database, OFM and Oracle Fusion Applications). Consequently, there are two obvious scenarios in which to consider using JDeveloper:
- Oracle Fusion Applications Scenario: Oracle Fusion Applications are built on a foundation of Oracle JDeveloper and Oracle ADF. Consequently, among IT organizations leveraging Oracle Fusion Applications, the combination of JDeveloper and Oracle ADF is a virtual necessity. This is particularly true for application customization or extension efforts that go beyond the metadata layers of Oracle Fusion Applications. Some customers are already leveraging Oracle JDeveloper's ability to allow for layered customizations to Oracle Fusion Applications and have already used it to customize or extend Oracle Fusion Applications. In these scenarios, we believe there are no practical alternatives to JDeveloper for the foreseeable future.
- Oracle Fusion Middleware Scenario: Given its targeted audience, the primary market for JDeveloper lies within systematic IT projects among corporate IT organizations and commercial ISPs/ISVs that are heavily focused on the Oracle technology ecosystem (Oracle Database, OFM and Oracle Fusion Applications). As a result, application development organizations deploying general-purpose enterprise Java applications on the Oracle Fusion Middleware suite will find Oracle JDeveloper's deep integration with this suite to be a significant advantage. This is particularly true among applications that rely on elements of the stack that go beyond the core Oracle WebLogic server. Most notably, application development efforts leveraging a combination of Oracle JDeveloper and OFM will yield measurably higher developer productivity rates than alternative Java IDEs. We suggest that developers look first to Oracle JDeveloper, and give strong deference to its selection in this scenario, unless they find a compelling mitigating circumstance to do otherwise.
When to Consider Alternatives
Given its strong focus on the Oracle technology stack, IT leaders should look to other solutions in more generic Java EE development efforts:
- Java Standards + Independent OSS Frameworks Scenario: Oracle JDeveloper competes well against the feature set functionality of alternative IDEs (namely, Eclipse and NetBeans), but when leveraged within projects strictly targeting the core Java standard APIs, its unique value is significantly diminished. While it includes minor support for some OSS frameworks, developers will find competing IDEs more supportive than Oracle JDeveloper.
Oracle JDeveloper's market presence is strong and growing within Oracle-centric application development organizations that depend heavily on the Oracle Fusion Middleware stack and/or Oracle Fusion Applications. However, we expect its market share to remain naturally limited to the Oracle installed base, which is a relatively specific market segment as compared to competing Java toolsets (such as Eclipse and NetBeans) for the foreseeable future.
In addition, before the release of 11g, consistent feedback from Gartner clients was "interest" tempered by "disappointment over quality issues" (frequent crashes, performance, missing features and so on). We also found that, in the past, many external system integrators and consultants pushed clients away from Oracle JDeveloper/ADF toward tools and frameworks with which they were more accustomed (for example, Eclipse, Spring or Hibernate). Today however, Oracle is increasingly encouraging clients to adopt some modules of Oracle Fusion Applications under its augmentation/coexistence strategy (see "Weighing the Decision to Become an Early Adopter of Oracle Fusion Applications"), and as a result, interest in Oracle JDeveloper/ADF has grown considerably among third-party technology providers.
Moreover, since the 11g release feedback has changed considerably, most of the reports related to quality issues have disappeared. Oracle has addressed most of the quality issues associated with pre-11g versions, and 12c has been rearchitected for on-demand loading, which increases performance considerably. However, we continue to get occasional reports of quality and stability issues, mostly related to extensions to non-Oracle technologies (for example, external source code control systems). Overall, these complaints are minor and infrequent.
Today, most Gartner client inquiry feedback is "strong overall experience" tempered with some uncertainty over the implications of long-term strategic commitment to a Java toolset so heavily tied to single vendor. Among highly Oracle-centric IT organizations, this is of little consequence. Investments in Oracle Fusion Middleware or Oracle Fusion Applications create a predisposition toward Oracle JDeveloper and Oracle ADF in one way or another. While it is expanding support for its OFM stack to its other Java tools over time, Gartner believes the combination of Oracle JDeveloper and Oracle ADF will remain the sole toolset that fully embraces and supports these technologies for the foreseeable future.
Interest in Oracle JDeveloper/ADF has also grown considerably among third-party technology providers as a result of the increasing use Oracle Fusion Applications under Oracle's augmentation/coexistence strategy (see "Weighing the Decision to Become an Early Adopter of Oracle Fusion Applications"). This is in contrast to previous years, when it seemed that many external system integrators and consultants pushed clients away from Oracle JDeveloper/ADF toward tools and frameworks with which they were more accustomed (for example, Eclipse, Spring or Hibernate).
- Oracle JDeveloper is a mature and well-rounded Java IDE competing feature to feature with other market-leading toolsets.
- Oracle JDeveloper truly shines when paired with Oracle ADF and leveraged within application development efforts focused on the Oracle Fusion Middleware Stack.
- By design, Oracle JDeveloper is targeted at a specific market segment of application development efforts focused around Oracle Fusion Middleware stack and/or Oracle Fusion Applications. Consequently, value-added features in support of OSS frameworks (such as Spring) that are commonly found in competing toolsets (such as Eclipse) are minimal or altogether missing. This should not necessarily be inferred as a weakness, but rather a natural limitation, especially among development organizations with mixed Java middleware investments (such as Tomcat, JBoss, Spring and Hibernate). Gartner believes that application development organizations supporting a mixture of OFM and other non-Oracle Java runtime platforms will be best served by augmenting JDeveloper with an additional IDE, such as Eclipse or NetBeans, for the foreseeable future.
New releases of JDeveloper are usually closely synchronized with updates to the OFM software stack. The first release of the current (11g) version was in 2007 and has been followed by five updates about once a year. The most recent (188.8.131.52) was released in February 2012. We expect another update along with the OFM 12c release sometime in 2013.
An additional release train typically branches and moves ahead of the OFM release and includes additional performance and defect patches and support for emerging Java APIs. These parallel efforts not only give users that depend on OFM a stable and tightly linked toolset, but also provide developers with an option for more frequent updates and newer features. These two release trains will merge at the next OFM update cycle, and the pattern repeats for the next year.
JDeveloper is a free to use toolset that can be downloaded from Oracle's website. There are no runtime fees associated directly with Oracle JDeveloper; however, certain frameworks and software components from Oracle commonly used in conjunction with this IDE have runtime fees under specific scenarios. For example, Oracle JDeveloper is routinely used in combination with Oracle's ADF and TopLink frameworks. These frameworks include runtime license fees when used with non-Oracle application servers.
A number of tutorials and sample applications are available on the Oracle Technology Network (OTN). There are a number of third-party books available from retailers as well. Oracle JDeveloper concepts are also included in a number of courses from Oracle University, focused on Oracle ADF, Oracle Fusion Middleware and Oracle Fusion Applications. Oracle JDeveloper concepts are included in Oracle Application Development Framework 11g Essentials Exam. Finally, Oracle-centric system integration consultants often use JDeveloper as part of their consulting services.
The JDeveloper IDE is certified (see Note 3) on Windows XP Service Pack 2 and later, Red Hat, Oracle and SUSE Linux, and Mac OS X. Gartner estimates that Windows has at least 90% of the Oracle JDeveloper market share, with Mac and Linux sharing the remaining 10% between them. It is also supported on any other operating system running the Sun Java Development Kit 1.7 or later.
JDeveloper's database development features are certified on most versions of the Oracle Database, plus some versions of Oracle MySQL, MS SQL Server, IBM DB2, Sybase, Informix, Apache Derby and SQLite. It is supported on SQL92-compatible databases with appropriate third-party Java Database Connectivity drivers.
JDeveloper's application server deployment/debug features are supported on several versions of Oracle WebLogic Server (but certified on specific releases only), IBM WebSphere 6 and 7, Tomcat 6, and JBoss 4.5.
A complete list of supported and certified platforms, including Web browsers, mobile browsers, source code control systems and desktop clients, can be found at Oracle's website.
Free community-based support for Oracle JDeveloper is provided at the OTN developer portal, which includes discussion forums, video demos, developer blogs and a knowledgebase of frequently asked questions.
Optional commercial support is available through Oracle's Development Tools Support Plan for $1,200 per year, per named user. The plan includes 24/7 service requests, issue escalation and access to online technical support systems (such as "My Oracle Support" website).
OFM includes products that focus on the following areas:
- User engagement
- Business process management
- Content management
- Business intelligence
- Service integration (SOA)
- Data integration
- Identity management
Oracle Fusion Applications are delivered as a complete suite of modular applications and next-generation processes that can coexist with existing business applications. They are based on an SOA approach and a common data model. JDeveloper is the design-time environment, and Oracle ADF provides the runtime architecture for Oracle Fusion Applications.
"Certified is used to denote a configuration that is tested in house by the Quality Assurance team. The term Supported indicates a configuration that has not been fully tested, but that Oracle believes to be functional. In both cases, customers may log bugs with Oracle Support, and the development team will evaluate them and fix them if feasible."