TunnelPoint – A SharePoint Service

Client Business Area: IT Consultant Specialized in SharePoint

Case Details

TunnelPoint (http://tunnelpoint.com) is a product introduced by our client. This web based software provides a service that makes it possible for SharePoint site owners to plug in data from external web services by using a “no-touch” approach, this all to enrich the SharePoint experience. Technically the product operates as a broker service for the SharePoint web services and external web services/APIs. User can subscribe to any services and then configure the service to get the data in his/her SharePoint site. Scheduling feature facilitate user to schedule any of the services so that broker engine populate data to the SharePoint site at specified interval.

Technology

  • Microsoft ® Office SharePoint Server 2007
  • Microsoft® Asp.net framework 3.5
  • MS SQL Server 2005
  • C#.Net
  • AJAX
  • JQuery
  • Log4Net
  • XML Parsing
  • ELMAH
  • Javascript
  • JGrowl
  • HTML/CSS
  • Web Services

Challenges

  • Job Scheduling
    1. Persistent job scheduling: This product heavily uses scheduling for different services. The biggest challenge was to persist these scheduling without using any kind of service.
    2. Manage scheduling: User is able to add/modify/delete scheduling scheme for different services. This was achieved by exploring the database used by component. Out of the box method of that component was created to achieve this task.
  • Less coding to add a new third party service in the existing product Reusable templates/Interfaces was created so that a new service (e.g. twitter service, fax service) can be added easily by just using these templates.
  • Dynamic user controls: Predefined user controls have been created that can be used for all the services.
  • Generalization of request using Web Application Description Language (WADL): One of the challenges was to generalize the HTTP request needed to use the services. This has been achieved using xml representation of request called WADL.

Achievement

  • Hide the complexity of SharePoint services and build methods that can easily be used by passing simple parameters rather than xml parameters.
  • Module implementation to generalize handling of HTTP request.
  • Dynamic content loading.
  • Use of jQuery to enhance the look and feel of interface.
  • Scheduling.
  • No code solution: User can customize the look and feel without going to the SharePoint site.
  • Detect authentication method for different SharePoint site.
  • Integration of “Microsoft online services”.

Advantages

  • New service can be added with less coding effort.
  • Output of services can be store in SharePoint lists.
  • No need to get into the SharePoint server to configure TunnelPoint services.
  • Nice load balancing feature of scheduling which is fast and light weight.
  • Development Cost Reduction
  • No Server side code management headaches.

Salient Features

  • Dynamic generation of controls according to the selected service.
  • Call methods according to the service selection using reflection.
  • Asynchronous operation to improve performance (web services and REST)
  • Use of WADL (Web application description language) to generalize the handling of request/response for different service. This reduces the effort to write code for each service for sending request and getting response.
  • Rijndael Encryption (AES) to enhance the security for user login, web services etc.
  • PayPal recurring payment handling.
  • Fastest Way to Transform the Data
Back