SlideShare a Scribd company logo
1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Real World ADF Design & Architecture Principles
Service Integration Architecture
ORACLE
PRODUCT
LOGO
15th Feb 2013 v1.0
3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Learning Objectives
•  At the end of this module you should be able to:
–  Understand the difference between SOAP services
and REST services
–  Understand which releases of Oracle JDeveloper support SOAP
and REST services with ADF and how to use them
–  Define a service integration strategy for Oracle ADF application
development projects
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Services Overview
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
As an ADF developer, why
bother?
6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Why Bother
•  Enforce consistent business logic execution for multi channel
access
–  Web, SOA, Mobile
•  Shield data sources
–  Protect them from direct developer access
•  Application partitioning
–  Ease of maintenance
–  Sharing of business logic
Exposing Web Service APIs for Business Models
7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Web services are common in
web application development
and no longer SOA only.
Image: Ambro / FreeDigitalPhotos.net
8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
SOAP Services
•  JAX-WS
–  Java API for XML-Web Services
–  Since Java 5, replacing JAX-RPC
–  Support for WS annotations
–  Support for asynchronous WS calls
JAX-WS
9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
REST
•  Representational State Transfer
–  Exchanges the representation of a current data object state over the web
•  Design principle for stateless data transfers on the web based on unique
resource addressing using HTTP
–  Avoids the overhead of SOAP services
–  Addresses resources as nouns
•  Supports different data representations
–  Negotiated between client and server
–  Representation "encodes" the state of a resource at a specific point in time
–  A resource can have many different representations
•  Image, Text , XML, JSON, etc.
10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
About JAX-RS
•  Java XML API for Restful Services
•  Java EE standard
•  Jersey is reference implementation
–  Bundled with Oracle JDeveloper 12c (+)
–  JAX-RS provides annotations for
•  Resource request path definitions
•  HTTP method mapping to service methods
•  Request URL parameter mapping to input parameters
•  Accepted data format
•  Response data format
•  etc.
11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
SOAP Services vs. Rest Services
•  Self describing and discoverable
•  Machine understandable
–  Supports intermediary machine access as required in SOA
•  Require data transformation to be performed by the client
–  XML to JAVA using JAXB
SOAP
12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
SOAP Services vs. Rest Services
•  Support for different response formats
•  Clients negotiate representation format by sending HTTP accept
header with list of media types they are happy to process
–  REST services decides which format to support
•  Support for human and machine interaction
•  Used by many popular Ajax frameworks
–  SOAP is hard to use with JavaScript
•  Preferred use with mobile clients
–  Less overhead
–  Security easier to implement
REST
13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Services Overview
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
SOAP Service Integration in Oracle ADF
Web Service
Data Control
accesses
JAX-WS
Proxy Client
Web Service
Implementation
WSDL
accesses
JavaBean
Wrapper
ADF Business
Components
JavaBean
Data Control
instantiate
15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
SOAP Service Integration in Oracle ADF
Caching Strategies for Best Performance
Web Service
Data Control
accesses
Cache
JAX-WS
Proxy Client
Web Service
Implementation
WSDL
accesses
JavaBean
Wrapper
ADF Business
Components
JavaBean
Data Control
instantiate
16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Services Overview
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Integration Through ADF BC
•  Who
–  Developers using ADF BC as their business service
•  Why
–  Seamless integration
–  Consistent business service API
–  Leverage ADF BC advanced functionality
•  How
–  Programmatic View Object
–  Programmatic Entity (for CRUD operations)
Who, Why, How
18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF Business Components
Programmatic View Object and Entity
JavaBean
Wrapper
JAX-WS
Proxy Client
Entity Object
CustomWsEntity
View Object
CustomWsViewObject
Application
Module
referenced by
exposed in
Custom WS View Object
Database View Object 2
Database View Object 1
ViewLink
19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Custom View Object and Entity
•  Entity
–  doDML
–  doSelect
•  View Object
–  create
–  executeQueryForCollection
–  createRowFromResultSet
–  getQueryHitCount
–  hasNextForCollection
Framework Methods to Override
Entity Object
CustomWsEntity
View Object
CustomWsViewObject
Application
Module
referenced by
exposed in
20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
WS Based Programmatic View Object
•  Implementing parent-child relationship between programmatic views
–  Create ViewLink between parent and child view
–  Map parent PK VO attribute to child FK VO attribute
–  ViewLink defines BIND_<ATTRIBUTE NAME> bind variable
–  Bind variable is passed as Object[] params argument to
executeQueryForCollection method
•  Override method in custom VO IMPL class
–  "params" is an Array of Array[2]
•  [0] name
•  [1] value
–  Read bind variable and use in programmatic view object data query
Implementing Parent – Child Relationships
21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Services Overview
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
JAX-WS Proxy Client / POJO DC
•  Who
–  Developers who don't use ADF Business Components
•  Why (compared to WS Data Control)
–  Flexible and powerful
–  Can be used to implement caching strategies
–  Pre- and post-processing of data
–  Pagination support
•  How
–  Create POJO Data Control from JavaBean wrapper
–  Optional: Implement ADF lifecycle methods
Who, Why, How
23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
JAX-WS Proxy Client / POJO DC
JavaBean
Wrapper
JAX-WS
Proxy Client
POJO
Data Control
24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Web Services 101
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Integration
•  Use Web Service Data Control only for simple
service like weather reports or stock quotes
•  Use JAX-WS proxy client for all more complex
services and access them from
–  Programmatic view object and entity if your business service is
ADF Business Components as this allows for better integration
with database queried views
• Use View Objects only for read only access
• Use View Objects and Entities for CRUD Web Service integration
JAX-WS service
26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Integration
•  Use JAX-WS proxy client for all more complex
services and access them from
–  POJO Data Control
• If your business service is not ADF BC.
• If your business service doesn't require integration into an ADF
business component model
• If the WS access should be used in a bounded task flow deployed in
an ADF library for maximum reuse
JAX-WS service
27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Integration
•  Let the business case rule!
–  ADF BC is not a simplification framework for
WS access
•  Integrate WS when and where it makes sense
•  WS and ADF BC have different query and transaction behavior
–  If all your data sources are JAX-WS services, evaluate a POJO data
control approach
–  Implement strategy to ensure data queried from WS sources are locally
cached for better parent-child performance
JAX-WS service
28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Services Overview
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
REST Service Integration in Oracle ADF
REST (Jersey)
Client
URL
Data Control
ADF Business
Components
JavaBean
Data Control
REST Service
Implementation
accesses
accesses
30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Web Services 101
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
REST URL / REST DC
•  Who
–  Developers looking for simple integration of RESTful resources in Oracle ADF
applications
•  Why
–  REST is a popular service format many public sites use as a programmer API
–  REST is easy to use and comes with no overhead compared to SOAP
•  How
–  Configure URL DC with resources URI and http methods to invoke remote
resources
Who, Why, How
32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
REST URL / REST DC
URL
Data Control access
REST service
ADF Connection
Architecture
Noun
@Path("<name>")
@GET
handleQueryRequest()
@POST
handleCreateRequest()
@ ...
...
read URI
33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Services Overview
•  ADF Service Integration Strategies
–  JAX-WS Integration in Oracle ADF
• Service Integration through ADF BC
• JAX-WS Proxy Client / POJO DC
• Recommended Practices
–  JAX-RS Integration in Oracle ADF
• Service Integration through URL DC
• Service integration through POJO DC / ADF BC
34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
REST Jersey Client / POJO DC, ADF BC
•  Who
–  Developers who want to interact with REST response
•  Why
–  Pre- and post-processing of data
•  How
–  Create Jersey client from Web Application Description Language (WADL) file
–  Access Jersey client from POJO avoid impact when regenerating client class
Who, Why, How
35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
REST Jersey Client / POJO DC, ADF BC
Jersey Client
REST
Proxy Client
REST service
accesses
JavaBean
Wrapper
ADF Business
Components
JavaBean
Data Control
extend or
instantiate
Noun
@Path("<name>")
@GET
handleQueryRequest()
@POST
handleCreateRequest()
@ ...
...
36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
I need to build ADF based user interfaces
for SOA Services (ESB/OSB).
Shall I use ADF Business Components to
integrate the services or POJOs and the
JavaBean Data Control?
37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
What would be a good discriminator for
when to use ADF BC and when to use
POJO?
38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  There are several options available in ADF to
integrate Web Services
•  When choosing between ADF Business Components
and POJO DC (with JAX-WS and JAR-RS clients),
consider
–  SOA Services are not developed for a specific client
–  Data loading from services should be optimized. In a
parent-child query you should ensure data to be loaded
when a specific parent record is selected
–  Application user interface developers require a consistent
programming API as a contract between the client logic
they build and the business service
•  Think "productivity"
39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Further Reading
•  Oracle Magazine "Service Please"
–  http://www.oracle.com/technetwork/issue-archive/2012/12-jul/o42adf-1653060.html
•  http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html
–  Oracle JDeveloper and ADF Documentation Library
–  Fusion Developer Guide
•  Part V Completing your Application
–  Using Programmatic View Objects for Alternative Data Sources
•  ADF Insider Recording
–  http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf-
service-integ/adf-service-integ.html
40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Ad

