Integrating the Progress Rollbase Portal into OpenEdge Applications. Mike Fechner, Director, Consultingwerk Ltd.

Similar documents
Integrating Progress Rollbase with OpenEdge the REST of the story. Mike Fechner, Director, Consultingwerk Ltd.

The Backend of OE Mobile in OpenEdge Mike Fechner, Consultingwerk Ltd. PUG Challenge Americas, June 2013

REST in Peace Mastering the JSDO with a Dynamic ABL backend. Mike Fechner, Consultingwerk Ltd.

The OpenEdge Application Modernization Framework. Mike Fechner, Director, Consultingwerk Ltd.

The OpenEdge Application Modernization Framework. Mike Fechner, Director, Consultingwerk Ltd.

Managing Data in an Object World. Mike Fechner, Director, Consultingwerk Ltd.

Mike Fechner, Consultingwerk Ltd.

Mike Fechner Director

OpenEdge Architect Template Customization

Webspeed. I am back. Enhanced WebSpeed

OpenEdge Legacy Application Modernization by Example. Mike Fechner, Consultingwerk Ltd.

REST API Documentation Using OpenAPI (Swagger)

Accessing the Progress OpenEdge AppServer. From Progress Rollbase. Using Object Script

Debugging with OpenEdge Architect An introduction to the IDE s integrated debugger

Real World Development using OpenEdge Mobile some advanced features. Brian C. Preece Ypsilon Software Ltd

PDSOE Workspace Management and Organisation. Marko Rüterbories Senior Consultant

OpenEdge GUI for.net Adoption and Migration Strategies

PROCE55 Mobile: Web API App. Web API.

Living with Pacific Application Server for OpenEdge (PAS for OpenEdge) Peter Judge

Take a Load Off with U2 RESTful Web Services. Nik Kesic, Lead Technical Support for Rocket U2

Top 7 Data API Headaches (and How to Handle Them) Jeff Reser Data Connectivity & Integration Progress Software

ABL Unit Testing Part 1: Test Strategy. Mike Fechner Director

OpenEdge 11 Strategy & Roadmap. Jarmo Nieminen Senior Solution Engineer, Nordics

Inside the JSDO: Mobile and Web. Edsel Garcia Principal Software Engineer Progress Software

Modernization and how to implement Digital Transformation. Jarmo Nieminen Sales Engineer, Principal

OPENEDGE TRAINING SYNOPSES course synopses for OpenEdge Training.

Consultingwerk Continuous Deployment of OpenEdge Applications. Daniël van Doorn Senior Consultant

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Working with OpenEdge Data and Business Logic in a Kendo UI Builder Application

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

Beginner s Guide to Cordova and Mobile Application Development

Excel4apps Wands 5 Architecture Excel4apps Inc.

User Guide Using AuraPlayer

Oracle Service Cloud Integration for Developers Ed 1

I m sorry, I haven t a clue. James Palmer Software Developer / Database Administrator

What s Next for OpenEdge

Secure Access Troubleshooting Rewrite related issues (Core/Web Based Access)

Hypertext Transfer Protocol Over Secure Sockets Layer (HTTPS)

<Insert Picture Here>

Oracle Forms and Oracle APEX The Odd Couple

Oracle Service Cloud Integration for Develope

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

A c t i v e w o r k s p a c e f o r e x t e r n a l d a t a a g g r e g a t i o n a n d S e a r c h. 1

Composer Help. Web Request Common Block

Connecting to System i System i Access for Web

Using Hypertext Transfer Protocol over Secure Sockets Layer (HTTPS)

AuraPlayer Server Manager User Guide

Hypertext Transfer Protocol over Secure Sockets Layer (HTTPS)

Cisco Unified Serviceability

What s New in OpenEdge 11.4?

Implementing Security for ArcGIS Server Java Solutions

TIBCO Jaspersoft running in AWS accessing a back office Oracle database via JDBC with Progress DataDirect Cloud.

Oracle Service Cloud Integration for Developers Ed 1

Announcements. PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read. Take a break around 10:15am

ROLLBASE ACCESS TO ABL BUSINESS LOGIC VIA OPENCLIENT

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

Kendo UI. Builder by Progress : Using Kendo UI Designer

