ARCH-08 A Common Business Service Approach to Application Development Anthony Swindells Progress Fellow.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

OneBridge Mobile Data Suite Product Positioning. Target Plays IT-driven enterprise mobility initiatives Extensive support for integration into existing.
Client Principal in the wild
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
ARCH-01: Introduction to the OpenEdge™ Reference Architecture Don Sorcinelli Applied Technology Group.
DEV-13: You've Got a Problem, Here’s How to Find It
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Connect. Communicate. Collaborate Click to edit Master title style MODULE 1: perfSONAR TECHNICAL OVERVIEW.
Angelo Tracanna Senior Manager, OpenEdge Data Management
Active Directory: Final Solution to Enterprise System Integration
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
eGovernance Under guidance of Dr. P.V. Kamesam IBM Research Lab New Delhi Ashish Gupta 3 rd Year B.Tech, Computer Science and Engg. IIT Delhi.
John Sadd Progress Fellow and OpenEdge Evangelist
Identity and Access Management
Authenticating REST/Mobile clients using LDAP and OERealm
Understanding Active Directory
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
May 30 th – 31 st, 2006 Sheraton Ottawa. Microsoft Certificate Lifecycle Manager Saleem Kanji Technology Solutions Professional - Windows Server Microsoft.
DB-19: OpenEdge® Authentication Without the _User Table
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
SOA-06: Get On the Bus with the OpenEdge ® Adapter for Sonic ESB ® David Cleary Principal Software Engineer, Progress.
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer.
DEV-2: Making OpenEdge ® Architect Work For You David Lund Product Readiness.
MOVE-9: Audit enable your Application the Easy Way Anthony D Swindells Engineering Fellow.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
INT-11: It’s Monday Morning, Do You Know Where Your Service Has Been? Service Management with Sonic ™ and Actional Marv Stone Progress Software.
Module 9 Configuring Messaging Policy and Compliance.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Progress SOA Reference Model Explained Mike Ormerod Applied Architect 9/8/2008.
Module 5 Configuring Authentication. Module Overview Lesson 1: Understanding Classic SharePoint Authentication Providers Lesson 2: Understanding Federated.
Part II - Microsoft ® Project 2000 Enterprise Deployment Templates.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
DEV-01 What’s New in Progress Dynamics ® Anthony Swindells Progress Fellow.
Identity Solution in Baltic Theory and Practice Viktors Kozlovs Infrastructure Consultant Microsoft Latvia.
SOA-14: Deploying your SOA Application David Cleary Principal Software Engineer.
ArcGIS Server for Administrators
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
DB-8: Jump Starting Your OpenEdge® Auditing Solution
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer, Progress Sonic.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
SOA-02: Sonic SOA Products Overview Luis Maldonado Technical Product Manager Sonic Software.
Windows Role-Based Access Control Longhorn Update
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
INNOV-10 Progress® Event Engine™ Technical Overview Prashant Thumma Principal Software Engineer.
ARCH-07: Implementing the OpenEdge™ Reference Architecture – Part 2
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer Progress Sonic.
Rob Davidson, Partner Technology Specialist Microsoft Management Servers: Using management to stay secure.
February, TRANSCEND SHIRO-CAS INTEGRATION ANALYSIS.
Hosting Websites and Web Applications with Microsoft ® SQL Server ® 2008.
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
DEV-17: Effective Design and Deployment of OpenEdge® Audit Policies Michael Jacobs Development Architect.
DEV-8: AppServer ™ Mode Case Studies Simon Epps Solutions Engineer.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
A2: Making OpenEdge ® Architect Work For You Susan Houniet Senior Solution Consultant.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
The Holmes Platform and Applications
Deployment Planning Services
Deployment Planning Services
ARCH-1: Application Architecture made Simple
Implementing Database Roles in the Enterprise Geodatababse
DAT381 Team Development with SQL Server 2005
ARCH-2: OpenEdge Reference Architecture (OERA) Latest Thinking
SOA-09: Conducting Business with OpenEdge® and SonicMQ®
Presentation transcript:

ARCH-08 A Common Business Service Approach to Application Development Anthony Swindells Progress Fellow

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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 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… white_papers/oera/index.ssp

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© 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© 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

OpenEdge 10.1A Auditing

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© 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© 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© 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© 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© 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© 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© 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© 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© 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© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Reference Slide Only! Proposed ACL Schema

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© 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© 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© 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© 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© 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© 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© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Questions?

46© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach Thank you for your time!

47© 2005 Progress Software Corporation ARCH-08, A Common Business Service Approach