SlideShare a Scribd company logo
1 of 50
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface Peter Ebell Lucas Jellema  AMIS, The Netherlands
Agenda SOA - what and why WebServices with a face – Portlets UI Services with ADF Task Flows Introducing WebCenter Portlet infrastructure Pre-packaged task flow services Putting a User Interface on the SOA Suite Summary
SOA = BAD
Business Agility through Decoupling SOA =
SOA Concepts Services with standardized Contracts Producers and Consumers Cross-platform/technology Independent development/management of Components Decoupling Events
Potential SOA Benefits Reduce Complexity Flexibility – capacity to change and adapt Quickly (time to market, prototype) With lower impact and risk Through (re-)composition and (re-)organization Best of breed solutions Reuse Integration (!)
Traditional SOA: Programmatic Services Typical Components: Application ( = Consumer) Webservices and WSDL ( = Service + Contract) Enterprise Service Bus ( = Service Provider) Queues (= Events and Event Listeners)
A2A oriented SOA App A App B CMS Social API LDAP WorkflowEngine App D App C Validation Service Service API Service API CMS Email IM Fax 8
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)
SOA and SaaS Providers SaaS (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 ESB Provide 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 UI SaaS B SaaS A Deep link Interface CMS Deep link Interface Social API Portlet API HTMLPages Portlet API RSS RSS internet internal ToDo News WorkflowEngine App D App C Portlet API Portlet API RSS CMS Email IM Fax 16
Demonstration of Portlets show a web application consuming several portlets create a new web application that consumes two portlets change one of the portlets and redeploy it; refresh the 'portals' - the consuming webapps in the browser
Remote .NET  based Local (in container) Generic, resuable Run Time editing Local and Remote  Remote Service adaptation (WebClipping) Run Time editing Parameter based synchronization Local Reusable Parameter based synchronization Publishes Events
Consuming Portlets
Consuming Portlets (2) todoUpdateEvent
Portlet consumer interacting with Portlets and Providers Remote .NET based Portlet Provider Portal-in-a-Box WebCenterPortlet Container & Provider tiger Med High Low Prepackaged Portlets Custom Portlets
Conclusions Portlets What it does Interoperability, Cross technology Contract (params & events) supports interaction Independent development and deployment Where it fails/falls short Everything stays inside portal region No styling/skinning adopted No shared transaction context  Consumer depends on portlet (availability) Requires Portlet infrastructure (e.g. Portal)
Alternative: 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, …
Task Flow Contract Like Portlets, ADF Task Flows adhere to a Contract (native ADF). Input:Parameters (initial)EventsNavigation commands Output(Changed) ParametersEventsNavigation events
ADF Task Flow Capabilities ADF does not require Portlets in order to work with service-like reusable components Task Flows are published via ADF Libraries and can be consumed more natively than Portlets Less overhead (saves 300 ms per request) Consumer and Task Flow can share Objects and ADF DataBinding Supports complex parameters & ADF events Can be customized No WebCenter license required…
Example: Human Task UI in SOA Suite
Demo Task Flows Show how a existing task flow (TODO) can be published as ADF library and incorporated in other application Show how far the integration can go: Parameters Events (in and out) JavaScript sharing Skinning Client side – detach table uses full screen
Deploy and Reuse ADF Library
Add reusable task flow to page
Meanwhile…
Task Flow contract elements parameters event Nav command JS custom event Save Task Event NavigationEvent JS custom event
(server side) Event handling Todo Task Flow Task Flow Consumer
Conclusions on ADF Task Flows Stand alone, reusable components Interface with Parameters and Events Though not a very clear contract document Complex parameters and event payload Fully Integrated in consuming ADF application Skin, Data Controls, Transactions, JavaScript scope Deployed as part of the consuming application Potentially multiple copies of the task flow – for every application using it ‘native/standard’ ADF mechanism
Comparing UI Service technologies Portlet Task Flow Remote Cross Technology Standards based Processing overhead Slower page rendering Design Time and Run Time decoupling Remote provider has to be up Needs portlet consumption framework, e.g. WebCenter And portlet publication Local, native, ADF only Shared Data Controls Transaction context Skin/Style Client side JavaScript & UI Rich Contract Complex parameters Events out and in With complex payload Navigation influence 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
Real life example Health Insurance company Wants to expose Web Application in its Portal For filing expenses and checking on the progress of claim processing Portal not yet picked WebApp Integration should be decoupled Solution: expose parts of the WebApp as Portlet that can be integrated in Portal Web app developers are insulated from Portal Contract specifies parameters and events
Decouple points Portlet Container & Provider Database Portal ESB Database WebService CMS
Some questions How 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 WebCenter WebCenter == ADF++
WebCenter 11g WebCenter Framework Publish ADF TaskFlows as Portlet Consume any Portlet in ADF pages (drag & drop) Content integration WebCenter Composer Run time applicationediting Run time task flow inclusion WC Spaces: pre builtapplication for E2.0
WebCenter Services100+ pre-packaged task flows ADF 11g task flows Backed by  database & MDS Mutually integrated Support for Content, Collaboration, Communication Web 2.0 style
WebCenter Services After installing the WebCenter extension in JDeveloper– the catalog of services (task flows) is available To use a service:* drag it* drop it * set the values   for the params* (optional)   customize the   task flow
Demo Leveraging WebCenter Services Reuse RSS Viewer Reuse Document Library Based 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

What's hot

Mobile Web Network
Mobile Web NetworkMobile Web Network
Mobile Web Networkchenjennan
 
SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)Lucas Jellema
 
