SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
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
ADF Business Components as a Service
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 that you can leverage existing ADF skills to
create SOAP ad REST Service
–  Understand how to design ADF BC business logic so it can be
reused for Web, Mobile and SOA access
–  Separate ADF BC services from web modules to avoid
unnecessary code deployments
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exposing ADF BC models as SOAP and REST
services allows you to reuse your business
logic for SOA and mobile access.
This truly enforces consistency and accelerates
developer productivity. Just perfect!
Image: Ambro/ FreeDigitalPhotos.net
5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  ADF BC SDO Services
•  ADF BC Restful Services
•  Best Practices
6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF BC SDO Services
•  Service enabled Application Modules accessed from
–  Web Service clients
–  Service Component Architecture (SCA) composite
–  Other ADF BC applications
•  Service interface exposes
–  View Object rows as SDO objects
–  Operations, Custom methods
–  View Criteria queries
•  EJB 3.0 annotated Web Service (Remote Interface)
In a Nutshell
7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF BC SDO Services
Architecture
FrameworkExtensions
ServiceInterface
EJB3SessionBean
WSDL
AM
ADF BC
Entities
SOA
JAX-WS
Client
VOEO
8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  ADF BC SDO Services
•  ADF BC Restful Services
•  Best Practices
9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF BC RESTful Services
•  REST enabled Application Modules accessed from
–  HTML clients
–  Mobile clients
–  Enterprise applications
•  REST Interface exposes
–  VOs as resources
–  Payloads in JSON format
–  CRUD operations via standard HTTP methods
–  Resource metadata available via “describe” functionality
In a Nutshell (planned feature)
10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF BC RESTful Services
Architecture
FrameworkExtensions
WebServices
Servlet
DescribeFunctionality
AM
Mobile
Clients
Web
Browser
JAX-RS
Client
VOEO
11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  ADF BC SDO Services
•  ADF BC Restful Services
•  Best Practices
12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF BC Services
•  Think "Service" !
–  Create services that are not too fine grain
–  Use "Java Extended For Oracle" data maps
•  Think deployment!
–  Deploy only the sources used by a service
•  Think network!
–  Expose only data used by clients
–  Consider deferred parent-child data fetching
Best Practices
13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Workspace & Project Organization Options
Dedicated Service Projects and ADF Library
SDO Model Project
REST Model Project
Web Model Project
ADF Library
EO
EO VO AM
EO VO AM
EO VO AM
EO
EO
EAR
EAR
EAR
14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Workspace & Project Organization
•  Organize Project structure by deployable unit
–  Use JDeveloper workspace to hold ADF BC service projects for a
specific module of your application (e.g. Warehouse, Storefront, Human
Resources, etc.)
–  Use one Project for each ADF BC service you build
–  If reuse is possible, build ADF Libraries for shared model artifacts (entity
objects, view objects, base classes)
Dedicated Service Projects and ADF Library
15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
I understand that ADF Business Components is only
one option to provide a service interface to application
logic and data.
What other options are available?
And if there are other options, when do I use them?
Image: imagerymagestic/ FreeDigitalPhotos.net
16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
If enterprise data is accessed from multiple devices,
and if this access is not necessarily related to the ADF
application I build, what would be the impact to my
ADF architecture decision?
Image: imagerymagestic/ FreeDigitalPhotos.net
17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  Consider reuse of your business logic in SOA environments and with mobile
•  Save entities (and optional view objects as well) in ADF libraries for reuse in Web,
SOAP and REST projects
–  For your reusable bits, don't rely on
•  User session
•  ADF BC session
–  getUserData()
•  Tailor services to the service need
–  Ensure best performance by reducing the content to be passed back and forth
•  Access channel and remote data access requirements determine the service that
exposes data
–  Access to application data that uses the same business logic
–  Generic access to enterprise data that does not necessarily belong to the ADF application you build
18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Further Reading
•  http://www.oracle.com/technetwork/developer-tools/jdev/documentation/
index.html
–  Oracle JDeveloper and ADF Documentation Library
–  Fusion Developer Guide
•  "Integrating Service-Enabled Application Modules"
•  Oracle Magazine on ADF BC SDO Services
–  http://www.oracle.com/technetwork/issue-archive/2012/12-sep/
o52adf-1735897.html
19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
 
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
 
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
 
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
 
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
 
Oracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error HandlingOracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error Handling
 
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
 
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
 
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
 
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
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
 
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
 
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
 
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...
 
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
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Implementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFImplementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAF
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
 
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
 

Semelhante a Oracle ADF Architecture TV - Design - ADF Service Architectures

Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slides
Yogesh Sharma
 
Extending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-FinalExtending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-Final
Rohit Dhamija
 
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
 
Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_Resume
VEERA DATLA
 
Oracle forms les01
Oracle forms  les01Oracle forms  les01
Oracle forms les01
Abed Othman
 

Semelhante a Oracle ADF Architecture TV - Design - ADF Service Architectures (20)

Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using Oracle
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UI
 
Separation of Concerns through APIs: the Essence of #SmartDB
Separation of Concerns through APIs: the Essence of #SmartDBSeparation of Concerns through APIs: the Essence of #SmartDB
Separation of Concerns through APIs: the Essence of #SmartDB
 
