Presentation is loading. Please wait.

Presentation is loading. Please wait.

MOVE-1: Progress Dynamics® on Steroids Anthony D Swindells Engineering Fellow.

Similar presentations


Presentation on theme: "MOVE-1: Progress Dynamics® on Steroids Anthony D Swindells Engineering Fellow."— Presentation transcript:

1 MOVE-1: Progress Dynamics® on Steroids Anthony D Swindells Engineering Fellow

2 © 2006 Progress Software Corporation2 MOVE-1 Progress Dynamics on Steroids Agenda  Dynamics Roadmap Overview  Dynamics as a Trusted Authentication Domain  Integrating OpenEdge Auditing  OpenEdge Reference Architecture Compliant Logic  Achieving a Competitive UI This presentation includes annotations with additional complementary information

3 © 2006 Progress Software Corporation3 MOVE-1 Progress Dynamics on Steroids D I S C L A I M E R Under Development  This talk includes information about potential future products and/or product enhancements.  What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. D I S C L A I M E R

4 © 2006 Progress Software Corporation4 MOVE-1 Progress Dynamics on Steroids Progress Dynamics Today – a fresh look  Integral part of OpenEdge® Studio Development Environment  “In the box” Framework for rapid development of Stateless n-tier rich client GUI applications Leverages ADM2 and ABL  Defined approach to UI development using Repository Optional use of UI definitions at runtime  Managers to provide common infrastructure Security, Context, Localization, Personalization, etc.  Productivity Tools for development and deployment In a single slide!

5 © 2006 Progress Software Corporation5 MOVE-1 Progress Dynamics on Steroids Progress Dynamics Product Status  Fully supported, evolving and shipping as a part of OpenEdge Studio Latest active version is 10.1A01 Upgrade path from 2.1B01 or 10.0B03 (via 10.1A)  Primary focus on stability and performance  New features and functionality provided to Dynamics by core OpenEdge platform capabilities  Optional tools / framework support for new platform capabilities where relevant ProDataSet XP manifest Dynamics is alive and well!

6 © 2006 Progress Software Corporation6 MOVE-1 Progress Dynamics on Steroids Progress Dynamics Roadmap  Latest maintenance releases for previous versions 10.0B04 2.1B02 No current plans for additional service packs  Planned next major release 10.1B Bug fixes Dataview completeness (dynamic treeview, caching) Deployment automation int64 data-type support Browse view-as support Browse column sort indicator support Support in OpenEdge Architect? Functionality specific to Dynamics

7 © 2006 Progress Software Corporation7 MOVE-1 Progress Dynamics on Steroids Progress Dynamics Roadmap A natural evolution

8 © 2006 Progress Software Corporation8 MOVE-1 Progress Dynamics on Steroids Moving Forward with Progress Dynamics Excellent starting point for 10.1A feature adoption

9 © 2006 Progress Software Corporation9 MOVE-1 Progress Dynamics on Steroids Moving forward with Progress Dynamics  Take advantage of core platform capabilities Enhanced security Secure and non-repudiable audit trails OERA compliant logic through DataViews and ProDataSets Modern XP look and feel Object Orientated Language Extensions OpenEdge Architect Steroid Prescription: OpenEdge 10.1A Upgrade to the latest release of 10.1A01

10 © 2006 Progress Software Corporation10 MOVE-1 Progress Dynamics on Steroids Agenda  Dynamics Roadmap Overview  Dynamics as a Trusted Authentication Domain  Integrating OpenEdge Auditing  OpenEdge Reference Architecture Compliant Logic  Achieving a Competitive UI

11 © 2006 Progress Software Corporation11 MOVE-1 Progress Dynamics on Steroids Dynamics as a Trusted Authentication Domain  Register Dynamics as a “Trusted Authentication System”  Automate maintenance of default “Dynamics Application Domain”  Assert Dynamics user as identity for OpenEdge Auditing and DB Security Leverage existing Context Manager  Support re-authentication functionality  Ensure clean session shutdown The Goals

12 © 2006 Progress Software Corporation12 MOVE-1 Progress Dynamics on Steroids Adopting New 10.1A Security Core Services  CLIENT-PRINCIPAL handle (ghCP) ghCP:SEAL (your-domain-password) rawVar = ghCP:EXPORT-PRINCIPAL () ghCP:IMPORT-PRINCIPAL (rawVar) ghCP:LOGOUT ()  Trusted Domain Registry  Runtime Permission Checking Option  SECURITY-POLICY: REGISTER-DOMAIN LOCK-REGISTRATION SET-CLIENT (ghCP) Common Infrastructure

