0% found this document useful (0 votes)
104 views12 pages

Core Business Module Patterns Overview

The document outlines core module patterns in OutSystems training, focusing on core business module elements and various patterns such as core entity patterns and external core service (ECS) patterns. It details ECS variations including local replica, synchronization, direct integration, pub/sub, summary cache, and lazy loading. Additionally, it discusses transparency service patterns and concludes with a review of the core business module elements and patterns.

Uploaded by

Marcelo Silveira
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • Transparency service patterns,
  • Asynchronous data processing,
  • Logic,
  • Change operations,
  • Business logic centralization,
  • Cache summary data,
  • Integration API,
  • Local cache variations,
  • Product services,
  • Lazy load
0% found this document useful (0 votes)
104 views12 pages

Core Business Module Patterns Overview

The document outlines core module patterns in OutSystems training, focusing on core business module elements and various patterns such as core entity patterns and external core service (ECS) patterns. It details ECS variations including local replica, synchronization, direct integration, pub/sub, summary cache, and lazy loading. Additionally, it discusses transparency service patterns and concludes with a review of the core business module elements and patterns.

Uploaded by

Marcelo Silveira
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • Transparency service patterns,
  • Asynchronous data processing,
  • Logic,
  • Change operations,
  • Business logic centralization,
  • Cache summary data,
  • Integration API,
  • Local cache variations,
  • Product services,
  • Lazy load

Core module patterns

OutSystems Training
Topics

● Core business module elements

● Core business module patterns


○ Core entity pattern
○ External core service (ECS) patterns
■ Base ECS pattern
■ Local replica and synchronization variations
■ Direct integration and pub/sub variations
■ Local cache and lazy loading variations
○ Transparency service pattern
Typical elements of Core Business modules

● Business “web” blocks


UI

● Change operations on Core Entities


Logic ● Audit trails and integration logic

● Core Entities (CE) exposed as read only


Data (master and associated details)

● Asynchronous data processing (classification, data sync, counting, ...)


Processes Timers

● Permissions to define service specific access to features


Roles
Core entity pattern

Entity is reusable by several applications


•Product
•ProductFamily Recall Supplier Audit Store Audit
Data •...

•ProductUpdate
Logic •... Product
Services

•Product_Show (Webblock) Entity is exposed as read-only and API


UI
is available to centralize business logic
Product_CS for entity creation/update
External core entity: External core service pattern

External Core
Service (ECS)

Customer_CS

Customer_IS

ERP

- Integration API must


support all use cases
ECS variations: Local Replica & Synchronization

External Core ECS with local ECS with isolated


Service (ECS) replica synchronization logic
Customer _Sync
Customer_CS Customer_CS

Customer_CS
Customer_IS Customer_IS

Customer_IS
ERP ERP
ERP

- Integration API must + Leverage entity use + Code independence


support all use cases + Simpler integration API + Consumers of CS not affected by Sync
+ Less impact on source system + Sync can orchestrate several CS’s
ECS variations: Direct Integration & Pub/Sub (ESB)

ECS with direct integration ECS with publish/subscribe through an ESB

Customer _API Customer_CS Customer _API Customer_CS

Customer_IS Customer_IS
subscribe
publish
ERP ESB
subscribe
publish
ERP
ECS variation: Summary cache only

● Cache only summary data that is frequently listed, joined, or searched


○ Full detail for a single entry is fetched directly on the external system

● Use when…
○ Whole database is too big or costly to synchronize
○ Details are only required for single entries (not lists)
ECS variation: Lazy load

● Try to fetch the data from the local cache entity


○ If not there, get the single entry from the external system
○ Cache only that record (read-through caching).

● Use when…
○ Whole database is too big or costly to synchronize
○ Integration only touches a small portion of the database

● Avoid when…
○ Access to lists of data is needed up front
Transparency service patterns

Transparency service 1 way Transparency service