Investigating Source Code Reusability for Android and Blackberry Applications

Dolby Conference Phone 3.1 configuration guide for West

Setting Up Resources in VMware Identity Manager (On Premises) Modified on 30 AUG 2017 VMware AirWatch 9.1.1

GroupWise Architecture and Best Practices. WebAccess. Kiran Palagiri Team Lead GroupWise WebAccess

Introduction to Worklight Integration IBM Corporation

Inside Progress OpenEdge Mobile! Edsel Garcia OpenEdge Development

Progress Application Server

Corticon Server: Web Console Guide

RELEASE NOTES SHORETEL MS DYNAMICS CRM CLIENT VERSION 8

Guardium UI Login using a Smart card

Integration and Extensibility

SAML-Based SSO Configuration

COS 333: Advanced Programming Techniques

OData: What s New with REST APIs for Your Database. Sanjeev Mohan, Gartner Nishanth Kadiyala, Progress Mark Biamonte, OData TC Member, Progress

Leverage the Power of Progress Developer Studio for OpenEdge. 8 th Oct, 2013

What's New in IBM WebSphere Portal Version 8? Open Mic November 6, 2012

GEL Scripts Advanced. Your Guides: Ben Rimmasch, Yogesh Renapure

General. Analytics. MCS Instance Has Predefined Storage Limit. Purge Analytics Data Before Reaching Storage Limit

From JAX to Database. Donald Smith. Oracle Corporation. Copyright 2003, Oracle Corporation. Colorado Software Summit: October 26 31, 2003

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Corticon Server: Web Console Guide

Web AppBuilder Presented by

Sage 300. Sage CRM 2018 Integration Guide. October 2017

Corticon Server: Web Console Guide

Oracle SQL Developer & REST Data Services

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

ForeScout Open Integration Module: Data Exchange Plugin

DEV-4: Extending Progress Dynamics

OpenEdge Roadmap. Rob Straight Director, OpenEdge Product Management October 25, 2018

Mitel for Microsoft Dynamics CRM Client V5 Release Notes

New Face of z/os Communications Server: V2R1 Configuration Assistant

eservices Integrated Capture Points Guide Web Service Capture Point

Connect to Wireless, certificate install and setup Citrix Receiver

What s New in GoAnywhere MFT 5.7

ForgeRock Access Management Customization and APIs

Certificates for Live Data

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

ConnectUPS-X / -BD /-E How to use and install SSL, SSH

Open XML Gateway User Guide. CORISECIO GmbH - Uhlandstr Darmstadt - Germany -

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6

Changes in the Latest Update of SkyDesk Reports

2015 Beta 2 Tutorials

RAD SERVER. Marco Cantu, Delphi Product Manager

Transcription:

Integrating the Progress Rollbase Portal into OpenEdge Applications Mike Fechner, Director, Consultingwerk Ltd. mike.fechner@consultingwerk.de

Consultingwerk Ltd. Independent IT consulting organization Focusing on OpenEdge and.net Located in Cologne, Germany Vendor of tools and consulting programs 24 years of Progress experience (V5 OE11) Specialized in GUI for.net, OO, Software Architecture Application Integration http://www.consultingwerk.de/ 2

OpenEdge application modernization solutions WinKit SmartComponent Library Dynamics4.NET Tools can be used together or separately Share common code base SmartComponents.Mobile, SmartComponents.Web SmartBPMAdapter for OpenEdge BPM/Savvion Smart Rollbase Adapter for OpenEdge http://www.consultingwerk.de/ 3

Agenda Progress Rollbase Integration using a shared OpenEdge Database Progress OpenEdge Adapter for Rollbase Rollbase REST API s Implementing an REST Client in OpenEdge Accessing Rollbase Objects and meta data from OpenEdge Conclusion Integration Progress Rollbase 4

Progress Rollbase Hybrid cloud development platform RAD rapid application development App(lications) in the browser and for mobile devices Applications for public websites (Portal) and internal users html + JavaScript (on Client and Server) Integration Progress Rollbase 5

Progress Rollbase Acquisition by Progress Software in June 2013 announced during PUG Challenge Americas 2013 Hosted by Progress Software on http://www.rollbase.com Alternatively Download and Install on your own hardward or a different cloud provider Component of the Progress Pacific PaaS offering Integration Progress Rollbase 6

