SlideShare a Scribd company logo
1 of 74
Download to read offline
SO-ADF


         ODTUG Kaleidoscope 2010
               Tuesday, 29th June


            Lucas Jellema
    AMIS, The Netherlands
Overview
• Position and Role of ADF and SOA Suite
• It’s a case of St Matthews Hospital
• ADF Application leveraging SOA Composite
  Applications
• ADF Faces provides UI for Human Task
• Leverage the ADF BAM Data Control
• ADF BC feeding business events into EDN
• ADF BC - the new Database Adapter?
  – providing advanced database access through SDO
• Some SOA Concepts in ADF application development
Purpose in life
• ADF: provide user interface for humans to
  perform tasks that implement process steps
  – The front end to many, heterogeneous back end
    systems including database, cms, dwh/bi, workflow
• SOA (Suite): provide a well defined service
  interface on processes & integration layers
  – Run the encapsulated implementation underneath
    the service interface
  – Promote reuse & flexibility in the moving parts
  – SOA == BAD (Business Agility through Decoupling)
Oracle Fusion Middleware
      ADF and SOA
View
                    Portlet
               ADF Faces           JSP,           Web
   Mobile                                                    Desktop
               Rich Client       Servlet         Service



                              ADF Model


Business Services
                  EJB & JPA
                                   ADF BC         POJO
                (EclipseLink)

Enterprise Resources

       RDBMS    WebService           Content         BAM     SOA
                                    Repository      Server   Suite
EDN




                SDO Entity



      Task UI
Some material used from the book
• Shipping before OOW
  – End of August
• On SOA and SOA Suite
• Chapters on
  – ADF
  – interaction between
    ADF and SOA Suite
  – Applying SOA
    concepts to ADF based
    development
St Matthews Hospital Center
Overview
• Position and Role of ADF and SOA Suite
• It’s a case of St Matthews Hospital
• ADF Application leveraging SOA Composite
  Applications
• ADF Faces provides UI for Human Task
• Leverage the ADF BAM Data Control
• ADF BC feeding business events into EDN
• ADF BC - the new Database Adapter?
  – providing advanced database access through SDO
• Some SOA Concepts in ADF application development
St Matthews On Line:
 Request Appointment for Patient
• ADF Faces Web Application for GPs to request
  a new appointment for a patient
  – Invokes the SOA Composite application
    PatientAppointmentService as WebService
  – Response: appointment identifier
• Additionally:
  – Request status of appointment (date/time,
    instructions)
  – Cancel apppointment
SOA Composite application
PatientAppointmentService
Mobile                                                     Web Service              Desktop
-ADF Faces Mobile          ADF Faces              JSP,          -RESTful
                                                                                    -Swing
-Native Mobile             Rich Client          Servlet         -SOAP
                                                                                    -MS Office
Client                                                          -Portlet



  PatientsVw       find…        request…     cancel    status        getTask…    claim    ok
   PatientsService             PatientAppointmentService            ScheduleAppointmentTask
    Data Control                      Data Control                        Data Control
                                           ADF Model


     EJB & JPA
                           ADF BC                POJO
   (EclipseLink)

                                                                    BAM
                                                                   Server       Human Task
                              WebService                                         (SOA Suite
                            -RESTful
                                                       Content                   Workflow
         RDBMS              -SOAP
                            -SCA Composite            Repository                  Services)
                                    “anything Java can access”
Alternative ways to call SOA
   Composite’s services from ADF
Instead of calling an XML/HTTP/SOAP based
  WebService
• An ADF Application could use the ADF Binding
  – Via RMI, exchanging XML messages
• Or the EJB Binding
  – Via RMI, exchanging (serialized) Java objects
• Note: the ADF Binding and the EJB Binding
  need to have been explicitly exposed
ADF applications with Data
 Controls consuming Web Services
• WebService Data Control
• WebService Proxy (POJO) published as Data
  Control
                                  ADF Model
• WebService
  Proxy wrapped       EJB & JPA
                                    ADF BC  POJO
  by ADF BC         (EclipseLink)
                                      POJO
  – Override doDML,
                                   WebService
    doSelect,…                   -RESTful
                                 -SOAP
                                 -SCA Composite
Overview
• Position and Role of ADF and SOA Suite
• It’s a case of St Matthews Hospital
• ADF Application leveraging SOA Composite
  Applications
• ADF Faces provides UI for Human Task
• Leverage the ADF BAM Data Control
• ADF BC feeding business events into EDN
• ADF BC - the new Database Adapter?
  – providing advanced database access through SDO
• Some SOA Concepts in ADF application development
ADF Faces provides User Interface
   for Human Tasks in SOA Suite
• Human Task is an asynchronous service
  – Task details and data payload are the request
  – The task outcome and the enriched payload are
    the response
• The execution of the service is ‘the ghost in
  the machine’: a human operator
  – Who needs a user interface
• The UI is implemented
  in ADF Faces
