OPS-11: OpenEdge ® and OS Security Gus Björklund Wizard [email protected].
Inside the JSDO: Mobile and Web Shelley Chase, Senior Architect, Progress [email protected]...
-
Upload
bernice-sharp -
Category
Documents
-
view
214 -
download
2
Transcript of Inside the JSDO: Mobile and Web Shelley Chase, Senior Architect, Progress [email protected]...
- Slide 1
- Inside the JSDO: Mobile and Web Shelley Chase, Senior Architect, Progress [email protected] November 2014
- Slide 2
- 2014 Progress Software Corporation. All rights reserved. 2 1 2 34 5 JSDO JSDO Services Templates Deployment Other Web UI Frameworks Inside The JSDO: Mobile and Web
- Slide 3
- 2014 Progress Software Corporation. All rights reserved. 3 1 JSDO Inside The JSDO: Mobile and Web
- Slide 4
- 2014 Progress Software Corporation. All rights reserved. 4 JSDO Progress JavaScript Data Object Client-side object Manages session connections Dataset (ProDataSet-like) purposed for disconnected clients Communicates using REST in XMLHttpRequest Session management Anonymous, Basic and Form Offline/ Online events in the Session object An instance of Cloud Data Object Open source Generic specification and catalog definition Any client, any datasource
- Slide 5
- 2014 Progress Software Corporation. All rights reserved. 5 JSDO with OpenEdge and Rollbase (and node.js, ) Access to the OpenEdge AppServer Business Entity - Dataset or Temp-table CRUD operations (Create, Read, Update, Delete) Invoke Submit JSON Before-Image support Access to Rollbase Server Objects and Views Table only CRUD operations (Create, Read, Update, Delete) Invoke (gets View data)
- Slide 6
- 2014 Progress Software Corporation. All rights reserved. 6 Runtime Architecture for OpenEdge Mobile Client-side App resides on device OE DB *. html *. js Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL Header Data Detail Data Other Data Header Data Detail Data Other Data Mobile DeviceWeb Server OpenEdge AppServer PO ProDataSet Server-side n-tier architecture with Business Logic and data
- Slide 7
- 2014 Progress Software Corporation. All rights reserved. 7 OpenEdge Mobile Services: Business Entity Progress Developer Studio Express Project Wizard Business Entity Wizard Types Read-only CRUD CRUD + Submit JSON Before-Image support Automatically adds mobile annotations Progress.BusinessLogic.Business Entity Dataset or Temp-table schema You can also annotate existing code (persistent procedure or class)
- Slide 8
- 2014 Progress Software Corporation. All rights reserved. 8 Express Project Wizard: Database Table
- Slide 9
- 2014 Progress Software Corporation. All rights reserved. 9 Business Entity Wizard: Database Table or ProDataSet/ Temp-table
- Slide 10
- 2014 Progress Software Corporation. All rights reserved. 10 Business Entity Generated Class
- Slide 11
- 2014 Progress Software Corporation. All rights reserved. 11 Business Entity Invoke Methods
- Slide 12
- 2014 Progress Software Corporation. All rights reserved. 12 Runtime Deployment OpenEdge AppServer
- Slide 13
- 2014 Progress Software Corporation. All rights reserved. 13 Runtime Deployment OpenEdge Web Server (Tomcat)
- Slide 14
- 2014 Progress Software Corporation. All rights reserved. 14 Create, Read, Update, Delete + INVOKE + SUBMIT CRUD + I + S POST GET PUT DELETE PUT Works on a schema: Array [ ] Temp-Table { ttCustomer: [ ] } DataSet { dsCustomer: { ttCustomer: [ ] } DataSet (Complex) { dsCustomer: { ttCustomer: [ ], ttOrder: [ ] } /method path:
- Slide 15
- 2014 Progress Software Corporation. All rights reserved. 15 JSDO Catalog
- Slide 16
- 2014 Progress Software Corporation. All rights reserved. 16 JSDO Catalog
- Slide 17
- 2014 Progress Software Corporation. All rights reserved. 17 JSDO Catalog
- Slide 18
- 2014 Progress Software Corporation. All rights reserved. 18 JSDO Catalog
- Slide 19
- 2014 Progress Software Corporation. All rights reserved. 19 JSDO Catalog
- Slide 20
- 2014 Progress Software Corporation. All rights reserved. 20 JSDO Progress JavaScript Data Object CRUD + Invoke + Submit add( ) (CREATE) fill( )(READ) assign( )(UPDATE) remove( ) (DELETE) method( )(INVOKE) saveChanges( ) (SUBMIT) Properties autoSort autoApplyChanges caseSensitive name record useRelationships Methods addRecords( ) acceptChanges( ), rejectChanges( ) find( ) findById( ) foreach( ) getData( ) getId( ) getSchema( ) sort( ) subscribe( ) unsubscribe( )
- Slide 21
- 2014 Progress Software Corporation. All rights reserved. 21 JSDO Operation Mapping OE Web Server OpenEdge AppServer fill( ) Customers.cls Mobile App Invoke operation Submit operation Update operation Create operation Read operation remove( ) save Changes( ) getCreditHistory( ) assign( ) saveChanges( ) add( ) saveChanges( ) Delete operation Read/Delete/Create Customers( ) GetCreditHistory( ) UpdateCustomers( ) CreateCustomers( ) DeleteCustomers( ) ReadCustomers( ) Customer Catalog Customer JSDO JSDO Customer Order Invoke operation getOrderHistory( ) GetOrderHistory( )
- Slide 22
- 2014 Progress Software Corporation. All rights reserved. 22 JSDO Using the JSDO session = new progress.data.Session(); session.login(, "", ""); session.addCatalog( ); jsdo = new progress.data.JSDO({ name: 'dsCustomer' }); jsdo.subscribe('AfterFill', onAfterFillCustomers, this); jsdo.fill(); progress.jsdo.3.0.js Progress.data.Session Progress.data.JSDO Included in Mobile App projects
- Slide 23
- 2014 Progress Software Corporation. All rights reserved. 23 JSDO
- Slide 24
- 2014 Progress Software Corporation. All rights reserved. 24 1 JSDO Benefits Leverage Existing Business Logic Inside The JSDO: Mobile and Web
- Slide 25
- 2014 Progress Software Corporation. All rights reserved. 25 1 2 JSDO JSDO Services Inside The JSDO: Mobile and Web
- Slide 26
- 2014 Progress Software Corporation. All rights reserved. 26 JSDO Services Generated from JSDO Catalog Access to the JSDO from the Mobile App Builder JSDO - create object CRUD operations Create Read Update Delete Row like buffer in ABL Invoke operations Custom business logic
- Slide 27
- 2014 Progress Software Corporation. All rights reserved. 27 Use JSDO Service for Visual Data Mapping
- Slide 28
- 2014 Progress Software Corporation. All rights reserved. 28 Create JSDO Service from Catalog
- Slide 29
- 2014 Progress Software Corporation. All rights reserved. 29 Add JSDO Services to UI
- Slide 30
- 2014 Progress Software Corporation. All rights reserved. 30 Drag-n-drop Data mapping
- Slide 31
- 2014 Progress Software Corporation. All rights reserved. 31 JSDO Services
- Slide 32
- 2014 Progress Software Corporation. All rights reserved. 32 1 2 JSDO JSDO Services Benefits Leverage Existing Business Logic Visual Mapping Inside The JSDO: Mobile and Web
- Slide 33
- 2014 Progress Software Corporation. All rights reserved. 33 1 2 3 JSDO JSDO Services Templates Inside The JSDO: Mobile and Web
- Slide 34
- 2014 Progress Software Corporation. All rights reserved. 34 Templates Project Templates Phone App / Tablet App Session-enabled Phone App / Tablet App Express Project UIHelper (dynamic data binding) JSDO Services (generated data mapping) Screen Templates Reusable UI, corporate look and feel, logos Custom Components Reusable UI and behavior
- Slide 35
- 2014 Progress Software Corporation. All rights reserved. 35 UIHelper UI based on HTML (listviews built using + ) JQuery Mobile JQuery Mobile using the Mobile App Builder JavaScript + HTML
- Slide 36
- 2014 Progress Software Corporation. All rights reserved. 36 UIHelper Using the UIHelper session = new progress.data.Session(); session.login(, "", ""); session.addCatalog( ); jsdo = new progress.data.JSDO({ name: 'dsCustomer' }); jsdo.subscribe('AfterFill', onAfterFillCustomers, this); uihelper = new progress.ui.UIHelper({ jsdo: jsdo }); uihelper.setDetailPage({ name: "custdetail }); uihelper.setListView({ name: 'listview', format: '{CustNum} {Name} {State} {Country}', autoLink: true } ); jsdo.fill();
- Slide 37
- 2014 Progress Software Corporation. All rights reserved. 37 Templates
- Slide 38
- 2014 Progress Software Corporation. All rights reserved. 38 1 2 3 JSDO JSDO Services Templates Benefits Leverage Existing Business Logic Visual Mapping Increase Productivity, Quicker Time to Market Inside The JSDO: Mobile and Web
- Slide 39
- 2014 Progress Software Corporation. All rights reserved. 39 1 2 34 JSDO JSDO Services Templates Other Web UI Frameworks Inside The JSDO: Mobile and Web
- Slide 40
- 2014 Progress Software Corporation. All rights reserved. 40 Other Web UI Frameworks Web Angular.js Sencha Touch Telerik Kendo UI Knockout.js Qooxdoo Dojo Toolkit
- Slide 41
- 2014 Progress Software Corporation. All rights reserved. 41 Other Web Frameworks Server side uses Node.js XMLHttpRequest = require("./XMLHttpRequest.js").XMLHttpRequest; require("./progress.jsdo.3.0.js"); session = new progress.data.Session(); session.login(, "", ""); session.addCatalog( ); jsdo = new progress.data.JSDO({ name: 'dsCustomer' }); jsdo.subscribe('AfterFill', onAfterFillCustomers, this); jsdo.fill(); function onAfterFillCustomers(jsdo, success, request) { jsdo.eCustomer.foreach(function(customer) { console.log(jsdo.eCustomer.Name); }); }
- Slide 42
- 2014 Progress Software Corporation. All rights reserved. 42 Other Web Frameworks
- Slide 43
- 2014 Progress Software Corporation. All rights reserved. 43 1 2 34 JSDO JSDO Services Templates Other Web UI Frameworks Benefits Leverage Existing Business Logic Visual Mapping Increase Productivity, Quicker Time to Market Flexible Inside The JSDO: Mobile and Web
- Slide 44
- 2014 Progress Software Corporation. All rights reserved. 44 1 2 34 5 JSDO JSDO Services Templates Deployment Other Web UI Frameworks Inside The JSDO: Mobile and Web
- Slide 45
- 2014 Progress Software Corporation. All rights reserved. 45 Deployment
- Slide 46
- 2014 Progress Software Corporation. All rights reserved. 46 Deployment
- Slide 47
- 2014 Progress Software Corporation. All rights reserved. 47 Deployment
- Slide 48
- 2014 Progress Software Corporation. All rights reserved. 48 Deployment
- Slide 49
- 2014 Progress Software Corporation. All rights reserved. 49 Deployment
- Slide 50
- 2014 Progress Software Corporation. All rights reserved. 50 Deployment
- Slide 51
- 2014 Progress Software Corporation. All rights reserved. 51 1 2 34 5 JSDO JSDO Services Templates Deployment Other Web UI Frameworks Benefits Leverage Existing Business Logic Visual Mapping Increase Productivity, Quicker Time to Market Flexible Write Once, Deploy Everywhere Inside The JSDO: Mobile and Web
- Slide 52
- 2014 Progress Software Corporation. All rights reserved. 52 Leverage Existing Business Logic Visual Mapping Increase Productivity, Quicker Time to Market Flexible Write Once, Deploy Everywhere Benefits 1 2 34 5 JSDO JSDO Services Templates Deployment Other Web UI Frameworks Inside The JSDO: Mobile and Web
- Slide 53
- Extra Resources Search Rollbase documentation: http://documentation.progress.com/output/Rollbase/index.html Search the Community: OpenEdge 11.4 Production Documentation Mobile App Builder documentation: http://docs.mobile.rollbase.com/ JSDO Examples: http://oemobiledemo.progress.com/jsdo/example001.html http://oemobiledemo.progress.com/jsdo/example007.html
- Slide 54
- Write Once, Run Anywhere Portability with the Benefits of Native Applications and Web The Easiest Way to Build OpenEdge and Rollbase Applications Supporting Mobile Devices, End-to- end
- Slide 55