SmartObject terminology and architecture

SmartObjects are reusable objects that provide a standard way to integrate with number of third-party systems and technologies, including querying and updating data stored in another system. SmartObjects hide the integration details and complexities of various systems to make it simpler for designers and developers to interact with data from Line-Of-Business (LOB) systems, without needing to know or provide those details when they need to query or update data.

It is important to keep in mind that the SmartObject layer does not replicate LOB data, but rather provides a way to abstract data from LOB systems in a more logical and business-focused manner. With SmartObjects, the LOB systems remain in control of their data and how data are queried and updated, and the SmartObjects become the mechanism through which that data is used in forms, workflows, reports, and code. Applications that use SmartObjects call methods which are then executed by the server based on how the service instance is configured to connect to the LOB system. Most SmartObjects are used to query and update information in LOB systems. At the service instance level, you configure how authentication and authorization works to the LOB systems, ensuring that only authorized users can query and update data.

Looking at the architecture diagram below, you can see that SmartObjects are a middle layer between data providers (on the left, in blue) and data consumers (on the right, in green). In the image below, data comes from data providers such as a SQL server table, Active Directory, a SharePoint list, web services, or other technologies. Data is used by consumers, such as forms, workflows, reports, and custom code. SmartObjects exist between data providers and consumers, and are an abstraction layer that makes it possible to integrate with many different systems as if they were logical business objects. Designers to not have to know where the data comes from or how to integrate with the particular LOB to use that third-party system in solutions.

This topic explains the various terms and components you may encounter when working with SmartObjects. You can refer back to the diagram to understand where that component fits into the bigger picture.

Architecture and terminology of SmartObjects