Job Scheduling Application

Business Case

This 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

Skills

Microsoft ® Office SharePoint Server 2007
70
Microsoft® Asp.net framework 3.5
75
MS SQL Server 2005
80
Web Services
60
ELMAH
85
Jquery/JavaScript
78
XML Parsing
70
Challenges
1. Job Scheduling

  • 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.
  • 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.

2. 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.
3. Dynamic user controls:
Predefined user controls have been created that can be used for all the services.
4. 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.

Achievements
1. Hide the complexity of SharePoint services and build methods that can easily be used by passing simple parameters rather than xml parameters.
2. Module implementation to generalize handling of HTTP request.
3. Dynamic content loading.
4. Use of jQuery to enhance the look and feel of interface.
5. Scheduling
5. No code solution: User can customize the look and feel without going to the SharePoint site.
6. Detect authentication method for different SharePoint site.
7. Integration of “Microsoft online services”.
Benefits
1. New service can be added with less coding effort.
2. Output of services can be store in SharePoint lists.
3. No need to get into the SharePoint server to configure TunnelPoint services.
4. Nice load balancing feature of scheduling which is fast and light weight.
5. Development Cost Reduction
6. 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