0% found this document useful (0 votes)
15 views10 pages

Library Module Patterns in OutSystems

The document outlines the structure and patterns of library modules in OutSystems training, focusing on elements such as APIs, exception handling, and UI components. It details two main patterns: the Extension pattern for wrapping external libraries and databases, and the Connector pattern for integrating with external APIs like Salesforce. Additionally, it discusses the importance of API granularity to optimize functionality and avoid bottlenecks.

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
0% found this document useful (0 votes)
15 views10 pages

Library Module Patterns in OutSystems

The document outlines the structure and patterns of library modules in OutSystems training, focusing on elements such as APIs, exception handling, and UI components. It details two main patterns: the Extension pattern for wrapping external libraries and databases, and the Connector pattern for integrating with external APIs like Salesforce. Additionally, it discusses the importance of API granularity to optimize functionality and avoid bottlenecks.

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

Library module patterns

OutSystems Training
Topics

● Library module elements

● Library module patterns


○ Extension pattern
○ Connector pattern

● Granularity of APIs
Typical elements of Library modules

● Normalized API
● Exception Handling (avoid error codes)
Logic
● Single sign on and session logic

● Structures for inputs and outputs


Data ● Non core entities

● UI widgets (e.g. a calendar or an accordion)


UI ● Themes, layouts and exception flows

● Common Roles to a domain of users (e.g. Company roles for an intranet)


Roles
Extension pattern

Wrap an external library Wrap Entities from an external Database

- URL2PDF
- PurchaseOrder
Logic - ...
- POLine
Data
- Input/Output Structs - ...
- ...
Data
[Link] [Link]

.Net lib to generate PDF External DB


Connector pattern
Salesforce
•Account_Search
Connector •Account_Update
Logic •RenewSession
•...

•Account_Struct
•Opportunity_Struct
Data •...
Salesforce _IS

•Login
•Sforce_query
Logic •…

•Session_Struct
•Return_Object
Data •...
[Link]
Connector pattern
Salesforce
•Account_Search
Connector •Account_Update
Logic •RenewSession
•...

•Account_Struct
•Opportunity_Struct
Data •...
Salesforce _IS

•Login Extension to encapsulate external API


•Sforce_query
Logic •… ● Original API
•Session_Struct
● Input/Output Structures
•Return_Object
Data •...
[Link]
Connector pattern
Salesforce
Connector
•Account_Search Wrapper module for consumers
•Account_Update
Logic •RenewSession ● Match Use Cases and concepts
•...
● (Shared) session management
•Account_Struct ● Normalize business concepts
•Opportunity_Struct
Data •...
Salesforce _IS

•Login Extension to encapsulate external API


•Sforce_query
Logic •… ● Original API
•Session_Struct
● Input/Output Structures
•Return_Object
Data •...
[Link]
Granularity of APIs

Hundreds of APIs Create smaller APIs


and Structures per function area …

SAP_IS SAP_Fin_IS SAP_HR_IS SAP_MM_IS

SAP Split SAP

… to balance the granularity and avoid a single


bottleneck that affects too many consumers
Review

● Library module elements

● Library module patterns


○ Extension pattern
○ Connector pattern

● Granularity of APIs
Library module patterns
Thank you!

You might also like