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

What's hot

Mobile Web Network
Mobile Web NetworkMobile Web Network
Mobile Web Network
chenjennan
 
Lombardi intro full
Lombardi intro  full Lombardi intro  full
Lombardi intro full
Guang Ying Yuan
 
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
 
Service as-a-software
Service as-a-softwareService as-a-software
Service as-a-software
Jean-Jacques Dubray
 
Oracle BPEL Presentation
Oracle BPEL PresentationOracle BPEL Presentation
Oracle BPEL Presentation
shub54
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Luqman 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 architecture
Toru Wonyoung Choi
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
Kim 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 - SPTechCon
SPTechCon
 
Soa & Bpel
Soa & BpelSoa & Bpel
Soa & Bpel
lakshmi isukapally
 
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
Jeff Potts
 
The chatbot for process automation
 The chatbot for process automation The chatbot for process automation
The chatbot for process automation
Jesse 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 2012
WSO2
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architecture
Amit Ranjan
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
erichleipold
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
luohd
 
SOA Pattern Event Driven Messaging
SOA Pattern Event Driven MessagingSOA Pattern Event Driven Messaging
SOA Pattern Event Driven Messaging
WSO2
 
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
Guido 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 Architecture
rahmed_sct
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
ssuser3a47cb
 
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 Fundamentals
abhi1112
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
Harish Ranganathan
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
ShanmugamS34
 
C++ N Pv2
C++ N Pv2C++ N Pv2
C++ N Pv2
Denis Mishin
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
Sascha Wenninger
 
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
Lucas 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 Services
Jorgen Thelin
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
Rinat Shagisultanov
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
David 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 Technologies
Pankaj Saharan
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
Deepak Bhagat
 
Sharepoint2
Sharepoint2Sharepoint2
Sharepoint2
LiquidHub
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
halwal
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
cornelia 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

Keynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive SecurityKeynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive Security
Priyanka Aash
 
FIDO Munich Seminar Workforce Authentication Case Study.pptx
FIDO Munich Seminar Workforce Authentication Case Study.pptxFIDO Munich Seminar Workforce Authentication Case Study.pptx
FIDO Munich Seminar Workforce Authentication Case Study.pptx
FIDO Alliance
 
UiPath Community Day Amsterdam: Code, Collaborate, Connect
UiPath Community Day Amsterdam: Code, Collaborate, ConnectUiPath Community Day Amsterdam: Code, Collaborate, Connect
UiPath Community Day Amsterdam: Code, Collaborate, Connect
UiPathCommunity
 
Generative AI technology is a fascinating field that focuses on creating comp...
Generative AI technology is a fascinating field that focuses on creating comp...Generative AI technology is a fascinating field that focuses on creating comp...
Generative AI technology is a fascinating field that focuses on creating comp...
Nohoax Kanont
 
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise ExcellenceCracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Quentin Reul
 
Top 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdfTop 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdf
Marrie Morris
 
FIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptxFIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Alliance
 
NVIDIA at Breakthrough Discuss for Space Exploration
NVIDIA at Breakthrough Discuss for Space ExplorationNVIDIA at Breakthrough Discuss for Space Exploration
NVIDIA at Breakthrough Discuss for Space Exploration
Alison B. Lowndes
 
What's New in Copilot for Microsoft 365 June 2024.pptx
What's New in Copilot for Microsoft 365 June 2024.pptxWhat's New in Copilot for Microsoft 365 June 2024.pptx
What's New in Copilot for Microsoft 365 June 2024.pptx
Stephanie Beckett
 
Camunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptxCamunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptx
ZachWylie3
 
DefCamp_2016_Chemerkin_Yury_--_publish.pdf
DefCamp_2016_Chemerkin_Yury_--_publish.pdfDefCamp_2016_Chemerkin_Yury_--_publish.pdf
DefCamp_2016_Chemerkin_Yury_--_publish.pdf
Yury Chemerkin
 
The Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdfThe Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdf
Sara Kroft
 
