The Fusion Development Platform Jaime Cid Principal Sales Consultant Fusion Middleware / Enterprise 2.0 May 2009
Oracle Corporation (July 2008) World’s largest enterprise software vendor $22.4 billion revenue in FY08 25% total revenue growth 28% new software license growth 300,000 global customers 84,000 employees 20,000 developers 7,500 support personnel  20,000 partners 9,100 Independent Software Vendors Operating in 145 Countries
E-Business Suite PeopleSoft Enterprise Siebel JD Edwards Oracle Retail i-Flex Communications Billing Utilities ProfitLogic G-Log Agile PLM Oracle GRC Database Real Application Clusters  Partitioning OLAP and Data Mining Security Spatial Oracle Lite Times Ten Database Middleware Applications Development Tools TP-Monitor Application Server Application Grids Data Integration SOA / Integration Business Intelligence Content Management  Identity Management Enterprise 2.0 Enterprise Performance Management BEA
Oracle’s Fusion Strategy Oracle Fusion Architecture Blueprint for SOA-based Enterprise Solutions   Oracle Fusion Middleware Technology Infrastructure for Next Gen Applications Oracle Fusion Applications Protect, Extend, Evolve through Fusion Architecture and Middleware
Oracle Fusion Middleware
Oracle Fusion Applications Merge Oracle EBS, Siebel, Peoplesoft into one offering with multiple modules Convergence and evolution of different Web Platforms Probably one of the largest software development projects in the world Thousands of developers (~8,000 ) Several years in the making
What We Wanted – Business Drivers Cutting Edge User Interface Agility System Integration Standards Scalability, Security, Portability Time to market
How We’ll Get There Java EE 5 SOA Web 2.0
Oracle Fusion Middleware – The Platform
Oracle Fusion Architecture Business Logic View Data Task Complete Assign Task Human Workflow Service BPEL Process Business Activity Monitoring User Interface ADF Faces components Business Services JSR-227 Data Binding Web Services DB  Schema WebCenter Events results facts Orchestration Human interaction Policy evaluation Monitoring Rules Engine
The Challange On one side: JPA, EJB, AJAX, JavaScript, BPEL, SOAP, WSDL, RMI, JNDI, JDBC, O/R, HTML, DOM…. On the other side: Thousands of developers Most don’t know these technologies Most come from 4GL background Expecting a visual and declarative approach Don’t have time to learn all these new technologies Need to focus on their specific application needs Unified way of doing things How do you make it easy and approachable?
The Solution - Oracle ADF Development framework that simplifies development of Java EE-based Web & SOA applications Abstract developers from technology complexities Example - UI Components abstracts from Ajax, Flash, Javascript, DOM Provides end-to-end infrastructure solutions…  O/R Mapping, persistence, caching, controller, binding, UI framework … and an easy way to use them Visual editors, Property editors, dialogs etc…
Try Yourself ADF Online Interactive Demo: http :// bit . ly / adfdemo Data Visualization Tools Demo: http :// bit . ly / adfdvt
<Insert Picture Here> Fusion  User Interface
Compelling Features of Fusion for UIs ADF Faces Rich Client Components  Large skin-able component set for JSF ADF DVT Components Charts, Gant, Geo-map, Gauges Also JSF components – no new skills required  Active Data  Push to the client ADF Task Flows  Reusable processes and fragments  WebCenter Documents, Search, Mash-ups, Presence, Discussions, 2.0, … Single skill set Mobile, GIS, BI dashboards, data entry
From These
To This
With ADF and other components like Oracle Web Center Framework (ADF based) Integrated, standards based, user interaction suite Notifications Email Discussions  & Presence Documents Search Business Intelligence Apps Wiki / Blog Social  Networks Custom Partner Legacy Other Apps…
 
