Oracle Toplink ili ADF BC?

Similar documents
This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

Java EE 7: Back-End Server Application Development

The Oracle Fusion Development Platform

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Diagnosing Production Java Applications Madhav Sathe

EclipseLink. Solutions Guide for EclipseLink Release 2.5

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

<Insert Picture Here> Building a Complex Web Application Using ADF and Siebel

Oracle Application Development Framework Overview

<Insert Picture Here> Oracle Mobile Enterprise Application Platform Overview

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Glassfish Architecture.

applications. JBoss Enterprise Application Platform

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Oracle Data Integrator 11g New Features & OBIEE Integration. Presented by: Arun K. Chaturvedi Business Intelligence Consultant/Architect

<Insert Picture Here> Java EE 7. Linda DeMichiel Java EE Platform Lead

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

PRACTICAL ADF APPLICATION DEPLOYMENT FOR FUSION MIDDLEWARE ADMINISTRATORS

<Insert Picture Here> Java EE 7: the New Cloud Platform

This presentation will provide a brief introduction to Rational Application Developer V7.5.

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Have you ever done something the long way and then

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Introduction to Sun ONE Application Server 7

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

IBM Rational Web Developer for WebSphere Software Version 6.0

JAVA/J2EE DEVELOPER RESUME

Building and Using Web Services With JDeveloper 11g

ITG Software Engineering

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

WebLogic Server: Installation and Configuration

<Insert Picture Here> Java EE 7: the New Cloud Platform

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

Developing Web Services with Eclipse

Aplicações empresariais de elevada performance com Oracle WebLogic e Coherence. Alexandre Vieira Middleware Solutions Team Leader

Reusing Existing * Java EE Applications from Oracle SOA Suite

White Paper November Technical Comparison of Perspectium Replicator vs Traditional Enterprise Service Buses

SOA REFERENCE ARCHITECTURE: WEB TIER

Learning GlassFish for Tomcat Users

Framework Adoption for Java Enterprise Application Development

Oracle SOA Suite Then and Now:

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc.

Building Web Applications, Servlets, JSP and JDBC

Cache Database: Introduction to a New Generation Database

WebSphere Training Outline

Oracle WebLogic Server 11g Administration

Exam Name: IBM InfoSphere MDM Server v9.0

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Chapter. Solve Performance Problems with FastSOA Patterns. The previous chapters described the FastSOA patterns at an architectural

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

Japan Communication India Skill Development Center

Why IBM WebSphere Application Server V8.0?

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

SharePoint 2010 Interview Questions-Architect

IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.

Glassfish, JAVA EE, Servlets, JSP, EJB

Welcome to the Force.com Developer Day

ActiveVOS Server Architecture. March 2009

WebSphere Server Administration Course

OptimalJ Foundation. PSM EJB Model. Roadmap. What is the EJB model? EJB model as a PSM model Mapping the EJB model Model elements and code generation

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

GlassFish Security. open source community experience distilled. security measures. Secure your GlassFish installation, Web applications,

End the Microsoft Access Chaos - Your simplified path to Oracle Application Express

WebLogic Server 11g Administration Handbook

SAP Web Application Server 6.30: Learning Map for Development Consultants

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Portals, Portlets & Liferay Platform

Developing Java Web Services

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

Converting Java EE Applications into OSGi Applications

Oracle SOA Suite: The Evaluation from 10g to 11g

SOA and Web Services. Larry Kramer Principal Applied Technologist June 9, A PeopleTools and Fusion perspective

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune Tel: /

João Diogo Almeida Premier Field Engineer Microsoft Corporation

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Web Services in Oracle Fusion Middleware. Raghu Kodali Consulting Product Manager & SOA Evangelist Oracle Fusion Middleware Oracle USA

Choose an IBM WebSphere Application Server configuration to suit your business needs

PROGRESS Portal Access Whitepaper

Architectural Overview

IBM WebSphere Server Administration

DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS

FEATURE MATRIX. ORACLE WEBLOGIC SERVER STANDARD EDITION 11g ORACLE WEBLOGIC SERVER ENTERPRISE EDITION 11g ORACLE WEBLOGIC SUITE 11g

Agilité des applications Java EE 6


