SlideShare a Scribd company logo
Experiences with Oracle WebCenter 11g: Implementing SOA with a User InterfacePeter EbellLucas Jellema AMIS, The Netherlands
AgendaSOA - what and whyWebServices with a face – PortletsUI Services with ADF Task FlowsIntroducing WebCenterPortlet infrastructurePre-packaged task flow servicesPutting a User Interface on the SOA SuiteSummary
SOA = BAD
BusinessAgility throughDecouplingSOA =
SOA ConceptsServices with standardized ContractsProducers and ConsumersCross-platform/technologyIndependent development/management of ComponentsDecouplingEvents
Potential SOA BenefitsReduce ComplexityFlexibility – capacity to change and adaptQuickly (time to market, prototype)With lower impact and riskThrough (re-)composition and (re-)organizationBest of breed solutionsReuseIntegration (!)
Traditional SOA: Programmatic ServicesTypical Components:Application ( = Consumer)Webservices and WSDL ( = Service + Contract)Enterprise Service Bus ( = Service Provider)Queues (= Events and Event Listeners)
A2A oriented SOAApp AApp BCMSSocial APILDAPWorkflowEngineApp DApp CValidationServiceService APIService APICMSEmailIMFax8
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 tooApplications can be exposed as a collection of UI services -  user interface components based on data and (data)servicesFor example in the form of "portlets" that can be consumed by a Portal product in a mash upData
Remember the SOA Concepts?Services with standardized ContractsProducers and ConsumersCross-platform/technologyIndependent development/management of componentsDecouplingEvents
Applying SOA Concepts to UI:WSRP PortletsWSRP Standard: WebService for Remote PortletExposed 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 consumerPortlets can deal with data manipulation, events, navigation, AJAX and partial refresh
Portlet and DecouplingJust like normal web servicesPortlets can be located anywhere(we only need URL for endpoint)Portlets can be implemented in any technology – as long as the standards are followedThe implementation of Portlets can changeas long as the contract (parameters/events) is safeIdeally the Portlet uses (style) classes and allows the consumer to apply the stylesheet
Drawing the AnalogyTraditional 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)
SOA and SaaS ProvidersSaaS (Software as a Service) providers are facing a double SOA challenge:Provide a (normal SOA) Web Service interfaceallows SaaS customers to integrate their functionality in their  local ESBProvide a UI Service interface that exposes pluggable application componentsallow SaaS customers to embed UI ‘services’ in their   applications/portal
SaaS providers need to open up their application – also the UISaaS BSaaS ADeep linkInterfaceCMSDeep linkInterfaceSocial APIPortlet APIHTMLPagesPortlet APIRSSRSSinternetinternalToDoNewsWorkflowEngineApp DApp CPortlet APIPortlet APIRSSCMSEmailIMFax16
Demonstration of Portletsshow a web application consuming several portletscreate a new web application that consumes two portletschange one of the portlets and redeploy it; refresh the 'portals' - the consuming webapps in the browser
Remote.NET  basedLocal (in container)Generic, resuableRun Time editingLocal and Remote Remote Service adaptation (WebClipping)Run Time editingParameter based synchronizationLocalReusableParameter based synchronizationPublishes Events
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Consuming Portlets
Consuming Portlets (2)todoUpdateEvent
Portlet consumer interacting with Portlets and ProvidersRemote .NET based Portlet ProviderPortal-in-a-BoxWebCenterPortlet Container & ProvidertigerMedHighLowPrepackaged PortletsCustomPortlets
Conclusions PortletsWhat it doesInteroperability, Cross technologyContract (params & events) supports interactionIndependent development and deploymentWhere it fails/falls shortEverything stays inside portal regionNo styling/skinning adoptedNo shared transaction context Consumer depends on portlet (availability)Requires Portlet infrastructure (e.g. Portal)
Alternative: ADF Task FlowsWith 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 componentTask Flow = one or multistep view, internal business logic, navigation flow, beans, …
Task Flow ContractLike Portlets, ADF Task Flows adhere to a Contract (native ADF).Input:Parameters (initial)EventsNavigation commandsOutput(Changed) ParametersEventsNavigation events
ADF Task Flow CapabilitiesADF does not require Portlets in order to work with service-like reusable componentsTask Flows are published via ADF Libraries and can be consumed more natively than PortletsLess overhead (saves 300 ms per request)Consumer and Task Flow can share Objects and ADF DataBindingSupports complex parameters & ADF eventsCan be customizedNo WebCenter license required…
Example: Human Task UI in SOA Suite
Demo Task FlowsShow how a existing task flow (TODO) can be published as ADF library and incorporated in other applicationShow how far the integration can go:ParametersEvents (in and out)JavaScript sharingSkinningClient side – detach table uses full screen
Deploy and Reuse ADF Library
Add reusable task flow to page
Meanwhile…
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Task Flow contract elementsparameterseventNav commandJS custom eventSave Task EventNavigationEventJS custom event
(server side) Event handlingTodo Task FlowTask Flow Consumer
Conclusions on ADF Task FlowsStand alone, reusable componentsInterface with Parameters and EventsThough not a very clear contract documentComplex parameters and event payloadFully Integrated in consuming ADF applicationSkin, Data Controls, Transactions, JavaScript scopeDeployed as part of the consuming applicationPotentially multiple copies of the task flow – for every application using it‘native/standard’ ADF mechanism
Comparing UI Service technologiesPortletTask FlowRemoteCross TechnologyStandards basedProcessing overheadSlower page renderingDesign Time and Run Time decouplingRemote provider has to be upNeeds portlet consumption framework, e.g. WebCenterAnd portlet publicationLocal, native, ADF onlySharedData ControlsTransaction contextSkin/StyleClient side JavaScript & UIRich ContractComplex parametersEvents out and inWith complex payloadNavigation influenceSupport for customization
Development with Portlets & Task FlowsThe use of Portlets and Task Flows allows for a decoupled way of developing applicationsTeams agree on a contractAnd both work their merry way based on the contract – in fairly insulated mannerReuse is possible based on that contractMaintenance of Portlet and Task Flow can be independent of consuming applicationsNote: task flow is integrated at design time
Real life exampleHealth Insurance companyWants to expose Web Application in its PortalFor filing expenses and checking on the progress of claim processingPortal not yet pickedWebApp Integration should be decoupledSolution: expose parts of the WebApp as Portlet that can be integrated in PortalWeb app developers are insulated from PortalContract specifies parameters and events
Decouple pointsPortlet Container & ProviderDatabasePortalESBDatabaseWebServiceCMS
Some questionsHow does one create and publish a Portlet?How does one simply consume a Portlet in her or his application?Can an application manager or content editor add/remove portlets/taskflows– at run time?Where does one get those pre-built portlets/task flows for generic functionality?
Introduction WebCenterWebCenter == ADF++
WebCenter 11gWebCenter FrameworkPublish ADF TaskFlows as PortletConsume any Portlet in ADF pages (drag & drop)Content integrationWebCenter ComposerRun time applicationeditingRun time task flow inclusionWC Spaces: pre builtapplication for E2.0
WebCenter Services100+ pre-packaged task flowsADF 11g task flowsBacked by  database & MDSMutually integratedSupport for Content, Collaboration, CommunicationWeb 2.0 style
WebCenter ServicesAfter installing the WebCenter extension in JDeveloper– the catalog of services (task flows) is availableTo use a service:* drag it* drop it * set the values   for the params* (optional)   customize the   task flow
DemoLeveraging WebCenter ServicesReuse RSS ViewerReuse Document LibraryBased on WebCenterContent Repository Connection
Create Content Repository connection – File System based
Consume WC Services in page
Consume WC Services (2)
RSS Feed Viewer live
DocumentLibrary Service Live

