Oracle SOA Suite œ JDeveloper, Application Development Framework, TopLink Develop Flexible, Adaptable, Service-Oriented Applications

Oracle SOA Suite œ JDeveloper, Develop Flexible, Adaptable Service 1 ADF, and TopLink Oriented Applications

EXECUTIVE OVERVIEW Changing markets, increasing competitive pressures, and evolving customer needs are placing pressure on IT to deliver greater flexibility and speed. In response to these challenges, leading companies are adopting service-oriented architecture (SOA) as a means of delivering on these requirements by overcoming the complexity of their application and IT environments. SOA represents a fundamental shift in the way new applications are designed, developed, and integrated with legacy business applications, and facilitates the development of enterprise applications as modular business services that can be easily integrated and reused. In order to rapidly build portable applications to SOA, you need an integrated services environment (ISE) and a service-oriented application framework. Oracle JDeveloper, Oracle Application Development Framework (Oracle ADF), and Oracle TopLink are development components of Oracle SOA Suite that together form a comprehensive ISE to develop, compose, and orchestrate services into business processes that can be deployed, registered, and consumed from several types of user interfaces, including desktop clients, browsers, and mobile and telnet devices. Oracle SOA Suite is a standards-based best-of-breed suite that enables you to build service- oriented applications and deploy them to your choice of middleware platform. It consists of (i) an integrated service environment (ISE) to develop services; (ii) a multi-protocol Enterprise Service Bus (ESB) to integrate applications; (iii) a services registry for discovering and managing the lifecycle of services; (iv) a BPEL-based orchestration engine to tie services into business processes; (v) a business rules engine to enable business policies to be captured and automated; (vi) a Web Services management and security solution to enforce authentication and authorization policies on services and to monitor services and processes for compliance to SLAs; (vii) a Business Activity Monitoring (BAM) solution to gain real- time visibility into business entities and their interactions, and a means to enable automated actions to be performed; and (viii) an enterprise portal for employees, customers, and partners to access content, access relevance performance metrics, collaborate and take actions via interaction with business processes. Oracle SOA Suite can help you achieve greater organizational flexibility better than any other solution in the market. It can reduce your costs and middleware complexity better than any other solution. Finally, it can help you achieve the best total value of opportunity.

2

INTRODUCTION Today, every organization is faced with the need to predict changes in the global business environment, to rapidly respond to competitors, and to best exploit organizational assets to prepare for growth. Your enterprise application infrastructure can either help you meet these business imperatives or it can impede your ability to change. To help you, your infrastructure must: • Improve your ability to predict and respond to change • Enhance organizational productivity • Simplify your information technology environment • Leverage existing investments In order to deliver on these requirements and overcome the complexity of their IT environments, leading companies are adopting service-oriented architecture (SOA). SOA represents a fundamental shift in the way new applications are designed, developed, and integrated with legacy business applications, and facilitates the development of enterprise applications as modular business services that can be easily integrated and reused. As SOA is evolving from being a best practice for the few to being the common practice for the mainstream, new ISEs are emerging. An ISE is a suite of integrated development tools and technologies for building SOA and composite applications. ISEs are producer platforms for creating services. Oracle JDeveloper is an ISE that enables developers to model, create, discover, assemble, orchestrate, test, deploy, and maintain composite applications based on services. JDeveloper supports SOA principles and XML Web Services standards, as well as traditional , J2EE, and PL/SQL component and modular code mechanisms. Oracle ADF is an SOA framework that automates and manages business and data services and provides a standard data- and service-binding layer based on JSR 227 that can be used with process flows, page flows, and service invocations. Oracle ADF also implements SOA design practices, and makes user interfaces as loosely coupled as services themselves. Oracle TopLink is a data services framework that allows access to relational and XML data. Oracle TopLink and Oracle ADF frameworks simplify creation of business and data services that can be invoked from rich Web interfaces of service-oriented applications. Oracle JDeveloper, Oracle ADF, and Oracle TopLink together provide a comprehensive integrated services environment and framework that allows developers to use the Oracle Fusion Architecture to build model-driven applications, services, and business processes, which can then be deployed and registered into or other middleware platforms. Oracle SOA Suite is a standards-based best –of--breed suite that enables you to build service- oriented application and deploy them to your choice of middleware platform. It consists of: 1. An integrated service environment (ISE) to develop services 2. A multi-protocol Enterprise Service Bus (ESB) to integrate applications Oracle SOA Suite œ JDeveloper, Develop Flexible, Adaptable Service 3 ADF, and TopLink Oriented Applications

