Welcome!

Recurring Revenue Authors: Elizabeth White, Yeshim Deniz, Zakia Bouachraoui, Pat Romanski, Xenia von Wedel

Related Topics: Recurring Revenue, Java IoT

Recurring Revenue: Article

Java Product Review — Oracle JDeveloper An IDE Worth a Second Look

It's never too late for a second chance at a first impression

As the saying goes you never get a second chance at a first impression. In general, that's true, but if you've been thoroughly revitalized, matured, and cosmetically re-engineered, shouldn't you get a second shot at that first impression? I'd argue that's true of Oracle's Java/J2EE Workbench, Oracle JDeveloper.

Starting out life as a code fork from Borland's JBuilder tool back in 1997, Oracle JDeveloper has had a fairly long history as a Java IDE, most of it in relative obscurity. Things have changed though. During JavaOne 2005, Oracle announced that Oracle JDeveloper would henceforth be free. This sparked interest, since JDeveloper always had areas of definite benefits over other tools but came with a price tag. Furthermore, over the last couple of years, Oracle has added rich support for all areas of Java and JEE development, especially in the case of the latest 10.1.3.1 rev released in October 2006 during Oracle OpenWorld.

This latest release supports JEE 5 standards such as EJB 3.0 and JSR-220 Java Persistence API, JSR-181 Web Service Annotations, as well as JavaServer Faces. It also brings a visual design time environment for creating Business Process Execution Language (BPEL) processes and Enterprise Service Bus (ESB) Services and features-enriched functionality for Java, XML, Web Services and Web application development. I'd like to invite you to take a brief tour to get that second look and a new first impression of Oracle JDeveloper.

Getting To Know Oracle JDeveloper
JDeveloper 10.1.3.1 can be downloaded from Oracle's Technology Network at http://oracle.com/technology//jdev (up to 420 MB). Installation only takes unzipping an archive. When running, JDeveloper's Studio Edition consumes a somewhat greedy 180 MB memory by just being there.

Plain Old Java Programming
Java IDEs are typically evaluated first and foremost on their ability to support pure Java programming. Oracle JDeveloper has a history riddled with wizards and frameworks and facilities for all kinds of development, but it tended to trail behind other prominent IDEs when it came to Plain Old Java Programming (POJP). With recent releases that gap has been closed and Oracle JDeveloper currently offers at least the same, if not more features, than can be found in alternative tools.

Built-in features include:

  • Refactoring - with options such as extract code fragment as method and extract interface or superclass
  • Code folding
  • Quick view of JavaDoc of referenced classes and methods
  • Code completion and code reformatting
  • User-customizable code snippets
  • Generation of bean accessors for properties
  • Smart import organization of classes and libraries
One feature I particularly like and frequently use is the CTRL+ - a key combination for "Go to Java Class." This brings up a window where developers can type in the name of a class or interface and navigate directly either to the source code or the JavaDoc.

Advanced tools found in Oracle JDeveloper, not generally part of the core of IDEs, include a code profiler to identify performance and memory hotspots, and an auditor that does quality control on Java source code - even on non-compilable code - according to predefined standards and guidelines. The profiler monitors and logs a running program's use of processor and memory resources and can be used to locate and correct inefficiencies. Developers can also use the profiler with the debugger and CodeCoach for efficient source code troubleshooting.

The march of Plain Old Java Objects (POJOs) seems unstoppable. With EJB 3.0, and particularly the Java Persistence API (JSR-220), as well as the Web Service annotations defined in JSR-181, a POJO can be easily promoted to an entity, persistently mapped to a database table or a Web Service simply by adding some annotations to the bean definition. JDeveloper will recognize these annotations and provide code completion support for them.

JDeveloper 10.1.3.1 also features wizards that can create entities (annotated POJOs) from selected tables and views in a database, or that can create a new entity. Currently there's no synchronizing support to realign entities and tables; however, given Oracle's leading role in the Dali Eclipse plug-in, I expect this feature to be added to a future version of Oracle JDeveloper.

The Web Service wizard allows easy publication of a POJO and selected methods as a Web Service; this wizard can add the JSR-181 annotations to the POJO, or create a WSDL document along with the WSIF binding definition.

Integration IDEb The biggest news with Oracle JDeveloper 10.1.3.1 is the Integrated Service Environment workbench. In particular, BPEL and ESB tooling is now fully integrated into JDeveloper.

There is a visual diagrammer with drag-and-drop component palettes and built-in wizards that help the developer design the BPEL processes. Wizards help create partner links for adapter services that link to external systems like (SOAP) Web Services, JMS, file system and FTP servers, MQ Series and databases (SQL or Oracle PL/SQL). The BPEL process is created by dragging BPEL activities such as pick, flow, invoke, reply, and assign to the diagram and configuring them through wizard screens. The invoke and reply steps are connected to the partner links with external services. A BPEL process can be deployed directly to the Oracle BPEL Process Manager from within the JDeveloper IDE (see Figure 1).

Oracle JDeveloper can also generate test cases for BPEL processes in which partner link response messages and workflow outcomes can be emulated prior to deployment in a production environment. This helps ensure that a process interacts with Web Service partners as expected by the time it's ready for deployment to a production environment.