Composer : Application Customization
Example Fusion Applications UI’s
Fusion Applications HCM
Fusion Applications Projects
Fusion Applications Procurement
Oracle Enterprise Manager 11g Fusion Middleware Control
<Insert Picture Here> Oracle  JDeveloper
Oracle JDeveloper Goals Development tool for Fusion Applications Oracle has ~8,000 applications developers  They must be productive Design time for Fusion Middleware Integrated development experience Take advantage of special features Simplify Transition to Java Addressing the enterprise developer in addition to the Java experts
Common Architecture Fusion Applications ADF J2EE App Server Metadata Services (MDS) WebCenter SOA Mobile JDeveloper JDeveloper Fusion Applications Enterprise Manager
Standards-based IDE Single stack for all SOA development J2EE, WS, SCA & XML Development WebCenter, BPEL, BI & Wireless Development Service-Oriented Development Event-Driven Development Productivity With Choice Supports choice of technologies Supports choice of development  styles Supports choice of Application  Servers & Databases Highly customizable & extensible Fusion Development Tool Oracle JDeveloper Task Flow Modeling Business Process Modeling Data Transformation  Page Design Routing Rules & Events
Visual and Declarative Development WYSIWYG Editors JSF, JSP, HTML, Swing Visual Page Flow  Task Flow, JSF, Struts Modelers DB and popular UML modelers Visual Editors XML Schema, XSLT, WSDL Process Flow BPEL Editor Mediator
Choice of Development Styles Visual Declarative Code
<Insert Picture Here> Fusion  Architecture
What is an Application?
“Traditional” Oracle Development… Business Logic View Data User Interface UIX /JSP Business Services ADF BC / EJB DB Schema Web Services Forms / Reports Application  Express
“Traditional”- Build Your Own… Batch processes PL/SQL, Perl, REXX, csh, RPT, etc. etc. Rules engine Workflow Data loaders Data Transformers Dashboards Security The database is the hub
The Fusion Blueprint Business Logic View Data Rules Engine Assign  Task Task Complete Human Workflow Service Mediator /BPEL  Process results facts Business Activity Monitoring User Interface ADF Faces components Business Services ADF Business Components Data Binding SDO Services Database Schema Events Orchestration Human interaction Policy evaluation Monitoring
Common Development Framework Oracle Application Development Framework (ADF) Increase productivity & ease-of-use Visual and declarative development Takes care of the “plumbing” code Implements best practices Promote service oriented development Re-usable business services Composite applications development Standards-based Choice of technology, deployment platform Common framework for the platform
Fusion Development Exposed Portlets Business Services User  Interface Business Processes Relational Data Packaged   Apps XML Data
Fusion / ADF Architecture Business Services Data Services Model Controller View Desktop Browser-Based ADF Bindings (JSR 227) JSF Struts JSF/ADF Task Flow Office ADF   Swing JSP TopLink EJB BAM ADFbc Portlets BI Essbase BPEL Web Services Java ADF Faces / DVT XML Data Legacy Data Relational Data Packaged Apps
ADF – Fusion Stack Business Services Data Services Model Controller View Desktop Browser-Based ADF Bindings (JSR 227) JSF Struts JSF/ADF Task Flow Office ADF   Swing JSP TopLink EJB BAM ADFbc Portlets BI Essbase BPEL Web Services Java ADF Faces / DVT XML Data Legacy Data Relational Data Packaged Apps
<Insert Picture Here> Business  Services Business  Services User  Interface Business  Processes Exposed  Portlets
Business Service Goals Bridge Object-Relational gap Manage CRUD operations Queries/DML Implement business rules Data validation Business logic Reusable Not only for UIs Standards-based
Business Service Selection Enterprise JavaBeans Web services Java classes ADF Business Components Oracle TopLink Core Java EE Frameworks Benefits Develop with a single API No extra libraries required Benefits Declarative development Built-in design patterns
Which Service Framework? ADFbc is the expected default implementation for relational access Declarative Customizable Scalable Some exceptions for: High transaction grid environments Non-relational (XML / Cubic / JMX) If in doubt – come and talk to us
ADF Business Components ADF is a framework that simplifies developing Java EE business services for developers familiar with declarative development and relational databases Provides data interaction & business logic execution Enables declarative-style development Wizard-based and visual development Implemented in metadata, not code Enables business logic development Pre-defined Java methods for common events (create, delete, row currency) Declarative business rules
Declarative Development
Types of ADF Business Components CustomerEO OrderEO LineItemEO OrdVO CustVO CustomerOrder AllOrders Customer Application Module with View  Object Instances View  Objects and View  Links Entity Objects  and Associations Service Query Cache
<Insert Picture Here> Business  Processes Business  Services User  Interface Business  Processes Exposed  Portlets
Business Process Development BPEL - standard for service integration Orchestrate heterogeneous services Hundreds of adapters for any back-end system Visual development of business processes Consistent development experience Same tool Visual, drag & drop
Event support across the stack Operations on ADF-BC objects trigger events, initiating SOA composites ESB fan-out patterns Etc. newSupplier  event SOA composite createSupplier ADF page flow and BC SOA composite newSupplier  event
Orchestrate components - SCA New order Event BPEL orchestration Business Rules Human Tasks Web services, ADFBC – SDO  and adapters
<Insert Picture Here> User  Interface Business  Services User  Interface Business  Processes Exposed  Portlets
We’re Not In Kansas Any More
JSF – The UI Framework of Choice Simplify Web Development Server side UI generation Component based, not mark-up Automatic event and state handling Diverse client base, not just HTML Designed with tooling in mind Applicable to wide spectrum of programmer types A Java EE standard
ADF Faces Enhances JSF Over 150 types of UI components Trees, tabs, shuttles, etc.….. Rich interactive component set Partial page rendering (PPR) AJAX functionality Value-added features Skinning, templating Multiple renderers (HTML, PDA, wireless,…) Drag and drop data binding Accessibility Internationalization Open source (Apache Trinidad)
ADF Faces Rich Client Architecture Client Side Server Side Label1 Label2 Label3 OK DOM Peer Objects Document Form Element Servlet JSF  Lifecycle In Memory Tree View Root Form UI Component Renderer
iPhone Safari Render kit The Oracle ADF Mobile Browser client, however, enables developers to leverage the AJAX capabilities of the iPhone Safari browser, while maintain complete compatibility with mobile browsers that can only handle plain HTML or WAP 2.0 contents. Furthermore, it helps developers create user interfaces that are optimized for iPhone screen size and mobile Web use.
ADF Faces Rich Client Components ADF Binding ADF DataControl RDBMS EJB 3.0 Web Service BPEL …  Ajax Render  Kit UI Component “ bindings” Object Expr. Language MODEL UI RENDERING ADF Ajax Page Lifecycle Client
ADF Faces Rich Client Components End User productivity 150+ AJAX enabled JavaServer Faces components Drag-and-drop framework Dialog and popup framework Navigation menu framework Partial page rendering Advanced data streaming Complete JavaScript API Skinning Accessibility
ADF Faces Rich Client Samples
ADF Faces Components Common Components Layout Components Operations
Oracle Data Visualization Tools (DVT) Graph Gauge Geographic Map Pivot Table Gantt Chart
Data Visualization Components (DVT)
Cuyahoga County GIS Example
Data Binding with the ADF Model The heart of ADF Single interface for any business service implementation Abstract implementation from clients Drag-and-drop data binding for all services
ADF Skins & JSF Page Templates ADF Skins Skin is a style sheet based on the CSS 3.0 syntax Load dynamically during runtime ADF Page Templates Consistent layout and style for all your pages Base UI components for layout and look Pluggable content zones (facets) for page-specific content Cannot be nested
Page Fragments Not complete JSF pages – they do not have a document tag ( af:document ) or view tag ( f:view ) Cannot be run on its own Share the same request scope if inside the same page Reusable portion of a page Reduce the complexity of large pages
Creating a Page Fragment Create a page fragment by doing one of: 1. Use the New Gallery 2. Double-click a view in a bounded task flow that uses page fragments 1 2
Using a Page Fragment in a Page Two options: Insert the  jsp:include  tag  <jsp:include page=“/fragment_page.jsff”/> The included page fragment uses the binding context of the consuming page Page definition file for page fragment is not loaded (doesn’t use bindings) Insert a  bounded task flow  with page fragments as a region in your page; the page fragment can have its own binding context Modifying the page fragment affects all pages that use it
Task Flows Reusable ADF Components An extension to the ADF page flow concept Can include pages, page fragments, method calls and other task flows Support for bookmarking, transaction management, exception handling, and the browser back button
ADF TaskFlows Define flows of pages and methods Adds reusability of flows Advance functionality in a declarative way Declarative decision points Executing code in a flow  Security Bookmarking Back button support Exception and transaction management Save for later Memory scope management An extension to the JSF page flow engine
WebCenter Services TaskFlows Catalog
Discussions TaskFlow Document Library TaskFlow Search TaskFlow
<Insert Picture Here> Exposing  Portlets Business  Services User  Interface Business  Processes Exposed  Portlets
Exposing Portlets Portlets are reusable web components providing personalization and customization capabilities Standards-based portlets (JSR 168) Oracle PDK-Java portlets PL/SQL portlets   JSF components PanelCustomizable Move left/right/up/down Hide/show ShowDetailFrame Minimize/maximize
Task Flows vs. Portlets Similar in functionality and behavior Task flows are local to the application Can share information and transaction boundaries with other items on the page Portlets are external to the application Has some overhead Task flows can be portletized for reuse outside the application (JSR-301)
Building a Portlet from a Task Flow
<Insert Picture Here> Alternative  UIs Business  Services User  Interface Business  Processes Exposed  Portlets
Desktop Development Excel Integration Microsoft Office Declarative  Binding Bulk Transactions Connected Disconnected Secure Business  Services
ADF Mobile Browser Architecture Business Services Data Services Model Controller View Struts Relational Data XML Data Legacy   Data JSP Metadata Services ADFm (JSR 227) Packaged Apps JSF MyFaces JSF/ADFc Java EJB BAM BPEL ADF BC BI XML Office Swing WebServices  Portlet Toplink JMX JCR Mobile Browser Client
ADF Mobile Browser – Design Time Support Mobile render kit handles support for different markup / device capabilities Single application to handle both HTML and AJAX clients Declarative, drag-and-drop development paradigm Same Business Logic components are shared across mobile and desktop applications
ADF Mobile Browser – Run Time Support Supports both consumer and smartphone browsers Leverages AJAX features in smartphone browsers Downgrades gracefully to support plain HTML browsers Requires browsers supporting HTML / XHTML MP1 and WAP 2.0 Can be skinned with different style sheets based on user agent detection Components size dynamically based on form factor Partial page refresh Requires full AJAX support Page animation/transition support
ADF Mobile Browser Mobile Browser Support Apple iPhone and iPod Touch Safari BlackBerry Browser 4.2 and above Browser version 4.6 and above supports PPR Windows Mobile Pocket IE 5 and 6 Ensure “Fit to Screen” view is selected to optimize display Nokia S60 Browser Android Browser Plain HTML Browsers in Consumer Mobile Phones Minimal browser requirement: HTML / XHTML MP1 and WAP 2.0 support Need to download from Apace MyFaces Trinidad project
<Insert Picture Here> Metadata  Services
What is Metadata Services Framework (MDS)? A common infrastructure for metadata  Available across App Server Suite ADF, SOA, Business Process Management (BPEL) etc.  Provides runtime and design time services such as Flexible, Open Storage Options (export/import, file or database) Versioning- track and rollback changes to your application Team Development Support Dependency Management Sandboxing  Customization and Personalization
Customizing with MDS How it is used  Web Center’s Page Editor Allows Business Analysts and Admin browser based design experience ADF components persist end user personalization to MDS User removes columns from a table or freezes columns Customization Developer Role in Jdeveloper (seeded) Allows developers to verticalize their applications i.e Change attributes displayed based on industry Customer customizes delivered product to better meet their business practices.
Metadata Services Customization Laura’s Page John’s Page + + MDS Customization Engine Metadata Repository - File or DB No User  Customization Base Document User1’s User Customization Site Customization
Customization Multiple layers of customization Configuration determines: Number of layers (Verticalization, Site, User etc.) Precedence of layers Context can be determined at runtime Customizations saved as separate XML documents Base and customized metadata stored in MDS repository
Customization Layers simplify Upgrade Industry Site User Industry Site User Version 1 Version 2 Customer Customizations Carry Forward   Upgrade Can Change Base Metadata
End User Customization User customizations of ADF components ex.User hides and reorders columns in a table Changes Persists for the Session Changes Persists across Sessions using MDS Project Level Settings Many ADF components support user customization out of the box
End User Customization Developers choose which to persist Initially specified at the application Override setting for a page Override for an instance of a component
Developer Customization Customizations are made with JDeveloper’s Customization Role Customization are made for each defined layer Experience is the same as creating base metadata Only Metadata is customizable (not java files etc.) Only existing metadata, can’t create new pages etc.
Oracle Fusion Development Platform Integrated Full development life cycle Not only for Java EE but for the entire platform Productive Visual and Declarative ADF Standard Choice of technologies Choice of deployment platforms
 