The SchedulerService
• When an Appointment is requested for a patient
   – The PatientAppointmentService is initiated and hits the
     ‘ScheduleAppointment’ human task
   – The task is assigned and appears in the Worklist
     Application; the assignees are notified
• When an assignee opens the task in the worklist
  application, the
  special Task UI opens
   – Worklist application
     embeds the task flow
Default Task Form for Human Task
• For human tasks in SOA Composite applications
  – A default Task Form can be generated
  – With buttons for the supported outcomes
  – And Form elements for the payload
     • Read only and updatable
Specialized Task Flows
• Alternatively: a specialized task flow can be
  created for
  the human
  task
Create ADF Task Flow based on
    Human Task definition
Add Task action binding to page
Configure Task Flow for Human
 Task component in FMW EM
SOA Suite

                                Work
                                 flow
                    IFRAME     Services




                                ADF Faces
   ADF Faces
                             Web Application X
Web Application Y
                               TaskForm C
  TaskForm A
                               TaskForm D
  TaskForm B
Overview
• Position and Role of ADF and SOA Suite
• It’s a case of St Matthews Hospital
• ADF Application leveraging SOA Composite
  Applications
• ADF Faces provides UI for Human Task
• Leverage the ADF BAM Data Control
• ADF BC feeding business events into EDN
• ADF BC - the new Database Adapter?
  – providing advanced database access through SDO
• Some SOA Concepts in ADF application development
Introducing
      Business Activity Monitoring
• Operational Business Intelligence
• Data fed in from many sources:
    – RFID sensors, BPEL, Database Triggers, RSS, ODI
• Real Time insight
• Dashboard
• Live updates
• Looking for threshold crossing, exceptions, trends,
  missing events
• Display visually and turn into alerts & notifications
Introducing
Business Activity Monitoring
                             ADF
                          Application
Embedding real time displays
     based on BAM Data Control
• Configure connection to BAM Server
• Create BAM Data Control
  – Based on Data Objects in
    Active Data Cache
• Drag & Drop Data Control’s
  collections & attributes to
  ADF Faces pages
  – Just like ADF BC Data Control
  – However: BAM Data Control is active
Configuring a ADF Faces 11g Graph
  based on a BAM Data Control
Live & Real Time dashboard in
    regular ADF Web Application
• Active Data Service (‘server push’) will pick
  changes in the
  BAM Data Control
  – Underlying BAM
    ADC Data Object
• And push them to
  the chart (or table)
  in the ADF page
Overview
• Position and Role of ADF and SOA Suite
• It’s a case of St Matthews Hospital
• ADF Application leveraging SOA Composite
  Applications
• ADF Faces provides UI for Human Task
• Leverage the ADF BAM Data Control
• ADF BC feeding business events into EDN
• ADF BC - the new Database Adapter?
  – providing advanced database access through SDO
• Some SOA Concepts in ADF application development
Event Driven Architecture

                               Marketing

Dealer

                     Event
             Order    Pool
                               Customer Relations




Sales Desk                     Shipping
Consumer
                                     Event
           Producer                 Delivery
                                    Network

                                                            Consumer



Examples of events:                                    Examples of event consumers:
-User clicked on button                                      -Server side actionListener
-Field was changed                             -clientListener, onValidateItem triggger
-Record in table is being updated                                -Database table trigger
-Result of query has changed                              -Change Notification Handler
-Tom posted message on forum                                            -Activity Stream
-Order was dispatched                                        -Complex Event Processor
-Customer has changed address                               -Synch CRM BPEL process
- Patient has died or moved                               - SOA Composite application
ADF Faces Web Application
     PatientAdministration




               Application Module
                 PatientsService

                   View Object
                   PatientsVw

       ADF         Entity Object
   Business           Patient
Components



                    PATIENTS
ADF Application for Patient
           Administration
• One Business Event defined at St. Matthews is
  the ‘Patient has moved’ event
• Any application, process or service that (first)
  registers or detects that event should publish it
• The Patient Administration application is one
  point of origination for this business event
  – And therefore should publish it to the EDN
• ADF Business Components has an easy
  integration with EDN
ADF Faces Web Application
     PatientAdministration




               Application Module
                 PatientsService

                   View Object                       SOA Suite
                   PatientsVw
                                                 E
       ADF         Entity Object                 D
   Business           Patient                    N
Components

                                    PatientHas
                                      Moved
                    PATIENTS
Configure ADF BC Entity Objects
Define the Business Events
Consume Event in SOA Suite
And…. Action!!
ADF consuming EDN events
Steps:
• EDN events published on JMS
• ADF Faces application has registered as
  listener on the JMS queue
  – An application scope bean collects events in
    ‘active data collection’
• ADF Faces page contains Active Table based
  on the ‘active data collection’
  – New EDN events are pushed to the ADF Faces UI