3. A services registry for discovering and managing the lifecycle of services 4. A BPEL-based orchestration engine to tie services into business processes 5. A business rules engine to enable business policies to be captured and automated 6. Web Services management and security solution to enforce authentication and authorization policies on services and to monitor services and processes for compliance to SLAs 7. A Business Activity Monitoring (BAM) solution to gain real-time visibility into business entities and their interactions, and a means to enable automated actions to be performed 8. An enterprise portal for employees, customers and partners to access content, access relevance performance metrics, collaborate and take actions via interaction with business processes. This paper outlines how Oracle JDeveloper, Oracle ADF, and Oracle TopLink provide an ISE for building service-oriented applications.

BUSINESS NEEDS SOA isn’t just hype: it is quickly becoming the de facto software architecture for many IT organizations. Industry pundits say that by 2008, SOA will be the prevailing software engineering practice in the enterprise—ending the 40-year reign of the monolithic software architecture. Organizations plan to adopt (or have already adopted) SOA as a preferred architecture to meet the following needs:

Improve your ability to predict and respond to change

"Modern applications are more powerful Organizations can better predict and respond to changes by and agile, but also bring in complexity. improving visibility into business events, by enabling you to Integrated services environments like develop and roll out new business services quickly; by Oracle JDeveloper level the playing field modernizing your legacy systems and applications, and by by providing capabilities to build model helping you to optimize business processes in response to driven applications and business market dynamics. processes productively." Oracle JDeveloper is a comprehensive ISE that provides a rich - Jeremy Bolie, Development Manager set of facilitates to improve your organization’s ability to predict Qualcomm and respond to changing market forces. Developers can create, compose, orchestrate, deploy, and secure services. JDeveloper also provides the ability to wrap legacy systems and access business applications using Web Services. 4

Enhance organizational productivity —Adopting JDeveloper and Oracle ADF framework in our Organizations want to simplify application and service development, to facilitate employees development cycle has and customers with the information they need when and where they need it, and also to accelerated the actual coding of improve their global competitive position. projects and allowed us to concentrate on the upfront Oracle SOA Suite provides an easy-to-use ISE to reduce the complexity in the technology business challenge that faces stack. JDeveloper, Oracle ADF, and TopLink allow you to improve on-time project delivery, the organization .“ to maximize developer efficiency by reducing time spent on development, to lower training time by making service-oriented development easier, and to improve productivity without - Les Morton, Project Team compromising choice. Leader Associated Wholesales Inc Simplify your information technology environment Sept - 2005. Developing SOA applications typically involves a wide variety of tools that cater to different aspects of service-oriented development. The use of multiple tools results in fragmentation of standard development approaches, continuous steep learning curve for getting started with different tools, and increased total cost of ownership for the development environment. You can simplify the development environment by having a single cohesive ISE. Oracle JDeveloper with its standards-based and comprehensive feature set provides complete lifecycle development facilities for service-oriented applications including modeling, generation, develop, compile, debug, run, deploy, and register from a single unified ISE.

Leverage existing investments Organizations can leverage existing investments by being modular, open, and extensible to allow you to adopt them in a heterogeneous environment without needing to remove or replace your existing systems. Organizations use a wide variety of technologies (EJB, TopLink, Java classes, Web Services, XML, Struts, Java Server Faces (JSF), and other open source frameworks) to build applications and services. Organizations also frequently employ a diverse set of developers: application architects, business developers, core developers, and so on. Organizations want both to protect their investment in earlier and current technologies and to reuse wide range of developer skills at their disposal. Oracle JDeveloper, Oracle ADF and Oracle TopLink support the latest Java, XML and Web Services standards to provide a single cohesive development environment that is extensible and supports heterogeneous environment.