13 © 2006 Progress Software Corporation13 MOVE-1 Progress Dynamics on Steroids Dynamics as a Trusted Authentication Domain  Upgrade ICFDB to 10.1A  Add Type II Storage Areas for Auditing prostrct add ICFDB addaudit.st  Enable Auditing Preparation d "Audit_Data":20,32;512. f 40960 d "Audit_Data":20,32;512. d "Audit_Index":21,1;64. f 5120 d "Audit_Index":21,1;64. proutil ICFDB -C enableauditing area “Audit_Data” indexarea “Audit_Index” [deactivateidx]

14 © 2006 Progress Software Corporation14 MOVE-1 Progress Dynamics on Steroids Dynamics as a Trusted Authentication Domain Preparation

15 © 2006 Progress Software Corporation15 MOVE-1 Progress Dynamics on Steroids Client Processes Context Data Application Server Login Credentials Create CLIENT-PRINCIPAL EXPORT Session-id Retrieve CLIENT-PRINCIPAL IMPORT Reset User identity Logout request Session-id Retrieve CLIENT-PRINCIPAL hCp:LOGOUT IMPORT Application Server Shutdown Purge Asserting the Trusted User Identity (who) Re-establishing identity Context Sub-system

16 © 2006 Progress Software Corporation16 MOVE-1 Progress Dynamics on Steroids Customize Dynamics Framework to adopt new Security Core Services  PROCEDURE establishSession For Appserver roundtrips via as_activate.p  FUNCTION setPropertyList (currentuserlogin) At session startup and user re-logon Intercept session activity that changes the user identity Modify Session Manager af/app/afsesmngrp.i  RUN assertUserIdentity in Security Manager (see next slide)

17 © 2006 Progress Software Corporation17 MOVE-1 Progress Dynamics on Steroids Customize Dynamics Framework to adopt new Security Core Services 1. Define global variables for trusted domain and register via new setupTrustedDomain 2. Setup global handle for CLIENT-PRINCIPAL 3. Subscribe to session shutdown to cleanly logout user via new ICFCFM_StartSessionShutdown and new logoutUserIdentity (proxy af/app/afseclogoutp.p) 4. Add new PROCEDURE assertUserIdentity called when user changes 5. Add new FUNCTION getClientPrincipal to expose object Manage CLIENT-PRINCIPAL in Security Manager Modify Security Manager af/app/afsecmngrp.i

18 © 2006 Progress Software Corporation18 MOVE-1 Progress Dynamics on Steroids Dynamics Field Security  Setup DB field CAN-* permissions using Data Administration Use Dynamics user id’s  Always checked Non-Dynamics Access  Use Combined approach for maximum security and flexibility Enhance Security with DB Runtime Permission Checking

19 © 2006 Progress Software Corporation19 MOVE-1 Progress Dynamics on Steroids Agenda  Dynamics Roadmap Overview  Dynamics as a Trusted Authentication Domain  Integrating OpenEdge Auditing  OpenEdge Reference Architecture Compliant Logic  Achieving a Competitive UI

20 © 2006 Progress Software Corporation20 MOVE-1 Progress Dynamics on Steroids Existing Dynamics Auditing 4GL Client Entity Maintenance Application Code ICFDB Schema Triggers gst_audit af/app/ afauditlgp.p Entity SDO API gsc_entity_ mnemonic Session Manager (current user, etc.) Generic Audit Data Query Tools Audit Report

21 © 2006 Progress Software Corporation21 MOVE-1 Progress Dynamics on Steroids To Auditing in OpenEdge 10.1A ABL Client Database Tools and Utilities Open Tools Audit Policy Tools (APMT) Application Code SQL Client Application Code Audit Data Application Data Policy Data App DB Audit Data Archive DB Audit Event Subsystem DatabaseInternalApplication Security Subsystem Audit Data Subsystem Audit Policy Subsystem API Archive Daemon Archiving Subsystem Reporting Subsystem Audit Report Offline Audit Data

22 © 2006 Progress Software Corporation22 MOVE-1 Progress Dynamics on Steroids Customize Dynamics Framework to adopt new Auditing Core Service  Leverage new OpenEdge Auditing Satisfy Regulatory Compliance Guarantee non-repudiation Improve security Improve performance Improve scalability Leverage application auditing for framework events (in addition to DB events) The Goals Retain existing Dynamics Auditing as an option

