Presentation is loading. Please wait.

Presentation is loading. Please wait.

“Using OpenEdge, Corticon, Rollbase and Node.js to create a dynamic, rule- and model- driven Web-UI” Mike Liewehr AKIOMA Software.

Similar presentations


Presentation on theme: "“Using OpenEdge, Corticon, Rollbase and Node.js to create a dynamic, rule- and model- driven Web-UI” Mike Liewehr AKIOMA Software."— Presentation transcript:

1 “Using OpenEdge, Corticon, Rollbase and Node.js to create a dynamic, rule- and model- driven Web-UI” Mike Liewehr AKIOMA Software

2 AgendaAgenda The Idea The Solution Technical overview Architecture explained on a live sample 2 Detailed technical explanation Q&A

3 The Idea 3 “Building web based configuration forms for self service sales of complex products without coding”

4 The Idea 4 Build complex, web based configuration forms without coding Examples: …Car configurator …custom-built machines …Online Insurance Enrollment  Technically these are all similar  Technically these are all similar

5 The previous Solution Creating Data Structure (Database, etc.) Creating Data Structure (Database, etc.) Design and coding of the web-based configuration forms Definition and coding of the configuration rules (logic) Time-to-Market of 6-12 months Enormous costs for development

6 ExampleExample Short Term Plans Health Applicant Spouse Children Gender? Male Female Tobacco use? Yes No Pregnant? Yes No Dental

7 If „male“ dont ask for pregnancy

8 Rules AKIOMA.Config! Data Structure Short Term Plans Health Dental Applicant Spouse Children Gender? Male Female Tobacco use? Yes No Pregnant? Yes No Configuration Form

9 Rules AKIOMA.Config! Short Term Plans Health Applicant Spouse Children Gender? Male Female Tobacco use? Yes No Pregnant? Yes No Dental

10 Live Demo 10

11 Requirements and challenges 11 Data definitions vary greatly (cars, machines, people, policies…) Need a way to define data definition by end-user Rich Browser-based UI UI has to be very flexible and dynamic, support for rich components Complex rules, that are fully customer driven Allow to define complex rules without coding Performance! UI has to adapt in real-time Challenges that came up when building the solution…

12 Technology stack used 12 Challenges that came up when building the solution… …and the Products to solve them: Data definitions vary greatly (cars, machines, people, insurance…) Progress Rollbase Rich UI which has to be very flexible and dynamic AKIOMA HTML5-Client Complex rules, that are fully customer driven Progress Corticon Performance! -> UI has to adapt in realtime Node.JS / Socket.IO / node4Progress / ABL

13 Technical details 13 Server Rulesheet Vocabulary Rulesheet Vocabulary Corticon Rulesengine Socket.IO Node4Progress Socket.IO Node4Progress Node.js Client HTML5 JavaScript SWAT UI Socket.IO HTML5 JavaScript SWAT UI Socket.IO Webbrowser screenDS AKIOMA UIConnector screenDS AKIOMA UIConnector OpenEdge Appserver

14 Detailed explanation 14 Build some stuff to see how everything works together

15 Technical details 15 Server Client ABCDABCD 12341234 ABCDABCD 1313 -HTML 5 -JavaScript -SWAT UI -Socket.IO OE Appserver -ScreenDS -AKIOMA UI Connector Node.js -Socket.IO -Node4Progress Corticon Rules Engine -Rule Sheet -Vocabular 8 24 4 4 8

16 Introduction to Node & Node4Progress 16  About Node  Server side javascript engine  Lightweight, scalable and fast  Implements non-blocking programming model  using callback procedures  Allows you to build web applications with features that cannot be accomplsihed any other way  Hot technology  Microsoft is going Node, Progress is going Node, everybody is going Node

17 Introduction to Node & Node4Progress 17  About node4progress  Bridge for accessing business logic on appserver directly from Node  Developed by Frank Hilhorst from Progressive Consulting  Open Source  Small foot print (4MB)  Fast  Easy to install  Npm install node4progress  Communicates with appserver through Java OpenClient

18 Node4Progress Features and characteristics 18  Supports 2 methods for calling an appserver procedure  Calling a handler  Dynamic appserver call  Employs dataset object modelled after Progress ProDataset

19 Converting output parameters of an Appserver procedure into a JSON structure 19 {"output":{ "OutputParametes-1" : ".....", "OutputParametes-2" : ".....", "dsCustomer" : {...}, “ErrMsg" : "" }, "error": "“ }  Root level output tag contains output parameters from appserver procedure  Root level error tag contains error message if execution of appserver procedure failed

20 Calling a handler 20 var node4progress = require("node4progress")(null); var handler = "handlers/CustomerHandler.p"; var inputPars = "NumCustomersToPull=2"; node4progress.callHandler(handler, inputPars, function(err,result){ console.log(result); });

21 Approach to calling any appserver procedure dynamically 21  Define appserver procedure to call  Node4progress.setAppSvrProc(....);  Define each parameter  Node4progress.setParameter(......);  Define callback procedure  Invoke appserver procedure  Node4progress.invoke(callback);

22 Node.js / Socket.IO 22 Node.js required for Socket.IO Why we used Node.js Easy to use messaging from server to client (browser) Shields us from browser incompatabilities Fast

23 CorticonCorticon 23 Complex rules without any coding Why we used Corticon Easy integration with OpenEdge Very good API Fast

24 RollbaseRollbase 24 Can create apps very rapidly Why we used Rollbase Integration with OpenEdge API available Easily create / change data structure (no coding, no DBA)

25 wishlistwishlist 25 Access to all functionality through APIs 1 common Repository for all Progress Products 1 Visual Design Tool Native node.js integration (like Edge.js) Further integration of Progress Products Web-ui and Multitenancy for all products

26 SummarySummary 26 Progress offers great products Combined they provide even more value The whole is more than the sum of its parts Node.JS is here to stay and provides great value for Progress partners

27 Questions?Questions? 27


Download ppt "“Using OpenEdge, Corticon, Rollbase and Node.js to create a dynamic, rule- and model- driven Web-UI” Mike Liewehr AKIOMA Software."

Similar presentations


Ads by Google