J2EE and Web Services Support
Oracle JDeveloper 10g offers the features you’d expect from a good J2EE development IDE, but it also delivers many niceties not found in other tools.
For EJB development it offers a slew of wizards that help you easily accomplish common tasks. For example, Entity Beans can be created based on existing database tables. You can control all sorts of configurations in these wizards, such as CMP, BMP, relations between Entity Beans, EJB references, and EJB local references. Experienced developers will enjoy how quickly they can build these complex components, while newcomers to J2EE will appreciate the ease of use. Optionally, you can create EJBs with the corresponding UML profiles in the UML editor.
|Figure 4. The WYSIWYG JSP-Editor: The image shows the WYSIWYG JSP-Editor.|
New Web services functionality in Oracle JDeveloper 10g is especially remarkable. It can generate almost every artifact used in Web serviceseven a standard Java class or a PL/SQL stored procedure can be converted to a Web service with just a few clicks.
Another highlight is the integrated J2EE container. Usually, a servlet, an EJB, or an entire Web application must be first packed and deployed into a Web server or application before you can test it; Oracle JDeveloper 10g lets you simply click "RUN" on such a component. Internally, the embedded Oracle J2EE container is configured so that the current project is started as a Web application. For example, once started, the servlet waits for an incoming request. With Oracle JDeveloper 10g, you don’t even have to start a browser; the program does it for you, automatically calling the correct URL to talk to the servlet. This feature significantly shortens development cycles and creates much more fluid working procedures.
Once you complete your application, it must be deployed into a production container: Oracle JDeveloper 10g supports this task with handy wizards that, once configured, let you deploy with one click. One-click deployment is supported for Oracle Application Server, JBoss, BEA WebLogic, and Tomcat.
Oracle Application Development Framework (ADF)
Since the first release of Oracle JDeveloper, Oracle has integrated its J2EE frameworks into the IDE. The new Oracle Application Development Framework (Oracle ADF), in Oracle JDeveloper 10g, is an end-to-end J2EE framework designed to increase developer’s productivity while keeping the technology choices open.
You can easily mix Oracle technologies with open source or third-party technologies through a thin binding layer, which decouples the view/controller layer from the business service layer. Binding a UI to data is now easier, offering a similar development experience as when building swing and Web UIs. (The underlying architecture has been submitted as JSR #227 to become a standard.)
Some of the ADF features are an evolution and consolidation of features available in previous releases of JDeveloper like ADF Business Components, ADF UIX, and ADF JClient. But the framework also integrate Struts, Toplink , EJBs, and Web services now.
The most interesting features of ADF are:
- UML tools for modelling and generating business logic.
- Visual editors for designing user interfaces (rich client and thin client).
- Page-flow modelling of Web pages (using the Struts visual modeller).
- Drag-and-drop data binding for user interfaces.
Let's look at the frameworks that together with Struts create the most declarative technology stack combination in Oracle Jdeveloper 10g.
ADF Business Components: The ADF Business Components framework is a pure J2EE framework, relying on Java and XML technologies. It takes the task of object-relational mapping and encapsulates the business logic for an application. It’s built in several tiers: the lowest level is the Entity Objects, which maps 1:1 to tables or views in the database. On the base of the entity objects you build View Objects, which encapsulate the SQL statements and can create Entity Objects from returning the result set. View Objects can be linked to each other via View Links and are grouped in Application Modules on a use-case basis.
One of the strengths of this framework lies within the delivery of completely implemented complex J2EE design patterns, which are implicitly used by ADF Business Components without developer input. Click here for further details.
Oracle ADF has built-in support for using TopLink, EJBs, Web services, or Javabeans as a persistence solution, in addition or instead of the ADF Business Components.
UIX (User Interface XML): UIX is an extensible J2EE framework for developing Web UIs for enterprise applications. Based on the MVC design pattern, it provides a flexible development platform for not only classic HTML UIs, but also for modern clients like PDAs and smart phones.
UIX is used to generate dynamic HTML content, but it can also control page flow. UIX doesn't restrict you to use BC4J as a persistence framework; you can use any other middle-tier framework such as EJBs or Hibernate. One advantage of UIX is that it provides a very large number of beans, which can present data from a business service in different and complex ways with layout managers (known from Swing programming).
JClient: The JClient framework, which is used for Swing clients, offers a comfortable solution for coupling the model of a swing component to a BC4J View Object. This works from within the visual UI editor, which makes it easy to develop simple forms with data binding.
Something For Everyone
Oracle JDeveloper 10g offers an extremely capable Java development environment which does not have to hide behind other modern IDEs. In addition to the typical features found in modern Java IDEs, it supports J2EE beginners with wizards wherever possible, a 4GL way of developing applications, and ready-to-use frameworks. Experienced developers will enjoy a wide variety of one-click code artefacts, comfortable editors, embedded tools, and robust J2EE frameworks, all of which can greatly boost productivity. If you already have an Oracle database in the backend, Oracle JDeveloper 10g surely should get on the top of your shortlist. But also for applications in a non-Oracle environment, Oracle Jdeveloper 10g is an interesting contestant.