Lucas Jellema – AMIS (Nieuwegein, The Netherlands)INSTANT AGILITYIN ORACLE FUSION MIDDLEWARETHROUGH DESIGN TIME @ RUN TIME...
IT DELIVERS ACCORDING TO BUSINESS           SPECIFICATIONS                               The Outside World                ...
WHAT HAPPENS RIGHT AFTERDEPLOYMENT?
WHAT HAPPENS RIGHT AFTERDEPLOYMENT?• ‘Sorry, this is not what we meant’• ‘Well, this was right when we asked for it – but ...
APPLICATION ARCHITECTURE AND ALL             CHANGE REQUESTS                                                             M...
APPLICATION ARCHITECTURE AND ALL                       CHANGE REQUESTS Boilerplate Text                                   ...
ORGANIZATION & ENVIRONMENT                                      IT             DEV           TST                 ACC      ...
BUSINESS AGILITY• Adapt to changing business requirements   – Rapid   – Efficient (cost wise)   – Low risk   – GWYRN: Get ...
ORGANIZATION & ENVIRONMENT                                             IT             DEV           TST                   ...
WHAT IS VS WHAT SHOULD BE                        ?•Slow•Expensive•Mismatch ‘like thetelephone game’•Complex, frustratingpr...
AGILE CONTENT MANAGEMENT• Business driven   – News items, product      descriptions, offers,      terms of use,      annou...
THE ESSENCE OF THE SOLUTION TO THISTRADITIONAL PROBLEM• All aspects of applications, processes, services that  may require...
THE ESSENCE OF THE SOLUTION TO THISTRADITIONAL PROBLEM• Applications, UI components, services, processes and  other elemen...
CUSTOM IMPLEMENTATION OF(FUNCTIONAL) DESIGN TIME @ RUN TIME• Externalize meta-data with normal, non FMW means• Centralize ...
CENTRALIZE CONSTANTS, PARAMETERS,           FRAGMENTS, CALCULATIONS, ..                          Flush (& Refresh),       ...
CHALLENGES• Define process for making, testing, deploying and  distributing run time changes• Have changes applied in stag...
RUN TIME META DATA         IN ORACLE FUSION MIDDLEWARE                               WebCenter                 BAM/ADF    ...
CONTEXT SENSITIVE SOURCE  CUSTOMIZATION AT RUN TIME                                                     Who, where,       ...
MDS CUSTOMIZATION MANAGEMENT                      Imported with                    Enterprise Manager                     ...
ADF CHANGE PERSISTENCE• Built-in infrastructure to record and persist  configuration of UI components by the user   – Pers...
EXPLICIT PROGRAMMATICADF CHANGE PERSISTENCE• In addition to declarative, implicit change persistence,  ADF applications ca...
INTRODUCING CUSTOMIZATION LAYERS• Customize   – One (new) size fits all   – Multiple sizes to fit all   – Personal(s)ize t...
CUSTOMIZATION LAYERS• Customizations may be required for various, unrelated  reasons – that may apply at the same time   –...
FUSION APPLICATIONS11 CUSTOMIZATION LAYERS• Fusion Applications leverages Customization to fine-  tune one size fits no on...
ADF CUSTOMIZATION         • Changes per artifact (page, task flow, template, …)            – associated with predefined an...
WEBCENTER COMPOSER• ADF Change Persistence has declarative support for  only a limited set of UI characteristics• For othe...
PAGE EDIT MODE• Pages created at design time can be made (partially)  editable by including customizable components• These...
WEBCENTER COMPOSER –RUN TIME RESOURCE CATALOG• Resource Catalog contains  components that can be added to  pages at run ti...
WEBCENTER COMPOSERRUN TIME APPLICATION EDITING• WebCenter Composer provides run time support for  – Page creation, hide/sh...
WEBCENTER RUN TIME SKIN EDITING
WEBCENTER CUSTOMIZATION MANAGER• Customization Manager for run time administration of  page, task flow and fragment custom...
ORACLE BUSINESS MASHUP - RUN TIMEAPPLICATION EDITING WITH A VENGEANCE• DT@RT tools empowering Business Users to quickly  c...
ZERO CODING PAGE CREATED AT RUN TIMEUSING WEBCENTER PAGE COMPOSER• Create Data Control   – Using SQL query against JDBC Da...
NEW RUNTIME ADF COMPOSERSARE ON THE WAY• Data Composer   – For run time extension of design time ADF Business     Componen...
DATA COMPOSER – SNEAK PREVIEW
DATA COMPOSER – SNEAK PREVIEW
CONTENT INTEGRATION AND EDITING• Content can be integrated in in ADF applications   – Using custom mechanisms   – Using We...
INTEGRATING CONTENT USINGWEBCENTER CONTENT SERVICES• When a connection with a Content Repository has  been configured   – ...
RUN TIME ADDING CONTENT TO WEB          APPLICATION (3)  WebCenterContent (UCM)            WebCenter Content              ...
RUN TIME META DATA         IN ORACLE FUSION MIDDLEWARE                               WebCenter                 BAM/ADF    ...
DESIGN TIME @ RUN TIMEBPM PROCESS COMPOSER• Browser based User Interface that exposes process  models for reviewing as wel...
ON LINE PROCESS REVISION
TIME, LEVEL AND STAKEHOLDERS                 Business (end) user  Run-time        Operations staff              Administra...
ORACLE BPM 11G BLURS THE LINES                 Business (end) user  Run-time       Business (end) user                  Op...
ORACLE BPM 11G BLURS THE LINES                 Business (end) user  Run-time       Business (end) user                  Op...
SOA COMPOSER RUN TIME META DATAIN ORACLE FUSION MIDDLEWARE• SOA Suite 11g stores Business Rule, Domain Value  Map and Task...
SOA COMPOSER AND DOMAIN VALUE MAP
EDITING DECISION TABLE BUSINESS RULEIN SOA COMPOSER• The Decision Table can be reviewed and edited at run  time in SOA Com...
INSTRUCTIONS FOR DEVELOPER TOENABLE DESIGN @ RUN• Configure ADF Customization in applications   – Including appropriate cu...
NEW ROLE/PROCESS• Who does run time editing? What is the new role  called?   – Application Editor? Run-time Composer?   – ...
SUMMARY• A higher degree of agility – and an application that  more accurately and rapidly follows business needs• Can be ...
SUMMARY (2)• For design time at run time to be effectively used, the  applications and processes need to be prepared• The ...
Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (Oracle Open World 2011)
Upcoming SlideShare
Loading in …5
×

Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (Oracle Open World 2011)