ORACLE JDEVELOPER OVERVIEW Oracle JDeveloper is the industry’s most comprehensive and cohesive integrated services environment for developing services, business process, and applications using the latest industry standards for Java, J2EE, SQL, XML, and Web Services. Oracle JDeveloper supports the complete development life cycle for service-oriented applications, with integrated features for modeling, coding, debugging, testing, profiling, tuning, deploying, and registering services, applications, and business processes. Enterprise Java Beans (EJB) 3.0 and Java Server Faces (JSF) are two of the cornerstone technologies for the next generation of enterprise Java. EJB 3.0 provides simple code Oracle SOA Suite œ JDeveloper, Develop Flexible, Adaptable Service 5 ADF, and TopLink Oriented Applications

annotations and standard persistence model to build backend business logic. JSF provides a loosely coupled and reusable component model where the same components can be rendered on multiple types of devices (browser, telnet, mobile). JSF also provides rich eventing model, and navigation model that results in building sophisticated user interfaces. These two technologies simplify the complexity of J2EE development, and serve as the building blocks both for business services and rich SOA Web interfaces. Oracle JDeveloper facilitates development of backend applications and services using Enterprise Java Beans (EJB) 3.0, and it facilitates development of highly sophisticated user interfaces using the JSF reusable component model that can be rendered on different types of devices. Oracle ADF provides a 100% industry standards–based SOA development framework built —[Oracle ADF] makes JDeveloper more on the Model-View-Controller design pattern to dramatically improve developer productivity. attractive to people who are mainstream It combines visual and declarative development capabilities with prebuilt runtime libraries developers. By reducing complexity and that implement service design practices, making development accessible to developers who automating development steps, may not be experts with service-oriented design practices. Oracle ADF facilitates loose JDeveloper 10g will help developers œ coupling between user interfaces and backend systems, so that the developer doesn’t have to even those with little experience with learn multiple adapter APIs to bind the data coming from different backend systems, services, Java coding -- build more enterprise- class J2EE software and Web and business process. Oracle ADF is based on the JSR 227 industry standard. Oracle ADF Services.“ also includes ADF Faces —a set of JSF components that developers can use to declaratively define sophisticated user interfaces with rich functionality using JSF architecture. -IDC, —Oracle‘s Application Oracle TopLink, the industry-leading Java object-to-relational and Java object-to-XML Development Framework Delivers persistence architecture, provides a highly flexible and productive mechanism for storing Java Productivity and Choice of Methodology objects and EJB in relational database tables or for mapping them to XML documents. in One Development Environment“ Oracle TopLink and Oracle ADF provide design-time and runtime support for EJB 3.0 and JSF as well.

USE CASES Service-oriented application development essentially consists of following tasks: • Creating services • Orchestrating services • Binding user interfaces to services Oracle JDeveloper, Oracle ADF, and Oracle TopLink are built and designed to optimize these development tasks and to facilitate service-oriented application development.

Creating Services Oracle JDeveloper provides a comprehensive design time to create Web Services either in top-down or bottom-up fashion. Developers can expose and publish a wide variety of existing Java applications, J2EE components such as EJB, Java Message Service (JMS) destinations (Queues or Topics), and PL/SQL packages as Web Services from the bottomup. Developers can also generate a service from an existing WSDL that models a business process and use the XML schema editor (Figure 1) and the WSDL editor (Figure 2) to 6

productively develop top-down assembly style of Web Services. JDeveloper also provides adapters based on Java Connector Architecture (JCA) that facilitate access to messages in the file system using file transfer protocol, that send and receive messages from Oracle Advance Queuing or standard JMS based message systems, and expose that business functionality in Oracle E-Business Suite as standard Web Services.

Figure 1: XML Schema Editor

Figure 2: WSDL Editor

Oracle SOA Suite œ JDeveloper, Develop Flexible, Adaptable Service 7 ADF, and TopLink Oriented Applications

