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

Slides:



Advertisements
Similar presentations
AJAX Development By Gary Mandela December 26,
Advertisements

Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Apache Struts Technology
Introducing OpenEdge BPM: Ken Wilner, VP of Technology, OpenEdge Integrating Business Process Management Capabilities Into Your OpenEdge Application.
Rollbase for OpenEdge Partners
OpenEdge BPM What’s Coming in 11.3 Michael Banks Suresh Inavolu.
DEV-13: You've Got a Problem, Here’s How to Find It
Inside the JSDO: Mobile and Web
Real World Development using OpenEdge/ Rollbase Mobile – the basics Brian C. Preece Ypsilon Software Ltd
CS 898N Advanced World Wide Web Technologies Lecture 1: Introduction Chin-Chih Chang
John Sadd Progress Fellow and OpenEdge Evangelist
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Performance testing of Progress Appservers and a plug-in for Jmeter
UNIT-V The MVC architecture and Struts Framework.
Corticon Integration with OpenEdge and BPM
A New Object Model for WebSpeed and HTTP
What's new in OpenEdge BPM 11.x Abhinav Agarwal June 8 th, 2015.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
“OpenEdge Rules” in Action: Business Logic Agility & Transparency David Atkins Principal Solutions Engineer June 2015.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
XForms: A case study Rajiv Shivane & Pavitar Singh.
Rich Internet Applications for the Enterprise Creating RIA from your Oracle database using TURBO Enterprise Web 2.0 Presented By: John Krahulec Bizwhazee.
The Top 5 Reasons You Need JReport Mobile Christie Gunden Marketing Manager Jinfonet Software Rockville, MD Mike Obrebski Systems Engineer Jinfonet Software.
Google Web Toolkit An Overview By Shauvik Roy Choudhary.
Application Health Reporting Overview. Application Performance Occam’s approach has always been; first understand “what it is the client would like to.
Ophelia User friendly Network Multi-player game engine Albert Öhrling.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Convert generic gUSE Portal into a science gateway Akos Balasko 02/07/
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
REAL WORLD AJAX MARCH TIBCO USER CONFERENCE / 2004 Enterprise Rich Internet Applications with AJAX Real World Case Studies with TIBCO General Interface™
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Page 1 Node.js - What? EMEA PUG Challenge, November 2015, Copenhagen 6-Nov-15 Node.js - What?
Realtime insight in your application usage with NodeJs, ElasticSearch and Kibana Onno de Haan.
A New Object Model for WebSpeed and HTTP
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
A7: Architecting Your Application in OpenEdge ® 10 Mike Ormerod Applied Architect.
02 | Introduction to Express Framework Stacey Mulcahy | Technical Evangelist Rami Sayar | Technical Evangelist.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
1.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Professional Services NAME Roland de Pijper Principal Consultant Openedge TITLE TECHNICAL EXPERTISE.
Best Web Technologies for
Introduction to Node.js® Jitendra Kumar Patel Saturday, January 31, 2015.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Multi-tenant HR Benefits Management Solution.  Headquartered in US, our customer is a global service provider of HR and Benefits Management services.
Technologies For Creating Rich Internet Applications Presenter's name
 INDEX  Overview.  Introduction.  System Requirement.  Features Of SQL.  Development Process.  System Design (SDLC).  Implementation.  Future.
Introduction to Oracle Forms Developer and Oracle Forms Services
Accessible Business Rules
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Redux Header Eric W. Greene Microsoft Virtual Academy
Introduction to Oracle Forms Developer and Oracle Forms Services
By Gary Mandela December 26, 2006
Mike Dickson Tidal Software
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Lecture 1: Multi-tier Architecture Overview
ARCH-1: Application Architecture made Simple
C6: Introducing Native Invocation with the OpenEdge® Adapter for Sonic™ ESB Chris James Senior Consultant.
HCL’s Viewpoint – DevOps on MS Cloud
Choosing between Silverlight and AJAX
Mark Quirk Head of Technology Developer & Platform Group
Demo for Partners and Customers
Mulesoft Anypoint Connector for AS/400 and Web Transaction Framework
FUNDAMENTALS OF DOT NET TRAINING BY SURBHI KALE. INDEX 1.Dot net training Framework Fundamentals 2.CLR Features 3.Class Library Features 4.The Common.
Presentation transcript:

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

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

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

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

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

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

If „male“ dont ask for pregnancy

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

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

Live Demo 10

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…

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

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

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

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

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

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

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

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

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); });

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);

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

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

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)

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

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

Questions?Questions? 27