Much more on events…
Overview
• Position and Role of ADF and SOA Suite
• It’s a case of St Matthews Hospital
• ADF Application leveraging SOA Composite
  Applications
• ADF Faces provides UI for Human Task
• Leverage the ADF BAM Data Control
• ADF BC feeding business events into EDN
• ADF BC - the new Database Adapter?
  – providing advanced database access through SDO
• Some SOA Concepts in ADF application development
ADF BC providing Data Access
     service to BPEL processes
• SOA Suite communicates with database
  through Database Adapter (or AQ Adapter)
  – SQL (select, DML), PL/SQL and polling
• Alternatively, Service Data Objects and a Data
  Access Service can be used
  – XML and HTTP based
  – Stateful dataset & two-way synchronization
ADF Faces Web Application
     PatientAdministration

                                      (SDO) Web
                                        Service
                                    PatientsService


               Application Module
                 PatientsService

                   View Object                            SOA Suite
                   PatientsVw
                                                      E
       ADF         Entity Object                      D
   Business           Patient                         N
Components
                                                              DB
                                                            Adapter
                    PATIENTS
ADF BC, SDO and BPEL
• ADF BC Application Module can be exposed as
  Service Interface that is SDO enabled
• The SOA Suite ADF BC binding adapter
  connects to the SDO Service Interface
• BPEL Variables can be based on SDO Entity
  – BPEL activity Create Entity does Insert
  – BPEL activity Bind Entity does retrieve
  – Assign in BPEL results in call to update on SDO
Expose ADF BC Service Interface
Test SDO enabled Service Interface
Using the ADF-BC Binding Adapter
Create SDO Entity based variable in
          BPEL process
Replace call to Insert Database
Adapter option with Create Entity
BPEL activity Bind Entity does
 ‘select * into BPEL variable’
What SDO will do for us
• When the Entity Variable has been Created or
  Bound
• Then a link persists between the SDO Service
  and the BPEL variable
  – When the BPEL variable is manipulated, the SDO
    Service is notified
  – When the SDO is changed, the BPEL variable is
    synchronized
     • For example when the ADF BC ViewObject or a
       database trigger does enrichment/conversion
ADF Faces Web Application
ADF Faces Web                             OtherPatientAdministration
 Application
   Patient                (SDO) Web
Administration              Service
                        PatientsService



                 Application Module         Application Module
                   PatientsService         SpecialPatientsService

                     View Object                 View Object
                     PatientsVw                  PatientsVw

       ADF          Entity Object               Entity Object       ADF
   Business            Patient                     Patient          Business
Components                                                          Components



                      PATIENTS
                                                    ?
Service Enabled Entity Objects
• ADF BC supports Service Enabled Entity Objects
  based on ViewObjects in Service Interface of
  Application Module
• ADF takes care of turning local operations on
  ViewObject into WebService call to remote ADF
  service provider
• The consuming application uses ADF BC as always –
  with some limitations
   – No joins in ViewObjects based on service enabled entities
   – Separate transactions for service enabled and local entities
Creating a
Service Enabled Entity Object
Overview
• Position and Role of ADF and SOA Suite
• It’s a case of St Matthews Hospital
• ADF Application leveraging SOA Composite
  Applications
• ADF Faces provides UI for Human Task
• Leverage the ADF BAM Data Control
• ADF BC feeding business events into EDN
• ADF BC - the new Database Adapter?
   – providing advanced database access through SDO
• Some SOA Concepts in ADF application development
SOA and UI – Different Worlds?
• Some services require or interact with a user
  interface. For instance: BPEL process
  containing Human Tasks.

• Taking it one step further: some user
  interfaces can be treated/offered/used like
  services!
UI Application can be a Service too
• Applications can be exposed as a collection of UI
  services - user interface components based on data
  and (data)services
• For example in the form of "portlets" that can be
  consumed by a Portal product in a mash up




                                               Data
Remember the SOA Concepts?
• Services with standardized Contracts
• Producers and Consumers
• Cross-platform/technology
• Independent development/management of
  components
• Decoupling
• Events
Applying SOA Concepts to UI:
             WSRP Portlets
• WSRP Standard: WebService for Remote Portlet
  – Exposed by Portlet Container (or Provider)
  – Portlet renders its own UI/the content (HTML)
  – Contract includes (input) parameters (String or
    String[]) and events (out, simple payload)
• Called by Portal/Portlet consumer
• Portlets can deal with data manipulation,
  events, navigation, AJAX and partial refresh
Portlet and Decoupling


• Just like normal web services
   – Portlets can be located anywhere
     (we only need URL for endpoint)
   – Portlets can be implemented in any technology – as long
     as the standards are followed
   – The implementation of Portlets can change
      • as long as the contract (parameters/events) is safe
• Ideally the Portlet uses (style) classes and allows the
  consumer to apply the stylesheet