Orchestrating Services Web Services orchestration means creating a multistep business "We have found Oracle JDeveloper process that invokes one or more Services as part of executing with BPEL Designer to be an integrated and complete services the process and work flow. Oracle JDeveloper allows you to environment, where we model, model business process definitions in a graphical modeling generate, assemble and orchestrate environment (Figure 3) that will generate business process business processes ." definitions that are portable and interoperable in a heterogeneous environment, based on the BPEL4WS (Business - Jeremy Bolie, Development Manager Process Execution Language for Web Services) standard. Qualcomm

Figure 3: BPEL Designer

Oracle JDeveloper doesn’t just stop at modeling business processes — it also provides the design time that facilitates orchestrating legacy systems, business applications, and messaging systems using Web Services Invocation Framework (WSIF) to maximize business applications connectivity. 8

Binding User Interfaces to Services SOA requires not only a standard way to create and expose loosely coupled services, but also a means to bind the data from these services into several types of user interfaces, including desktop clients, browsers, and mobile and telnet devices. Oracle is working with the Java community to deliver a new specification (JSR- 227) within the (JCP) that defines a standard dynamic framework optimized for an SOA. Oracle ADF is an implementation of JSR-227 that specifies a declarative framework which greatly improves developer productivity when binding a user interface to services. It defines a way to abstract bindings between business tier and view/controller layers. Abstraction to backend services such as BPEL processes, EJB applications, Web Services, the Java object model, standard Java Classes is done using two artifacts: data controls and data bindings. Data bindings serve as lightweight objects that can be used to bind the data coming from backend systems and services onto the UI components of the view layer. Data controls serve as a service-oriented interface with information about data collections and service methods. Data controls and Data bindings together provide a loosely coupled and reusable architecture where different types of user interfaces can talk to heterogeneous backend services (See Figure 4).

Figure 4: Oracle ADF

Oracle JDeveloper comes nicely integrated with the Oracle ADF design time and runtime to simplify application and services development. Developers can simply drag and drop a component or service into the Data Control Palette of JDeveloper (Figure 5) to abstract it out as a loosely coupled service that can be used from any type of user interface. Oracle SOA Suite œ JDeveloper, Develop Flexible, Adaptable Service 9 ADF, and TopLink Oriented Applications

Figure 5: Data Control Palette

Developers are also able to create JSF page flow diagrams, which allows visualizing the navigation between Web pages and individual JSF pages with the rich set of ADF Faces components that come with JDeveloper using simple operations. These JSF pages can be easily wired to backend business logic or services using data and methods exposed via the Data Control Palette with simple drag and drop operations and property editors.

NEW FEATURES IN ORACLE JDEVELOPER 10G R3 Many new features of Oracle JDeveloper 10 g R3 make service-oriented application development much more productive and seamless.

Creating Services Oracle JDeveloper provides full support for developing new services and consuming services. Oracle JDeveloper supports developing J2EE 1.4 – compliant Web Services, with the ability to create JAX-RPC clients and services. JDeveloper provides a visual WSDL editor for easier WSDL creation and support to define advance properties definitions for WS-Security, WS- Reliability, and WS-Management. JDeveloper also supports the Web Services Interoperability standards, and provides the capability to verify that Web Services conform to the WS-I standard. JDeveloper provides support to wrap existing Java, EJB, Java Message Service (JMS), and enterprise applications connected via Java Connector Architecture (JCA) adapters as services that can be invoked natively using WSIF bindings. JDeveloper comes with support for UDDI, which includes deployment of Web Services to UDDI repositories of UDDI V2 and UDDI V3, a UDDI browser, and the ability to generate code stubs that invoke Web Services. 10

Creating Business Services and User Interfaces Oracle JDeveloper provides full support for EJB 3.0 that simplifies backend business logic and persistence mapping. New wizards generate EJB 3.0 components, and property editors support the incremental development of business methods and mapping annotations. Oracle JDeveloper provides full support for building Web applications using JSF. JDeveloper provides several tools such as visual UI component editing via JSF WYSIWYG editors, drag-and- drop capabilities for JSF components onto pages, and, visual diagrammer for rapid development of JSF navigation. These visual tools also support Oracle ADF components.