More Related Content

What's hot (20)

Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Chris Muir
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Chris Muir
 
Oracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Chris Muir
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Chris Muir
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Chris Muir
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
Chris Muir
 
Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
Chris Muir
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
Chris Muir
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
Chris Muir
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
Chris Muir
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
Chris Muir
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Chris Muir
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Chris Muir
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Chris Muir
 
Oracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Chris Muir
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Chris Muir
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Chris Muir
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
Chris Muir
 
Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
Chris Muir
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
Chris Muir
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
Chris Muir
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
Chris Muir
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
Chris Muir
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Chris Muir
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Chris Muir
 

Viewers also liked (6)

Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Chris Muir
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
Chris Muir
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
Chris Muir
 
Joulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success StoryJoulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success Story
Juniper Developer Resources Cooney
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
Chris Muir
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
Chris Muir
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Chris Muir
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
Chris Muir
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
Chris Muir
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
Chris Muir
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
Chris Muir
 
Ad

Similar to Oracle ADF Architecture TV - Design - Service Integration Architectures (20)

PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...
Jagadish Prasath
 
Oracel ADF Introduction
Oracel ADF IntroductionOracel ADF Introduction
Oracel ADF Introduction
Hojjat Abedie
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
Jagadish Prasath
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
Bruno Borges
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
Dr. Wilfred Lin (Ph.D.)
 
Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)
Bizagi Inc
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
Steven Davelaar
 