More Related Content

PPT
Implementing SOA with Portal, an IBM Impact 2010 Presentation
PPTX
The mobilization of SOA Suite - the rise of REST (ADF Enterprise Mobility Co...
PPTX
Web- and Mobile-Oriented Architectures with Oracle Fusion Middleware (OOW 2014)
PDF
Service-Oriented Architecture
PPTX
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
PPTX
Web-Scale Library Management Services (Paul Harvey)
PDF
Oracle SOA Suite Overview - Integration in a Service-Oriented World
PDF
Service Oriented Architecture & Beyond
Implementing SOA with Portal, an IBM Impact 2010 Presentation
The mobilization of SOA Suite - the rise of REST (ADF Enterprise Mobility Co...
Web- and Mobile-Oriented Architectures with Oracle Fusion Middleware (OOW 2014)
Service-Oriented Architecture
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Web-Scale Library Management Services (Paul Harvey)
Oracle SOA Suite Overview - Integration in a Service-Oriented World
Service Oriented Architecture & Beyond

What's hot (20)

PPT
Mobile Web Network
PPT
Lombardi intro full
PPTX
SOA for PL/SQL Developer (OPP 2010)
PDF
Service as-a-software
PPT
Oracle BPEL Presentation
PPTX
Service Oriented Architecture
PDF
The use case of a scalable architecture
PDF
MuCon 2015 - Microservices in Integration Architecture
PPTX
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
PPT
Soa & Bpel
PPTX
Relational Won't Cut It: Architecting Content Centric Apps
PPTX
The chatbot for process automation
PPTX
Wf ms cloud evaluation 4caast
PDF
WSO2 Year End Tech Update 2012
PPTX
Service oriented architecture
ODP
SOA & ESB Presentation
PPT
Ibm 1 Wps Arch
PDF
SOA Pattern Event Driven Messaging
PPTX
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
PDF
Oracle Service Bus (OSB) for the Busy IT Professonial
Mobile Web Network
Lombardi intro full
SOA for PL/SQL Developer (OPP 2010)
Service as-a-software
Oracle BPEL Presentation
Service Oriented Architecture
The use case of a scalable architecture
MuCon 2015 - Microservices in Integration Architecture
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
Soa & Bpel
Relational Won't Cut It: Architecting Content Centric Apps
The chatbot for process automation
Wf ms cloud evaluation 4caast
WSO2 Year End Tech Update 2012
Service oriented architecture
SOA & ESB Presentation
Ibm 1 Wps Arch
SOA Pattern Event Driven Messaging
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
Oracle Service Bus (OSB) for the Busy IT Professonial
Ad

Similar to Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface (20)

PPT
Enterprise Software Architecture
PPTX
Unit 3-SOA Technologies
PPTX
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
PPT
SOA Fundamentals
PPTX
Migrating Apps To Azure
PPT
soa1.ppt
PPT
C++ N Pv2
PPTX
SAP PI and SOA Overview
PPT
The Story of How an Oracle Classic Stronghold successfully embraced SOA
PPT
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
PPT
Server Farms and XML Web Services
PPTX
Introduction To Cloud Computing
PPTX
Windows Azure AppFabric
PPTX
REST: So What's It All About? (SAP TechEd 2011, MOB107)
PPT
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
PDF
Web Services Foundation Technologies
PDF
Oracle ADF Tutorial
PPT
Sharepoint2
PPT
WebService-Java
PDF
Cloud Foundry Technical Overview
Enterprise Software Architecture
Unit 3-SOA Technologies
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
SOA Fundamentals
Migrating Apps To Azure
soa1.ppt
C++ N Pv2
SAP PI and SOA Overview
The Story of How an Oracle Classic Stronghold successfully embraced SOA
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Server Farms and XML Web Services
Introduction To Cloud Computing
Windows Azure AppFabric
REST: So What's It All About? (SAP TechEd 2011, MOB107)
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
Web Services Foundation Technologies
Oracle ADF Tutorial
Sharepoint2
WebService-Java
Cloud Foundry Technical Overview
Ad

More from Lucas Jellema (20)

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

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPT
Teaching material agriculture food technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Teaching material agriculture food technology
Digital-Transformation-Roadmap-for-Companies.pptx
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectroscopy.pptx food analysis technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface

  • 1. Experiences with Oracle WebCenter 11g: Implementing SOA with a User InterfacePeter EbellLucas Jellema AMIS, The Netherlands
  • 2. AgendaSOA - what and whyWebServices with a face – PortletsUI Services with ADF Task FlowsIntroducing WebCenterPortlet infrastructurePre-packaged task flow servicesPutting a User Interface on the SOA SuiteSummary
  • 5. SOA ConceptsServices with standardized ContractsProducers and ConsumersCross-platform/technologyIndependent development/management of ComponentsDecouplingEvents
  • 6. Potential SOA BenefitsReduce ComplexityFlexibility – capacity to change and adaptQuickly (time to market, prototype)With lower impact and riskThrough (re-)composition and (re-)organizationBest of breed solutionsReuseIntegration (!)
  • 7. Traditional SOA: Programmatic ServicesTypical Components:Application ( = Consumer)Webservices and WSDL ( = Service + Contract)Enterprise Service Bus ( = Service Provider)Queues (= Events and Event Listeners)
  • 8. A2A oriented SOAApp AApp BCMSSocial APILDAPWorkflowEngineApp DApp CValidationServiceService APIService APICMSEmailIMFax8
  • 9. 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!
  • 10. UI Application can be a Service tooApplications can be exposed as a collection of UI services - user interface components based on data and (data)servicesFor example in the form of "portlets" that can be consumed by a Portal product in a mash upData
  • 11. Remember the SOA Concepts?Services with standardized ContractsProducers and ConsumersCross-platform/technologyIndependent development/management of componentsDecouplingEvents
  • 12. Applying SOA Concepts to UI:WSRP PortletsWSRP Standard: WebService for Remote PortletExposed 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 consumerPortlets can deal with data manipulation, events, navigation, AJAX and partial refresh
  • 13. Portlet and DecouplingJust like normal web servicesPortlets can be located anywhere(we only need URL for endpoint)Portlets can be implemented in any technology – as long as the standards are followedThe implementation of Portlets can changeas long as the contract (parameters/events) is safeIdeally the Portlet uses (style) classes and allows the consumer to apply the stylesheet
  • 14. Drawing the AnalogyTraditional 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)
  • 15. SOA and SaaS ProvidersSaaS (Software as a Service) providers are facing a double SOA challenge:Provide a (normal SOA) Web Service interfaceallows SaaS customers to integrate their functionality in their local ESBProvide a UI Service interface that exposes pluggable application componentsallow SaaS customers to embed UI ‘services’ in their applications/portal
  • 16. SaaS providers need to open up their application – also the UISaaS BSaaS ADeep linkInterfaceCMSDeep linkInterfaceSocial APIPortlet APIHTMLPagesPortlet APIRSSRSSinternetinternalToDoNewsWorkflowEngineApp DApp CPortlet APIPortlet APIRSSCMSEmailIMFax16
  • 17. Demonstration of Portletsshow a web application consuming several portletscreate a new web application that consumes two portletschange one of the portlets and redeploy it; refresh the 'portals' - the consuming webapps in the browser
  • 18. Remote.NET basedLocal (in container)Generic, resuableRun Time editingLocal and Remote Remote Service adaptation (WebClipping)Run Time editingParameter based synchronizationLocalReusableParameter based synchronizationPublishes Events
  • 22. Portlet consumer interacting with Portlets and ProvidersRemote .NET based Portlet ProviderPortal-in-a-BoxWebCenterPortlet Container & ProvidertigerMedHighLowPrepackaged PortletsCustomPortlets
  • 23. Conclusions PortletsWhat it doesInteroperability, Cross technologyContract (params & events) supports interactionIndependent development and deploymentWhere it fails/falls shortEverything stays inside portal regionNo styling/skinning adoptedNo shared transaction context Consumer depends on portlet (availability)Requires Portlet infrastructure (e.g. Portal)
  • 24. Alternative: ADF Task FlowsWith 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 componentTask Flow = one or multistep view, internal business logic, navigation flow, beans, …
  • 25. Task Flow ContractLike Portlets, ADF Task Flows adhere to a Contract (native ADF).Input:Parameters (initial)EventsNavigation commandsOutput(Changed) ParametersEventsNavigation events
  • 26. ADF Task Flow CapabilitiesADF does not require Portlets in order to work with service-like reusable componentsTask Flows are published via ADF Libraries and can be consumed more natively than PortletsLess overhead (saves 300 ms per request)Consumer and Task Flow can share Objects and ADF DataBindingSupports complex parameters & ADF eventsCan be customizedNo WebCenter license required…
  • 27. Example: Human Task UI in SOA Suite
  • 28. Demo Task FlowsShow how a existing task flow (TODO) can be published as ADF library and incorporated in other applicationShow how far the integration can go:ParametersEvents (in and out)JavaScript sharingSkinningClient side – detach table uses full screen
  • 29. Deploy and Reuse ADF Library
  • 30. Add reusable task flow to page
  • 33. Task Flow contract elementsparameterseventNav commandJS custom eventSave Task EventNavigationEventJS custom event
  • 34. (server side) Event handlingTodo Task FlowTask Flow Consumer
  • 35. Conclusions on ADF Task FlowsStand alone, reusable componentsInterface with Parameters and EventsThough not a very clear contract documentComplex parameters and event payloadFully Integrated in consuming ADF applicationSkin, Data Controls, Transactions, JavaScript scopeDeployed as part of the consuming applicationPotentially multiple copies of the task flow – for every application using it‘native/standard’ ADF mechanism
  • 36. Comparing UI Service technologiesPortletTask FlowRemoteCross TechnologyStandards basedProcessing overheadSlower page renderingDesign Time and Run Time decouplingRemote provider has to be upNeeds portlet consumption framework, e.g. WebCenterAnd portlet publicationLocal, native, ADF onlySharedData ControlsTransaction contextSkin/StyleClient side JavaScript & UIRich ContractComplex parametersEvents out and inWith complex payloadNavigation influenceSupport for customization
  • 37. Development with Portlets & Task FlowsThe use of Portlets and Task Flows allows for a decoupled way of developing applicationsTeams agree on a contractAnd both work their merry way based on the contract – in fairly insulated mannerReuse is possible based on that contractMaintenance of Portlet and Task Flow can be independent of consuming applicationsNote: task flow is integrated at design time
  • 38. Real life exampleHealth Insurance companyWants to expose Web Application in its PortalFor filing expenses and checking on the progress of claim processingPortal not yet pickedWebApp Integration should be decoupledSolution: expose parts of the WebApp as Portlet that can be integrated in PortalWeb app developers are insulated from PortalContract specifies parameters and events
  • 39. Decouple pointsPortlet Container & ProviderDatabasePortalESBDatabaseWebServiceCMS
  • 40. Some questionsHow does one create and publish a Portlet?How does one simply consume a Portlet in her or his application?Can an application manager or content editor add/remove portlets/taskflows– at run time?Where does one get those pre-built portlets/task flows for generic functionality?
  • 42. WebCenter 11gWebCenter FrameworkPublish ADF TaskFlows as PortletConsume any Portlet in ADF pages (drag & drop)Content integrationWebCenter ComposerRun time applicationeditingRun time task flow inclusionWC Spaces: pre builtapplication for E2.0
  • 43. WebCenter Services100+ pre-packaged task flowsADF 11g task flowsBacked by database & MDSMutually integratedSupport for Content, Collaboration, CommunicationWeb 2.0 style
  • 44. WebCenter ServicesAfter installing the WebCenter extension in JDeveloper– the catalog of services (task flows) is availableTo use a service:* drag it* drop it * set the values for the params* (optional) customize the task flow
  • 45. DemoLeveraging WebCenter ServicesReuse RSS ViewerReuse Document LibraryBased on WebCenterContent Repository Connection
  • 46. Create Content Repository connection – File System based
  • 51. Other SOA Demands for UIHuman WorkflowActionable emailStandard Worklist applicationCustom ADF Task Flow (initially generated) Web Center Task serviceWeb applications may need to communicate with long running SOA processesFlow Diagram showing progressRelevant state changes (preferably "pushed")
  • 52. SummarySOA: integration, decoupling and reuseUI components can be decoupled yet integrated – as Portlets or ADF Task FlowsPortlets: X-technology, remote, standards based, requires portlet infrastructure (two-way)Task Flows: native ADF, local, design time decoupling, rich integration, no overheadWebCenter: portlet framework and servicesApplying SOA concepts to UI development enables reuse & scalable development teams
  • 53. ResourcesPresentation and demos are on our bloghttp://technology.amis.nl/blogContact us at:peter.ebell@amis.nl and lucas.jellema@amis.nl

Editor's Notes

  • #3: Taakverderling:SOA - what and why - PeterWebServices with a face – Portlets – Peter intro, Lucas demo & conclusionsUI Services with ADF Task Flows - Peter intro, Lucas demo & conclusionsIntroducing WebCenter – LucasPortlet infrastructurePre-packaged task flow servicesPutting a User Interface on the SOA Suite - PeterSummary - Lucas
  • #4: PETER
  • #5: PETER
  • #7: PETER
  • #8: PETER
  • #14: No asynchronous portlets…
  • #15: PETER