In this article I want to consider how Sage CRM's SOAP based web services can be used to extend its features and integration with other systems.
Sage CRM actually has two forms of web service in the current system. It offers both REST and SOAP Web Services.
- The Sage CRM REST API is covered in another series of articles and is documented on the Sage Developer site: Develop for Sage CRM | Sage Developer.
- SOAP Web Services are the classic interfaces that adhere to the SOAP protocol specification. Wikipedia has a good article that explains SOAP. http://en.wikipedia.org/wiki/SOAP
The presence of two Web Service interfaces in Sage CRM is a product of its design and the fact that Sage CRM is a system in transition from one architecture to another.
The above diagram shows that the architecture is a hybrid between the older eWare.dll based parts and the newer Java/Tomcat elements.
The REST API is used by the newer features (that use the Tomcat webapp technology) as its communication protocol. REST is increasingly important to developers. For example REST is used by the Client Side API as the basis for its Ajax requests.
Note: The classic SOAP Web Services are fully able to perform Create, Read, Update and Delete (CRUD) actions. The SOAP Web Services continue to be important to developers and implementers working with Sage CRM.
Sage CRM's web service API (application programming interface) enables developers to manipulate CRM records remotely with SOAP (Simple Object Access Protocol) over HTTP using XML (Extensible Markup Language). It is possible to access a CRM server or a hosted system from a specified client machine (typically another server) in order to read, create, update, or delete records for each exposed entity, for example, Companies, People, Opportunities, Cases, Quotes and Orders.
The image above shows a development environment in which a Windows program is being created that will interact with the data in Sage CRM. The interface is being created using C# within Visual Studio. Sage CRM's SOAP web services do not provide users with a (Graphical User Interface) GUI, which is the case with the .NET and COM APIs. Instead, web services share business logic, data, and some processes through a programmatic interface across a network.
Developers can add the web service to a GUI, such as a Web page or an executable program, to provide users with the required functionality.
How a SOAP Web Service request works
To learn more about the way in which the SOAP web services work then please read the article "About the SOAP Web Services".