When enterprise-level applications are concerned, they need to have a deeper integration with other applications inside the same organization. This integration cuts across various layers of data, business logic, presentations, and security, depending on the specifics of the solution requires. This is how organizations achieve a higher level of uniformity, efficiency, and quality of operations,
If we divide the different layers of integrations and features that salesforce penetrates through at each level of the enterprise-stage applications, we get:
- User Interface
- Business Logic
Possible Salesforce Integration Methods are:
- User Interface Integration: One of the best ways to recreate a number of applications inside of salesforce with the least possible re-tweaking required on individual solutions. It enables a single entry point for users looking to use multiple applications.
- Security Integration: It incorporates different layers of security like organization level, object level, field level, and record-level security. These are implemented using profiles, permission sets, and sharing settings which provide any application with a robust and flexible model to manage org and data securely.
- Data Integration Process: It utilizes SOAP and REST APIs which basically handle data synchronization requirements and uses one application of the enterprise as the primary source for data on business objectives, like account. These APIs do not require any coding in Salesforce with the only downside being the restriction of implementing custom logics.
- Business Logic Integration: Salesforce provides enterprises with the extension of business logic which can be linked with outsider platforms. It uses Apex Web Services for Inbound and Apex Callouts for Outbound for logic integration. It typically handles conditions where the business logic is diversified across various applications, to enable implementation of the complete end-to-end business process.
Apex Web Services enables us to write logics that can be implemented as a web service within external applications. This also means that we can bring in business logics that are specific to a project, while we host web services on the application.
Apex Callouts brings in SOAP, and WSDL or REST Services. Two ways to generate callouts are importing the WSDL into Apex or by HTTP (RESTful) Services classes.