Cloud computing has ushered an increased demand for applications to inter-operate using the Internet. Web services make this possible.
This article describes an approach for using web services to integrate Pivotal CRM with other applications. A web service component in this approach is generated by the CDC Software Pivotal CRM free download called Web Service Generator (WSG) WSG facilitates the creation of web services that abstract the complexity of interfacing with the Pivotal CRM platform and satisfying platform requirements.
Web service capabilities have existed for more than a decade. Regardless, Internet application innovators such as Salesforce.com, Facebook, Twitter, LinkedIn, Google, and Microsoft have popularized the benefits of web services with their successful Internet application platforms.
Web services are a key component of a Service Oriented Architecture (SOA). A SOA relies on web services to provide inter-operation between application systems. I'm currently working on a notable SOA implementation you can ask me about. This SOA implements the common messaging framework Universal Lexical Exchange (ULEX), enterprise service bus Mule ESB, and Java platform application server JBoss AS. For more on SOA, read "Service-oriented architecture" on Wikipedia, http://en.wikipedia.org/wiki/Service_oriented .
Even if you do not have an enterprise-wide SOA to plug into, the benefits of implementing web services are well worth considering. Some of the benefits of implementing Web services are the following:
- - Provide a means for loosely-coupled communication between applications
- - Rely on standard Internet protocols for communication
- - Pass data in a well-defined, easily understood format
- - Expose a simple interface to an application platform
- - Abstract underlying complexity
- - Facilitate reuse by other applications
To best describe Pivotal CRM integration using web services, let me describe an example that closely resembles how I implemented one for a client of mine. At this client, there is an application we will call Apex Trade & Commission Manager (ATCM). A feature of ATCM is that it tracks equity trades made on behalf of account holders.
The integration between ATCM and Pivotal CRM is to share data bi-directionally and initiate Pivotal CRM work flow. More specifically, the integration requires the following:
- - ATCM Trade information needs to be shared with Pivotal CRM
- - Pivotal CRM is to qualify Trades for initiating scheduled Call Activities
- - Pivotal CRM account information needs to be shared with ATCM
The integration is implemented using three web service components. One web service is dedicated to each application, abstracting application specific interface requirements. Another web service is generated and published by Pivotal WSG, abstracting Pivotal CRM platform complexities. This generated web service is necessary only for inbound data to comply with Pivotal CRM platform requirements that initiate AppServer Rules/Server Tasks.
Each dedicated application web service mediates inbound and outbound data. In our example, outbound data is read from database tables containing queued and archived items. The tables are populated by table Triggers. The outbound data is transformed to the target web service's defined format. After processing items, data is archived by an update that either sets the item as successfully processed or with a descriptive error.
Inbound data is validated and transformed to its target destination by the web service dedicated to its application. In our example, the ATCM web service processes inbound data and directly updates the ATCM database. Inbound data consisting of new and updated accounts from Pivotal CRM are created and updated in ATCM.
Towards the other end-point, the Pivotal CRM web service validates and transforms inbound data to the defined format required by the Pivotal CRM generated web service. This format includes an object representing essential fields on an Active Form. After transforming the inbound data for the object, the object is sent to the Pivotal CRM generated web service.
The Pivotal CRM generated web service then processes the object and submits the data to Pivotal CRM, referencing the appropriate Active Form. Following Pivotal CRM convention, the Active Form is used to enter data and call its AppServer Rule/Server Task. In our example, the Trade Active Form AppServer Rule/Server Task qualifies the Trade and determines whether a scheduled Call Activity is created.
And there you have it, an approach for integrating Pivotal CRM with another application using web services. You now have some insight on how your Pivotal CRM implementation can reap the benefits of a web services. "Loosely-coupled", easier to change, move, and re-use; communication using standard Internet protocols; well-defined data format, easily shared, understood; simplified application interface, abstracting underlying complexity; these are some of the benefits of implementing web services.
Freely contact me if you have questions or would like more information, or even need some help. I would love to hear what you are doing. Oh, and follow-me on Twitter .
Service-oriented architecture http://en.wikipedia.org/wiki/Service_oriented
Enterprise Service Bus http://en.wikipedia.org/wiki/Enterprise_service_bus
Web service http://en.wikipedia.org/wiki/Web_Services