SAP NetWeaver Opens SAP ERP world. Amedeo Prodi SAP Italia

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post

Performance Evaluation of Java Object Relational Mapping Tools

Oracle Warehouse Builder 10g

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Transcription:

Oracle Toplink ili ADF BC? Rudolf Jovanović Principal Senior Consultant Oracle Hrvatska 1

ADF Architecture Rich Clients Web and Wireless View Controller Controller Model Model (JSR 227) Business Services 2

Business Services Choices TopLink O/R Mapping and Persistence For POJO and EJB CMP EJB Web Services JavaBeans ADF Business Components SQL Driven POJO Build Your Own 3

ADF Architecture Rich Client ADF Swing JSP Web / Wireless JSF ADF Faces View Struts JSF Controller Metadata Services (MDS) ADF Bindings EJB JDBC Java Classes JCA Mobile Bindings ADF Data Control ADF Business Components TopLink Data Services JDBC Portlet Bindings Web Services WS Portlets JSR-168 WSRP XML Model (JSR 227) Business Services Relational Data XML Data Legacy Data Packaged Apps 4

JSR 227 J2EE Data Binding Data Controls Unified description of any Business Service Collections Attributes Operations Data Bindings Usages JSP Swing JSF Data Bindings Data Control EJB Web Services TopLink Java Classes Business Components Data Binding Service Business Services 5

ADF Business Components Declarative SQL based persistence Declarative, familiar approach for 4gl developers Wizards, Editors, and UML Modelers Visually design and modify declarative component settings XML-Configured, Lightweight JavaBeans ApplicationModule - Business Service Component Use as JavaBean, EJB, Web Service ViewObject - Data Access Component Performs SQL queries and coordinates with entity objects EntityObject - Business Domain Component Encapsulates business domain data and validation 6

ADF Business Components Types The Business Components framework comprises two groups of components: Business Domain components Enforce business rules Entity Objects, Entity Associations, and Custom Object types Data Model components Provide data access to client applications View Objects, View Links, and Application Modules 7

Business Domain Components Entity Objects Enforce business rules and data validation Persistence, caching Data manipulation Entity Associations Enforce relational rules between entity objects Custom Object Types (Domains) Custom objects, such as AddressType Object validation, such as EmailAddress 8

Data Model Business Components Application Modules Manage transactions Define data and methods that a client can see View Objects Provide client access to data Are collections of data for client access View Links Link View Objects for master-detail coordination 9

Business Logic Validation Client tier Middle tier Web Container EIS tier ADF Business Services Tier Controller Model ADF Application Module ADF View Object ADF Entity Object Database Client Validation Business Logic Validation Database Validation 10

What is TopLink? A scalable enterprise Java persistence solution Addressing multiple data formats/storage Relational XML Non-Relational Standards based for interoperability Implements EJB 3.0 JPA and JAXB Integrates through EJB, JCA, JTA, JDBC 11

Value of TopLink Performance and Scalability Flexible query for optimized data access Minimize transaction costs Configurable caching with clustered coordination Developer Productivity Simplified mapping using graphical editors Generation and auto-map wizards Error detection and warning during development Flexibility Support of leading databases and Java containers Java EE and Java SE 12

Proven Solution Persistence Goes Prime Time at the U.S. Department of Defense I'd say we saved 20% to 30% in development time on the server side thanks to TopLink.. the Oracle9iAS/TopLink combo performed beyond initial expectations Jim Scott, Northrop Grumman Award winning Persistence JDJ Reader s Choice JavaPro Reader s Choice JavaWorld Editor s Choice CuraGen Speeds Search for Breakthrough Drugs Using Oracle9iAS "We handle a massive amount of data at CuraGen, tracking and analyzing hundreds of thousands of experiments each day. Oracle9iAS TopLink has been a critical link in accelerating our genomic research efforts." Steve Gold, Director of Bioinformatics, CuraGen Corporation 13

Over 12 Year History 14

Where does TopLink fit? Java EE Java SE ADF Spring Framework JPA EJB 2.1 CMP/BMP JAXB EIS (JCA) TopLink Mapping Workbench Object-Relational Mapping Object-XML Mapping Oracle TopLink Packaged Apps Databases XML Data Legacy Systems 15