Oracle BPEL Presentation
Oracle BPEL PresentationOracle BPEL Presentation
Oracle BPEL Presentationshub54
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureLuqman Shareef
 
The use case of a scalable architecture
The use case of a scalable architectureThe use case of a scalable architecture
The use case of a scalable architectureToru Wonyoung Choi
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechConSharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechConSPTechCon
 
Relational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsRelational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsJeff Potts
 
The chatbot for process automation
 The chatbot for process automation The chatbot for process automation
The chatbot for process automationJesse Wei
 
Wf ms cloud evaluation 4caast
 Wf ms cloud evaluation   4caast  Wf ms cloud evaluation   4caast
Wf ms cloud evaluation 4caast Anand Babu
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architectureAmit Ranjan
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentationerichleipold
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Archluohd
 
SOA Pattern Event Driven Messaging
SOA Pattern Event Driven MessagingSOA Pattern Event Driven Messaging
SOA Pattern Event Driven MessagingWSO2
 
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
Five Cool Use Cases for the Spring Component of the SOA Suite 11gFive Cool Use Cases for the Spring Component of the SOA Suite 11g
Five Cool Use Cases for the Spring Component of the SOA Suite 11gGuido Schmutz
 
Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Frank Munz
 

What's hot (20)

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

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

Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...Lucas Jellema
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentalsabhi1112
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOALucas Jellema
 
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...Lucas Jellema
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web ServicesJorgen Thelin
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabricDavid Chou
 
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)Sascha Wenninger
 
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...Lucas Jellema
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation TechnologiesPankaj Saharan
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 

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

Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
C++ N Pv2
C++ N Pv2C++ N Pv2
C++ N Pv2
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
 
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...
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web Services
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
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)
 
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
 