In late October 2006, Oracle released its ESB as part of its SOA Suite. Oracle JDeveloper provides the design time for the ESB, and ESB router services typically consist of inbound services, routing and transformation rules and outbound services. The router service is constructed visually, using drag and drop, as well the same adapter service wizards used for developing BPEL processes. The transformation of messages in the ESB is done using an XSLT transformation. Oracle JDeveloper has a particularly useful tool that makes creating the XSLT document a simple, highly visual task, using drag and drop from source (inbound) XSD to the target XSD document.

Deploying the ESB is a two-click process using a predefined connection to the application server that hosts the ESB.

The first impression in developing ESB services is that it works very well - even though this is just a 1.0 release of the technology.

I2DE - Integrated IDE
Some integrated development environments (IDE) are more integrated than others. Oracle JDeveloper is much more than a Java programming tool. Integrated into its core Java IDE are a host of other IDEs such as:

  • XML development - visual editors for XSD, XSLT, XQuery, WSDL, and support for debugging XSLT
  • Web development - visual editors for CSS, as well as WYSIWYG editors for HTML, JSP, JSF (pages and config) and ADF Faces (a k a Apache MyFaces Trinidad), Struts (config) and Applets and an HTTP Analyzer for analysis of the packets sent across the wire for Web Services and Web applications
  • J2EE development - wizards for EJB, Web Services, and the built-in OC4J Application Server to deploy J2EE artifacts quickly, as well as very easy remote debugging of both Web and J2EE applications. JDeveloper also provides an IDE for Oracle TopLink - one of the premium tools for object-relational mapping
  • Database development - editors and diagrammers for tables, database browsers, SQL worksheets, data viewer for all JDBC-powered databases as well as programming and debugging support for PL/SQL - the Oracle database's stored procedural language
  • UML modeling - diagrammers for activity, class (with code synchronization), sequence and use case diagrams
  • Integration - visual modeling, testing. and deploying Web Services, BPEL processes, and ESB services
These various IDEs work together and are blended in the overall IDE. Together they share connections (database, application server, UDDI, WebDAV), a project definition with path-setup, library associations, and deployment profiles. Generic tools include a property palette, a structure window, debugger, and a task manager. JDeveloper integrates with various application servers - WebLogic, Tomcat, JBoss, OC4J, and Oracle Application Server for one-click deployment, and also provides powerful Ant integration (see Figure 2).

Check for Updates/Extensions
No matter how rich an IDE may be it's never complete out-of-the-box. Like other IDEs, Oracle JDeveloper has an automated mechanism for installing extensions - the JDeveloper term for what other IDEs call plug-ins - that's also used in updating the IDE itself with patches and service updates.

However, there's obviously only a limited set of extensions available for Oracle JDeveloper, since most of the functionality is already built-in and pre-integrated. While that may mean a little less choice, it most certainly saves a lot of time and money otherwise spent on acquiring the collection of plug-ins offering the same functionality only to find them far less well integrated than one would hope for.

Some useful extensions - that you might have expected to come pre-integrated - include unit testing with JUnit and support for AspectJ and Subversion.

Installing and upgrading extensions is effortless; however, downgrading or de-installing extensions requires developers to disable the extension and remove the archive from the file system.

Oracle Frameworks for Productive Java Development
Oracle JDeveloper is frequently known for its built-in frameworks, such as ADF Business Components - a SQL-oriented framework for mapping between Java applications and relational databases - and ADF Model - a data-binding infrastructure based on JSR-227. While these frameworks can add tremendous productivity, such as the drag-and-drop development of a database-bound JSF application, they are often regarded with some suspicion, because people see them as too proprietary and closed.

Every organization needs to make its own judgment about using these frameworks. They should take into account that these frameworks lower the barrier considerably for doing (productive) J2EE development, allowing less-experienced developers to make substantial contributions to development efforts. Furthermore, Oracle is using these frameworks to develop Fusion Applications, virtually guaranteeing their continued support and enhancement. Applications developed with these frameworks are J2EE-compliant and can be installed on various application servers.

Conclusion
The new 10.1.3.1 release of Oracle JDeveloper has a lot to offer with functionality that extends far beyond what one would normally expect from a Java IDE. One of its key strengths is its out-of-the-box richness, comprehensive feature set, and tight integration. No need for searching, acquiring, and installing a lot of plug-ins.

In the past there's been a lot of prejudice concerning Oracle JDeveloper: not being suitable for Plain Old Java development, only supporting proprietary Oracle development, being too expensive, etc. However, Oracle JDeveloper 10.1.3.1 is free, allows - but by no means necessitates - using Oracle-specific frameworks, and has scores and scores of features that even the most hardcore Java programmer will appreciate. Support for SOA, XML, Web, database, UML, and J2EE is an added bonus.

If you haven't looked at Oracle JDeveloper in a while, you'll definitely want to take a second look now. Installation only takes unzipping an archive. Oracle JDeveloper 10.1.3.1 is free and available for download at: http://oracle.com/technology//jdev.

More Stories By Lucas Jellema

Lucas Jellema (Oracle ACE) is CTO at AMIS, an Oracle, Java and SOA Technology Consulting firm based in Nieuwegein, The Netherlands. Apart from being a technical architect and workshop instructor, he is a regular presenter at international conferences on topics such as BPEL, EJB 3.0, AJAX and Java Server Faces, Oracle’s ADF (Application Development Framework) and productive application development in general.

Comments (2)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...