The 4 Layer Canvas (4LC) is an OutSystems architecture tool to make the design of Service-Oriented Architectures (SOA) simple. It promotes the correct abstraction of reusable (micro)services and the correct isolation of distinct functional modules, in cases where you are developing and maintaining multiple applications that reuse common modules. A typical medium to large OutSystems installation will support 20+ mission critical applications and 200+ interdependent modules.
These applications/modules have different change life cycles and are maintained and sponsored by different teams. New applications tend to evolve fast while highly reused services will change much slower. The most important benefit you get out of a well designed architecture is that applications and the modules that compose them will preserve independent lifecycles and decrease to a minimum dependencies and overall change impact. The result is a cost-effective OutSystems architecture design, easier to maintain and evolve.
The 4 layers
Each layer sets a different nature of the functionality to be captured in a module:
Processes, dashboards and portal home pages, mashing up information from different applications to provide a unified user experience.
User interfaces and processes, reusing Core and Library services to implement the user stories.
Services around business concepts, exporting reusable entities, business rules and business widgets.
Business-agnostic services to extend the framework with highly reusable assets, UI Patterns, connectors to external systems and integration of native code.
Architecture design with the 4LC
The 4LC is used in two different stages of the architecture design:
- Identifying concepts (functional, non-functional and integration needs)
The canvas helps collecting architecture requirements in a structured and systematic way.
- Define modules
Design the modules that implement the identified concepts, following recommended patterns.
Designing an architecture is not a one-time event. It is a continuous process. The architecture must be iterated, cycling these two stages, as a solution evolves and new concepts and needs emerge from your business.
Using the 4LC
To start using the 4 Layer Canvas check the following articles:
Check out the Electronic Canvas tool, available in the OutSystems Forge. It assists you in the design of a new architecture by allowing you to place and move around your concepts in a digital 4LC. It enables you to identify and organize all the architectural elements that need to be implemented in a new project.
To learn more about how to design your application architecture check the Designing the architecture of your OutSystems applications guide.