23 © 2006 Progress Software Corporation23 MOVE-1 Progress Dynamics on Steroids Customize Dynamics Framework to adopt new Auditing Core Service  Upgraded ICDFB to 10.1A  Enabled OpenEdge Auditing  Setup new Security Options  Registered Dynamics as a Trusted Authentication System  Modified framework code to assert Dynamics user as trusted identity to use for Auditing We are part of the way there already…

24 © 2006 Progress Software Corporation24 MOVE-1 Progress Dynamics on Steroids Customize Dynamics Framework to adopt new Auditing Core Service Define Audit Permissions

25 © 2006 Progress Software Corporation25 MOVE-1 Progress Dynamics on Steroids Customize Dynamics Framework to adopt new Auditing Core Service  Leverage shipped Audit Policy Maintenance Tool auditing/_apmt.p Run from outside of Dynamics application due to ADM2 customizations Beware audit permissions – run via new auditing/setclient.w to do a SET-CLIENT Alternatively use APMT public API…  Load shipped policies auditing/policies.xml  Define custom Dynamics events and policies  Deploy custom Dynamics audit policies Administer Audit Policies

26 © 2006 Progress Software Corporation26 MOVE-1 Progress Dynamics on Steroids Disable Existing Dynamics Auditing and Check Key Fields Audit Enabled Flag Ensure key fields match audit policy

27 © 2006 Progress Software Corporation27 MOVE-1 Progress Dynamics on Steroids Imported Shipped Audit Policies / Define Dynamics Audit Policies Import shipped policies auditing/setclient.w Import sample Dynamics policies

28 © 2006 Progress Software Corporation28 MOVE-1 Progress Dynamics on Steroids Add New Product & Module for Auditing Objects

29 © 2006 Progress Software Corporation29 MOVE-1 Progress Dynamics on Steroids Register New Auditing Manager in Repository auditing/audmngrclntp.p and auditing/audmngrservp.p Client Version Server Version

30 © 2006 Progress Software Corporation30 MOVE-1 Progress Dynamics on Steroids Add New Auditing Manager Type to All Sessions

31 © 2006 Progress Software Corporation31 MOVE-1 Progress Dynamics on Steroids Modify Session Startup  Modify ICFCFM_InitializedServices to create the AUDIT-DB alias for ICFDB Used to prefix any _aud* table references in code Used to compile sample Audit Data Access Object Modify Startup Procedure dynamics/icfstart.p

32 © 2006 Progress Software Corporation32 MOVE-1 Progress Dynamics on Steroids Add Application Audit Events checkUser in af/app/afsecmngrp.i launchProcedure in af/app/afsesmngrp.i launchContainer in af/app/afsesmngrp.i

33 © 2006 Progress Software Corporation33 MOVE-1 Progress Dynamics on Steroids Manage Application Context  PROCEDURE initializeVisualContainer Set Application Context  PROCEDURE destroyObject Clear Application Context  Each runs af/app/auditcontextp.p on Appserver if no local ICFDB Sample scoping to UI Container (ADM2) Modify adm2/containr.p

34 © 2006 Progress Software Corporation34 MOVE-1 Progress Dynamics on Steroids Ensure Audit Toolbar Button is always Enabled Delete the AuditEnabled check

35 © 2006 Progress Software Corporation35 MOVE-1 Progress Dynamics on Steroids  Modify all CAN-FINDs on gst_audit to use APIs in new Audit Manager checkAuditDataExists checkAuditDataForTable  PROCEDURE cacheEntityMapping Called from cacheEntity PROXY af\app\afgencchentmapp.i PROXY af\app\afgencchentmapp.p Modify General Manager Audit Data Checks Fix Audit Filter Tick Checking  Modify General Manager af/app/afgenmngrp.i  PROCEDURE getRecordUserProp Called from src/adm2/entityfields.i used in adm2/query.p for transferDBRow and transferRowsFromDB

36 © 2006 Progress Software Corporation36 MOVE-1 Progress Dynamics on Steroids Replace Audit Data Query Window  Integrate new Dynamics Query Window for Auditing dynauditquery 1.Register new object into repository 2.Add to transaction menu ICFAF-Tran  Modify adm2/datavis.p PROCEDURE toolbar WHEN 'Audit':U THEN runs launchcontainer for gstadobjcw –change to launch dynauditquery

37 © 2006 Progress Software Corporation37 MOVE-1 Progress Dynamics on Steroids Add Audit Data Query Window to Menu

