SlideShare a Scribd company logo
Developing a highly dynamic web 
application for a large bank using 
rules-based technology
• Part 1: Requirements and zooming in on a solution 
• Part 2: Design and development 
• Part 3: Conclusion and lessons learned
• Requirements & Reference Architecture 
• Changing directions 
• Product / Vendor Options 
• Selected Product and Reasons Why
The new onboarding process: 
• Has to seamlessly extend current onboarding process (the existing system) including 
matching UI experience 
• Has over 300 new questions to ask depending on customer or account types, planned 
account activities and previously provided answers. 
• Has to implement dynamic flows with overlaying complex UI Interactions: 
• Different UI operating modes 
• Conditional warning messages on many of the user actions. 
• Hard stops 
• Save / cancel behavior 
• Not movable Delivery Deadline 
• Facing regulatory sanctions if not delivered. 
• Need to account for lead time needed to develop training materials and provide necessary training in 
6000 + branches.
The project involves 6 major components and 
several external vendors and systems: 
• Existing onboarding System A (vendor #1) 
• New System B used to extent the onboarding 
System A (vendor #2) that implements vast 
majority of the new questions / logic / complexity 
(over 90%). 
• ESB / ODS as communication integration hubs / 
channels for data flow into a Risk Scoring 
Engine as the final destination (components 2,3 
and 4) 
• Rules based profile completeness evaluation 
service 
• The new application is a separate application, 
but has to look and feel exactly like the existing 
one 
• Has to integrate with ESB to receive / pass data.
Upon finalizing design, cost and schedule and 3 Months before delivery 
date - a major set back from vendor #2: 
• Some of the “must have” requirements cannot be met. 
• Overall cost and schedule is longer than originally estimated 
Need to find a solution that will: 
 Implement functionality AND Meet all of the must have requirements that the current vendor cannot 
meet 
 Return project back to original cost and schedule
Based on: 
• cheer amount of logic required for the dynamic application to function 
• Short project timeline left 
• Requirements to use rules engine as one of the components anyways 
The call is made to use rules driven UI framework to try to build the new application. 
Go/No Go Decision: 
• Quick POC to prove that it might be a viable approach: 
• Must have requirements to be implemented as part of the POC 
• Most complex section of the dynamic forms must be implemented as part of the POC 
Other Major (must have requirements) for the framework for the Go/No Go decision. 
• Robust Rules Management UI – to many to manage otherwise (over a thousand that needs to be built within a few 
months) 
• Cost - there are more than 6000 thousand regular users, so seat licenses or any other complex licensing requirements 
may impair the project progress 
• Dependency on other components, availability of ready to start resources, or inflexible development lifecycle is a MAJOR 
risk– only 2 months to deliver. 
The rules based web frameworks considered: 
• Appian 
• IBM ILOG 
• OpenRules ORD.
OpenRules Framework was selected based on combination of all 
factors: 
• Cost and Schedule 
• A competed POC to prove the ability to meet business the business 
requirements 
• Excel based UI for entering rules 
• Simple rules configuration logic 
• Simple licensing requirements 
• Positive reference checks
TOC: 
• Section A: Running OOTB solution based on templates as a starting point 
for new application development and structure of typical apps 
• Section B: Summary of framework and support provided by OpenRules to 
build the dynamic web applications 
• ORD Templates 
• Data Binding and Special Tags 
• Section C: Design and Development to specific requirements: 
• Rules based web forms design 
• UI Look and Feel 
• Back End Integration 
• Any Other Customizations
• Required Software: 
• Java 
• Tomcat 
• Ant 
• OpenRules libraries 
(openRules.config) 
• Sample Template: Dialog Credit Card 
• Demo: Installation and 
Deployment of a complete 
OOTB solution 
• Configure deploy settings 
• Start tomcat 
• Run deploy.bat 
• Demo: A working dynamic web 
Application 
• Navigation 
• Dynamic Question / Answers 
• Automated pre-fills based on answers
• Summary of the OpenRules based 
Web Application architecture. 
A Web 
Application 
OpenRules 
Dialog 
OpenRules 
Forms 
OpenRules 
Engine 
• Demo: Rules for defining structure and 
dynamic aspects of the web forms (ORD 
based): 
• Static definition of Pages, Sections, Questions, 
Answers, Auto-Responses, Custom Controls 
• Dynamic aspects: defining navigation (pages or tabs) 
templates, hiding/showing sections, questions children 
of questions, resetting of sections, answers, defining 
and processing events. 
• Underlying Forms Support (Example – Next 
Page): 
• <F> tag for data binding and actions 
• <C> tag for including any code 
• Layout marker to create any HTML content 
• Method marker to write any java based code right within 
the excel
• <F> tag 
• Data binding controls 
• <C> tag 
• including any code 
• Layout marker 
• To create any HTML content 
• Method marker 
• To write any java based code right within the excel
TOC: 
• Extending User Interface: Using HTML / JavaScript / CSS, and OpenRules 
templates to create reach user interface 
• Using / Modifying default look and feel using css and page, section, question templates 
• Extending existing or building new Question/Answer Templates 
• Adding reach GUI elements and interactions 
• Back end integration activities and customizations: building connectors into 
external systems. 
• Integration with Vendor A 
• Integration with Enterprise Service Bus (ESB) 
• Extending default capabilities of ORD. 
• Support for multiple questionnaires in a session 
• Support for ability to copy a portion of answers from another questionnaire in the session 
• Support for tabs rather than pages 
• Adding client / server side logic as per requirements to control conditional actions, modes, hard stops
• Summary: 
• html / css touch up to existing 
default templates to have a 
required look and feel 
• Example: 
• Appearance made to match the 
existing requirements 
• Removed regular header and 
replaced it with tabs 
• Added “Ok / Cancel” Footer 
• Indented parent / child 
questions 
• Different operating modes (required 
more work): 
• Prospecting (questions are not required) 
• Required (the same questions become 
required)
Summary: 
• Using more JavaScript, CSS, 
ORD templates create reach GUI: 
different type of controls, 
additional dialog boxes for alerts, 
confirmations. 
Highlights: 
• Use ANY js/css frameworks: 
jquery ui, tw bootstrap, etc.
There are dozens of pre-built 
templates: 
• Demo of the question 
templates 
• Demo: extending template as 
Date Picker: 
• Use existing template (TextBox) 
• Define the hook class in 
Questions section 
• Configure control behavior in 
JavaScript
If not enough, steps to 
create your own: Multiselect 
Control example 
• Requirements: 
• Ability to select more 1 
entry 
• Ability to open / hide 
sections / questions 
based on values 
selected. 
• Steps to build 
• Define a new template 
• Call it using configuration 
• Enhance with JS/CSS 
behavior - just as any 
other template.
• Demo of using rules outside of ORD templates 
• hard Stops, high risk checks, NAICS codes 
FYI: Keeping code clean 
using rules… 
Externalize rules out of 
java code when possible. 
Example/Demo: NAICS 
categories
• By default ORD 
handled 
• One object in session at a time 
• Multiple pages but not multiple 
sections 
• Our requirements: 
• Use tabs, not pages 
• Define tabs at run time 
based on objects loaded 
• Handle different types of 
objects 
• Handle multiple objects 
and switch between them 
on a fly 
• In case of multiple 
accounts, we should be 
able to copy information 
category by category
Conclusion: 
• Very powerful yet intuitive rules and template architecture 
• Short run / test cycles of building web forms using rules dramatically reduce 
SDLC 
• All rules defined declaratively, externalized out of the application code 
Suggestions: 
• Consider splitting work into separate but parallel tracks using the OOTB 
template and independently working on UI, back end integration, structure of 
the web forms 
• Building your rules: 
• Rules become as simple as they look ONLY for minds that are analytical in nature. 
• Have people with analytical mind to understand business requirements and 
translate them into rules.
TOC: 
• Demo: building forms for entering more than one row 
• Demo: dealing with auto-responses.

More Related Content

What's hot

Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013
Sparkhound Inc.
 
SharePoint Programming Basic
SharePoint Programming BasicSharePoint Programming Basic
SharePoint Programming Basic
Quang Nguyễn Bá
 
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
Brian Culver
 
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
Brian Culver
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
Talbott Crowell
 
Pega Prpc course details
Pega Prpc course detailsPega Prpc course details
Pega Prpc course details
Ashock Roy
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope Coventry
SPC Adriatics
 
Share point 2013 Building Websites
Share point 2013 Building WebsitesShare point 2013 Building Websites
Share point 2013 Building Websites
Suhas R Satish
 
Winter 22 features
Winter 22 featuresWinter 22 features
Winter 22 features
KadharBashaJ
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
John Calvert
 
oracle oa framework training | oracle oa framework training courses | oa fram...
oracle oa framework training | oracle oa framework training courses | oa fram...oracle oa framework training | oracle oa framework training courses | oa fram...
oracle oa framework training | oracle oa framework training courses | oa fram...
Nancy Thomas
 
Oracle application framework (oaf) online training
Oracle application framework (oaf) online trainingOracle application framework (oaf) online training
Oracle application framework (oaf) online training
Glory IT Technologies Pvt. Ltd.
 
Customizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADFCustomizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADF
Rohan Walia
 
PEGA 7 Course Content (2)
PEGA 7 Course Content (2)PEGA 7 Course Content (2)
PEGA 7 Course Content (2)
Ashock Roy
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
Brian Culver
 
Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overview
Rohan Walia
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
Brian Culver
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Introduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training classIntroduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training class
QUONTRASOLUTIONS
 
Inventory managment system
Inventory managment systemInventory managment system
Inventory managment system
Venkata Naga Gopi Krishna Komirisetty
 

What's hot (20)

Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013
 
SharePoint Programming Basic
SharePoint Programming BasicSharePoint Programming Basic
SharePoint Programming Basic
 
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
 
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
 
Pega Prpc course details
Pega Prpc course detailsPega Prpc course details
Pega Prpc course details
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope Coventry
 
Share point 2013 Building Websites
Share point 2013 Building WebsitesShare point 2013 Building Websites
Share point 2013 Building Websites
 
Winter 22 features
Winter 22 featuresWinter 22 features
Winter 22 features
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
 
oracle oa framework training | oracle oa framework training courses | oa fram...
oracle oa framework training | oracle oa framework training courses | oa fram...oracle oa framework training | oracle oa framework training courses | oa fram...
oracle oa framework training | oracle oa framework training courses | oa fram...
 
Oracle application framework (oaf) online training
Oracle application framework (oaf) online trainingOracle application framework (oaf) online training
Oracle application framework (oaf) online training
 
Customizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADFCustomizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADF
 
PEGA 7 Course Content (2)
PEGA 7 Course Content (2)PEGA 7 Course Content (2)
PEGA 7 Course Content (2)
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
 
Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overview
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Introduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training classIntroduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training class
 
Inventory managment system
Inventory managment systemInventory managment system
Inventory managment system
 

Similar to Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power dynamic financial applications

Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentials
Rajesh P
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentials
Rajesh P
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
Taras Matyashovsky
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
SPC Adriatics
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
EPAM Systems
 
Introduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdfIntroduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdf
Mahmoud268161
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
Teamstudio
 
Fishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter AutomationFishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter Automation
Fishbowl Solutions
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
Avinash Kaza
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
NETFest
 
Ramesh Resume
Ramesh ResumeRamesh Resume
Ramesh Resume
ramesh pilla
 
2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield
Emeldi Group
 
What is an Automation Framework ?
What is an Automation Framework ?�What is an Automation Framework ?�
What is an Automation Framework ?
Sriram Angajala
 
Shop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semesterShop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semester
Amrit Timalsina
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
Jeremy Likness
 
Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013
Thomas Robbins
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
Steven Smith
 
Contract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep DiveContract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep Dive
Gabriel Michaud
 
تحليل النظم
تحليل النظمتحليل النظم
تحليل النظم
Kohinour Osman
 
Is your ABAP Code Ready for the Cloud?
Is your ABAP Code Ready for the Cloud?Is your ABAP Code Ready for the Cloud?
Is your ABAP Code Ready for the Cloud?
Tobias Trapp
 

Similar to Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power dynamic financial applications (20)

Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentials
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentials
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
 
Introduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdfIntroduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdf
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
Fishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter AutomationFishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter Automation
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
 
Ramesh Resume
Ramesh ResumeRamesh Resume
Ramesh Resume
 
2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield
 
What is an Automation Framework ?
What is an Automation Framework ?�What is an Automation Framework ?�
What is an Automation Framework ?
 
Shop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semesterShop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semester
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
 
Contract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep DiveContract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep Dive
 
تحليل النظم
تحليل النظمتحليل النظم
تحليل النظم
 
Is your ABAP Code Ready for the Cloud?
Is your ABAP Code Ready for the Cloud?Is your ABAP Code Ready for the Cloud?
Is your ABAP Code Ready for the Cloud?
 

More from Decision CAMP

Decision CAMP 2014 - Charles Forgy - Affecting rules performance
Decision CAMP 2014 - Charles Forgy - Affecting rules performanceDecision CAMP 2014 - Charles Forgy - Affecting rules performance
Decision CAMP 2014 - Charles Forgy - Affecting rules performance
Decision CAMP
 
Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01
Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01
Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01
Decision CAMP
 
Decision CAMP 2014 - James Taylor - Decision Management 101
Decision CAMP 2014 - James Taylor - Decision Management 101Decision CAMP 2014 - James Taylor - Decision Management 101
Decision CAMP 2014 - James Taylor - Decision Management 101
Decision CAMP
 
Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...
Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...
Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...
Decision CAMP
 
Decision CAMP 2014 - Mariano de Maio
Decision CAMP 2014 - Mariano de MaioDecision CAMP 2014 - Mariano de Maio
Decision CAMP 2014 - Mariano de Maio
Decision CAMP
 
Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...
Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...
Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...
Decision CAMP
 
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP
 
Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...
Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...
Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...
Decision CAMP
 
Decision CAMP 2014 - Decision Management Challenge - Sparkling Logic
Decision CAMP 2014 - Decision Management Challenge - Sparkling LogicDecision CAMP 2014 - Decision Management Challenge - Sparkling Logic
Decision CAMP 2014 - Decision Management Challenge - Sparkling Logic
Decision CAMP
 
Decision Camp 2013 - Ouyang Ming - PayPal - stopping fraud early
Decision Camp 2013 - Ouyang Ming - PayPal - stopping fraud earlyDecision Camp 2013 - Ouyang Ming - PayPal - stopping fraud early
Decision Camp 2013 - Ouyang Ming - PayPal - stopping fraud early
Decision CAMP
 
Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...
Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...
Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...
Decision CAMP
 
Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...
Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...
Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...
Decision CAMP
 
Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...
Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...
Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...
Decision CAMP
 

More from Decision CAMP (13)

Decision CAMP 2014 - Charles Forgy - Affecting rules performance
Decision CAMP 2014 - Charles Forgy - Affecting rules performanceDecision CAMP 2014 - Charles Forgy - Affecting rules performance
Decision CAMP 2014 - Charles Forgy - Affecting rules performance
 
Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01
Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01
Decision CAMP 2014 - Howard Rogers - Programming with decision tables v01
 
Decision CAMP 2014 - James Taylor - Decision Management 101
Decision CAMP 2014 - James Taylor - Decision Management 101Decision CAMP 2014 - James Taylor - Decision Management 101
Decision CAMP 2014 - James Taylor - Decision Management 101
 
Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...
Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...
Decision CAMP 2014 - Benjamin Grosof Janine Bloomfield - Explanation-based E-...
 
Decision CAMP 2014 - Mariano de Maio
Decision CAMP 2014 - Mariano de MaioDecision CAMP 2014 - Mariano de Maio
Decision CAMP 2014 - Mariano de Maio
 
Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...
Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...
Decision CAMP 2014 - Carole-Ann Berlioz-Matignon - Preparing for exceptional ...
 
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
 
Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...
Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...
Decision CAMP 2014 - Tobias Vigmostad - Digitalizing Business and Legislative...
 
Decision CAMP 2014 - Decision Management Challenge - Sparkling Logic
Decision CAMP 2014 - Decision Management Challenge - Sparkling LogicDecision CAMP 2014 - Decision Management Challenge - Sparkling Logic
Decision CAMP 2014 - Decision Management Challenge - Sparkling Logic
 
Decision Camp 2013 - Ouyang Ming - PayPal - stopping fraud early
Decision Camp 2013 - Ouyang Ming - PayPal - stopping fraud earlyDecision Camp 2013 - Ouyang Ming - PayPal - stopping fraud early
Decision Camp 2013 - Ouyang Ming - PayPal - stopping fraud early
 
Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...
Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...
Decision CAMP 2013 - sako hidetoshi - blaze consulting japan - Using Business...
 
Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...
Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...
Decision CAMP 2013 - shash hegde - mariner - Is this Skynet? Giving machines ...
 
Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...
Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...
Decision CAMP 2013 - christian middleton - jawbone - Facts, Rules, and Constr...
 

Recently uploaded

Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 

Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power dynamic financial applications

  • 1. Developing a highly dynamic web application for a large bank using rules-based technology
  • 2. • Part 1: Requirements and zooming in on a solution • Part 2: Design and development • Part 3: Conclusion and lessons learned
  • 3. • Requirements & Reference Architecture • Changing directions • Product / Vendor Options • Selected Product and Reasons Why
  • 4.
  • 5. The new onboarding process: • Has to seamlessly extend current onboarding process (the existing system) including matching UI experience • Has over 300 new questions to ask depending on customer or account types, planned account activities and previously provided answers. • Has to implement dynamic flows with overlaying complex UI Interactions: • Different UI operating modes • Conditional warning messages on many of the user actions. • Hard stops • Save / cancel behavior • Not movable Delivery Deadline • Facing regulatory sanctions if not delivered. • Need to account for lead time needed to develop training materials and provide necessary training in 6000 + branches.
  • 6. The project involves 6 major components and several external vendors and systems: • Existing onboarding System A (vendor #1) • New System B used to extent the onboarding System A (vendor #2) that implements vast majority of the new questions / logic / complexity (over 90%). • ESB / ODS as communication integration hubs / channels for data flow into a Risk Scoring Engine as the final destination (components 2,3 and 4) • Rules based profile completeness evaluation service • The new application is a separate application, but has to look and feel exactly like the existing one • Has to integrate with ESB to receive / pass data.
  • 7. Upon finalizing design, cost and schedule and 3 Months before delivery date - a major set back from vendor #2: • Some of the “must have” requirements cannot be met. • Overall cost and schedule is longer than originally estimated Need to find a solution that will:  Implement functionality AND Meet all of the must have requirements that the current vendor cannot meet  Return project back to original cost and schedule
  • 8. Based on: • cheer amount of logic required for the dynamic application to function • Short project timeline left • Requirements to use rules engine as one of the components anyways The call is made to use rules driven UI framework to try to build the new application. Go/No Go Decision: • Quick POC to prove that it might be a viable approach: • Must have requirements to be implemented as part of the POC • Most complex section of the dynamic forms must be implemented as part of the POC Other Major (must have requirements) for the framework for the Go/No Go decision. • Robust Rules Management UI – to many to manage otherwise (over a thousand that needs to be built within a few months) • Cost - there are more than 6000 thousand regular users, so seat licenses or any other complex licensing requirements may impair the project progress • Dependency on other components, availability of ready to start resources, or inflexible development lifecycle is a MAJOR risk– only 2 months to deliver. The rules based web frameworks considered: • Appian • IBM ILOG • OpenRules ORD.
  • 9. OpenRules Framework was selected based on combination of all factors: • Cost and Schedule • A competed POC to prove the ability to meet business the business requirements • Excel based UI for entering rules • Simple rules configuration logic • Simple licensing requirements • Positive reference checks
  • 10. TOC: • Section A: Running OOTB solution based on templates as a starting point for new application development and structure of typical apps • Section B: Summary of framework and support provided by OpenRules to build the dynamic web applications • ORD Templates • Data Binding and Special Tags • Section C: Design and Development to specific requirements: • Rules based web forms design • UI Look and Feel • Back End Integration • Any Other Customizations
  • 11.
  • 12. • Required Software: • Java • Tomcat • Ant • OpenRules libraries (openRules.config) • Sample Template: Dialog Credit Card • Demo: Installation and Deployment of a complete OOTB solution • Configure deploy settings • Start tomcat • Run deploy.bat • Demo: A working dynamic web Application • Navigation • Dynamic Question / Answers • Automated pre-fills based on answers
  • 13.
  • 14. • Summary of the OpenRules based Web Application architecture. A Web Application OpenRules Dialog OpenRules Forms OpenRules Engine • Demo: Rules for defining structure and dynamic aspects of the web forms (ORD based): • Static definition of Pages, Sections, Questions, Answers, Auto-Responses, Custom Controls • Dynamic aspects: defining navigation (pages or tabs) templates, hiding/showing sections, questions children of questions, resetting of sections, answers, defining and processing events. • Underlying Forms Support (Example – Next Page): • <F> tag for data binding and actions • <C> tag for including any code • Layout marker to create any HTML content • Method marker to write any java based code right within the excel
  • 15. • <F> tag • Data binding controls • <C> tag • including any code • Layout marker • To create any HTML content • Method marker • To write any java based code right within the excel
  • 16.
  • 17. TOC: • Extending User Interface: Using HTML / JavaScript / CSS, and OpenRules templates to create reach user interface • Using / Modifying default look and feel using css and page, section, question templates • Extending existing or building new Question/Answer Templates • Adding reach GUI elements and interactions • Back end integration activities and customizations: building connectors into external systems. • Integration with Vendor A • Integration with Enterprise Service Bus (ESB) • Extending default capabilities of ORD. • Support for multiple questionnaires in a session • Support for ability to copy a portion of answers from another questionnaire in the session • Support for tabs rather than pages • Adding client / server side logic as per requirements to control conditional actions, modes, hard stops
  • 18. • Summary: • html / css touch up to existing default templates to have a required look and feel • Example: • Appearance made to match the existing requirements • Removed regular header and replaced it with tabs • Added “Ok / Cancel” Footer • Indented parent / child questions • Different operating modes (required more work): • Prospecting (questions are not required) • Required (the same questions become required)
  • 19. Summary: • Using more JavaScript, CSS, ORD templates create reach GUI: different type of controls, additional dialog boxes for alerts, confirmations. Highlights: • Use ANY js/css frameworks: jquery ui, tw bootstrap, etc.
  • 20. There are dozens of pre-built templates: • Demo of the question templates • Demo: extending template as Date Picker: • Use existing template (TextBox) • Define the hook class in Questions section • Configure control behavior in JavaScript
  • 21. If not enough, steps to create your own: Multiselect Control example • Requirements: • Ability to select more 1 entry • Ability to open / hide sections / questions based on values selected. • Steps to build • Define a new template • Call it using configuration • Enhance with JS/CSS behavior - just as any other template.
  • 22. • Demo of using rules outside of ORD templates • hard Stops, high risk checks, NAICS codes FYI: Keeping code clean using rules… Externalize rules out of java code when possible. Example/Demo: NAICS categories
  • 23. • By default ORD handled • One object in session at a time • Multiple pages but not multiple sections • Our requirements: • Use tabs, not pages • Define tabs at run time based on objects loaded • Handle different types of objects • Handle multiple objects and switch between them on a fly • In case of multiple accounts, we should be able to copy information category by category
  • 24. Conclusion: • Very powerful yet intuitive rules and template architecture • Short run / test cycles of building web forms using rules dramatically reduce SDLC • All rules defined declaratively, externalized out of the application code Suggestions: • Consider splitting work into separate but parallel tracks using the OOTB template and independently working on UI, back end integration, structure of the web forms • Building your rules: • Rules become as simple as they look ONLY for minds that are analytical in nature. • Have people with analytical mind to understand business requirements and translate them into rules.
  • 25. TOC: • Demo: building forms for entering more than one row • Demo: dealing with auto-responses.

Editor's Notes

  1. TODO: Section C: Each work stream works on their own using the template, then results are put together into a final “master” solution