Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - ADF Service Architectures
-
Upload
chris-muir -
Category
Technology
-
view
190 -
download
3
description
Transcript of Oracle ADF Architecture TV - Design - ADF Service Architectures
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
Fram
ewor
k E
xten
sion
s
Ser
vice
Inte
rface
EJB
3 S
essi
on B
ean
WS
DL
AM
ADF BC Entities
SOA
JAX-WS Client
VO
E
O
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
Fram
ewor
k E
xten
sion
s
Web
Ser
vice
s
Ser
vlet
Des
crib
e Fu
nctio
nalit
y
AM
Mobile Clients
Web Browser
JAX-RS Client
VO
E
O
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.