TopLink Capabilities Object-Relational Mapping JPA: Java Persistence API (EJB 3.0/SE) POJO in any Java container/architecture (EE/SE) EJB 2.1 CMP and BMP (OC4J) Object-XML JAXB Non-Intrusive (meet in the middle) mapping EIS mapping using JCA Resource Adapters XML mapping leveraging OXM and CCI mapping Support MQSeries, OracleAQ, Sun JCA, XML Files, 16

TopLink Object-Relational (ORM) Development Runtime Application/Service TopLink Java EE CMP/ BMP JTA TopLink Mapping Workbench Connection Pools JDBC Data Source XDB 17

TopLink ORM in an Application Presentation (JSP,Servlet,Struts,JSF, J2EE Application Web Service, ADF, Custom) Application/Service Logic (EJB Session Bean, Java Classes) Persistent Domain Model (EJB Entity Bean, JPA Entity, POJO) TopLink Session API Java Persistence API EJB 2.1 CMP/BMP TopLink Object Data Conversion Mappings Persistence Manager Query Cache TX J2EE Services CMP/ JTA BMP Connection Pools Data Source JDBC XDB 18

Key Features Metadata architecture Comprehensive visual mapping editors Advanced mapping support and flexibility Query flexibility Caching Concurrency protection Transaction support and integration Performance tuning options Application server integration 19

TopLink Design Time Mapping Editor Persistent Objects Meta Data Session XML Application Development * Map XML Schema Development 20

TopLink ORM Runtime Metadata (Map/Project, Descriptors with Mappings) Typically read from XML Platforms: Database & Server Session: Primary runtime interface Accessed through SessionFactory/SessionManager using sessions configuration (sessions.xml) Query: Requests to read or modify persistent objects Cache: Performance and Scalability optimization UnitOfWork: Transactional API for writing changes to objects 21

TopLink Query Execution SQL TopLink Stored Procedure Query Application EJB/JP QL OO (API/MW) Query By Example Cache Cache Hit? Query Framework Mappings J D B C SQL Database Objects Cache Result? Rows Object Builder 22

TopLink Caching Persistent objects cached by identity Identity == Primary Key field(s) Benefits: Avoid unnecessary database trips Avoid re-building objects from data Enables in-memory query processing Can be coordinated in clustered deployments Developer Tasks: Application specific cache configuration to optimize performance and minimize stale data Leverage locking to avoid data corruption 23

Caching Architecture Session Isolated Cache UnitOfWork TX Cache Server Shared Cache JDBC/JCA Session Bus JMS (MDB) RMI CORBA IIOP Server Shared Cache 24

Descriptor Caching Options SHARED or ISOLATED Type SOFT-WEAK, HARD-WEAK: Shared with limited quantity WEAK: Only held while used by the application FULL: Reference data held for application s life NONE: Read-only without relationships Invalidation/Expiration Time to live (ms), Fixed Time of Day, API Coordination Messaging: JMS, RMI, IIOP, CORBA, Modes: SYNC, SYNC+NEW, INVALIDATE, NONE Refresh Always Disable Cache Hits Only refresh if Newer (leverages optimistic locking field) 25

Configuring the Cache Default: objects read are cached and trusted Configuration by entity type important Volatility of data within application and through other applications Shared nature of data between application clients Configuration Parameters Cache isolation, type and size Refreshing By query (use-case) or descriptor (always) Expiry/Invalidation Cache Coordination Locking is the only way to avoid potential data corruption in concurrent write scenarios 26

Concurrency Protection: Locking Prevent data corruption!!! Java Developers think of locking at the object level Databases may need to manage locking across many applications TopLink is able to respect and participate in locks at database level Optimistic: Numeric, Timestamp, All fields, Selected fields, Changed field Pessimistic 27

Transactions Java apps typically support many clients sharing small number of db connections Ideally would like to minimize length of transaction on database Begin Txn Time Commit Txn Begin Txn Commit Txn 28

Transaction Features and Support UnitOfWork provides Java abstraction Minimizes database interactions Calculates the minimal change set at commit time (deferred write) Only the minimal DML issued Respect database integrity Orders INSERT, UPDATE and DELETE statements Unit Of Work fully supports JTA 29