Oracle Fusion Development, May 2009

  • 1.
  • 2.
    The Fusion DevelopmentPlatform Jaime Cid Principal Sales Consultant Fusion Middleware / Enterprise 2.0 May 2009
  • 3.
    Oracle Corporation (July2008) World’s largest enterprise software vendor $22.4 billion revenue in FY08 25% total revenue growth 28% new software license growth 300,000 global customers 84,000 employees 20,000 developers 7,500 support personnel 20,000 partners 9,100 Independent Software Vendors Operating in 145 Countries
  • 4.
    E-Business Suite PeopleSoftEnterprise Siebel JD Edwards Oracle Retail i-Flex Communications Billing Utilities ProfitLogic G-Log Agile PLM Oracle GRC Database Real Application Clusters Partitioning OLAP and Data Mining Security Spatial Oracle Lite Times Ten Database Middleware Applications Development Tools TP-Monitor Application Server Application Grids Data Integration SOA / Integration Business Intelligence Content Management Identity Management Enterprise 2.0 Enterprise Performance Management BEA
  • 5.
    Oracle’s Fusion StrategyOracle Fusion Architecture Blueprint for SOA-based Enterprise Solutions Oracle Fusion Middleware Technology Infrastructure for Next Gen Applications Oracle Fusion Applications Protect, Extend, Evolve through Fusion Architecture and Middleware
  • 6.
  • 7.
    Oracle Fusion ApplicationsMerge Oracle EBS, Siebel, Peoplesoft into one offering with multiple modules Convergence and evolution of different Web Platforms Probably one of the largest software development projects in the world Thousands of developers (~8,000 ) Several years in the making
  • 8.
    What We Wanted– Business Drivers Cutting Edge User Interface Agility System Integration Standards Scalability, Security, Portability Time to market
  • 9.
    How We’ll GetThere Java EE 5 SOA Web 2.0
  • 10.
    Oracle Fusion Middleware– The Platform
  • 11.
    Oracle Fusion ArchitectureBusiness Logic View Data Task Complete Assign Task Human Workflow Service BPEL Process Business Activity Monitoring User Interface ADF Faces components Business Services JSR-227 Data Binding Web Services DB Schema WebCenter Events results facts Orchestration Human interaction Policy evaluation Monitoring Rules Engine
  • 12.
    The Challange Onone side: JPA, EJB, AJAX, JavaScript, BPEL, SOAP, WSDL, RMI, JNDI, JDBC, O/R, HTML, DOM…. On the other side: Thousands of developers Most don’t know these technologies Most come from 4GL background Expecting a visual and declarative approach Don’t have time to learn all these new technologies Need to focus on their specific application needs Unified way of doing things How do you make it easy and approachable?
  • 13.
    The Solution -Oracle ADF Development framework that simplifies development of Java EE-based Web & SOA applications Abstract developers from technology complexities Example - UI Components abstracts from Ajax, Flash, Javascript, DOM Provides end-to-end infrastructure solutions… O/R Mapping, persistence, caching, controller, binding, UI framework … and an easy way to use them Visual editors, Property editors, dialogs etc…
  • 14.
    Try Yourself ADFOnline Interactive Demo: http :// bit . ly / adfdemo Data Visualization Tools Demo: http :// bit . ly / adfdvt
  • 15.
    <Insert Picture Here>Fusion User Interface
  • 16.
    Compelling Features ofFusion for UIs ADF Faces Rich Client Components Large skin-able component set for JSF ADF DVT Components Charts, Gant, Geo-map, Gauges Also JSF components – no new skills required Active Data Push to the client ADF Task Flows Reusable processes and fragments WebCenter Documents, Search, Mash-ups, Presence, Discussions, 2.0, … Single skill set Mobile, GIS, BI dashboards, data entry
  • 17.
  • 18.
  • 19.
    With ADF andother components like Oracle Web Center Framework (ADF based) Integrated, standards based, user interaction suite Notifications Email Discussions & Presence Documents Search Business Intelligence Apps Wiki / Blog Social Networks Custom Partner Legacy Other Apps…
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    Oracle Enterprise Manager11g Fusion Middleware Control
  • 27.
    <Insert Picture Here>Oracle JDeveloper
  • 28.
    Oracle JDeveloper GoalsDevelopment tool for Fusion Applications Oracle has ~8,000 applications developers They must be productive Design time for Fusion Middleware Integrated development experience Take advantage of special features Simplify Transition to Java Addressing the enterprise developer in addition to the Java experts
  • 29.
    Common Architecture FusionApplications ADF J2EE App Server Metadata Services (MDS) WebCenter SOA Mobile JDeveloper JDeveloper Fusion Applications Enterprise Manager
  • 30.
    Standards-based IDE Singlestack for all SOA development J2EE, WS, SCA & XML Development WebCenter, BPEL, BI & Wireless Development Service-Oriented Development Event-Driven Development Productivity With Choice Supports choice of technologies Supports choice of development styles Supports choice of Application Servers & Databases Highly customizable & extensible Fusion Development Tool Oracle JDeveloper Task Flow Modeling Business Process Modeling Data Transformation Page Design Routing Rules & Events
  • 31.
    Visual and DeclarativeDevelopment WYSIWYG Editors JSF, JSP, HTML, Swing Visual Page Flow Task Flow, JSF, Struts Modelers DB and popular UML modelers Visual Editors XML Schema, XSLT, WSDL Process Flow BPEL Editor Mediator
  • 32.
    Choice of DevelopmentStyles Visual Declarative Code
  • 33.
    <Insert Picture Here>Fusion Architecture
  • 34.
    What is anApplication?
  • 35.
    “Traditional” Oracle Development…Business Logic View Data User Interface UIX /JSP Business Services ADF BC / EJB DB Schema Web Services Forms / Reports Application Express
  • 36.
    “Traditional”- Build YourOwn… Batch processes PL/SQL, Perl, REXX, csh, RPT, etc. etc. Rules engine Workflow Data loaders Data Transformers Dashboards Security The database is the hub
  • 37.
    The Fusion BlueprintBusiness Logic View Data Rules Engine Assign Task Task Complete Human Workflow Service Mediator /BPEL Process results facts Business Activity Monitoring User Interface ADF Faces components Business Services ADF Business Components Data Binding SDO Services Database Schema Events Orchestration Human interaction Policy evaluation Monitoring
  • 38.
    Common Development FrameworkOracle Application Development Framework (ADF) Increase productivity & ease-of-use Visual and declarative development Takes care of the “plumbing” code Implements best practices Promote service oriented development Re-usable business services Composite applications development Standards-based Choice of technology, deployment platform Common framework for the platform
  • 39.
    Fusion Development ExposedPortlets Business Services User Interface Business Processes Relational Data Packaged Apps XML Data
  • 40.
    Fusion / ADFArchitecture Business Services Data Services Model Controller View Desktop Browser-Based ADF Bindings (JSR 227) JSF Struts JSF/ADF Task Flow Office ADF Swing JSP TopLink EJB BAM ADFbc Portlets BI Essbase BPEL Web Services Java ADF Faces / DVT XML Data Legacy Data Relational Data Packaged Apps
  • 41.
    ADF – FusionStack Business Services Data Services Model Controller View Desktop Browser-Based ADF Bindings (JSR 227) JSF Struts JSF/ADF Task Flow Office ADF Swing JSP TopLink EJB BAM ADFbc Portlets BI Essbase BPEL Web Services Java ADF Faces / DVT XML Data Legacy Data Relational Data Packaged Apps
  • 42.
    <Insert Picture Here>Business Services Business Services User Interface Business Processes Exposed Portlets
  • 43.
    Business Service GoalsBridge Object-Relational gap Manage CRUD operations Queries/DML Implement business rules Data validation Business logic Reusable Not only for UIs Standards-based
  • 44.
    Business Service SelectionEnterprise JavaBeans Web services Java classes ADF Business Components Oracle TopLink Core Java EE Frameworks Benefits Develop with a single API No extra libraries required Benefits Declarative development Built-in design patterns
  • 45.
    Which Service Framework?ADFbc is the expected default implementation for relational access Declarative Customizable Scalable Some exceptions for: High transaction grid environments Non-relational (XML / Cubic / JMX) If in doubt – come and talk to us
  • 46.
    ADF Business ComponentsADF is a framework that simplifies developing Java EE business services for developers familiar with declarative development and relational databases Provides data interaction & business logic execution Enables declarative-style development Wizard-based and visual development Implemented in metadata, not code Enables business logic development Pre-defined Java methods for common events (create, delete, row currency) Declarative business rules
  • 47.
  • 48.
    Types of ADFBusiness Components CustomerEO OrderEO LineItemEO OrdVO CustVO CustomerOrder AllOrders Customer Application Module with View Object Instances View Objects and View Links Entity Objects and Associations Service Query Cache
  • 49.
    <Insert Picture Here>Business Processes Business Services User Interface Business Processes Exposed Portlets
  • 50.
    Business Process DevelopmentBPEL - standard for service integration Orchestrate heterogeneous services Hundreds of adapters for any back-end system Visual development of business processes Consistent development experience Same tool Visual, drag & drop
  • 51.
    Event support acrossthe stack Operations on ADF-BC objects trigger events, initiating SOA composites ESB fan-out patterns Etc. newSupplier event SOA composite createSupplier ADF page flow and BC SOA composite newSupplier event
  • 52.
    Orchestrate components -SCA New order Event BPEL orchestration Business Rules Human Tasks Web services, ADFBC – SDO and adapters
  • 53.
    <Insert Picture Here>User Interface Business Services User Interface Business Processes Exposed Portlets
  • 54.
    We’re Not InKansas Any More
  • 55.
    JSF – TheUI Framework of Choice Simplify Web Development Server side UI generation Component based, not mark-up Automatic event and state handling Diverse client base, not just HTML Designed with tooling in mind Applicable to wide spectrum of programmer types A Java EE standard
  • 56.
    ADF Faces EnhancesJSF Over 150 types of UI components Trees, tabs, shuttles, etc.….. Rich interactive component set Partial page rendering (PPR) AJAX functionality Value-added features Skinning, templating Multiple renderers (HTML, PDA, wireless,…) Drag and drop data binding Accessibility Internationalization Open source (Apache Trinidad)
  • 57.
    ADF Faces RichClient Architecture Client Side Server Side Label1 Label2 Label3 OK DOM Peer Objects Document Form Element Servlet JSF Lifecycle In Memory Tree View Root Form UI Component Renderer
  • 58.
    iPhone Safari Renderkit The Oracle ADF Mobile Browser client, however, enables developers to leverage the AJAX capabilities of the iPhone Safari browser, while maintain complete compatibility with mobile browsers that can only handle plain HTML or WAP 2.0 contents. Furthermore, it helps developers create user interfaces that are optimized for iPhone screen size and mobile Web use.
  • 59.
    ADF Faces RichClient Components ADF Binding ADF DataControl RDBMS EJB 3.0 Web Service BPEL … Ajax Render Kit UI Component “ bindings” Object Expr. Language MODEL UI RENDERING ADF Ajax Page Lifecycle Client
  • 60.
    ADF Faces RichClient Components End User productivity 150+ AJAX enabled JavaServer Faces components Drag-and-drop framework Dialog and popup framework Navigation menu framework Partial page rendering Advanced data streaming Complete JavaScript API Skinning Accessibility
  • 61.
    ADF Faces RichClient Samples
  • 62.
    ADF Faces ComponentsCommon Components Layout Components Operations
  • 63.
    Oracle Data VisualizationTools (DVT) Graph Gauge Geographic Map Pivot Table Gantt Chart
  • 64.
  • 65.
  • 66.
    Data Binding withthe ADF Model The heart of ADF Single interface for any business service implementation Abstract implementation from clients Drag-and-drop data binding for all services
  • 67.
    ADF Skins &JSF Page Templates ADF Skins Skin is a style sheet based on the CSS 3.0 syntax Load dynamically during runtime ADF Page Templates Consistent layout and style for all your pages Base UI components for layout and look Pluggable content zones (facets) for page-specific content Cannot be nested
  • 68.
    Page Fragments Notcomplete JSF pages – they do not have a document tag ( af:document ) or view tag ( f:view ) Cannot be run on its own Share the same request scope if inside the same page Reusable portion of a page Reduce the complexity of large pages
  • 69.
    Creating a PageFragment Create a page fragment by doing one of: 1. Use the New Gallery 2. Double-click a view in a bounded task flow that uses page fragments 1 2
  • 70.
    Using a PageFragment in a Page Two options: Insert the jsp:include tag <jsp:include page=“/fragment_page.jsff”/> The included page fragment uses the binding context of the consuming page Page definition file for page fragment is not loaded (doesn’t use bindings) Insert a bounded task flow with page fragments as a region in your page; the page fragment can have its own binding context Modifying the page fragment affects all pages that use it
  • 71.
    Task Flows ReusableADF Components An extension to the ADF page flow concept Can include pages, page fragments, method calls and other task flows Support for bookmarking, transaction management, exception handling, and the browser back button
  • 72.
    ADF TaskFlows Defineflows of pages and methods Adds reusability of flows Advance functionality in a declarative way Declarative decision points Executing code in a flow Security Bookmarking Back button support Exception and transaction management Save for later Memory scope management An extension to the JSF page flow engine
  • 73.
  • 74.
    Discussions TaskFlow DocumentLibrary TaskFlow Search TaskFlow
  • 75.
    <Insert Picture Here>Exposing Portlets Business Services User Interface Business Processes Exposed Portlets
  • 76.
    Exposing Portlets Portletsare reusable web components providing personalization and customization capabilities Standards-based portlets (JSR 168) Oracle PDK-Java portlets PL/SQL portlets JSF components PanelCustomizable Move left/right/up/down Hide/show ShowDetailFrame Minimize/maximize
  • 77.
    Task Flows vs.Portlets Similar in functionality and behavior Task flows are local to the application Can share information and transaction boundaries with other items on the page Portlets are external to the application Has some overhead Task flows can be portletized for reuse outside the application (JSR-301)
  • 78.
    Building a Portletfrom a Task Flow
  • 79.
    <Insert Picture Here>Alternative UIs Business Services User Interface Business Processes Exposed Portlets
  • 80.
    Desktop Development ExcelIntegration Microsoft Office Declarative Binding Bulk Transactions Connected Disconnected Secure Business Services
  • 81.
    ADF Mobile BrowserArchitecture Business Services Data Services Model Controller View Struts Relational Data XML Data Legacy Data JSP Metadata Services ADFm (JSR 227) Packaged Apps JSF MyFaces JSF/ADFc Java EJB BAM BPEL ADF BC BI XML Office Swing WebServices Portlet Toplink JMX JCR Mobile Browser Client
  • 82.
    ADF Mobile Browser– Design Time Support Mobile render kit handles support for different markup / device capabilities Single application to handle both HTML and AJAX clients Declarative, drag-and-drop development paradigm Same Business Logic components are shared across mobile and desktop applications
  • 83.
    ADF Mobile Browser– Run Time Support Supports both consumer and smartphone browsers Leverages AJAX features in smartphone browsers Downgrades gracefully to support plain HTML browsers Requires browsers supporting HTML / XHTML MP1 and WAP 2.0 Can be skinned with different style sheets based on user agent detection Components size dynamically based on form factor Partial page refresh Requires full AJAX support Page animation/transition support
  • 84.
    ADF Mobile BrowserMobile Browser Support Apple iPhone and iPod Touch Safari BlackBerry Browser 4.2 and above Browser version 4.6 and above supports PPR Windows Mobile Pocket IE 5 and 6 Ensure “Fit to Screen” view is selected to optimize display Nokia S60 Browser Android Browser Plain HTML Browsers in Consumer Mobile Phones Minimal browser requirement: HTML / XHTML MP1 and WAP 2.0 support Need to download from Apace MyFaces Trinidad project
  • 85.
    <Insert Picture Here>Metadata Services
  • 86.
    What is MetadataServices Framework (MDS)? A common infrastructure for metadata Available across App Server Suite ADF, SOA, Business Process Management (BPEL) etc. Provides runtime and design time services such as Flexible, Open Storage Options (export/import, file or database) Versioning- track and rollback changes to your application Team Development Support Dependency Management Sandboxing Customization and Personalization
  • 87.
    Customizing with MDSHow it is used Web Center’s Page Editor Allows Business Analysts and Admin browser based design experience ADF components persist end user personalization to MDS User removes columns from a table or freezes columns Customization Developer Role in Jdeveloper (seeded) Allows developers to verticalize their applications i.e Change attributes displayed based on industry Customer customizes delivered product to better meet their business practices.
  • 88.
    Metadata Services CustomizationLaura’s Page John’s Page + + MDS Customization Engine Metadata Repository - File or DB No User Customization Base Document User1’s User Customization Site Customization
  • 89.
    Customization Multiple layersof customization Configuration determines: Number of layers (Verticalization, Site, User etc.) Precedence of layers Context can be determined at runtime Customizations saved as separate XML documents Base and customized metadata stored in MDS repository
  • 90.
    Customization Layers simplifyUpgrade Industry Site User Industry Site User Version 1 Version 2 Customer Customizations Carry Forward Upgrade Can Change Base Metadata
  • 91.
    End User CustomizationUser customizations of ADF components ex.User hides and reorders columns in a table Changes Persists for the Session Changes Persists across Sessions using MDS Project Level Settings Many ADF components support user customization out of the box
  • 92.
    End User CustomizationDevelopers choose which to persist Initially specified at the application Override setting for a page Override for an instance of a component
  • 93.
    Developer Customization Customizationsare made with JDeveloper’s Customization Role Customization are made for each defined layer Experience is the same as creating base metadata Only Metadata is customizable (not java files etc.) Only existing metadata, can’t create new pages etc.
  • 94.
    Oracle Fusion DevelopmentPlatform Integrated Full development life cycle Not only for Java EE but for the entire platform Productive Visual and Declarative ADF Standard Choice of technologies Choice of deployment platforms
  • 95.