Drawing the Analogy
Traditional SOA Components:
•   Application ( = Consumer)
•   Webservices ( = Service + Contract)
•   Enterprise Service Bus ( = Service Provider)
•   Queues (= Events and Event Listeners)
WSRP Portlet Components:
•   Portal ( = Consumer)
•   WRSP Portlets ( = Service + Contract)
•   Portlet Providers ( = Service Provider)
•   Produces events for Portal (= Events and Event Listeners)
ADF Task Flows
• With Oracle ADF (underlying UI technology of
  WebCenter) comes an alternative way to
  develop UI Services: ADF Task Flows
• ADF Task flows are Portlet-like in many
  respects: stand alone, independently
  developable, reusable UI component
• Task Flow = one or multistep view, internal
  business logic, navigation flow, beans, …
  – Communication from and to Task Flows through
    (contextual) events
Task Flow Contract
• Like Portlets, ADF Task Flows adhere to a
  Contract (native ADF).
  Input:
    Parameters (initial)
    Events
    Navigation commands
  Output
    (Changed) Parameters
    Events
    Navigation events
Comparing UI Service technologies
Portlet                             Task Flow
• Remote                            • Local, native, ADF only
• Cross Technology                  • Shared
• Standards based                      –   Data Controls
                                       –   Transaction context
• Processing overhead
                                       –   Skin/Style
   – Slower page rendering
                                       –   Client side JavaScript & UI
• Design Time and Run Time
  decoupling                        • Rich Contract
                                       – Complex parameters
   – Remote provider has to be up
                                       – Events out and in
• Needs portlet consumption                 • With complex payload
  framework, e.g. WebCenter            – Navigation influence
   – And portlet publication
                                    • Support for customization
Development
      with Portlets & Task Flows
• The use of Portlets and Task Flows allows for a
  decoupled way of developing applications
  – Teams agree on a contract
  – And both work their merry way based on the
    contract – in fairly insulated manner
• Reuse is possible based on that contract
• Maintenance of Portlet and Task Flow can be
  independent of consuming applications
  – Note: task flow is integrated at design time
Summary and Conclusion
• ADF applications can make use of the
  WebServices exposed by SOA applications
• SOA Composites rely on ADF for
     – ADF Faces to provide the UI for Human Tasks
     – ADF BC to provide Data(base) access services
• ADF can also: publish events to EDN, expose
  BAM data, implements Admin UIs for SOA Suite
• Some SOA concepts are best practices in ADF
  application development too
74
Resources
• Presentation and demos are on our blog
  – http://technology.amis.nl/blog
• Contact me at:
  lucas.jellema
  @amis.nl

More Related Content

What's hot

Data Migration to AWS with DataSync & Transfer for SFTP
Data Migration to AWS with DataSync & Transfer for SFTPData Migration to AWS with DataSync & Transfer for SFTP
Data Migration to AWS with DataSync & Transfer for SFTP
Amazon Web Services
 
Track 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptx
Track 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptxTrack 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptx
Track 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptx
Amazon Web Services
 
Protect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced AttacksProtect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced Attacks
Amazon Web Services
 

What's hot (20)

AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
AWSome Day Online 2020_โมดูล 3: การวางระบบบน AWS Cloud
AWSome Day Online 2020_โมดูล 3: การวางระบบบน AWS CloudAWSome Day Online 2020_โมดูล 3: การวางระบบบน AWS Cloud
AWSome Day Online 2020_โมดูล 3: การวางระบบบน AWS Cloud
 
Design, Deploy, & Optimize SQL Server Workloads
Design, Deploy, & Optimize SQL Server Workloads Design, Deploy, & Optimize SQL Server Workloads
Design, Deploy, & Optimize SQL Server Workloads
 
Getting Started on AWS - AWSome Day Dallas 2018
Getting Started on AWS - AWSome Day Dallas 2018Getting Started on AWS - AWSome Day Dallas 2018
Getting Started on AWS - AWSome Day Dallas 2018
 
What’s new in serverless - re:Invent 2020
What’s new in serverless - re:Invent 2020What’s new in serverless - re:Invent 2020
What’s new in serverless - re:Invent 2020
 
re:Invent for Introverts 2021
re:Invent for Introverts 2021re:Invent for Introverts 2021
re:Invent for Introverts 2021
 
Data Migration to AWS with DataSync & Transfer for SFTP
Data Migration to AWS with DataSync & Transfer for SFTPData Migration to AWS with DataSync & Transfer for SFTP
Data Migration to AWS with DataSync & Transfer for SFTP
 
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Security Innovations in the Cloud
Security Innovations in the CloudSecurity Innovations in the Cloud
Security Innovations in the Cloud
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS CloudAWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
AWSome Day Online 2020_โมดูล 2: เริ่มต้นใช้งานบน AWS Cloud
 
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
 
AWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applicationsAWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applications
 
AWSome Day Nashville 2018_Training
AWSome Day Nashville 2018_Training AWSome Day Nashville 2018_Training
AWSome Day Nashville 2018_Training
 
