Oracle's Commitment to the Eclipse Community
Total Page:16
File Type:pdf, Size:1020Kb
Oracle’s Commitment to the Eclipse Community An Oracle White Paper March 2007 INTRODUCTION Eclipse has gained strong market adoption for core Java development and is adding support for other languages as well. It enjoys great popularity, in part because it’s free, but also due to its extensibility via plug-ins and the strong ecosystem around it. The advent of emerging trends and technologies like Web 2.0 and SOA amplified the need for an integrated and comprehensive Java IDE that provides pre- packaged and tested support for all major Java EE 5 and Web services standards. Oracle’s tools vision is “productivity with choice”. This means making application development for the Oracle platform as easy as possible regardless of what toolset developers employ be it Oracle JDeveloper or Eclipse. Oracle’s JDeveloper provides a great out-of-the box user experience and dramatically increases productivity for building Java Enterprise Edition (Java EE) and SOA based applications. For various reasons, some Oracle customers elect to use Eclipse for Java development. We believe those users should get similar productivity that other Oracle users are already enjoying with JDeveloper. That’s why Oracle chose to join the Eclipse Foundation as a Strategic Developer and Board Member, and contribute world class talent to lead a variety of Eclipse projects and address its customers' needs. EVOLVING REQUIREMENTS Three major enterprise computing trends are coming together to form a new platform for application development. These trends are Java EE 5, Service Oriented Architecture (SOA), and Web 2.0. Today, end users expect highly interactive user interfaces with real-time updates and desktop-like capabilities. Oracle believes the solution here is bringing together the power of the JavaServer Faces component model and the interactivity of Ajax Java EE 5, Service Oriented (Asynchronous JavaScript and XML). Application developers simply wire together Architecture (SOA), and Web 2.0 are reusable standards-based UI components while transparently getting the key trends that will form the basis for interactivity and the great user experience that Ajax clients offer. the next application platform. Developers are also looking for ways to build modular and sophisticated business logic that leverages their enterprise data. Java EE 5 addresses these needs with the new EJB 3.0 standard that includes the Java Persistence API specification (JPA). Java EE 5 provides a powerful yet simple component model along with a persistence API based on proven open source and commercial object-relational mapping technologies like Oracle TopLink. As applications are exposed as services, developers need to declaratively integrate and orchestrate these services into much more flexible business processes that can be rapidly changed. Here, SOA and technologies like Web services, Enterprise Service Bus (ESB) and Business Process Execution Language (BPEL) promise to improve the productivity of application developers in building composite applications. Oracle’s Commitment to the Eclipse Community Page 2 STANDARDS JavaServer Faces is a Java-based web development framework that is part of Java EE 5 and comes with a set of APIs for representing user interface (UI) components, managing their state, event handling, input validation, defining page navigation, and other features like internationalization and accessibility. JSF also provides a flexible rendering architecture that separates the component behavior from the presentation. Oracle’s commitment to JSF and Ajax is reflected in its participation in the JSF expert group and current involvement in defining various specifications, including JSR-252. Oracle is also actively involved in helping to shape the future of Ajax by contributing to the OpenAjax Alliance. As part of its commitment to JSF, Oracle donated more than 100 JSF-based components along with a personalization framework to Apache’s MyFaces project—this donation is known as Apache Trinidad. And earlier this year at JavaOne, Oracle announced it is working with the open source community to expand its initial donation to more Ajax-enabled components. Another key standard is Enterprise JavaBeans (EJB) 3.0. Enterprise JavaBeans is the server-side component architecture for Java EE 5. EJB 3.0 enables rapid and simplified development of distributed, transactional, secure and portable applications based on Java technology. Two of the most significant improvements in the EJB 3.0 specification are the use of the program annotation facility introduced in Java 5 and the new specification for object-relational (O/R) mapping called the Java Persistence API (JPA). JPA is the standard API for the management of objects persisted in a relational database. JPA defines a way to map plain old Java objects (POJOs) to relational databases. This means you can use JPA to store the Java objects you write without having to subclass a JPA-provided class or implement any JPA interfaces. In addition to co-leading the EJB 3.0 specification, Oracle supplied TopLink Essentials as the reference implementation of the Java Persistence API (JPA) to the Java Community Process (JCP) as well as project Glassfish, Sun’s open source Java EE 5 application server. TopLink Essentials is also included in the Spring Framework 2.0 distribution. Business Process Execution Language (BPEL), which is an OASIS standard, is a Web services orchestration language that provides facilities to enable sending and receiving XML messages. BPEL provides support for a property-based message correlation mechanism, XML and WSDL typed variables, XPath to allow writing expressions and queries, structured-programming constructs including if-then- elseif-else, while, sequence (to enable executing commands in order) and flow (to enable executing commands in parallel), a scoping system to allow the encapsulation of logic with local variables, fault-handlers, compensation-handlers, and event-handlers. New features in BPEL 2.0 include new activity types (if-then- else, repeatUntil, validate, forEach, extensionActivity), completion condition in forEach activity, variable initialization, and XSLT and XPath enhancements. BPEL is perfectly suited for long-running processes, correlating requests across many in-flight business processes, or invoking Web services in parallel. It’s also a Oracle’s Commitment to the Eclipse Community Page 3 particularly convenient language to declaratively undo long-running transactions in which there has been a failure, compose larger business processes out of smaller business processes, or guarantee reliable message delivery. Oracle’s Fusion Middleware includes the industry’s leading BPEL engine. ORACLE’S PRODUCT STRATEGY Oracle believes in "productivity with choice". Although Oracle’s JDeveloper is a great development environment, which offers design time capabilities for Java EE (including JSF, EJB 3.0, and JPA) as well as SOA technologies, some Oracle customers prefer using Eclipse. Oracle wants to make sure these customers get the productivity they need to deploy to Oracle Fusion Middleware. In addition, Oracle wants to ensure Eclipse provides adequate support for its middleware products (e.g., OC4J / Oracle Application Server) and the technologies that Oracle strongly believes in and wants to help have broader developer adoption. For all these reasons, Oracle founded and leads three Eclipse projects: the JSF Tools project, Dali JPA Tools, and the BPEL project. The JavaServer Faces Tools Project is part the Eclipse Web Tools Platform project and it aims to simplify development and deployment of JavaServer Faces (JSF) applications. The first preview of this project, release 0.5, with JSF 1.1 support shipped in June of 2006 simultaneously with WTP 1.5 and the coordinated Eclipse Callisto release. Support for JSF 1.2 is planned for the upcoming release of WTP 2.0 in June of 2007. The JSF Tools Project 0.5 release already allows Eclipse Modeling Framework (EMF) is a developers to edit configuration files (faces-config.xml) and define managed beans, modeling framework and code validators, converters, and navigational rules for their web application. The project generation facility for building tools has also contributed an Eclipse Modeling Framework (EMF) model of the and other applications based on a application configuration resource file and a framework called JSF Application structured data model. Oracle’s Commitment to the Eclipse Community Page 4 Configuration Manager. The JSF specification defines JSP as the default page Expression Language (EL) is a primary language. This project has enhanced the JSP editor to support JSF tags and feature of JSP technology version 2.0. semantic validation for both Expression Language (EL) and non-EL values of An expression language makes it attributes of the JSF standard core HTML tags which improves dramatically the possible to easily access application page author’s productivity. The editor performs validation as code is typed and data stored in JavaBeans components reports errors relieving users of time-consuming deploy-execute tasks to discover from a JSP page. the errors. The JSF Tools Project also comes with capabilities for registering JSF libraries and organizes them as groups of JARs as well as functionality to register servers such as Apache Tomcat or Oracle Application Server. The first release of this project has added key features to Web Tools Project (WTP) 1.5 that simplify JSF development; the next release will include highly anticipated features such as a visual