Sharepoint2
Sharepoint2Sharepoint2
Sharepoint2
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 

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
 
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...Lucas Jellema
 
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...Lucas Jellema
 
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 ...Lucas Jellema
 
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...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
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
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)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
 
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...Lucas Jellema
 
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...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
 
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)Lucas Jellema
 
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...Lucas Jellema
 
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)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
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...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

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

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

  • 1. Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface Peter Ebell Lucas Jellema AMIS, The Netherlands
  • 2. Agenda SOA - what and why WebServices with a face – Portlets UI Services with ADF Task Flows Introducing WebCenter Portlet infrastructure Pre-packaged task flow services Putting a User Interface on the SOA Suite Summary
  • 4. Business Agility through Decoupling SOA =
  • 5. SOA Concepts Services with standardized Contracts Producers and Consumers Cross-platform/technology Independent development/management of Components Decoupling Events
  • 6. Potential SOA Benefits Reduce Complexity Flexibility – capacity to change and adapt Quickly (time to market, prototype) With lower impact and risk Through (re-)composition and (re-)organization Best of breed solutions Reuse Integration (!)
  • 7. Traditional SOA: Programmatic Services Typical Components: Application ( = Consumer) Webservices and WSDL ( = Service + Contract) Enterprise Service Bus ( = Service Provider) Queues (= Events and Event Listeners)
  • 8. A2A oriented SOA App A App B CMS Social API LDAP WorkflowEngine App D App C Validation Service Service API Service API CMS Email IM Fax 8
  • 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 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
  • 11. Remember the SOA Concepts? Services with standardized Contracts Producers and Consumers Cross-platform/technology Independent development/management of components Decoupling Events
  • 12. 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
  • 13. 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
  • 14. 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)
  • 15. SOA and SaaS Providers SaaS (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 ESB Provide 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 UI SaaS B SaaS A Deep link Interface CMS Deep link Interface Social API Portlet API HTMLPages Portlet API RSS RSS internet internal ToDo News WorkflowEngine App D App C Portlet API Portlet API RSS CMS Email IM Fax 16
  • 17. Demonstration of Portlets show a web application consuming several portlets create a new web application that consumes two portlets change one of the portlets and redeploy it; refresh the 'portals' - the consuming webapps in the browser
  • 18. Remote .NET based Local (in container) Generic, resuable Run Time editing Local and Remote Remote Service adaptation (WebClipping) Run Time editing Parameter based synchronization Local Reusable Parameter based synchronization Publishes Events
  • 19.
  • 21. Consuming Portlets (2) todoUpdateEvent
  • 22. Portlet consumer interacting with Portlets and Providers Remote .NET based Portlet Provider Portal-in-a-Box WebCenterPortlet Container & Provider tiger Med High Low Prepackaged Portlets Custom Portlets
  • 23. Conclusions Portlets What it does Interoperability, Cross technology Contract (params & events) supports interaction Independent development and deployment Where it fails/falls short Everything stays inside portal region No styling/skinning adopted No shared transaction context Consumer depends on portlet (availability) Requires Portlet infrastructure (e.g. Portal)
  • 24. Alternative: 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, …
  • 25. Task Flow Contract Like Portlets, ADF Task Flows adhere to a Contract (native ADF). Input:Parameters (initial)EventsNavigation commands Output(Changed) ParametersEventsNavigation events
  • 26. ADF Task Flow Capabilities ADF does not require Portlets in order to work with service-like reusable components Task Flows are published via ADF Libraries and can be consumed more natively than Portlets Less overhead (saves 300 ms per request) Consumer and Task Flow can share Objects and ADF DataBinding Supports complex parameters & ADF events Can be customized No WebCenter license required…
  • 27. Example: Human Task UI in SOA Suite
  • 28. Demo Task Flows Show how a existing task flow (TODO) can be published as ADF library and incorporated in other application Show how far the integration can go: Parameters Events (in and out) JavaScript sharing Skinning Client side – detach table uses full screen
  • 29. Deploy and Reuse ADF Library
  • 30. Add reusable task flow to page
  • 32.
  • 33. Task Flow contract elements parameters event Nav command JS custom event Save Task Event NavigationEvent JS custom event
  • 34. (server side) Event handling Todo Task Flow Task Flow Consumer
  • 35. Conclusions on ADF Task Flows Stand alone, reusable components Interface with Parameters and Events Though not a very clear contract document Complex parameters and event payload Fully Integrated in consuming ADF application Skin, Data Controls, Transactions, JavaScript scope Deployed as part of the consuming application Potentially multiple copies of the task flow – for every application using it ‘native/standard’ ADF mechanism
  • 36. Comparing UI Service technologies Portlet Task Flow Remote Cross Technology Standards based Processing overhead Slower page rendering Design Time and Run Time decoupling Remote provider has to be up Needs portlet consumption framework, e.g. WebCenter And portlet publication Local, native, ADF only Shared Data Controls Transaction context Skin/Style Client side JavaScript & UI Rich Contract Complex parameters Events out and in With complex payload Navigation influence Support for customization
  • 37. 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
  • 38. Real life example Health Insurance company Wants to expose Web Application in its Portal For filing expenses and checking on the progress of claim processing Portal not yet picked WebApp Integration should be decoupled Solution: expose parts of the WebApp as Portlet that can be integrated in Portal Web app developers are insulated from Portal Contract specifies parameters and events
  • 39. Decouple points Portlet Container & Provider Database Portal ESB Database WebService CMS
  • 40. Some questions How 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 11g WebCenter Framework Publish ADF TaskFlows as Portlet Consume any Portlet in ADF pages (drag & drop) Content integration WebCenter Composer Run time applicationediting Run time task flow inclusion WC Spaces: pre builtapplication for E2.0
  • 43. WebCenter Services100+ pre-packaged task flows ADF 11g task flows Backed by database & MDS Mutually integrated Support for Content, Collaboration, Communication Web 2.0 style
  • 44. WebCenter Services After installing the WebCenter extension in JDeveloper– the catalog of services (task flows) is available To use a service:* drag it* drop it * set the values for the params* (optional) customize the task flow
  • 45. Demo Leveraging WebCenter Services Reuse RSS Viewer Reuse Document Library Based on WebCenterContent Repository Connection
  • 46. Create Content Repository connection – File System based
  • 51. Other SOA Demands for UI Human Workflow Actionable email Standard Worklist application Custom ADF Task Flow (initially generated) Web Center Task service Web applications may need to communicate with long running SOA processes Flow Diagram showing progress Relevant state changes (preferably "pushed")
  • 52. Summary SOA: integration, decoupling and reuse UI components can be decoupled yet integrated – as Portlets or ADF Task Flows Portlets: X-technology, remote, standards based, requires portlet infrastructure (two-way) Task Flows: native ADF, local, design time decoupling, rich integration, no overhead WebCenter: portlet framework and services Applying SOA concepts to UI development enables reuse & scalable development teams
  • 53. Resources Presentation and demos are on our blog http://technology.amis.nl/blog Contact us at: peter.ebell@amis.nl and lucas.jellema@amis.nl

Editor's Notes

  1. 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
  2. PETER
  3. PETER
  4. PETER
  5. PETER
  6. No asynchronous portlets…
  7. PETER