38 © 2006 Progress Software Corporation38 MOVE-1 Progress Dynamics on Steroids Add Audit Application Events & Optionally Migrate existing Audit Data  Optionally Set / clear audit context at appropriate points Insert application events as required, e.g. –launchContainer in Session Manager –launchProcedure in SessionManager –sessionShutdown in Config Manager –Etc.  Optionally write migration for old audit data See sample auditing/migrateaudit.p

39 © 2006 Progress Software Corporation39 MOVE-1 Progress Dynamics on Steroids Let’s see all this in Action

40 © 2006 Progress Software Corporation40 MOVE-1 Progress Dynamics on Steroids Agenda  Dynamics Roadmap Overview  Dynamics as a Trusted Authentication Domain  Integrating OpenEdge Auditing  OpenEdge Reference Architecture Compliant Logic  Achieving a Competitive UI

41 © 2006 Progress Software Corporation41 MOVE-1 Progress Dynamics on Steroids Monolithic data provider ADM2 & OpenEdge Reference Architecture  SmartDataObject Presentation logic Business logic Data access logic Presentation Business Services Data Access Data Sources Common Infrastructure Enterprise Services ADM2 UI Smart Data Object

42 © 2006 Progress Software Corporation42 MOVE-1 Progress Dynamics on Steroids Service Interface Introducing the new DataView Service Interface Data container Dataset Temp-table SmartWindow Visual Objects DataView SmartWindow Service Adapter Business EntitiesBusiness TasksBusiness Workflow ADM Dataset Object

43 © 2006 Progress Software Corporation43 MOVE-1 Progress Dynamics on Steroids OERA compliant logic with a Dynamics GUI 1. Implement Service Adapter adm2/serviceadapter.p retrieveData submitData 2. Develop Business Entities and Data Access Objects Use OpenEdge Architect T4BL Optionally migrate existing logic from SDOs 3. Build viewers and browsers 4. Build Window Add Dynamic DataView object (in place of SDO) –Specify BusinessEntity property –Specify DataTable property Add visual objects and create links as usual The Steps

44 © 2006 Progress Software Corporation44 MOVE-1 Progress Dynamics on Steroids New OERA Compliant Audit Query Window  Provided sample service adapter / client proxy implementation adm2/serviceadapter.p  Provided sample server gateway auditing/proSIgateway.p  Provided Audit Data DataSet (plus supporting temp- table includes) auditing/ds_aud-audit-data.i  Provided Business Entity (BE) and Data Access Object (DAO) to query audit data auditing/beauditdata.p auditing/da_aud-audit-data2.p  Uses sample CLASS to manipulate query in DAO ADMClass\DSQueryString.cls Dynamic Object: DynAuditQuery

45 © 2006 Progress Software Corporation45 MOVE-1 Progress Dynamics on Steroids Moving to Session Free Appserver (statefree)  No automatic CLIENT-CONNECTION-ID and SERVER-CONNECTION-ID matching Must supply Session ID with EVERY request  From client – use a GUID for the Session ID Modified ry/app/rysessnidp.p and af/sup2/afsessnidp.p to use new GUID rather than seq_session_id  Push client session info into context DB at time of authentication – keyed on above Session ID  Implement re-establishing session in Service Interface rather than as_activate.p – using passed in Session ID  Push correct session ID into gscSessionId so rest of code works as is. Longer Term (no sample code provided yet)

46 © 2006 Progress Software Corporation46 MOVE-1 Progress Dynamics on Steroids Agenda  Dynamics Roadmap Overview  Dynamics as a Trusted Authentication Domain  Integrating OpenEdge Auditing  OpenEdge Reference Architecture Compliant Logic  Achieving a Competitive UI

47 © 2006 Progress Software Corporation47 MOVE-1 Progress Dynamics on Steroids Use Case: Achieving a competitive UI  Use XP manifest  Review colors / icons  Use left-align labels  Implement MDI ActiveX container / menu  Replace dynamic objects with ActiveX’s e.g. new grid control Codejock ActiveX Controls  See PSDN for more details http://www.psdn.com/library/entry.jspa?externalID=124 4&categoryID=77http://www.psdn.com/library/entry.jspa?externalID=124 4&categoryID=77 The Steps

48 © 2006 Progress Software Corporation48 MOVE-1 Progress Dynamics on Steroids Use Case: Achieving a competitive UI