Progress Rollbase Alternative to Progress WebSpeed Progress Software s force.com, but allowing you to host locally Migration of force.com or MS Access Supports styling and corporate identity Progress Exchange 2014 Website runs on Rollbase Integration Progress Rollbase 7

Progress Rollbase Integration Progress Rollbase 8

Progress Rollbase Integration Progress Rollbase 9

Integration Progress Rollbase 10

Demo Login to Rollbase Portal Navigate objects Show object definition Integration Progress Rollbase 11

Agenda Progress Rollbase Integration using a shared OpenEdge Database Progress OpenEdge Adapter for Rollbase Rollbase REST API s Implementing an REST Client in OpenEdge Accessing Rollbase Objects and meta data from OpenEdge Conclusion Integration Progress Rollbase 12

Integration using shared Database Rollbase may store objects and meta data in an OpenEdge Database Tables already existing in the database (e.g. tables of an OpenEdge application) may be included in external tables in Rollbase Only supported when installing Rollbase on your own hardware or own cloud provider, not supported on Progress hosted Rollbase Rollbase in Action, Appendix C Integration Progress Rollbase 13

Agenda Progress Rollbase Integration using a shared OpenEdge Database Progress OpenEdge Adapter for Rollbase Rollbase REST API s Implementing an REST Client in OpenEdge Accessing Rollbase Objects and meta data from OpenEdge Conclusion Integration Progress Rollbase 14

Progress OpenEdge Adapter for Rollbase Access to Business Entities running on the OpenEdge AppServer from Rollbase Using the same technology as OpenEdge Mobile (now called Rollbase Mobile) OpenEdge AppServer REST Adapter and JSDO (JavaScript Data Object) Wizards in Rollbase for creating external objects Navigation and manipulation of Data from Rollbase Data persistence done on OE AppServer (OE Integration DB) Progress Rollbase 15

Progress OpenEdge Adapter for Rollbase Building Bridges blog article by G. Calcott including Video Demo http://viewfromtheedge.progress.com/2014/02/b uilding-bridges/ Integration Progress Rollbase 16

Backend architecture Progress AppServer as the Backend for reading modifying data, execute custom code (OO, procedural) REST as the communication protocol REST Adapter deployed to Tomcat 7 Java Servlet Container (like WSA und AIA) ProxyGen integrated into PDSOE JSON as data transfer format between Rollbase and AppServer Based on today s standards and protocols The Backend for OE 11.2/11.3 Mobile Apps 17

Demo OpenEdge Business Entity as REST Service Import into Rollbase as external Objekt Browse Sports2000.Customer records Integration Progress Rollbase 18

Integration Progress Rollbase 19

Progress OpenEdge Adapter for Rollbase Rollbase in Action, Appendix E For information on the REST adapter and OpenEdge backend, refer to my last years PUG Challenge presentation: The backend for OpenEdge Mobile Integration Progress Rollbase 20

Limits (according to documentation) Still in beta, requires OpenEdge 11.3 Supports only single table datasets No support for fields with invalid characters in name (such as hyphens) No support for array fields More features in future releases Integration Progress Rollbase 21

Agenda Progress Rollbase Integration using a shared OpenEdge Database Progress OpenEdge Adapter for Rollbase Rollbase REST API s Implementing an REST Client in OpenEdge Accessing Rollbase Objects and meta data from OpenEdge Conclusion Integration Progress Rollbase 22

Rollbase API s Login/Logoff Query Data Query Meta Data Modify Data (Create, Update, Delete) Multiple versions of the API s: SOAP and REST, XML and JSON Integration Progress Rollbase 23

Login to retrieve Session ID Integration Progress Rollbase 24

List available object names (JSON) Integration Progress Rollbase 25

List available object names (XML) Integration Progress Rollbase 26

Query records (objects) Integration Progress Rollbase 27

Query records (objects) https://www.rollbase.com/rest/api/selectquery? sessionid=3c8e9fa165134fb6819aa65eebc3044 d@80644224 output=json query=select id, name, contact, CustNum FROM Customer4 maxrows=10 URL is case-sensitive Integration Progress Rollbase 28