Binding User Interfaces to Services Services can be used in Oracle ADF to facilitate binding user interfaces to data sources and services. Oracle JDeveloper comes with design-time support for Oracle ADF that includes support for drag-and-drop attributes, collections and operations from the Data Control Palette that is exposing backend business systems, and for services and business process. JDeveloper also supports databinding for ADF Faces components to backend business services and business process.

Full Life Cycle Support Oracle JDeveloper supports all the development stages of application and service development, including modeling, debugging, testing, profiling, optimizing, and deploying applications. JDeveloper also provides integration with popular source management systems.

Team Development Oracle JDeveloper keeps track of file versions and allows developers to visually inspect the differences between file versions and to update the files as needed. JDeveloper also integrates with software configuration tools to manage code lifecycle and enable team development, and offers out-of-box support for open source CVS, Rational ClearCase, Serena Dimension, and Perforce. Developers can add and remove files from the repository, manage version history, check files in and out, lock and compare file versions. JDeveloper also offers WebDAV support for sharing files over the HTTP protocol.

Deployment Oracle JDeveloper simplifies deployment to J2EE servers. Its dialogs provide a declarative way of creating deployment descriptors for applications. Its packaging wizards create standard WAR, EAR, JAR, and RAR files for projects. These standard files can then be deployed to any J2EE- compliant application server. JDeveloper supports one-click deployment directly from the IDE into a J2EE container for Oracle Application Server, BEA WebLogic, JBoss, and . JDeveloper also supports one click deployment to BPEL-based business processes. And it integrates with the open source Ant build tool into the IDE

WHY ORACLE? Oracle SOA Suite is the only comprehensive and integrated SOA suite in the industry. While other vendors claim to have similar platforms, Oracle SOA Suite provides several unique Oracle SOA Suite œ JDeveloper, Develop Flexible, Adaptable Service 11 ADF, and TopLink Oriented Applications

differentiators in developing flexible, adaptable, service-oriented applications with its development components: Oracle JDeveloper, Oracle ADF, and Oracle TopLink.

Realize Greater Organizational Flexibility Oracle JDeveloper can help you achieve greater organizational flexibility better than any other solution in the market. • Service-Oriented Applications – Oracle JDeveloper enables rapid development of service-oriented applications that can be deployed and managed on a robust SOA platform. It also allows you to wrap existing applications and legacy systems as services without rewriting them. • Business Process Optimization – Oracle JDeveloper facilitates development of business processes that can be sensor-enabled to emit business events that can be captured and used to optimize your business processes.

Eliminate Middleware Complexity Oracle JDeveloper, Oracle ADF and Oracle TopLink can reduce your development costs and middleware complexity better than any solution available from any other vendor. It is the industry’s only single, unified ISE and most productive service-oriented framework. They differ from the other solutions in the following areas: • Single Development Framework – Oracle JDeveloper is the only ISE that provides a single integrated design time-environment to develop enterprise applications, to compose Web Services, to create enterprise portals, and to orchestrate business processes. You learn one tool to target the entire platform. • Single Deployment Model – Oracle JDeveloper provides a common deployment model that allows packaging and assembling of all types of applications, components, services, and business processes. Developers can iteratively develop applications and services and spend less time packaging and deploying those applications. • Single Metadata System – Oracle JDeveloper and Oracle ADF leverage a common metadata system across all components, speeding up application development and leading to more maintainable applications.

Achieve Best Total Value of Opportunity Oracle JDeveloper can help you achieve the best total value of opportunity. • Develop and Deploy Applications Faster – As the market’s only integrated SOA Suite, Oracle SOA Suite greatly reduces the overall cost of architecting, developing, deploying, and managing applications. Applications are built faster, they can be put into production sooner, and their associated benefits can be realized sooner. You save money, and you can more quickly reassign software engineers and R&D funds to other projects. 12

Oracle SOA Suite can help you achieve the best total value of opportunity by reducing your development costs, by reducing your deployment costs, and by reducing ongoing maintenance costs, thus providing you with the fastest return on your investment.

CUSTOMER PROOFPOINTS