Oracel ADF Introduction
Oracel ADF IntroductionOracel ADF Introduction
Oracel ADF Introduction
 
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
 
Oracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slidesOracle ad fforformsdevelopers_slides
Oracle ad fforformsdevelopers_slides
 
Extending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-FinalExtending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-Final
 
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
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebs
 
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
 
Adf mobile overview
Adf mobile overviewAdf mobile overview
Adf mobile overview
 
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
 
APEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciAPEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaci
 
Oracle BPM Open Data Services (Part 1)
Oracle BPM Open Data Services (Part 1)Oracle BPM Open Data Services (Part 1)
Oracle BPM Open Data Services (Part 1)
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_Resume
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
 
Presentation cloud management
Presentation   cloud managementPresentation   cloud management
Presentation cloud management
 
Oracle forms les01
Oracle forms  les01Oracle forms  les01
Oracle forms les01
 
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Oracle ADF Architecture TV - Design - ADF Service 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 ADF Business Components as a Service 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 that you can leverage existing ADF skills to create SOAP ad REST Service –  Understand how to design ADF BC business logic so it can be reused for Web, Mobile and SOA access –  Separate ADF BC services from web modules to avoid unnecessary code deployments Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exposing ADF BC models as SOAP and REST services allows you to reuse your business logic for SOA and mobile access. This truly enforces consistency and accelerates developer productivity. Just perfect! Image: Ambro/ FreeDigitalPhotos.net
  • 5. 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  ADF BC SDO Services •  ADF BC Restful Services •  Best Practices
  • 6. 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF BC SDO Services •  Service enabled Application Modules accessed from –  Web Service clients –  Service Component Architecture (SCA) composite –  Other ADF BC applications •  Service interface exposes –  View Object rows as SDO objects –  Operations, Custom methods –  View Criteria queries •  EJB 3.0 annotated Web Service (Remote Interface) In a Nutshell
  • 7. 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF BC SDO Services Architecture FrameworkExtensions ServiceInterface EJB3SessionBean WSDL AM ADF BC Entities SOA JAX-WS Client VOEO
  • 8. 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  ADF BC SDO Services •  ADF BC Restful Services •  Best Practices
  • 9. 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF BC RESTful Services •  REST enabled Application Modules accessed from –  HTML clients –  Mobile clients –  Enterprise applications •  REST Interface exposes –  VOs as resources –  Payloads in JSON format –  CRUD operations via standard HTTP methods –  Resource metadata available via “describe” functionality In a Nutshell (planned feature)
  • 10. 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF BC RESTful Services Architecture FrameworkExtensions WebServices Servlet DescribeFunctionality AM Mobile Clients Web Browser JAX-RS Client VOEO
  • 11. 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  ADF BC SDO Services •  ADF BC Restful Services •  Best Practices
  • 12. 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF BC Services •  Think "Service" ! –  Create services that are not too fine grain –  Use "Java Extended For Oracle" data maps •  Think deployment! –  Deploy only the sources used by a service •  Think network! –  Expose only data used by clients –  Consider deferred parent-child data fetching Best Practices
  • 13. 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Workspace & Project Organization Options Dedicated Service Projects and ADF Library SDO Model Project REST Model Project Web Model Project ADF Library EO EO VO AM EO VO AM EO VO AM EO EO EAR EAR EAR
  • 14. 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Workspace & Project Organization •  Organize Project structure by deployable unit –  Use JDeveloper workspace to hold ADF BC service projects for a specific module of your application (e.g. Warehouse, Storefront, Human Resources, etc.) –  Use one Project for each ADF BC service you build –  If reuse is possible, build ADF Libraries for shared model artifacts (entity objects, view objects, base classes) Dedicated Service Projects and ADF Library
  • 15. 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. I understand that ADF Business Components is only one option to provide a service interface to application logic and data. What other options are available? And if there are other options, when do I use them? Image: imagerymagestic/ FreeDigitalPhotos.net
  • 16. 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. If enterprise data is accessed from multiple devices, and if this access is not necessarily related to the ADF application I build, what would be the impact to my ADF architecture decision? Image: imagerymagestic/ FreeDigitalPhotos.net
  • 17. 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Conclusion •  Consider reuse of your business logic in SOA environments and with mobile •  Save entities (and optional view objects as well) in ADF libraries for reuse in Web, SOAP and REST projects –  For your reusable bits, don't rely on •  User session •  ADF BC session –  getUserData() •  Tailor services to the service need –  Ensure best performance by reducing the content to be passed back and forth •  Access channel and remote data access requirements determine the service that exposes data –  Access to application data that uses the same business logic –  Generic access to enterprise data that does not necessarily belong to the ADF application you build
  • 18. 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Further Reading •  http://www.oracle.com/technetwork/developer-tools/jdev/documentation/ index.html –  Oracle JDeveloper and ADF Documentation Library –  Fusion Developer Guide •  "Integrating Service-Enabled Application Modules" •  Oracle Magazine on ADF BC SDO Services –  http://www.oracle.com/technetwork/issue-archive/2012/12-sep/ o52adf-1735897.html
  • 19. 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.