Update records (simple API) Method: update2 id is similar to ROWID (Rollbase internal key) contact=mike Fechner name/value pairs of fields to change Integration Progress Rollbase 29

API Call Limits Progress hosted Rollbase instances limit the number of API calls per hour Based on license type Single user developer: 200 calls per hour Basic/Professional runtime 200/800 calls per hour Not really a problem, as I don t believe that OpenEdge applications would use Rollbase as a primary data access layer Integration Progress Rollbase 30

Single concurrent session per user API calls require sign in A single user can only have a single active session at a time Relogin will end previous session and invalidate session ID Alternative: REST API calls without creating a session, passing Rollbase username and password using http basic authentication https://community.progress.com/technicalusers/f /25/p/10366/38876.aspx?Redirected=true#3887 Integration 6 Progress Rollbase 31

Agenda Progress Rollbase Integration using a shared OpenEdge Database Progress OpenEdge Adapter for Rollbase Rollbase REST API s Implementing an REST Client in OpenEdge Accessing Rollbase Objects and meta data from OpenEdge Conclusion Integration Progress Rollbase 32

Implementing REST Client in OpenEdge I couldn t get the SOAP API s to work from ABL OpenEdge does not come with a REST client Integration Progress Rollbase 33

Implementing REST Client in OpenEdge REST is a simple protocol http is not rocket science Integration Progress Rollbase 34

Implementing REST Client in OpenEdge REST is a simple protocol http is not rocket science OpenEdge 10.2B (GUI) and OpenEdge 11 (GUI and Windows AppServer) can use.net http client ABL http implementations are available Based on sockets https://community.progress.com/technicalusers/f /19/t/9419.aspx Integration Progress Rollbase 35

Sample using.net Integration Progress Rollbase 36

Sample using ABL Socket based http Integration Progress Rollbase 37

Demo Review Consultingwerk.HttpClient class Class, READ-RESPONSE handler is procedure that calls back into class Integration Progress Rollbase 38

Agenda Progress Rollbase Integration using a shared OpenEdge Database Progress OpenEdge Adapter for Rollbase Rollbase REST API s Implementing an REST Client in OpenEdge Accessing Rollbase Objects and meta data from OpenEdge Conclusion Integration Progress Rollbase 39

Import required root certificate Accessing hosted Rollbase from ABL required us to import root certificate into OpenEdge Export root CA certificate from web browser to file Details on this process in K-Base proenv> certutil -install Equifax_Secure_Certificate_Authority.pem Importing trusted certificate to alias name: 594f1775 Integration Progress Rollbase 40

Handling of Rollbase responses Same API s return XML, JSON or both JSON parser part of OpenEdge 11, very simple and straight forward API XML parser in OpenEdge 10 and 11 I prefer JSON Some of the JSON responses need postprocessing on ABL Client, e.g. dates, special characters Integration Progress Rollbase 41

Parsing Login Response (SAX XML) Integration Progress Rollbase 42

Parsing Login Response (SAX XML) Integration Progress Rollbase 43

Parsing the GetObjDefNames (JSON) Integration Progress Rollbase 44

Demo using the SelectQuery API Review Object Definition in ABL GUI Import Rollbase Object Definition into Temp- Table Run SelectQuery API from ABL procedure Integration Progress Rollbase 45

Demo Application Portal Integration Create new Lead in Rollbase Portal Import Lead as Customer in ABL Application Review Customer in Rollbase GUI Integration Progress Rollbase 46

Agenda Progress Rollbase Integration using a shared OpenEdge Database Progress OpenEdge Adapter for Rollbase Rollbase REST API s Implementing an REST Client in OpenEdge Accessing Rollbase Objects and meta data from OpenEdge Conclusion Integration Progress Rollbase 47

Conclusion OpenEdge and Rollbase offer various options for integration Getting started with Rollbase is simple, simple access to OpenEdge from Rollbase Data persistence in OpenEdge or Rollbase Access to Rollbase from OpenEdge through REST may be implemented with not too much effort Perfect solution for extending OpenEdge applications with satellite apps, e.g. where currently end customers help themselves using MS Access or Excel based solutions Integration Progress Rollbase 48

Questions? http://www.consultingwerk.de/ 49