Transactions and the Cache Client Acquire UnitOfWork Make Changes (Read, Update, Delete) Commit (direct or JTA) UnitOfWork Write Changes 1. Calculate minimal changes 2. Order SQL statements 3. Execute statements Cache Merge: Post TX commit 1. Merge in Shared/Isolated cache 2. Send change-set to other nodes if using coordination 30

Performance and Tuning TopLink focuses on performance and scalability Highly configurable and tunable Guiding principle: minimize and optimize database calls Enable application specific tuning No two applications are the same, TopLink allows for decisions on what specific behavior needs to be configurable depending on situation Flexibility of TopLink allows efficient business models and relational schemas to be used Leverages underlying performance tuning features Java, JDBC and the underlying database technology 31

Performance and Tuning Options Minimal Writes, Updates Just in Time reading Batch Reading, Writing Automatic change detection SQL ordering Caching policies and sizes Transformation support Parameterized SQL (binding) Existence checks Pre-allocation of sequence numbers Stored procedures Cache Coordination Statement Caching Optimistic, Pessimistic locking Scrolling cursors Joining object retrieval optimization Projection Queries In memory querying Partial Attribute Queries Dynamic queries Bulk Update Queries Optimized Change Tracking AND MUCH MORE! 32

OracleAS (OC4J) Integration TopLink CMP support in OC4J CTS 1.4 compliant EJB CMP solution Many value-added features beyond specification Enterprise Manager Support (JMX) Diagnostics Monitoring support through DMS Integrated logging Security Policies 33

Oracle DB Features Oracle native SQL and custom operators Isolated session cache and connections for use with Oracle DB s VPD/OLS Proxy Authentication Support for XDB-XMLType and SQLX Stored Procedure & Function TIMESTAMP & TIMESTAMPTZ (oracle.sql) Configurable value return from write Spatial, Object-Relational, ADTs Historical Flashback 34

Historical Support Generic support for any RDBMS Custom support for Oracle 10g+ Flashback Configure and use change management of objects over time Versioning Auditing Point in time querying Historical Session 35

EJB 3.0 Java Persistence API JSR 220: Enterprise Java Beans 3.0 Component model improvements: SB, MDB, Timer, Java Persistence API (JPA) Goals: Simplify EJB make it easier to use Simplified set of APIs Eliminate requirement for deployment descriptors Facilitate test-driven development Improve developer productivity Persistence based on proven solution Capture broader range of developers Make it simpler for average developer Increase developer base, target more corporate developers 36

Primary Features POJO-based persistence model Simple Java classes not components Support for enriched domain modelling Inheritance, polymorphism, etc. Expanded query language (JP QL) Standardized object/relational mapping Using annotations and/or XML Usable in Java EE and Java SE environments Support for pluggable persistence providers 37

Entity == POJO @Entity @Table(name= EMPLOYEE ) public class Employee implements Serializable { @Id @Column(name= ID ) private long id; @Basic @Column(name= NAME ) private String name; public long getid() { return id; } public void setid(long id) { this.id = id; } } public String getname() { return name; } public void setname(string name) { this.name = name; } 38

Entity @Entity @Table(name= EMPLOYEE ) public class Employee implements Serializable { @Id @Column(name= ID ) private long id; @Basic @Column(name= ENAME ) private String name; public long getid() { return id; } public void setid(long id) { this.id = id; } } public String getname() { return name; } public void setname(string name) { this.name = name; } 39

Configuration by Exception @Entity @Table(name= EMPLOYEE ) public class Employee implements Serializable { @Id @Column(name= ID ) private long id; @Basic @Column(name= ENAME ) private String name; public long getid() { return id; } public void setid(long id) { this.id = id; } } public String getname() { return name; } public void setname(string name) { this.name = name; } 40

ORM Config using XML Annotations and/or XML can be used <entity class= model.employee > <attributes> <id name= id /> <basic name= name > <column name= ENAME /> </basic> </attributes> </entity> 41

TopLink Essentials: JPA RI Open Source Reference Implementation of JPA Derived from proven Oracle TopLink product Available through Sun s OS Glass Fish Project https://glassfish.dev.java.net/ Easy upgrade to full TopLink Enhanced caching performance & scalability Advanced ORM capabilities Including leveraging of advanced DB features Object-XML (JAXB) and EIS Support Shipped as default JPA provider in OracleAS 10.1.3.1 42