AWSome Day Online 2020_Modul 1: Pengenalan AWS Cloud
AWSome Day Online 2020_Modul 1: Pengenalan AWS CloudAWSome Day Online 2020_Modul 1: Pengenalan AWS Cloud
AWSome Day Online 2020_Modul 1: Pengenalan AWS Cloud
 
AWS Security Hub
AWS Security HubAWS Security Hub
AWS Security Hub
 
Track 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptx
Track 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptxTrack 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptx
Track 5 Session 4_ intel 透過AWS Outposts就地佈署 on-premises 雲端環境.pptx
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview
 
Protect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced AttacksProtect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced Attacks
 

Viewers also liked

Guidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOAGuidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
Steven Davelaar
 
Oracle ADF Overview
Oracle ADF OverviewOracle ADF Overview
Oracle ADF Overview
Bahaa Farouk
 
Working with Portlets in ADF and Webcenter
Working with Portlets in ADF and WebcenterWorking with Portlets in ADF and Webcenter
Working with Portlets in ADF and Webcenter
DataNext Solutions
 
Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for Beginners
DataNext Solutions
 
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
Steven Davelaar
 

Viewers also liked (13)

Reporting solutions for ADF Applications
Reporting solutions for ADF ApplicationsReporting solutions for ADF Applications
Reporting solutions for ADF Applications
 
Running ADF Faces on Tablets and Mobile Phones
Running ADF Faces on Tablets and Mobile PhonesRunning ADF Faces on Tablets and Mobile Phones
Running ADF Faces on Tablets and Mobile Phones
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)
 
Building a custom Oracle ADF Component
Building a custom Oracle ADF ComponentBuilding a custom Oracle ADF Component
Building a custom Oracle ADF Component
 
18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOAGuidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
 
Talking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA SuiteTalking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA Suite
 
Oracle ADF Overview
Oracle ADF OverviewOracle ADF Overview
Oracle ADF Overview
 
Working with Portlets in ADF and Webcenter
Working with Portlets in ADF and WebcenterWorking with Portlets in ADF and Webcenter
Working with Portlets in ADF and Webcenter
 
Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for Beginners
 
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
 
ADF in action 1.2
ADF in action 1.2ADF in action 1.2
ADF in action 1.2
 

Similar to so-aDF

Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
Agora Group
 
Fusion Middleware Live Application Development Demo Oracle Open World 2012
Fusion Middleware Live Application Development Demo Oracle Open World 2012Fusion Middleware Live Application Development Demo Oracle Open World 2012
Fusion Middleware Live Application Development Demo Oracle Open World 2012
Lucas Jellema
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
luohd
 
Best Weblogic Server Online Training
Best Weblogic Server Online TrainingBest Weblogic Server Online Training
Best Weblogic Server Online Training
Samatha Kamuni
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
Er. Sndp Srda
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
Sascha Wenninger
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
magnificsmile
 

Similar to so-aDF (20)

Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
 
Fusion Middleware Live Application Development Demo - Oracle OpenWorld 2012
Fusion Middleware Live Application Development Demo - Oracle OpenWorld 2012Fusion Middleware Live Application Development Demo - Oracle OpenWorld 2012
Fusion Middleware Live Application Development Demo - Oracle OpenWorld 2012
 
Fusion Middleware Live Application Development Demo Oracle Open World 2012
Fusion Middleware Live Application Development Demo Oracle Open World 2012Fusion Middleware Live Application Development Demo Oracle Open World 2012
Fusion Middleware Live Application Development Demo Oracle Open World 2012
 
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
 
ADF Mobile sig 12-11-2012
ADF Mobile sig 12-11-2012ADF Mobile sig 12-11-2012
ADF Mobile sig 12-11-2012
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
Best Weblogic Server Online Training
Best Weblogic Server Online TrainingBest Weblogic Server Online Training
Best Weblogic Server Online Training
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
 
Oracle adf online training
Oracle adf online trainingOracle adf online training
Oracle adf online training
 
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Experiences with Oracle WebCenter 11g: Implementing SOA with a User InterfaceExperiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
 
o
oo
o
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)
 
SOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.pptSOA 11g Foundation - G - ADF Development.ppt
SOA 11g Foundation - G - ADF Development.ppt
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
 
Cloud integration and tools
Cloud integration and toolsCloud integration and tools
Cloud integration and tools
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Recently uploaded

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
 
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
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 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
 
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?
 
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...
 
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
 
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...
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

