Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Overview

Aftermarket Service Products (ASP) Telematics Operations is developing a website which needs a specific set of WebServices to be developed. In this challenge we want you to develop a web service to retrieve a set of information (list of CANs - i.e. Customer Account Numbers) that will eventually be used as values to be used in a drop down list for all other CANs (Response) related to a CAN provided as input (Request) by the user.This data (all other CANs list) will help the website end user in correctly identifying the desired CAN. The data will be sourced from Services (DB2). The purpose for developing this is that every CAN may have related CAN's in the system, and they often are hierarchical and could have many related CANs. This webservice will return the entire related list of CAN's for a given CAN as input.

Create a new WebService sourcing data from ServicesDB to be used in the Detroit Connect website. The objective of this challenge is only developing the webservice, and no integration with the website.

Please review the detailed requirements in the document provided in the forums. (FDWSRelatedCANs.docx)

Webservice

The Webservice should take a CAN (Customer Account Number) input parameter, and return all the related CAN list objects in JSON

We want you to build a RESTful Web Service with DOT.Net 4.5 , and would be deployed on IIS 8.0

Please refer to the provided document in the Challenge forum for the complete and detailed requirements.

Use URI Template to rename URI to this format  <host>/Services/rest/RelatedCANsList

Architecture

App should have a multi layer architecture with separate Database Access Layer and Business Logic.

Error Handling

If the web service gets any error (for instance, no CAN in input, or errors in the database), the exceptions should be logged as a log event using log4net.

Exception handling conventions, as detailed in "Coding Conventions 1.3.pdf" , should be followed.

Database

Download and install DB2 Express-C on your development machine.

Download and install DB Visualizer here

Scripts to create the database tables and sample data are provided in forums

(The DB2 installer will add a sample database. You can use that or create your own.)

Validation:

Include Unit tests.

Functionality should be validated against the test cases detailed in "TC WS Related CANs.xlsx" (Attached in forums).

Code Quality:

You need to strictly follow the coding conventions. 

Follow the coding conventions described in the "Coding Conventions 1.3.pdf"  provided in forums

There should be no hard coded configurations. Database Connectionstrings and queries should be easily configurable.

Development Enviornment:

  • IBM DB2
  • Visual Studio 2013
  • Dot.Net 4.5
  • Web API
  • Entity Framework
  • IIS 8.0
  • JSON


Final Submission Guidelines

Submission Deliverable

  • Upload entire Source Code (Entire VS 2013 project workspace) as your submission.  No changes would be accepted after submission end date/time.

  • Deployment Guide with detailed steps to deploy on IIS and verify the deployment

  • Provide detailed guide to configure the Webservice ( Database connection strings, Queries, URI Templates etc)

  • Video Demo of your solution and Code walk through

Technology

  • IBM DB2
  • Visual Studio 2013
  • Dot.Net 4.5
  • Web API
  • Entity Framework
  • IIS 8.0
  • JSON

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30049603