4,694 views

Published on


Agility is about ability to adapt. Enterprises need to quickly respond to changing circumstances and requirements. Agility is a state of mind (“embrace change”) that must be supported by process and technology. This session will demonstrate how Fusion Middleware provides a substantial dose of instant agility through its design time @ run time facilities. Application Management evolves into Application Composition as BPM and SOA Suite applications allow run time editing of business logic, human tasks and process definitions. Likewise, ADF applications, especially when integrated with UCM and WebCenter, support run time editing of content, page composition and even security, data sources and visualizations - even customized per user group.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,694
On SlideShare
0
From Embeds
0
Number of Embeds
2,990
Actions
Shares
0
Downloads
54
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (Oracle Open World 2011)

  1. 1. Lucas Jellema – AMIS (Nieuwegein, The Netherlands)INSTANT AGILITYIN ORACLE FUSION MIDDLEWARETHROUGH DESIGN TIME @ RUN TIMEOracle Open World 2011
  2. 2. IT DELIVERS ACCORDING TO BUSINESS SPECIFICATIONS The Outside World (Consumers, Partners, Customers, Government) MobileEmails, Alerts, Web Site Web Web Application Reports Application ServiceEmails, Alerts, Mobile Web Enterprise Portal Reports App Service Process Dashboard Coordinator & Task UI Todo List Enterprise
  3. 3. WHAT HAPPENS RIGHT AFTERDEPLOYMENT?
  4. 4. WHAT HAPPENS RIGHT AFTERDEPLOYMENT?• ‘Sorry, this is not what we meant’• ‘Well, this was right when we asked for it – but that is no longer the case. Things have changed.’• ‘This is right for some user groups – but not as it turns out for all’• ‘Hi – we are from marketing and we want to launch a campaign to respond to our biggest competitor and we need immediate changes’• ‘It is perfect! Exactly what is needed for the current business situation.’…. ‘Well, the situation has slightly evolved. We need to adapt – asap please.’ (repeat many times)
  5. 5. APPLICATION ARCHITECTURE AND ALL CHANGE REQUESTS Mobile Emails, Alerts, Web Site Web Application Reports Application Web Service Enterprise Portal Dashboard ContentRepository Process Engine Task Engine View/UI User & Roles ORM ESBDirectory 3rd party RDBMS Web Email Service Server
  6. 6. APPLICATION ARCHITECTURE AND ALL CHANGE REQUESTS Boilerplate Text StyleHeaders (from, reply to) Layout Default Value Constraints Mobile FormatTextual Content Alerts, Emails, Style Web Site Web Value MappingLayout Content (text & image) Application Reports Application Web Reorganize/Hide/Show/ Service Ability to respond to /Edit Components Enterprise Portal business events Edit Portlets Dashboard Thresholds ContentTextual content Meta-data: tag, rating, Calculation & AggregationRich Repository layout note, interest, … Dashboard LayoutContext sensitive selection Process Engine Alert & Message Channels Decision PointTranslation (i18n) CalculationImages Validation Allocation Task EngineFormat (conversion): PDF, Word Conditional Step Escalation View/UI Notification Parallel Flow User & New step(s) Roles ORM ESB XForm Validation Directory EnrichmentRole - ApplicationPrivilege Allocation 3rd party Validation RDBMS Web Email Derivation Service End Point Service Server Context Sensitive Filters Security Policy
  7. 7. ORGANIZATION & ENVIRONMENT IT DEV TST ACC PRD Business Developer Administrator Tester Testerlogic programmer, web styler, database coder, UI designer, SOA developer, process Content implementor Editor Application Manager Business/Process /Information ApplicationAnalyst Consultant End User Architect Super User Business Business Owner
  8. 8. BUSINESS AGILITY• Adapt to changing business requirements – Rapid – Efficient (cost wise) – Low risk – GWYRN: Get what you really need
  9. 9. ORGANIZATION & ENVIRONMENT IT DEV TST ACC PRD Business Developer Administrator Tester Testerlogic programmer, web styler, database coder, UI designer, SOA developer, process Content implementor Editor Application Manager Business/Process •Slow /Information •Expensive ApplicationAnalyst Consultant •Mismatch ‘like the telephone game’ End User Architect •Complex, frustrating Super process User Business Business Owner
  10. 10. WHAT IS VS WHAT SHOULD BE ?•Slow•Expensive•Mismatch ‘like thetelephone game’•Complex, frustratingprocess
  11. 11. AGILE CONTENT MANAGEMENT• Business driven – News items, product descriptions, offers, terms of use, announcement• Simple, fast approval process for rapid production ‘deployment’• Externalized from web application (program code)
  12. 12. THE ESSENCE OF THE SOLUTION TO THISTRADITIONAL PROBLEM• All aspects of applications, processes, services that may require run time change – should be meta-data driven – defined outside of program code – “externalize changeable aspects outside of applications, just like content is externalized” Content Editor Content Application Application Editor Meta Data
  13. 13. THE ESSENCE OF THE SOLUTION TO THISTRADITIONAL PROBLEM• Applications, UI components, services, processes and other elements need to acquire or have injected the meta data that governs part of their behavior• Run time infrastructure is required – to support change of meta-data – WYSIWYG style - – And to absorb/apply meta-data changes at run time without restarting application components• Ideally: cater for multiple, co-existing, context sensitive sets of meta-data changes• A ‘run time application editor’ role should be introduced
  14. 14. CUSTOM IMPLEMENTATION OF(FUNCTIONAL) DESIGN TIME @ RUN TIME• Externalize meta-data with normal, non FMW means• Centralize parameters in MBeans that can be manipulated with JMX from outside JVM• Resource Bundles (multi-dimensional) based on database table, cached but dynamically refreshable• User preferences to drive behavior of UI• JSF PhaseListener to post-process UI component tree based on meta data• Custom JSF components that dynamically create UI components – driven by meta data• Servlet filter to manipulate CSS resources based on current context and meta data settings• Singleton BPEL process to expose (and manipulate) parameters for use in other BPEL processes• Set up event infrastructure and publish relevant business events wherever they originate
  15. 15. CENTRALIZE CONSTANTS, PARAMETERS, FRAGMENTS, CALCULATIONS, .. Flush (& Refresh), Inspect & ManipulateRead or have injected Inspect & Manipulate Application Central [In Memory] Process Publisher Persistent Store for Settings and Key => Value Snippets Load & Refresh Service
  16. 16. CHALLENGES• Define process for making, testing, deploying and distributing run time changes• Have changes applied in staging or sandbox – test and approve before go-live• Deploy changes with(out) impacting running sessions and process instances• Train staff to apply run time changes• Enforce authorization on run time editing• Have changes survive Application Upgrade• Feed changes back to developers and ‘regular’ application life cycle• WYSIWYG tooling for making run-time changes• Prepare application components for run-time editing
  17. 17. RUN TIME META DATA IN ORACLE FUSION MIDDLEWARE WebCenter BAM/ADF Enterprise Portal Portal 11g Dashboard WebCenterContent (UCM) Content BPM/BPELRepository 11g Process Engine Meta Data (MDS) SOA Suite 11g ADF 11g Task Engine Human Workflow View/UI SOA Suite 11g ORM ESB Event Delivery Network, Rules, Mediator
  18. 18. CONTEXT SENSITIVE SOURCE CUSTOMIZATION AT RUN TIME Who, where, when, context,… Meta Data (MDS) delta delta delta delta delta ADF 11g View/UI ORM base base source base basesource source source
  19. 19. MDS CUSTOMIZATION MANAGEMENT Imported with Enterprise Manager Meta Data (MDS)Deployed along delta delta Created at run time delta deltawith application delta from within the application
  20. 20. ADF CHANGE PERSISTENCE• Built-in infrastructure to record and persist configuration of UI components by the user – Persistence for the duration of the session (in memory) or cross-sessions (as a delta in MDS)• Example of built-in change persistence – Column configuration in tables (hide/show, reorder, resize, sort) – Expand/collapse of panel boxes, accordion panels and panel headers – Expand/collapse state and divider position in panel splitter• Change persistence has to be explicitly enabled in the ADF application – at the desired level – When enabled: it is entirely declarative and transparent to developer and user
  21. 21. EXPLICIT PROGRAMMATICADF CHANGE PERSISTENCE• In addition to declarative, implicit change persistence, ADF applications can do explicit change persistence• The application at run time can use the ChangeManager object to persist changes – Those changes are stored in the session or MDS• When a new view is constructed, changes are applied by the ChangeManager – prior to rendering – From MDS and session – Both implicit and explicit changes (no distinction made) – (Ordered by customization layer)• Example: – User determines the order of navigation tabs – Application saves the new order to ChangeManager – The change is stored in session or MDS – Next time when the page is accessed, the change is retrieved (from session or MDS) and applied to page
  22. 22. INTRODUCING CUSTOMIZATION LAYERS• Customize – One (new) size fits all – Multiple sizes to fit all – Personal(s)ize to fit individual
  23. 23. CUSTOMIZATION LAYERS• Customizations may be required for various, unrelated reasons – that may apply at the same time – Additional fields because of a more senior role – Fewer fields because non applicability in a certain region – Fields with different constraints, default values and display characteristics because of departmental rules• ADF can work with many customization layers – unrelated dimensions that may each define changes• For each layer, the job role current value is determined and the customization in that layer for that value is applied• The order of layers is crucial! region
  24. 24. FUSION APPLICATIONS11 CUSTOMIZATION LAYERS• Fusion Applications leverages Customization to fine- tune one size fits no one base product• 11 customization layers are used to tune along different dimensions• Also at run time
  25. 25. ADF CUSTOMIZATION • Changes per artifact (page, task flow, template, …) – associated with predefined and dynamically derived customization layers basesource delta delta MDS Repository delta job role Created at run time delta from within the application delta Implicit, built-in and delta explicit, programmatic changes through ChangeManager basesource region
  26. 26. WEBCENTER COMPOSER• ADF Change Persistence has declarative support for only a limited set of UI characteristics• For other ‘customizable’ aspects a lot of run time infrastructure needs to be developed• Enter: WebCenter Composer – Pre-built, fully integrated Run Time WYSIWYG Customization Editor – Turn on Edit Mode for page at run time – start making changes that are persisted in MDS
  27. 27. PAGE EDIT MODE• Pages created at design time can be made (partially) editable by including customizable components• These components are used to turn on edit mode – Only for authorized users• In edit mode: – Customizable area can be rearranged – Components can be reconfigured (properties modified) – Components can be added – Page (Area) Layout can be changed – Resource Strings can be customized
  28. 28. WEBCENTER COMPOSER –RUN TIME RESOURCE CATALOG• Resource Catalog contains components that can be added to pages at run time – Standard UI widgets (box, image, rich text) – Portlets from Portlet Providers – Custom Task Flows – WebCenter Services – Content Presenter – Custom Components
  29. 29. WEBCENTER COMPOSERRUN TIME APPLICATION EDITING• WebCenter Composer provides run time support for – Page creation, hide/show, removal – Page Access management – Navigation & Menu editing – Skin and Page Style & Template administration – Wire Portlets & Task Flows – parameters & events
  30. 30. WEBCENTER RUN TIME SKIN EDITING
  31. 31. WEBCENTER CUSTOMIZATION MANAGER• Customization Manager for run time administration of page, task flow and fragment customizations• Support for – Download – Upload – Promote – Remove
  32. 32. ORACLE BUSINESS MASHUP - RUN TIMEAPPLICATION EDITING WITH A VENGEANCE• DT@RT tools empowering Business Users to quickly create Enterprise Mashups / visualizations connecting data in ADF pages – Runtime Create Data Controls – Runtime Create / Build Reusable Mashups / Task flows using Data Controls – Use them in pages and wire
  33. 33. ZERO CODING PAGE CREATED AT RUN TIMEUSING WEBCENTER PAGE COMPOSER• Create Data Control – Using SQL query against JDBC Data Source – Or based on SOAP WebService• Set Data Control to show• Create new page• Edit newly created page• Add Data Control• Configure Data Visualization for Data Control (table, graph)
  34. 34. NEW RUNTIME ADF COMPOSERSARE ON THE WAY• Data Composer – For run time extension of design time ADF Business Components, as well as creation of new ADF BC – Add Attributes, Manipulate Attribute properties – Add ViewObjects based on Database (SQL) or WebService (SOAP & REST?) data sources – Using Page Composer, changes in existing as well as new “Business Objects” can be exposed in the UI – Note: these run time customizations can be layered• Report Composer – “To allow run time definition of (simple) reports that allow export of information in various file formats” – Reports can use deployed business components and data objects created at run time with Data Composer
  35. 35. DATA COMPOSER – SNEAK PREVIEW
  36. 36. DATA COMPOSER – SNEAK PREVIEW
  37. 37. CONTENT INTEGRATION AND EDITING• Content can be integrated in in ADF applications – Using custom mechanisms – Using WebCenter Content Services on top of an Content Repository (such as UCM) – Using OWCM tags selecting from UCM – and providing edit-content-in-place capabilities inside the web page• Content can be changed (at run time) – Change content item - no change in application – (dynamically) select different content• Note: content is wide range WebCenter – From image and Content (UCM) WebCenter downloadable PDF Content Portal Rpository Enterprise Portal to prompt and block headers Meta Data (MDS)
  38. 38. INTEGRATING CONTENT USINGWEBCENTER CONTENT SERVICES• When a connection with a Content Repository has been configured – Content Server (UCM), Oracle Portal, File System• WC Content components can be added to a page – At design time or run time (composer)• to present content items – In various display styles – Using static content item selection or dynamically evaluated content query
  39. 39. RUN TIME ADDING CONTENT TO WEB APPLICATION (3) WebCenterContent (UCM) WebCenter Content PortalRpository Enterprise Portal Meta Data (MDS)
  40. 40. RUN TIME META DATA IN ORACLE FUSION MIDDLEWARE WebCenter BAM/ADF Enterprise Portal Portal 11g Dashboard WebCenterContent (UCM) Content BPM/BPELRepository 11g Process Engine Meta Data (MDS) SOA Suite 11g ADF 11g Task Engine Human Workflow View/UI SOA Suite 11g ORM ESB Mediator Rules,
  41. 41. DESIGN TIME @ RUN TIMEBPM PROCESS COMPOSER• Browser based User Interface that exposes process models for reviewing as well as editing – Interacts with BPM Studio (JDeveloper) via MDS – For example analysts and business users creating the abstract process model and developers implementing it – Can also deploy revised BPM models to the run-time – Similar to SOA Composer, yet targeted at analysts• http://host:port/bpm/composer
  42. 42. ON LINE PROCESS REVISION
  43. 43. TIME, LEVEL AND STAKEHOLDERS Business (end) user Run-time Operations staff Administrators, (Published definition of controllers, end users processes) Business Analyst Business AnalystDesign-time Developer (Production Data for (modeling, simulation) simulation & modeling) Meta data (definition) Operational & Instance data
  44. 44. ORACLE BPM 11G BLURS THE LINES Business (end) user Run-time Business (end) user Operations staff Administrators, Operations staff (Published definition of controllers, end users (Published definition of processes) processes) Business Analyst Developer Business AnalystDesign-time (modeling, simulation) (Production Data for simulation & modeling) Meta data (definition) Operational & Instance data
  45. 45. ORACLE BPM 11G BLURS THE LINES Business (end) user Run-time Business (end) user Operations staff Administrators, Operations staff (Published definition of controllers, end users (Published definition of processes) processes) Business Analyst Developer Business AnalystDesign-time (modeling, simulation) (Production Data for simulation & modeling) Meta data (definition) Operational & Instance data
  46. 46. SOA COMPOSER RUN TIME META DATAIN ORACLE FUSION MIDDLEWARE• SOA Suite 11g stores Business Rule, Domain Value Map and Task Definition in MDS• Live editing (runtime environment) through SOA Composer SOA Composer Meta Data (MDS) DVM Rule SOA Suite 11g Task Engine Human Workflow Task SOA Suite 11g ESB Mediator Rules,
  47. 47. SOA COMPOSER AND DOMAIN VALUE MAP
  48. 48. EDITING DECISION TABLE BUSINESS RULEIN SOA COMPOSER• The Decision Table can be reviewed and edited at run time in SOA Composer – Note: bucketsets can be managed too• Note: Commit means ‘publish to live environment’
  49. 49. INSTRUCTIONS FOR DEVELOPER TOENABLE DESIGN @ RUN• Configure ADF Customization in applications – Including appropriate customization layers• Add Panel Customizable to page• Configure Edit (Page) privilege• Use Business Rules for calculations, validations, decisions• Use Domain Value Maps for conversions and system parameters• Leverage WebCenter Services• Publish Events – ADF contextual events from View – EDN Business Events from BPM, BPEL, ADF BC, …• Externalize constants, content and dependencies – to central parameter store, CMS and injection mechanisms
  50. 50. NEW ROLE/PROCESS• Who does run time editing? What is the new role called? – Application Editor? Run-time Composer? – (what is an application in today’s IT landscape?)• Approval process (from editing to live)• Administration of MDS Repository• Test procedures for live application changes• Distribute customizations• Have customizations survive application upgrades• Feed back run time customizations to development?• How are ‘running instances’ and ‘on line users’ impacted by new customizations?
  51. 51. SUMMARY• A higher degree of agility – and an application that more accurately and rapidly follows business needs• Can be achieved through ‘design time at run time’: – application editing in (or near) the run time environment – Very similar to editing of content items• Oracle Fusion Middleware provides an infrastructure for design time at run time – MDS Repository Content – Content Server (UCM) Editor Content – ADF Change Persistence and Customization FMW – WebCenter Composer Application – SOA Composer Application – BPM Composer Editor MDS – tbd: Data Composer and Report Composer
  52. 52. SUMMARY (2)• For design time at run time to be effectively used, the applications and processes need to be prepared• The actual ‘live application editing’ is a very important task – the pivotal action for instant agility – Application editing requires very good understanding of the business requirements – Application editing is still a fairly technical operation that requires deep insight in application and tools• The process for making changes, testing, authorizing and publishing them needs to be defined• The feedback loop to development needs to be established – To perhaps add a more advanced implementation of the new requirement in the base product – To at least not interfere with the run time additions

×