Infomedics Infomedics, based in Amsterdam, Netherlands, was founded in 2001 and has developed an innovative infrastructure that streamlines the interaction between health care providers and health insurance companies. Infomedics acts as a clearinghouse between private "Our Web services enable companies doctors/dentists/hospitals and insurance companies, simplifying the process of validating that are interested in interacting with patients' insurance details and financial transactions. Infomedics to do so in an easy and standard way," said Rietberg. Infomedics's system offers both a portal and a Web Services interface for seamless Infomedics also consumes external integration. End users employ the portal interface to easily access the system over the Web, Web services, including .NET Web and back-office systems use Web Services to connect with Infomedics's application. To services, for various operations such as ensure customer satisfaction, the company must provide a system that is readily accessible but ex-ante checks. "Because Oracle also secure. supports and implements Web services standards," Rietberg added, "we were Infomedics evaluated several solutions and chose Oracle because of the completeness, able to easily integrate with Web reliability, and openness of the Oracle offering. "Oracle had a complete and integrated services from various vendors." solution for our development and deployment needs, including Oracle Application Server, a

- Adrian Reitberg, Chief Operating complete application server solution, and Oracle JDeveloper, a productive Java and Web Officer Services development tool. Infomedics Infomedics provides two interfaces to its core application. The first interface is a Web-based portal. Oracle Consulting developed a customized Java application using Oracle JDeveloper and its associated J2EE frameworks. The second interface to Infomedics's system uses Web Services to enable seamless integration between the company's application and external applications. Two models, with 15 Web services in each, were developed in Java using the advanced Web Services capabilities of Oracle JDeveloper.

Associated Wholesalers Inc Associated Wholesalers Inc. (AWI) is a cooperative food distributor organized to provide flexible distribution and retail services that promote the growth and profitability of its member retailers. Their flexible distribution programs gives AWI the ability to service convenience stores, supermarkets and superettes with grocery, dairy, meat, produce, general merchandise and frozen food products. AWI's retailer services include insurance programs, computer systems (including hardware and software) store development, merchandising, advertising, customer service, retail accounting, store equipment and store counseling. These services are fee-based and offered through the cooperative on a not-for-profit basis, giving their members the highest quality of services available to a chain at the lowest possible cost.

Oracle SOA Suite œ JDeveloper, Develop Flexible, Adaptable Service 13 ADF, and TopLink Oriented Applications

Over the last two years or so AWI have moved from an essentially mainframe-based IT model to embrace a more service-oriented approach using a combination of web- and Swing- based applications that are underpinned by a central order processing system built using EJB 2.1 against a backend database.

The web-based systems have all been developed using JSP and Struts, with the Oracle ADF framework supplying the model and business service layer. The Swing-based applications also utilize Oracle ADF and have been developed for offline applications that support the large number of retail and distribution tradeshows that AWI are involved in each year.

AWI evaluated a number of possible solutions for these projects and selected Oracle ADF because of its completeness and use of recognized and proven design patterns. Les Morton, Project Director, comments "AWI was a mainframe-based shop. We decided to go down the track of adopting a service oriented architecture and chose the Oracle ADF framework because it implemented the best practices and design patterns for this type of development, so I didn’t have to worry about determining whether we were doing it the right way. "

CONCLUSION Changing markets, increasing competitive pressures, and evolving customer needs are placing greater pressure on IT to deliver greater flexibility and speed. Organizations are looking at enterprise application infrastructure to (i) improve their ability to predict and respond to change(ii) enhance organizational productivity iii) simplify your information technology environment and(iv) leverage existing investments. In order to deliver on these requirements and overcome the complexity of their IT environments, leading companies are adopting service-oriented architecture (SOA). SOA represents a fundamental shift in the way new applications are designed, developed, and integrated with legacy business applications, and facilitates the development of enterprise applications as modular business services that can be easily integrated and reused. Oracle JDeveloper, Oracle Application Development Framework (Oracle ADF), and Oracle TopLink are development components of Oracle SOA Suite that together form a comprehensive ISE to develop, compose, and orchestrate services into business processes that can be deployed, registered, and consumed from several types of user interfaces, including desktop clients, browsers, and mobile and telnet devices.