so-aDF

  • 1. SO-ADF ODTUG Kaleidoscope 2010 Tuesday, 29th June Lucas Jellema AMIS, The Netherlands
  • 2. Overview • Position and Role of ADF and SOA Suite • It’s a case of St Matthews Hospital • ADF Application leveraging SOA Composite Applications • ADF Faces provides UI for Human Task • Leverage the ADF BAM Data Control • ADF BC feeding business events into EDN • ADF BC - the new Database Adapter? – providing advanced database access through SDO • Some SOA Concepts in ADF application development
  • 3. Purpose in life • ADF: provide user interface for humans to perform tasks that implement process steps – The front end to many, heterogeneous back end systems including database, cms, dwh/bi, workflow • SOA (Suite): provide a well defined service interface on processes & integration layers – Run the encapsulated implementation underneath the service interface – Promote reuse & flexibility in the moving parts – SOA == BAD (Business Agility through Decoupling)
  • 5. View Portlet ADF Faces JSP, Web Mobile Desktop Rich Client Servlet Service ADF Model Business Services EJB & JPA ADF BC POJO (EclipseLink) Enterprise Resources RDBMS WebService Content BAM SOA Repository Server Suite
  • 6. EDN SDO Entity Task UI
  • 7. Some material used from the book • Shipping before OOW – End of August • On SOA and SOA Suite • Chapters on – ADF – interaction between ADF and SOA Suite – Applying SOA concepts to ADF based development
  • 9. Overview • Position and Role of ADF and SOA Suite • It’s a case of St Matthews Hospital • ADF Application leveraging SOA Composite Applications • ADF Faces provides UI for Human Task • Leverage the ADF BAM Data Control • ADF BC feeding business events into EDN • ADF BC - the new Database Adapter? – providing advanced database access through SDO • Some SOA Concepts in ADF application development
  • 10. St Matthews On Line: Request Appointment for Patient • ADF Faces Web Application for GPs to request a new appointment for a patient – Invokes the SOA Composite application PatientAppointmentService as WebService – Response: appointment identifier • Additionally: – Request status of appointment (date/time, instructions) – Cancel apppointment
  • 12. Mobile Web Service Desktop -ADF Faces Mobile ADF Faces JSP, -RESTful -Swing -Native Mobile Rich Client Servlet -SOAP -MS Office Client -Portlet PatientsVw find… request… cancel status getTask… claim ok PatientsService PatientAppointmentService ScheduleAppointmentTask Data Control Data Control Data Control ADF Model EJB & JPA ADF BC POJO (EclipseLink) BAM Server Human Task WebService (SOA Suite -RESTful Content Workflow RDBMS -SOAP -SCA Composite Repository Services) “anything Java can access”
  • 13.
  • 14.
  • 15.
  • 16. Alternative ways to call SOA Composite’s services from ADF Instead of calling an XML/HTTP/SOAP based WebService • An ADF Application could use the ADF Binding – Via RMI, exchanging XML messages • Or the EJB Binding – Via RMI, exchanging (serialized) Java objects • Note: the ADF Binding and the EJB Binding need to have been explicitly exposed
  • 17. ADF applications with Data Controls consuming Web Services • WebService Data Control • WebService Proxy (POJO) published as Data Control ADF Model • WebService Proxy wrapped EJB & JPA ADF BC POJO by ADF BC (EclipseLink) POJO – Override doDML, WebService doSelect,… -RESTful -SOAP -SCA Composite
  • 18. Overview • Position and Role of ADF and SOA Suite • It’s a case of St Matthews Hospital • ADF Application leveraging SOA Composite Applications • ADF Faces provides UI for Human Task • Leverage the ADF BAM Data Control • ADF BC feeding business events into EDN • ADF BC - the new Database Adapter? – providing advanced database access through SDO • Some SOA Concepts in ADF application development
  • 19. ADF Faces provides User Interface for Human Tasks in SOA Suite • Human Task is an asynchronous service – Task details and data payload are the request – The task outcome and the enriched payload are the response • The execution of the service is ‘the ghost in the machine’: a human operator – Who needs a user interface • The UI is implemented in ADF Faces
  • 20. The SchedulerService • When an Appointment is requested for a patient – The PatientAppointmentService is initiated and hits the ‘ScheduleAppointment’ human task – The task is assigned and appears in the Worklist Application; the assignees are notified • When an assignee opens the task in the worklist application, the special Task UI opens – Worklist application embeds the task flow
  • 21. Default Task Form for Human Task • For human tasks in SOA Composite applications – A default Task Form can be generated – With buttons for the supported outcomes – And Form elements for the payload • Read only and updatable
  • 22. Specialized Task Flows • Alternatively: a specialized task flow can be created for the human task
  • 23. Create ADF Task Flow based on Human Task definition
  • 24. Add Task action binding to page
  • 25. Configure Task Flow for Human Task component in FMW EM
  • 26.
  • 27. SOA Suite Work flow IFRAME Services ADF Faces ADF Faces Web Application X Web Application Y TaskForm C TaskForm A TaskForm D TaskForm B
  • 28. Overview • Position and Role of ADF and SOA Suite • It’s a case of St Matthews Hospital • ADF Application leveraging SOA Composite Applications • ADF Faces provides UI for Human Task • Leverage the ADF BAM Data Control • ADF BC feeding business events into EDN • ADF BC - the new Database Adapter? – providing advanced database access through SDO • Some SOA Concepts in ADF application development
  • 29. Introducing Business Activity Monitoring • Operational Business Intelligence • Data fed in from many sources: – RFID sensors, BPEL, Database Triggers, RSS, ODI • Real Time insight • Dashboard • Live updates • Looking for threshold crossing, exceptions, trends, missing events • Display visually and turn into alerts & notifications
  • 31. Embedding real time displays based on BAM Data Control • Configure connection to BAM Server • Create BAM Data Control – Based on Data Objects in Active Data Cache • Drag & Drop Data Control’s collections & attributes to ADF Faces pages – Just like ADF BC Data Control – However: BAM Data Control is active
  • 32.
  • 33. Configuring a ADF Faces 11g Graph based on a BAM Data Control
  • 34. Live & Real Time dashboard in regular ADF Web Application • Active Data Service (‘server push’) will pick changes in the BAM Data Control – Underlying BAM ADC Data Object • And push them to the chart (or table) in the ADF page
  • 35. Overview • Position and Role of ADF and SOA Suite • It’s a case of St Matthews Hospital • ADF Application leveraging SOA Composite Applications • ADF Faces provides UI for Human Task • Leverage the ADF BAM Data Control • ADF BC feeding business events into EDN • ADF BC - the new Database Adapter? – providing advanced database access through SDO • Some SOA Concepts in ADF application development
  • 36. Event Driven Architecture Marketing Dealer Event Order Pool Customer Relations Sales Desk Shipping
  • 37. Consumer Event Producer Delivery Network Consumer Examples of events: Examples of event consumers: -User clicked on button -Server side actionListener -Field was changed -clientListener, onValidateItem triggger -Record in table is being updated -Database table trigger -Result of query has changed -Change Notification Handler -Tom posted message on forum -Activity Stream -Order was dispatched -Complex Event Processor -Customer has changed address -Synch CRM BPEL process - Patient has died or moved - SOA Composite application
  • 38. ADF Faces Web Application PatientAdministration Application Module PatientsService View Object PatientsVw ADF Entity Object Business Patient Components PATIENTS
  • 39. ADF Application for Patient Administration • One Business Event defined at St. Matthews is the ‘Patient has moved’ event • Any application, process or service that (first) registers or detects that event should publish it • The Patient Administration application is one point of origination for this business event – And therefore should publish it to the EDN • ADF Business Components has an easy integration with EDN
  • 40. ADF Faces Web Application PatientAdministration Application Module PatientsService View Object SOA Suite PatientsVw E ADF Entity Object D Business Patient N Components PatientHas Moved PATIENTS
  • 41. Configure ADF BC Entity Objects
  • 43. Consume Event in SOA Suite
  • 45. ADF consuming EDN events Steps: • EDN events published on JMS • ADF Faces application has registered as listener on the JMS queue – An application scope bean collects events in ‘active data collection’ • ADF Faces page contains Active Table based on the ‘active data collection’ – New EDN events are pushed to the ADF Faces UI
  • 46. Much more on events…
  • 47. Overview • Position and Role of ADF and SOA Suite • It’s a case of St Matthews Hospital • ADF Application leveraging SOA Composite Applications • ADF Faces provides UI for Human Task • Leverage the ADF BAM Data Control • ADF BC feeding business events into EDN • ADF BC - the new Database Adapter? – providing advanced database access through SDO • Some SOA Concepts in ADF application development
  • 48. ADF BC providing Data Access service to BPEL processes • SOA Suite communicates with database through Database Adapter (or AQ Adapter) – SQL (select, DML), PL/SQL and polling • Alternatively, Service Data Objects and a Data Access Service can be used – XML and HTTP based – Stateful dataset & two-way synchronization
  • 49. ADF Faces Web Application PatientAdministration (SDO) Web Service PatientsService Application Module PatientsService View Object SOA Suite PatientsVw E ADF Entity Object D Business Patient N Components DB Adapter PATIENTS
  • 50. ADF BC, SDO and BPEL • ADF BC Application Module can be exposed as Service Interface that is SDO enabled • The SOA Suite ADF BC binding adapter connects to the SDO Service Interface • BPEL Variables can be based on SDO Entity – BPEL activity Create Entity does Insert – BPEL activity Bind Entity does retrieve – Assign in BPEL results in call to update on SDO
  • 51. Expose ADF BC Service Interface
  • 52. Test SDO enabled Service Interface
  • 53. Using the ADF-BC Binding Adapter
  • 54. Create SDO Entity based variable in BPEL process
  • 55. Replace call to Insert Database Adapter option with Create Entity
  • 56.
  • 57. BPEL activity Bind Entity does ‘select * into BPEL variable’
  • 58. What SDO will do for us • When the Entity Variable has been Created or Bound • Then a link persists between the SDO Service and the BPEL variable – When the BPEL variable is manipulated, the SDO Service is notified – When the SDO is changed, the BPEL variable is synchronized • For example when the ADF BC ViewObject or a database trigger does enrichment/conversion
  • 59. ADF Faces Web Application ADF Faces Web OtherPatientAdministration Application Patient (SDO) Web Administration Service PatientsService Application Module Application Module PatientsService SpecialPatientsService View Object View Object PatientsVw PatientsVw ADF Entity Object Entity Object ADF Business Patient Patient Business Components Components PATIENTS ?
  • 60. Service Enabled Entity Objects • ADF BC supports Service Enabled Entity Objects based on ViewObjects in Service Interface of Application Module • ADF takes care of turning local operations on ViewObject into WebService call to remote ADF service provider • The consuming application uses ADF BC as always – with some limitations – No joins in ViewObjects based on service enabled entities – Separate transactions for service enabled and local entities
  • 61. Creating a Service Enabled Entity Object
  • 62. Overview • Position and Role of ADF and SOA Suite • It’s a case of St Matthews Hospital • ADF Application leveraging SOA Composite Applications • ADF Faces provides UI for Human Task • Leverage the ADF BAM Data Control • ADF BC feeding business events into EDN • ADF BC - the new Database Adapter? – providing advanced database access through SDO • Some SOA Concepts in ADF application development
  • 63. SOA and UI – Different Worlds? • Some services require or interact with a user interface. For instance: BPEL process containing Human Tasks. • Taking it one step further: some user interfaces can be treated/offered/used like services!
  • 64. UI Application can be a Service too • Applications can be exposed as a collection of UI services - user interface components based on data and (data)services • For example in the form of "portlets" that can be consumed by a Portal product in a mash up Data
  • 65. Remember the SOA Concepts? • Services with standardized Contracts • Producers and Consumers • Cross-platform/technology • Independent development/management of components • Decoupling • Events
  • 66. Applying SOA Concepts to UI: WSRP Portlets • WSRP Standard: WebService for Remote Portlet – Exposed by Portlet Container (or Provider) – Portlet renders its own UI/the content (HTML) – Contract includes (input) parameters (String or String[]) and events (out, simple payload) • Called by Portal/Portlet consumer • Portlets can deal with data manipulation, events, navigation, AJAX and partial refresh
  • 67. Portlet and Decoupling • Just like normal web services – Portlets can be located anywhere (we only need URL for endpoint) – Portlets can be implemented in any technology – as long as the standards are followed – The implementation of Portlets can change • as long as the contract (parameters/events) is safe • Ideally the Portlet uses (style) classes and allows the consumer to apply the stylesheet
  • 68. Drawing the Analogy Traditional SOA Components: • Application ( = Consumer) • Webservices ( = Service + Contract) • Enterprise Service Bus ( = Service Provider) • Queues (= Events and Event Listeners) WSRP Portlet Components: • Portal ( = Consumer) • WRSP Portlets ( = Service + Contract) • Portlet Providers ( = Service Provider) • Produces events for Portal (= Events and Event Listeners)
  • 69. ADF Task Flows • With Oracle ADF (underlying UI technology of WebCenter) comes an alternative way to develop UI Services: ADF Task Flows • ADF Task flows are Portlet-like in many respects: stand alone, independently developable, reusable UI component • Task Flow = one or multistep view, internal business logic, navigation flow, beans, … – Communication from and to Task Flows through (contextual) events
  • 70. Task Flow Contract • Like Portlets, ADF Task Flows adhere to a Contract (native ADF). Input: Parameters (initial) Events Navigation commands Output (Changed) Parameters Events Navigation events
  • 71. Comparing UI Service technologies Portlet Task Flow • Remote • Local, native, ADF only • Cross Technology • Shared • Standards based – Data Controls – Transaction context • Processing overhead – Skin/Style – Slower page rendering – Client side JavaScript & UI • Design Time and Run Time decoupling • Rich Contract – Complex parameters – Remote provider has to be up – Events out and in • Needs portlet consumption • With complex payload framework, e.g. WebCenter – Navigation influence – And portlet publication • Support for customization
  • 72. Development with Portlets & Task Flows • The use of Portlets and Task Flows allows for a decoupled way of developing applications – Teams agree on a contract – And both work their merry way based on the contract – in fairly insulated manner • Reuse is possible based on that contract • Maintenance of Portlet and Task Flow can be independent of consuming applications – Note: task flow is integrated at design time
  • 73. Summary and Conclusion • ADF applications can make use of the WebServices exposed by SOA applications • SOA Composites rely on ADF for – ADF Faces to provide the UI for Human Tasks – ADF BC to provide Data(base) access services • ADF can also: publish events to EDN, expose BAM data, implements Admin UIs for SOA Suite • Some SOA concepts are best practices in ADF application development too 74
  • 74. Resources • Presentation and demos are on our blog – http://technology.amis.nl/blog • Contact me at: lucas.jellema @amis.nl