FIDO Munich Seminar: Securing Smart Car.pptx
FIDO Munich Seminar: Securing Smart Car.pptxFIDO Munich Seminar: Securing Smart Car.pptx
FIDO Munich Seminar: Securing Smart Car.pptx
FIDO Alliance
 
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partesExchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
jorgelebrato
 
Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...
Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...
Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...
OnBoard
 
Discovery Series - Zero to Hero - Task Mining Session 1
Discovery Series - Zero to Hero - Task Mining Session 1Discovery Series - Zero to Hero - Task Mining Session 1
Discovery Series - Zero to Hero - Task Mining Session 1
DianaGray10
 
FIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptxFIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Alliance
 
"Making .NET Application Even Faster", Sergey Teplyakov.pptx
"Making .NET Application Even Faster", Sergey Teplyakov.pptx"Making .NET Application Even Faster", Sergey Teplyakov.pptx
"Making .NET Application Even Faster", Sergey Teplyakov.pptx
Fwdays
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
Zilliz
 
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Zilliz
 

Recently uploaded (20)

Keynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive SecurityKeynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive Security
 
FIDO Munich Seminar Workforce Authentication Case Study.pptx
FIDO Munich Seminar Workforce Authentication Case Study.pptxFIDO Munich Seminar Workforce Authentication Case Study.pptx
FIDO Munich Seminar Workforce Authentication Case Study.pptx
 
UiPath Community Day Amsterdam: Code, Collaborate, Connect
UiPath Community Day Amsterdam: Code, Collaborate, ConnectUiPath Community Day Amsterdam: Code, Collaborate, Connect
UiPath Community Day Amsterdam: Code, Collaborate, Connect
 
Generative AI technology is a fascinating field that focuses on creating comp...
Generative AI technology is a fascinating field that focuses on creating comp...Generative AI technology is a fascinating field that focuses on creating comp...
Generative AI technology is a fascinating field that focuses on creating comp...
 
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise ExcellenceCracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
 
Top 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdfTop 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdf
 
FIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptxFIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptx
 
NVIDIA at Breakthrough Discuss for Space Exploration
NVIDIA at Breakthrough Discuss for Space ExplorationNVIDIA at Breakthrough Discuss for Space Exploration
NVIDIA at Breakthrough Discuss for Space Exploration
 
What's New in Copilot for Microsoft 365 June 2024.pptx
What's New in Copilot for Microsoft 365 June 2024.pptxWhat's New in Copilot for Microsoft 365 June 2024.pptx
What's New in Copilot for Microsoft 365 June 2024.pptx
 
Camunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptxCamunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptx
 
DefCamp_2016_Chemerkin_Yury_--_publish.pdf
DefCamp_2016_Chemerkin_Yury_--_publish.pdfDefCamp_2016_Chemerkin_Yury_--_publish.pdf
DefCamp_2016_Chemerkin_Yury_--_publish.pdf
 
The Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdfThe Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdf
 
FIDO Munich Seminar: Securing Smart Car.pptx
FIDO Munich Seminar: Securing Smart Car.pptxFIDO Munich Seminar: Securing Smart Car.pptx
FIDO Munich Seminar: Securing Smart Car.pptx
 
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partesExchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
 
Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...
Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...
Mastering Board Best Practices: Essential Skills for Effective Non-profit Lea...
 
Discovery Series - Zero to Hero - Task Mining Session 1
Discovery Series - Zero to Hero - Task Mining Session 1Discovery Series - Zero to Hero - Task Mining Session 1
Discovery Series - Zero to Hero - Task Mining Session 1
 
FIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptxFIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptx
 
"Making .NET Application Even Faster", Sergey Teplyakov.pptx
"Making .NET Application Even Faster", Sergey Teplyakov.pptx"Making .NET Application Even Faster", Sergey Teplyakov.pptx
"Making .NET Application Even Faster", Sergey Teplyakov.pptx
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
 
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
 

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

  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