fitting outsystems applications into enterprise architecture
Post on 09-Jan-2017
309 Views
Preview:
TRANSCRIPT
Fitting OutSystems applications into Enterprise ArchitectureArchitecture WebinarFrancisco Menezes
1Webinar / September 1st 2016
Replace This image in master
About me
OutSystems Experts Architect
Francisco Menezes
francisco.menezes@outsystems.com
2
3
Learn how to build a Flexible and Cost-effective Solution Architecture aligned with Business concepts
G al
OrchestrationModules
End UserModules
Core BusinessModules
LibraryModules
Reusable
Services
No
Services
The 4 layers canvas (4LC)
UI and processesThat provide functionality to end users
Access PortalsCross-application processes and dashboards
Business servicesServices around business concepts
Non functional requirementsservices to connect to external systems or to
extend your framework
4
Speeds up architecture designwith a systematic approach
Why use the Canvas?
Common understandingbetween all Business users and Developers
Easy to validatesupported by a tool
5
ESB
OutSystems
External Producers
Microsites
Intranet/extranet users
Applications
Corporate Databases
ServicesExternal Consumers
External Portals
6
Services architecture
CRM ERP CMS
OutSystems Services
ExternalAPI
CoreServices
IntegrationServices
Customer_CSContract_CS
Sales_API
Order_CS Product_CS
Corporate DB
External Consumer
Catalog_API
Customer_IS Order_IS
OutSystems Consumer
Product_IS
7
Service patterns
Customer_CS
Customer_IS
ERP
External Core Service (ECS)
ECS with local replica
ECS with isolated synchronization logic
Customer_CS
Customer_IS
ERP
Customer_CS
Customer_IS
ERP
Customer _Sync Customer_CS
ERP2 SaaSERP1
ERP1_IS ERP2_IS SaaS_IS
Customer_Sync
Transparencyservice
8
Architecture design processKeep iterating 3 steps to refine the architecture using the canvas
Keep iterating 3 steps to refine the architecture using the canvas, as new concepts and more details are disclosed
Architecture design in 3 steps
10
business concepts and integration needs
Integration technology
User Stories and Roles
Points:13Must Have
Information Architecture
UX expectations
1. Disclose
Architecture design in 3 steps
11
concepts on the canvas1. Disclose 2. Organize
Architecture design in 3 steps
AccessPortals Site Call Center Backoffice
UserProcesses
Customer management
Claim handling Analytics
BusinessConcepts
Customer Claim Contract Product
Integration& NFRs
ERP CRM Audit ACL12
1. Disclose 2. Organize 3. AssembleMatching recommended patterns
Architecture design in 3 steps
Customer_CS
Customer_IS
ERP
Customer _SyncPortal
App1 App2
Theme13
Architecture design processLet’s follow an example
OrchestrationModules
End UserModules
CoreBusinessModules
LibraryModules
Product Store
Supplier
Recall plan
ERP Connector
User process
Business concepts
Integration needs
Product FamilyStock
Recall Process
Steps 1 2 - Disclose and Organize concepts
15
OrchestrationModules
End UserModules
CoreBusinessModules
LibraryModules
Product Store
Supplier
Recall plan
ERP Connector
Steps 1 2 - Disclose and Organize concepts
Recall Process
Product FamilyStock
Supplier Audit
Supplier report
Supplier audit
Supplier audit plan
Internal Theme
Supplier Theme
Internal portal Supplier portal
Access Portals
Domain Themes
16
OrchestrationModules
End UserModules
CoreBusinessModules
LibraryModules ERP
Connector
Step 3 - Assemble
Recall Process Supplier Audit
Internal Theme
Supplier Theme
Internal portal Supplier portal
Process support concepts
Product
Product Family
Unbreakable concepts
Supplier StoreStock LocationBase core concepts
Recall plan
Supplier audit Supplier
report
Supplier audit plan
17
OrchestrationModules
End UserModules
CoreBusinessModules
LibraryModules
Final architecture
Product Services
Supplier Services Store ServicesStock
Services
Supplier Audit Services
Recall Services
Recall Process Supplier Audit
Internal portal Supplier portal
Supplier IS Internal Theme
Supplier Theme
Abstracts external systems
18
OrchestrationModules
End UserModules
CoreBusinessModules
LibraryModules
Product Services
Supplier Services Store ServicesStock
Services
Supplier Audit Services
Recall Services
Recall Process Supplier Audit
Internal portal Supplier portal
Supplier IS Internal Theme
Supplier Theme
Granularity
Low
Medium
High
+ Building blocks
Reusability
Low
Medium
High
+ Savings
Abstraction
Low
Medium
High
+ Information hiding
Mash up
High
Medium
Low
+ Composition
Autonomy
+ Control
The benefits
19
How to validate the ArchitectureBasic rules to check if the architecture is Sound
OrchestrationModules
End-userModules
LibraryModules
CoreModules
Validation rules
Every one became dependent on this cluster of modules
No Upward references
21
OrchestrationModules
End-userModules
LibraryModules
CoreModules
Validation rules
No Upward references
No side references among orchestration or end-user
modules
EU1 EU2 EU1 unnecessarily
inherits this cluster
22
OrchestrationModules
End-userModules
LibraryModules
CoreModules
Validation rules
No Upward references
• No Front-end screens• Read-only entities
• No Business logic• No core entities
cycle
s
No
No side references among orchestration or end-user
modules
23
Validate your architecture with DiscoveryGet a comprehensive
explanation about layers and violations
Place each module in a layer24
Check consumers
25
Check violation details
26
4 Rules for composing LifeTime applications
That will:- Minimize impacts between applications- Simplify deployments- Cope with different paces
ConceptsOrchestrationapplications
End-userapplications
Coreapplications
Libraryapplications
ApplicationSet of modules defined in Service Studio that constitutes a minimal deployment unit for LifeTime
Application layerTopmost layer of the modules inside the application
28
Rule #1 Correctly layer your modules
No upward references
No references among orchestrations or among end-users
Cycle
s
No29
Application composition
Rule #2 Layer your applications
End-userApplication 1
End-user #1
CoreA
LibraryA
CoreB
LibraryB
End-userApplication 2
End-user #2
CoreC
LibraryC
CoreD
LibraryD
Layered module architecture
End-user #1
CoreA
CoreB
LibraryA
LibraryB
1st project
End-user #2
CoreC
LibraryC
CoreD
LibraryD
2nd project
3rd project
WRONG
30
Applicationcomposition
Rule #2 Layer your applications
End-userApplication 1
End-user #1
CoreA
LibraryA
CoreApplication
CoreB
LibraryB
CoreC
LibraryC
End-userApplication 2
End-user #2
CoreD
LibraryD
Layered module architecture
End-user #1
CoreA
CoreB
LibraryA
LibraryB
1st project
End-user #2
CoreC
LibraryC
CoreD
LibraryD
2nd project
3rd project31
Rule #2 Layer your applications
No upward references
No references among orchestrations or among end-users
Cycle
s
No32
Application 2Common application
Rule #3 Don’t mix owners
Module 3Module 1 Module 2
Owner 1 Owner 2
Spl
it Application 1
Module 3Module 1 Module 2
Owner 1 Owner 2
33
Common services
Life Suite Property Suite
Auto Suite
Simulators Simulation Portal
... ... ...Auto Life Property
Engines Policy
Simulators Simulation Portal
... ... ...Auto Life Property
Engines PolicyS
plit
Property business
Auto business
Life business
Property business
Auto business
Life business
Rule #4 Don’t mix sponsors
34
LibraryApps
IntegrationServices
OrchestrationApps
End UserApps
CoreBusinessApps
Previous example – application composition
CommonServices
Themes
Recall SupplierAudit
Product Services
Supplier Services Store Services
Internal Theme
Supplier Theme
Stock Services
Supplier IS
Recall Supplier Audit
Internal portal Supplier portal
Supplier portal
Supplier Audit Services
Recall Services
Internal portal
35
Validate your applications with Discovery
• Violations prevent life cycle independence with complex deployments
• To many shared services inside End user applications
36
Common Style GuideShare the look and feel among applications
Commonservices
Application 1
Theme independent
Lisbon Template
Lisbon theme
App1 theme
Lisbon template
ML
ML
Cloned when creating 1st module of the application
Based on
ML
- Menu- Login flow
#1 Built-in Style GuideDon’t forget to link menu entries to screens with external URLs
38
Commonservices
Application 1
Theme independent
#2 Custom Style Guide, clone a built-in
Custom Style Guide
Custom theme
App1 theme
Custom template
ML
ML
Lisbon Template
Lisbon theme
Lisbon template
ML
Clone
Don’t benefits from new versions of the built-in theme without complex merges
Best performance by avoiding an extra indirection
Use when the Custom Style guide introduces lots of changes
39
Commonservices
Application 1
Theme independent
#3 Custom Style Guide, specialize a built-in
Custom Style Guide
Custom theme
App1 theme
Custom template
ML
ML
Lisbon Template
Lisbon theme
Lisbon template
ML
Clone
Lower performance (extra imports of CSS and other resources)
Keep inheriting new benefits from new versions of the built-in theme
Use when the Custom Style guide has only minor changes and is shared by several applications
40
Commonservices
Application 1
Theme independent
#4 Build your own custom Style Guide
Custom Style Guide
Custom theme
App1 theme
Custom template
ML
ML
Vanilla Template
Vanilla theme
Vanilla template
ML
Clone the Vanilla Template
Use when the Custom Style guide can not benefit from any existing theme. The vanilla template is the correct starting point, since it contains only the minimum required structure
41
Common Style Guide
Global theme
Application 1
App1 theme
Application 2
App2 theme
ML
Common Style Guide
Global theme
Application 1
App1 theme
Application 2
App2 theme
L
M M
Sharing a style guide - possible scenarios#3 PortalCommon Menu and Login flow
#2 IntranetOwn menu, same login flow
Global template
Global template
M
Common Style Guide
Global theme
Application 1
App1 theme
Application 2
App2 theme
ML
ML
#1 Independent AppsOwn Menu and Login flow
Global template
ML
Common Menu and Login flow need to be moved to the theme
Common login flow needs to be moved to the theme eSpace
Standard pattern
42
Don’t forget ✓Keep iterating your
architecture✓Avoid violations✓Follow patterns✓Optimize application
composition43
Links
How does OutSystems Platform fit in an enterprise architecture?
Designing the architecture of your OutSystems applications
The Discovery Tool
The Electronic Canvas
The Refactor
Thank you!
top related