310 likes | 716 Views
Session 103. Application Modernization. A SaaS Perspective. Phillip Magnay Senior Principal Architect, Progress Software. Application Modernization. Do You Need to Modernize your Application for…. More Compelling User Interfaces? Easier, More Robust Integration?
E N D
Session 103 Application Modernization A SaaS Perspective Phillip Magnay Senior Principal Architect, Progress Software
Application Modernization Do You Need to Modernize your Application for… • More Compelling User Interfaces? • Easier, More Robust Integration? • Greater Flexibility & Easier Maintenance? • Remote, Disconnected Access? • Cost-Effective Deployment & Management?
OpenEdge Reference Architecture Best Practice Approach to Building Applications using the OpenEdge Platform Enterprise Services Common Infrastructure Presentation Business Components Security & Compliance Personalization& Customization Integration Tenant Management Data Access Data Sources OpenEdge Application Platform
7 Keys To Success User Interface Flexibility Being able to easily use the UI technologies that meet the needs of the customer Provide a highly productive environment focused on OpenEdge and industry best practices Productivity OperationalExcellence Always available and scales to any size Ensuring that data and applications are accessed only by those who need to know Security & Compliance Going from 1 to N Multi-tenancy Ability to easily integrate to any other application by supporting all relevant standards Integration Ensuring the application looks as the tenant and end-user want Personalization
Legacy Application Architecture Client Tools & Utilities User Interface Business Logic Integration Logic Data Access Data Source Application Data
Target Architecture- Layers of Separate Concerns Data Model Presentation Infrastructure (Client) Business Services Infrastructure (Server) Data Access Data Source
Target Application Architecture- Example Component Model Data Model Presentation Infrastructure (Client) Business Services Infrastructure (Server) Data Access Data Source
Modernization Methods & Tools Stage 3 Stage 2 Stage 1 DF2UML MDA Transforms Using UML .df Xref Import UC2UML Menu Use Case Import UML Project Analysis Database Stage 4 CM2UML Code Generation From UML Component Parse & Import Reports DM2UML
Modernization Step-By-Step- Server Infrastructure Components Infrastructure Server «server manager» «server manager» SessionManager.cls StateManager.cls «server manager» «server manager» SecurityManager.cls ExceptionManager.cls «server manager» «server manager» ObjectManager.cls ServiceLocator.cls «server manager» «server manager» MeteringManager.cls TenantManager.cls «server manager» ConnectionManager.cls
Modernization Step-By-Step- Server Base Classes & Components Business Services ServiceInterface.p <<interface>> IManaged.cls BusinessService.cls Data Access <<interface>> IAccess.cls DataAccess.cls
Modernization Step-By-Step- Client Infrastructure Components Infrastructure Client «client manager» «client manager» SessionManager.cls ConnectionManager.cls «client manager» «client manager» ExceptionManager SecurityManager.cls «client manager» «client manager» ObjectManager.cls ServiceLocator.cls «client manager» Personalization.cls
Modernization Step-By-Step- Client Base Classes Presentation Controller.cls Model.cls EntityContext.cls
Modernization Step-By-Step- Generate Data Model Data Model «DataSet» pds<name>.i 1..* ttbl<name>.i
Modernization Step-By-Step- Generate Data Access Classes Data Access «data access object» «interface» <name>DA.cls DataAccess.cls 1..* 1..* «data source object» «trans logic object» <name>DS.cls <name>TR.cls
Modernization Step-By-Step- Generate Business Service Classes Business Services ServiceInterface.p «service object» «interface» <name>Service.cls IManaged.cls BusinessService.cls 1..* «Model» <name>Model.cls <name>Entity.cls 1..*
Modernization Step-By-Step- Generate Client Classes Presentation 1..* «view» «user control» <name>Form.cls <name>Control.cls 1..* «Controller» Controller.cls <name>Controller.cls 1..* «Model» <name>Entity.cls Model.cls <name>Model.cls 1..* EntityContext.cls 1..*
SaaS Modernization Accelerators • OpenEdge ABL • Object Orientation • ProDatasets • OpenEdge Architect • Model-Driven Software Development • Enterprise Architect UML Plugin to OpenEdge Architect IDE • 100% of Components modeled in UML, ABL code generation • Standardized Architecture & Components • CloudPoint Framework available via Progress Professional Services
Modernization Lessons Learned • Planning & Process • Iterative, Pilot Cycles, Systematize • Modernization Tools • YMMV, Never 100% • Development Environment & Infrastructure • Get architecture & standards well-defined • Bed down & test, test, test • Teams • Spend the time to enable, select aggressive players • Quality • Test, review, & test again • Don’t let ‘Perfect’ be the enemy of ‘Great’
Next Steps Ask your Progress Account Representative about a Free Half-day Application Modernization Assessment
Session 103 Application Modernization A SaaS Perspective Phillip Magnay Senior Principal Architect, Progress Software