(simplification)
Customer_CS Customer_Sync

Customer_CS Customer_Sync

Customer_IS
ERP1_Drv ERP2_Drv SaaS_Drv

ERP1_Drv ERP2_Drv SaaS_Drv


ERP1 ERP2 SaaS

ERP1 ERP2 SaaS


Review

● Core business module elements

● Core business module patterns


○ Core entity pattern
○ External core service (ECS) patterns
■ Base ECS pattern
■ Local replica and synchronization variations
■ Direct integration and pub/sub variations
■ Local cache and lazy loading variations
○ Transparency service pattern
Core business patterns
Thank you!

Common questions

Powered by AI

The ECS with local replica and synchronization variations is beneficial when simple integration APIs are needed with minimal impact on the source system. It leverages local entity use, allowing the core entity to interact with external systems while maintaining synchronization. This approach minimizes the source system's load and offers code independence, ensuring consumers of the core service are unaffected by synchronization tasks .

Defining permissions for service-specific access enhances security by ensuring that only authorized users or systems can access certain features or data within core business modules. This granularity in access control helps prevent unauthorized data exposure and misuse, protecting sensitive information and maintaining the integrity of business operations. It also supports compliance with security policies and regulations by providing detailed audit trails of user actions and access requests .

Using the ECS pattern with publish/subscribe via an ESB offers several advantages, such as decoupling systems to reduce direct dependencies, enhancing scalability by distributing the load across different systems, and providing real-time data dissemination. This setup allows services to operate independently while still being aware of updates in external systems, improving overall system resilience and flexibility .

Lazy loading is practical in ECS variation patterns because it delays the loading of data until it is actually needed, reducing the initial load time and resource usage. It is especially useful when only a small portion of a large database is frequently accessed. However, its limitations include possible delays when first accessing the data, as fetching from the external system on demand can introduce latency, and inefficiency if lists of data are required frequently, which may lead to repeated fetch operations .

Audit trails and integration logic contribute to the robustness of core business modules by providing a mechanism to record and track changes to core entities, ensuring accountability and traceability. They allow for the analysis of historical data to assess system performance, assist in troubleshooting, and ensure compliance with data governance policies. Integration logic ensures that the flow of information between different systems is seamless and consistent, bolstering the integrity and reliability of data operations within the modules .

Asynchronous data processing improves system performance by decoupling data operations from main user interactions. Tasks such as classification, synchronization, and counting are handled in the background, allowing the user interface to remain responsive and reducing wait times for end-users. This technique ensures high availability and efficient resource utilization, as it can manage large volumes of data simultaneously without blocking real-time operations .

Business web blocks play a crucial role in managing user interfaces within OutSystems core business modules by modularizing UI components. They allow for reusable interface elements that can be consistently applied across different applications and modules, ensuring a uniform user experience. This modular approach facilitates easier maintenance and updates, as changes need to be made in one place to reflect in all instances where the web block is used .

When using transparency service patterns in cloud-based ERP systems, it is important to consider factors such as system interoperability, data privacy, and compliance with regulatory standards. Transparency services should facilitate seamless data synchronization and integration across diverse platforms without exposing sensitive information. Additionally, the design should support scalability and adaptability to incorporate future changes in ERP systems, ensuring consistent performance and data accuracy .

A summary cache should be used when the entire database is too large or costly to synchronize, and only summary data is frequently accessed or required for searches and listing. This approach optimizes resource use by only caching essential data while fetching full details on-demand from the external system. Potential drawbacks include delayed data retrieval when detailed information is needed suddenly and increased reliance on external systems for data integrity and availability .

The Core Entity Pattern in OutSystems enhances reusability by exposing entities as read-only, allowing various applications to use the same entity while maintaining a centralized API for business logic related to creation and updating. This structure provides a consistent and efficient way to manage entities across different modules, enabling multiple applications to access and leverage these core entities without redundancy .

You might also like