Download presentation
Presentation is loading. Please wait.
Published byBrian McDonald Modified over 9 years ago
1
ARCH-08 A Common Business Service Approach to Application Development Anthony Swindells Progress Fellow
2
2© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Agenda n What are Common Business Services? n Examples to get you thinking n Design considerations n What’s coming in OpenEdge™ to help n Next steps
3
3© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach D I S C L A I M E R Under Development n This talk includes information about potential future products and/or product enhancements. n 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
4© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Common Business Services n Non-domain specific related functions that provide the common infrastructure for a modern application n Standard behavior, features and functionality independent of any specific application requirements n Their combined presence determines the nature and style of applications supported n Typically pre-started and always available Definition
5
5© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Common Business Services Some examples “My application needs to restrict client access to its operations and data” “My application is subject to regulatory compliance “My customers / partners need to customize my application without losing the ability to adopt future releases”
6
6© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Common Business Services n Reduced learning curve –Simplify domain specific code –Focus on “what” not “how” n Reduced cost in medium to long term n Obtain not build option n Improved quality & standards n Maximize scalability and performance –Core capabilities built into architecture Key benefits of the approach
7
7© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach A layered view Common Business Services and the OpenEdge Reference Architecture Separated presentation and integration layers Data access abstracted from storage Common business logic with advanced models Users Presentation Layer Business Servicing Layer Data Access Layer Managed Data Stores Managed Data Stores Unmanaged Data Stores Unmanaged Data Stores Enterprise Services Enterprise Services Integration Layer Common Business Services Non-domain specific functionality abstracted from application
8
8© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Application Support Service Manager Common Business Services Supporting Terminology Let’s talk the same language Core Business Service Manager exposed externally as a service through service interface User coded 4GL implementation OpenEdge platform implementation
9
9© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach n What are Common Business Services? n Examples to get you thinking n Design considerations n What’s coming in OpenEdge to help n Next steps Agenda
10
10© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Common Business Services Typical application challenges “My application needs to restrict client access to its operations and data”
11
11© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Authentication Manager Authentication and Authorization Process Login Credentials Principal Authenticate Authentication System User Accounts Account Check Get Account Data Application Resources Access Control Data Authorization Manager Application Server Client
12
12© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Common Business Services Typical application challenges “My application is subject to regulatory compliance and I must report on attempted break-ins or fraud. I must prove that audit data has not been tampered with”
13
13© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Candidate Managers: Auditing Offline Audit Data Archive Daemon Archive Manager Audit Event Manager (schema triggers) Audit Report Report Manager Application Data App DB Audit Data Manager Audit Data Audit Policy Manager API Policy Data
14
14© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Common Business Services Typical application challenges “My Application needs to scale to potentially thousands of concurrent users in a distributed environment”
15
15© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Context Manager Authenticated Session Candidate: Context Management Login Credentials Session Information Business Task User Context DB Context Data ID Application Session ID AppServer Connect AppServer Connect Client Session Managing state
16
16© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Common Business Services Typical application challenges “All my applications require storage and management of address data”
17
17© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Candidate: Address Management? n Zip code / post code lookup n International address formatting n Address validation n Address type management n Address usage n Address form management n Address storage & retrieval Core / generic address functions only
18
18© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach n What are Common Business Services? n Examples to get you thinking n Design considerations n What’s coming in OpenEdge to help n Next steps Agenda
19
19© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Server Side Client Side Managers Accessed Locally or Through Service Interface Service Proxy Service Interface Presentation Container Service Container Fn() Order Mgmt … Session/Context Management Authentication & Authorization
20
20© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Manager Design Considerations n Typically pre-started as single instances n Implemented as black boxes with well defined public API n Encapsulate distributed architecture complexities –Manager is layer aware (e.g. client cache) n Separate deployment / configuration functionality from runtime functionality n Avoid dependencies –Plug and play architecture
21
21© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Clearly Define Manager Roles and Responsibilities n Authentication manager manages authenticated credentials –Must manually pass credentials around, e.g. between client and server n Context manager manages any type of context n If BOTH are present –Register credentials as context –Credentials automatically available when needed n Cache manager does caching –No cache manager, no caching! Combine managers to provide value
22
22© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Design Assistance n Implementing the OpenEdge Reference Architecture on PSDN n Check back often… http://psdn.progress.com/library/ white_papers/oera/index.ssp
23
23© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach n What are Common Business Services? n Examples to get you thinking n Design considerations n What’s coming in OpenEdge to help n Next steps Agenda
24
24© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach OpenEdge Core Business Services Vision Statement “Provide a comprehensive set of common business services that provide the core feature support of a modern SOA based application modeled on the OpenEdge Reference Architecture”
25
25© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach OpenEdge Core Business Services n Auditing ( 10.1A ) n Authentication and authorization ( 10.1A, 10.x ) n Session and context management ( 10.x ) n Configuration and connection management n Localization, personalization, customization n Tighter integration with sonic ESB and services Core Services
26
OpenEdge 10.1A Auditing
27
27© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach OpenEdge Database Schema-Trigger Based Auditing 4GL Client Audit Policy Tools Application Code Application Data App DB Offline Audit Data Archive Daemon Archive Manager Audit Data Archive DB Audit Event Manager (schema triggers) Audit Data Manager Audit Policy Manager API Policy Data Security Manager Audit Report Report Manager SQL Client Application Code
28
28© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Auditing Architecture Overview 4GL Client DB Tools & 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 Audit Event Subsystem DatabaseInternalApplication Security Subsystem Audit Data Subsystem Audit Data Subsystem Offline Audit Data Audit Report Audit Policy Subsystem Audit Policy Subsystem API Archive Daemon Archiving Subsystem Archiving Subsystem Report Manager
29
29© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Auditing in OpenEdge 10.1A Key Value-Add n Common built-in auditing for both SQL/4GL clients n Flexible audit policy management n Secure audit data, policy and utilities –Separation of duty –Purposed audit permissions –Verified user identity –Secure utilities and sealed data n Internal audit events (utilities, schema changes, etc.) n Performance, performance, performance n High performance archiving – for enterprise only n Multi-platform Why use it in place of own solution?
30
30© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Audit Data Application Data Multiple active policies Control by table / CUD operation Reference Slide Only! Audit Policy MetaSchema Override individual fields Internal & application defined audit events Control by event Id Policy Data
31
31© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Application Data Policy Data Reference Slide Only! Audit Data MetaSchema Record client session information Configurable automated audit data with optional context & grouping Optional old/new value recording Audit Data
32
32© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach You Could Prepare Now n Move to schema design on previous slides –Develop custom tools –Develop custom reports n Implement audit events with schema triggers for now –Wrapper code in include files n Insert hooks for setting / resetting audit context n Consider where you could use application events and insert hooks n When 10.1A ships –Continue to use custom reports and tools –Remove code in schema triggers for 10.1A clients –Migrate data to official tables
33
33© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach OpenEdge 10.1A Authentication in Support of Auditing n Trusted authentication systems / domains –Assert verified identity of real application user –not dependent on _user records n Ability to share a single user authentication n Set the current user-id for –The 4GL Application –A Progress database connection [ & permissions] –Progress Auditing Records
34
34© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach OpenEdge 10.1A Authorization n Leverage asserted authenticated user for database CAN-* permissions n Optional runtime CAN-* permission checking n New schema ready for future roles support
35
35© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach 10.1A Security Schema for Roles Role definition User or role granted use of role Conditional role allocation
36
36© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Future OpenEdge Authentication & Authorization n Support for external authentication systems for 4GL and SQL n Plug-in Authentication Modules: –Write your own –Progress supplied modules: n Progress _user table n 4GL n LDAP/Active Directory n 4GL Access Control Lists (ACLs) n Role support
37
37© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Reference Slide Only! Proposed ACL Schema
38
38© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach You Could Prepare Now n Leverage role schema design on previous slides –Develop custom tools –Develop custom reports n Encapsulate security checks into APIs for easy replacement –Leverage include files n Move to ACL model for authorization –Encapsulate checking for easy replacement n When functionality available in OpenEdge –Replace interface internals
39
39© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach OpenEdge 10.x Context Management n Allow context to be shared across application servers and agents n Provide configurable mechanism to persist context – new meta-schema tables n Seamlessly pass context between client and server – by reference or value –Just available when needed, e.g. client principal n Configurable management of context lifecycle, e.g. scope, expiration, etc. n Best practices and guidelines Current thinking
40
40© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach OpenEdge 10.1A Language Changes Relevant to Common Business Services n Support for globally unique ids (guids) –Useful for context management! –See PSDN for interim solution n Pass TEMP-TABLES and LONGCHARS BY- REFERENCE –Remove overhead of managing complex manager data –Remove overhead of customization layers n Object orientated language enhancements –Implement managers as classes –Use interfaces to define public API / compile time checking
41
41© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach n What are Common Business Services? n Examples to get you thinking n Design considerations n What’s coming in OpenEdge to help n Next steps Agenda
42
42© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Prepare for What’s Coming n Leverage include files –Central replacement when new core functionality available n Prioritize your effort –Avoid duplication where possible n Avoid hard-coded references –Use logical to physical mapping n Avoid direct references to physical schema –Use consistent schema model as far as possible n Consider API’s –Design generic interface for easy replacement
43
43© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach In Summary n Embrace common business services concept –Reduce application complexity –Increase functionality n Don’t wait – start now –OpenEdge 10.1 and future releases will just make things easier n Design for change –New common business services are planned – so prepare now to simplify later adoption
44
44© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Don’t Miss These BOFs… n Common Business Services Birds of a Feather Tue 6:00pm n Auditing Birds of a Feather Wed 8:00am
45
45© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Questions?
46
46© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Thank you for your time!
47
47© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.