49 © 2006 Progress Software Corporation49 MOVE-1 Progress Dynamics on Steroids Connecting OERA compliant logic with a Competitive Dynamics GUI

50 © 2006 Progress Software Corporation50 MOVE-1 Progress Dynamics on Steroids In Summary  Dynamics is still alive and well Existing users well positioned to adopt new 10.x functionality No requirement to do anything  Upgrade to the latest release 10.1A01 Achieve a competitive UI Move to OERA compliant logic Leverage secure non-repudiable audit trails Leverage new security capabilities Leverage OpenEdge Architect Leverage OO extensions to ABL OpenEdge 10.1A provides the Steroids!

51 © 2006 Progress Software Corporation51 MOVE-1 Progress Dynamics on Steroids Relevant Exchange Sessions  DB-4: Who does What and When regarding Auditing?  DEV-4: Extending Progress Dynamics  DEV-17: Effective Design and Deployment of OpenEdge Audit Policies  MOVE-5: Improving the look and feel of your Application  MOVE-9: Audit enable your application the easy way  MOVE-14: Migrating Your Authentication System to OpenEdge 10.1A and Beyond  MOVE-15: Leveraging Business Entities, Data Access Objects and ProDataSets with a Progress Dynamics or ADM2 GUI Where to get more detail

52 © 2006 Progress Software Corporation52 MOVE-1 Progress Dynamics on Steroids Questions?

53 © 2006 Progress Software Corporation53 MOVE-1 Progress Dynamics on Steroids Thank you for your time

54 © 2006 Progress Software Corporation54 MOVE-1 Progress Dynamics on Steroids

55 Bonus Slides for Reference Only Not part of actual presentation – included to help explain how to use sample code referenced in the presentation

56 © 2006 Progress Software Corporation56 MOVE-1 Progress Dynamics on Steroids Notes about Demo Code  Code is sample only and is incomplete shortcuts taken for simplicity (but commented)  Does not cater fully for internationalization, e.g. assumes American format in some places  Sample serviceadapter.p is massively simplified and only caters for AuditData Business Entity  There is no support for batching implemented  Code assumes Dynamics 10.1A01  Customizations are made in actual Dynamics and ADM2 source rather than in custom supers for simplicity – issues for future upgrades  Code makes use of 10.1A01 core functionality, e.g. OOABL.

57 © 2006 Progress Software Corporation57 MOVE-1 Progress Dynamics on Steroids Using the Demo Code  Unzip contents of auditdemo.zip into your working directory Be sure to keep folder names  Need to add additional PROPATH entries dynui\src dynui\src\adm2 dynui\src\dynamics  Audit enable ICFDB and any application databases as explained in slides  Load audit policies as explained in slides  Load sample ADO’s using dataset import – see next slide  Regenerate your icfconfig.xml to include the new Audit Manager in all Dynamics sessions

58 © 2006 Progress Software Corporation58 MOVE-1 Progress Dynamics on Steroids Using the Demo Code Importing the sample ADO files

59 © 2006 Progress Software Corporation59 MOVE-1 Progress Dynamics on Steroids REFERENCE: Other ADM2 Customizations  Fix limitation preventing containers with dataviews being run from non dataview containers  Fix will be part of a future service pack / release of ADM2 Modified Container Super adm2/containr.p FUNCTION getRequestHandle

60 © 2006 Progress Software Corporation60 MOVE-1 Progress Dynamics on Steroids REFERENCE: Other ADM2 Customizations  Get Dynamics / ADM2 windows to dock into the Appbuilder perspective when launched from inside OpenEdge Architect NB: Also need to bootstrap Dynamics session when open a project in OpenEdge Architect –For now can be done by manually running icfstart.p from the Appbuilder perspective OR –Adding RUN icfstart.p to _idestartup.p and ensure it is in your project PROPATH Modified Container Super adm2/containr.p FUNCTION initializeVisualContainer

61 © 2006 Progress Software Corporation61 MOVE-1 Progress Dynamics on Steroids REFERENCE: Other ADM2 Customizations  To support passing application data from contained objects through to business entity using application context Need to link objects from the dataview with a link type of appcontext Add internal procedure to object called getApplicationContext that outputs a single character string Delimit context values in string with CHR(7) and CHR(8), e.g. name + CHR(7) + value + CHR(8) … Modified DataView Super adm2/dataview.p FUNCTION obtainContextForServer


Download ppt "MOVE-1: Progress Dynamics® on Steroids Anthony D Swindells Engineering Fellow."

Similar presentations


Ads by Google