OOW 2012: Integrate Cloud Applications with Oracle SOA Suite
OOW 2012: Integrate Cloud Applications with Oracle SOA SuiteOOW 2012: Integrate Cloud Applications with Oracle SOA Suite
OOW 2012: Integrate Cloud Applications with Oracle SOA Suite
Rajesh Raheja
 
Oracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers SlidesOracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers Slides
Safi Ur Rehman
 
Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slides
Yogesh Sharma
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebs
Berry Clemens
 
01FusionADFIntro_01FusionADFIntro___.ppt
01FusionADFIntro_01FusionADFIntro___.ppt01FusionADFIntro_01FusionADFIntro___.ppt
01FusionADFIntro_01FusionADFIntro___.ppt
MahmoudGad93
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014
Joelith
 
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database OperationsQuarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Juarez Junior
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
Kunal Ashar
 
J developer, oracle adf introduction
J developer, oracle adf   introductionJ developer, oracle adf   introduction
J developer, oracle adf introduction
AUDRIC Consultancy Services
 
GIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE ApplicationGIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE Application
Arun Gupta
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012
Arun Gupta
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologies
hwilming
 
ADF Essentials (KScope14)
ADF Essentials (KScope14)ADF Essentials (KScope14)
ADF Essentials (KScope14)
Luc Bors
 
PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...
Jagadish Prasath
 
Oracel ADF Introduction
Oracel ADF IntroductionOracel ADF Introduction
Oracel ADF Introduction
Hojjat Abedie
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
Jagadish Prasath
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
Bruno Borges
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
Dr. Wilfred Lin (Ph.D.)
 
Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)
Bizagi Inc
 
OOW 2012: Integrate Cloud Applications with Oracle SOA Suite
OOW 2012: Integrate Cloud Applications with Oracle SOA SuiteOOW 2012: Integrate Cloud Applications with Oracle SOA Suite
OOW 2012: Integrate Cloud Applications with Oracle SOA Suite
Rajesh Raheja
 
Oracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers SlidesOracle ADF (Application Development Framework) for Forms, Developers Slides
Oracle ADF (Application Development Framework) for Forms, Developers Slides
Safi Ur Rehman
 
Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slides
Yogesh Sharma
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebs
Berry Clemens
 
01FusionADFIntro_01FusionADFIntro___.ppt
01FusionADFIntro_01FusionADFIntro___.ppt01FusionADFIntro_01FusionADFIntro___.ppt
01FusionADFIntro_01FusionADFIntro___.ppt
MahmoudGad93
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014
Joelith
 
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database OperationsQuarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Juarez Junior
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
Kunal Ashar
 
GIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE ApplicationGIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE Application
Arun Gupta
 
PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012PaaSing a Java EE 6 Application at Geecon 2012
PaaSing a Java EE 6 Application at Geecon 2012
Arun Gupta
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologies
hwilming
 
ADF Essentials (KScope14)
ADF Essentials (KScope14)ADF Essentials (KScope14)
ADF Essentials (KScope14)
Luc Bors
 
Ad

Recently uploaded (20)

HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 