JPA Tooling JDeveloper 10.1.3 Entities from tables Session Bean generation EJB 3.0 Entities or TopLink POJOs ADF Integration Eclipse Dali Project www.eclipse.org/dali JPA development support within WTP Lead by Oracle with contributions from others Available for download 43

TopLink JAXB Provides complete Object-XML mapping capabilities Allows developers to work with XML as objects GUI tool for mapping Efficiently produce and process SOAP messages Supports Object-XML standard - JAXB Provides additional flexibility to allow complete control on how objects are mapped Databases XML Data 44

TopLink JAXB Benefits Rich set of mappings providing complete control and flexibility to map objects to any XSD Direct, composite object, composite collection, inheritance, positional, path, transformation. Visual tool to define mappings Leverages object-relational mapping features and infrastructure Embraces standards JAXB and JAXP compliant On JAXB EG, pushing advanced features into JAXB 2.0 45

Combining ORM and JAXB TopLink s metadata based approach allows the same POJO model to be mapped to both XML and Relational. Supports construction of Web Services using persistent POJOs Persistent POJOs can be mapped to any number of XML schemas support multiple web services Mapping is bidirectional: Unmarshall XML to objects and then persist Marshall persistent objects to XML 46

TopLink EIS Provide persistence support for non-relational data stores using J2CA/JCA Combined with TopLink JAXB support allowing XML interactions Mapping support for CCI TopLink Workbench mapping and configuration support Out of the box support for: MQSeries, OracleAQ, Sun JCA, XML Files 47

Oracle ADF and TopLink JDeveloper productivity tooling Generate TopLink JPA entities or TopLink POJOs from tables Generate service façade with queries and entity lifecycle methods EJB 3.0 Session Beans Facade Java POJO Façade Generate test client Support for data control generation from service façade enabling rapid and declarative presentation development 48

Spring Framework and TopLink Integrated DAO support for TopLink in Spring 1.2 Integrated support for TopLink Essentials in Spring 2.0 Traditional DAO template based approach supported Spring 2.0 supports JPA container contract which enables advanced configuration and ease of use Spring 2.0 ships with TopLink Essentials as default JPA provider Certified within OracleAS (OC4J) 49

TopLink Summary TopLink ORM Any JDBC compliant data sources Any Java EE compliant application server Any IDE and toolset JPA Support and Reference Implementation TopLink OXM Any JAXP compliant parser JAXB compliant API TopLink support in leading frameworks Oracle ADF Spring Framework 50

TopLink and ADF BC TopLink Oracle9iAS TopLink provides an advanced Java persistence architecture for rapid development, deployment and execution of enterprise Java applications with relational databases. ADF Business Components (BC4J) ADF BC is an application development framework that simplifies delivering enterprise applications by generating functional business components that implement J2EE design patterns. 51

TopLink and ADF BC TopLink Persistence Architecture Maps Any Business Model to Any Schema Simplifies Development of Persistence Infrastructure Provides Advanced O/R Mapping Support ADF BC J2EE Application Development Framework Generates Functional Business Domain Classes & Data Models Simplifies Building Web/Swing User Interfaces & Web Services Provides Basic O/R Mapping Support 52

TopLink and ADF BC: Solutions For Any Development Approach View Custom UI Displays Custom UI Displays Databound Controls / Tags Controller Custom Data Binding & Controller Logic Custom Controller Logic Data Binding Model Domain Layer Custom Business Domain Classes and Data Models Data Models Custom Business Logic Business Rules Business Domain Classes Persistence Layer Advanced O/R Mapping Basic O/R Mapping Custom Code Built-in in Functionality Custom J2EE App Development with TopLink Framework-Based J2EE App Dev't with ADF BC 53

TopLink and ADF BC Both Products help developers build J2EE applications using relational databases Consider TopLink: When you need a persistence architecture for your own application framework Your team is familiar with OO/UML techniques Consider ADF BC : When you need a complete application framework to avoid writing your own Your team has Oracle Forms/Designer experience 54

Hvala na pažnji! Za pitanja i odgovre nemamo više e vremena. 55