As I was returning from our company retreat this past weekend, I had a great discussion with a co-worker concerning how to find integration points between different software systems. He works with our CRM practice and has done some great work using WCF (Windows Communication Foundation) to model business processes that update the appropriate data in Microsoft CRM. The solution he provided to the organization allows for a quick change of the user interface to almost any system -- Silverlight, SharePoint Web Parts, ASP.Net, Windows Presentation Foundation, among many others -- while retaining the business rules required by the client.
As we continued our discussion, we noted similarities between Microsoft SharePoint 2010 and Microsoft Dynamics CRM. So, where does it make sense for these two products to integrate? Why should we integrate these products? In what ways can we integrate these products so we can better model the business of our clients? We agreed, the goal of integration between any two systems is to exercise the strengths of each platform and attempt to minimize the weaknesses.
On the topic of integration, the following questions were identified to help identify integration points between two systems:
- What are the strengths of each platform?
Identify what makes each platform standout as an offering to the organization. Organizations select products to solve business problems, and this product was selected over other offerings in the same market space. This leads to a discovery on why the organization chose this product and helps identify what features of the product are important to the business.
- What are the weaknesses of each platform?
In an ideal world, one product would fit every aspect of the business. However; every system has pain-points. Otherwise, there would be no need to even consider integration between systems because the organization would have a single system for all of their data processing needs.
As processes are improved, some organizations find these pain-points create limits on how much a process can be improved. For example, the data entry process for a high volume call center may not directly reflect how data is captured by the ERP system, leading to multiple screens and wasted keystrokes -- integration in this scenario will most likely focus on providing a streamlined data-entry experience for call center workers.
- Which weaknesses can be addressed?
While it is a noble goal to attempt to solve every problem, organizations quickly realize there are no projects with unlimited budgets, unlimited resources or unlimited time. Integration should provide the most value with the least amount of time invested. This means a period of discovery will need to be performed to identify what parts of the system can be exposed to third party systems.
Some systems expose their data through Service Oriented Architecture (SOA) technologies like SOAP or REST. These provide integration points to allow external systems to read or write data to and from the system. Making use of these type of services will also insure data integrity is maintained, especially if data is written back into the application. However, the organization must understand what information can be consumed or modified through these services.
It is becoming increasingly rare to find systems without SOA endpoints (SOAP or REST). In cases where systems do not provide these services, it may be necessary to talk directly with the backing database. The organization needs to understand how writing to a backing database can impact the overall system.
- Are there any 3rd party solutions already available?
Organizations should not reinvent the wheel every single time systems need to be integrated. It is likely the organization is not the only one with a need to integrate the two systems and there may be products already targeted to solve the problem. This can lead to significant cost savings. Many vendors also offer support contracts.
- Is it time for a developer?
This final question should only be explored after all other alternatives have been investigated. If there are no 3rd party products that meet the needs for integrating systems, a developer may be the only alternative. Developing a solution can be a frustrating process if the organization selects the wrong developer.
Organizations want to remain competitive and need solutions delivered quickly with as little cost as possible, so it is important to find a developer that understands the systems to be integrated. The better a developer understands the systems to be integrated, the less time will be spent in researching product API’s. Also, finding a developer with experience in the organization’s industry can be invaluable to the organization. Developers with an industry focus understand industry specific terminology and the processes involved.
As we concluded our conversation, it was agreed that Microsoft SharePoint 2010 offers a great platform to integrate systems. It offers the ability to bring in highly structured data from third party systems like Microsoft CRM and put that data alongside loosely structured data including invoices, purchase orders and contract agreements.
SharePoint Designer can also be used by information workers or business analysts to design workflow solutions that augment internal business processes. As the business process is improved, the workflow can be quickly changed to represent the improved process.
SharePoint can also be used to present information from external systems through the use of custom web-parts or Business Connectivity Services (BCS). In some cases, employees may not need direct access to the internal system, but they may need to access to certain information. Building a view of this information already tailored to their job function can help them make better decisions and provide better customer service.
SharePoint also provides a strong platform to foster collaboration in your organization. As employees rate and tag information using the new social features of SharePoint 2010, individuals begin to be recognized as subject matter experts. This helps connect employees to individuals or teams that are knowledgeable in any given area of your business.
SharePoint has a large ecosystem of 3rd party vendors that have already integrated many common business systems. This reduces the overall cost to integrate these systems significantly! The ecosystem also includes solutions that augment SharePoint to solve problems not currently addressed by large scale enterprise solutions.
As your organization looks to integrate systems, it is worth investigating SharePoint as a platform to help you reach your goals. Tribridge has helped many organizations find these integration points and would be glad to partner with your business to find the best integration solution for you!