Oracle ADF Architecture TV - Design - Service Integration Architectures

  • 1. 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 2. 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Real World ADF Design & Architecture Principles Service Integration Architecture ORACLE PRODUCT LOGO 15th Feb 2013 v1.0
  • 3. 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Learning Objectives •  At the end of this module you should be able to: –  Understand the difference between SOAP services and REST services –  Understand which releases of Oracle JDeveloper support SOAP and REST services with ADF and how to use them –  Define a service integration strategy for Oracle ADF application development projects Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Services Overview •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 5. 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exercise Image: imagerymajestic/ FreeDigitalPhotos.net As an ADF developer, why bother?
  • 6. 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Why Bother •  Enforce consistent business logic execution for multi channel access –  Web, SOA, Mobile •  Shield data sources –  Protect them from direct developer access •  Application partitioning –  Ease of maintenance –  Sharing of business logic Exposing Web Service APIs for Business Models
  • 7. 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Web services are common in web application development and no longer SOA only. Image: Ambro / FreeDigitalPhotos.net
  • 8. 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. SOAP Services •  JAX-WS –  Java API for XML-Web Services –  Since Java 5, replacing JAX-RPC –  Support for WS annotations –  Support for asynchronous WS calls JAX-WS
  • 9. 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REST •  Representational State Transfer –  Exchanges the representation of a current data object state over the web •  Design principle for stateless data transfers on the web based on unique resource addressing using HTTP –  Avoids the overhead of SOAP services –  Addresses resources as nouns •  Supports different data representations –  Negotiated between client and server –  Representation "encodes" the state of a resource at a specific point in time –  A resource can have many different representations •  Image, Text , XML, JSON, etc.
  • 10. 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. About JAX-RS •  Java XML API for Restful Services •  Java EE standard •  Jersey is reference implementation –  Bundled with Oracle JDeveloper 12c (+) –  JAX-RS provides annotations for •  Resource request path definitions •  HTTP method mapping to service methods •  Request URL parameter mapping to input parameters •  Accepted data format •  Response data format •  etc.
  • 11. 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. SOAP Services vs. Rest Services •  Self describing and discoverable •  Machine understandable –  Supports intermediary machine access as required in SOA •  Require data transformation to be performed by the client –  XML to JAVA using JAXB SOAP
  • 12. 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. SOAP Services vs. Rest Services •  Support for different response formats •  Clients negotiate representation format by sending HTTP accept header with list of media types they are happy to process –  REST services decides which format to support •  Support for human and machine interaction •  Used by many popular Ajax frameworks –  SOAP is hard to use with JavaScript •  Preferred use with mobile clients –  Less overhead –  Security easier to implement REST
  • 13. 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Services Overview •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 14. 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. SOAP Service Integration in Oracle ADF Web Service Data Control accesses JAX-WS Proxy Client Web Service Implementation WSDL accesses JavaBean Wrapper ADF Business Components JavaBean Data Control instantiate
  • 15. 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. SOAP Service Integration in Oracle ADF Caching Strategies for Best Performance Web Service Data Control accesses Cache JAX-WS Proxy Client Web Service Implementation WSDL accesses JavaBean Wrapper ADF Business Components JavaBean Data Control instantiate
  • 16. 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Services Overview •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 17. 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Service Integration Through ADF BC •  Who –  Developers using ADF BC as their business service •  Why –  Seamless integration –  Consistent business service API –  Leverage ADF BC advanced functionality •  How –  Programmatic View Object –  Programmatic Entity (for CRUD operations) Who, Why, How
  • 18. 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF Business Components Programmatic View Object and Entity JavaBean Wrapper JAX-WS Proxy Client Entity Object CustomWsEntity View Object CustomWsViewObject Application Module referenced by exposed in Custom WS View Object Database View Object 2 Database View Object 1 ViewLink
  • 19. 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Custom View Object and Entity •  Entity –  doDML –  doSelect •  View Object –  create –  executeQueryForCollection –  createRowFromResultSet –  getQueryHitCount –  hasNextForCollection Framework Methods to Override Entity Object CustomWsEntity View Object CustomWsViewObject Application Module referenced by exposed in
  • 20. 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. WS Based Programmatic View Object •  Implementing parent-child relationship between programmatic views –  Create ViewLink between parent and child view –  Map parent PK VO attribute to child FK VO attribute –  ViewLink defines BIND_<ATTRIBUTE NAME> bind variable –  Bind variable is passed as Object[] params argument to executeQueryForCollection method •  Override method in custom VO IMPL class –  "params" is an Array of Array[2] •  [0] name •  [1] value –  Read bind variable and use in programmatic view object data query Implementing Parent – Child Relationships
  • 21. 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Services Overview •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 22. 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. JAX-WS Proxy Client / POJO DC •  Who –  Developers who don't use ADF Business Components •  Why (compared to WS Data Control) –  Flexible and powerful –  Can be used to implement caching strategies –  Pre- and post-processing of data –  Pagination support •  How –  Create POJO Data Control from JavaBean wrapper –  Optional: Implement ADF lifecycle methods Who, Why, How
  • 23. 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. JAX-WS Proxy Client / POJO DC JavaBean Wrapper JAX-WS Proxy Client POJO Data Control
  • 24. 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Web Services 101 •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 25. 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Service Integration •  Use Web Service Data Control only for simple service like weather reports or stock quotes •  Use JAX-WS proxy client for all more complex services and access them from –  Programmatic view object and entity if your business service is ADF Business Components as this allows for better integration with database queried views • Use View Objects only for read only access • Use View Objects and Entities for CRUD Web Service integration JAX-WS service
  • 26. 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Service Integration •  Use JAX-WS proxy client for all more complex services and access them from –  POJO Data Control • If your business service is not ADF BC. • If your business service doesn't require integration into an ADF business component model • If the WS access should be used in a bounded task flow deployed in an ADF library for maximum reuse JAX-WS service
  • 27. 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Service Integration •  Let the business case rule! –  ADF BC is not a simplification framework for WS access •  Integrate WS when and where it makes sense •  WS and ADF BC have different query and transaction behavior –  If all your data sources are JAX-WS services, evaluate a POJO data control approach –  Implement strategy to ensure data queried from WS sources are locally cached for better parent-child performance JAX-WS service
  • 28. 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Services Overview •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 29. 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REST Service Integration in Oracle ADF REST (Jersey) Client URL Data Control ADF Business Components JavaBean Data Control REST Service Implementation accesses accesses
  • 30. 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Web Services 101 •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 31. 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REST URL / REST DC •  Who –  Developers looking for simple integration of RESTful resources in Oracle ADF applications •  Why –  REST is a popular service format many public sites use as a programmer API –  REST is easy to use and comes with no overhead compared to SOAP •  How –  Configure URL DC with resources URI and http methods to invoke remote resources Who, Why, How
  • 32. 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REST URL / REST DC URL Data Control access REST service ADF Connection Architecture Noun @Path("<name>") @GET handleQueryRequest() @POST handleCreateRequest() @ ... ... read URI
  • 33. 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Services Overview •  ADF Service Integration Strategies –  JAX-WS Integration in Oracle ADF • Service Integration through ADF BC • JAX-WS Proxy Client / POJO DC • Recommended Practices –  JAX-RS Integration in Oracle ADF • Service Integration through URL DC • Service integration through POJO DC / ADF BC
  • 34. 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REST Jersey Client / POJO DC, ADF BC •  Who –  Developers who want to interact with REST response •  Why –  Pre- and post-processing of data •  How –  Create Jersey client from Web Application Description Language (WADL) file –  Access Jersey client from POJO avoid impact when regenerating client class Who, Why, How
  • 35. 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REST Jersey Client / POJO DC, ADF BC Jersey Client REST Proxy Client REST service accesses JavaBean Wrapper ADF Business Components JavaBean Data Control extend or instantiate Noun @Path("<name>") @GET handleQueryRequest() @POST handleCreateRequest() @ ... ...
  • 36. 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exercise Image: imagerymajestic/ FreeDigitalPhotos.net I need to build ADF based user interfaces for SOA Services (ESB/OSB). Shall I use ADF Business Components to integrate the services or POJOs and the JavaBean Data Control?
  • 37. 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exercise Image: imagerymajestic/ FreeDigitalPhotos.net What would be a good discriminator for when to use ADF BC and when to use POJO?
  • 38. 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Conclusion •  There are several options available in ADF to integrate Web Services •  When choosing between ADF Business Components and POJO DC (with JAX-WS and JAR-RS clients), consider –  SOA Services are not developed for a specific client –  Data loading from services should be optimized. In a parent-child query you should ensure data to be loaded when a specific parent record is selected –  Application user interface developers require a consistent programming API as a contract between the client logic they build and the business service •  Think "productivity"
  • 39. 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Further Reading •  Oracle Magazine "Service Please" –  http://www.oracle.com/technetwork/issue-archive/2012/12-jul/o42adf-1653060.html •  http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html –  Oracle JDeveloper and ADF Documentation Library –  Fusion Developer Guide •  Part V Completing your Application –  Using Programmatic View Objects for Alternative Data Sources •  ADF Insider Recording –  http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf- service-integ/adf-service-integ.html
  • 40. 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.