Leger des Heils (The Salvation Army) is an international charitable organisation and one of the greatest Non-Governmental Organisations in the Netherlands. Their activities include social relief, elderly care, mental healthcare, youth care, rehabilitation and addiction treatment, prevention and social recovery, social work, international development services and recycling.
The new Enterprise Care Management System developed by Qubiz needed a Document Management Module that would provide them with a secure and manageable web-based collaboration solution. We used Mircrosoft’s SharePoint Foundation 2010 as the backend of the Document Management Module. All SharePoint’s functionalities are accessible through the following Web Services from Microsoft:
- Lists Web Service – provides methods for working with SharePoint lists, list items, content types, and files
- Copy Web Service – provides services for copying files within a SharePoint site and between SharePoint sites
- Search Web Service – provides access to Enterprise Search results from client applications and Web applications outside of the context of a SharePoint site
The Document Management Module’s integration in the Enterprise Care Management System was broken up into 4 piers:
1. Integration with SharePoint Foundation 2010 WCF services
The new REST interface and the new SharePoint 2010 Client Object Model provide access to the most common functionalities within SharePoint Foundation. In the cases in which none of Microsoft’s Web Services provided the types of access we needed, we had to create custom Web Services that would use the Server Object Model to access data. SharePoint Foundation 2010 supports the creation of both ASP.NET and WCF custom Web Services, which can be used to develop SOAP-style or RESTful Web Services.
2. The Façade for SharePoint Services
In order to simplify the document access, we implemented a façade to SharePoint’s Web Services. The Façade’s design pattern provides a unified interface to all the subsystems of our solution and defines a higher-level interface that makes all the subsystems easier to use. One of the main of the pattern is the reduced coupling between the subsystems of the system For the Document Management Module, the Façade component will expose SharePoint Foundation’s Services in a much more easy to use way. When implementing domain services involving document access, the back-end developers won’t need to use SharePoint at all, instead they will use only the methods provided by our Façade.
3. Integration with WCF RIA Services
The Silverlight client calls asynchronous methods exposed by WCF Domain Services. The Domain Services use the SharePoint Façade to access the documents repository.
4. Integration with Silverlight
When Silverlight runs inside a browser window, it acts like a sandboxed platform, therefore it’s not able to interact with the host operating system. Local files and local applications cannot be accessed.
In order to be able to access the local file system and launch local applications (like Word, Excel, PowerPoint, etc.), the Silverlight application integrated into the Document Management Module had to run out of browser. Silverlight 4 has the ability to run outside the browser, in its own window. The application can be launched from a desktop shortcut or from the start menu, and can be used much in the same way as a standard (native) application. The Silverlight application can request elevated trust permissions to gain direct access to the file system and the Component Object Model (COM).