Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Overall Requirements

NASA needs to integrate the ION Disruption Tolerant Networking (DTN) implementation of Bundle Protocol (BP) with Microsoft Outlook and Microsoft Exchange Server to support the transfer of astronaut email to/from the International Space Station (ISS).

Microsoft Exchange Server currently supports RPC over HTTP(s) protocol (a.k.a. Outlook Anywhere -  http://msdn.microsoft.com/en-us/library/cc243950.aspx). TopCoder will architect and assemble a pair of gateways that will be responsible for bundling the RPC over HTTP payload and send them using ION-DTN Bundle Protocol.

One gateway is located on the ISS and the other is located on earth. The space gateway will be developed as an HTTP module and the ground gateway as a daemon process. Both run on Linux. The picture bellow presents the technology stack:

This assembly will develop the ground asynchronous HTTP client. You will not code the proxy module, nor any ION-DTN code at this moment.



Final Submission Guidelines

Competition Task Overview

A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:

http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials

Note: Please read the whole Application Design Specification first. All the details not mentioned in this specification are provided in that document.

Scope

This assembly is responsible for implement all new code and changes to existing code shown on "MS-RPC over HTTP Proxy Class Diagram" package: async_client

Implementation details are provided at TCUML documentations.

To develop and test this assembly, you will need:

  • Implement a command line application that will use the provided methods to issue an HTTP(s) request and dump the response to standard out (for debugging purposes)
  • You must test your client with an HTTP(s) server with basic authentication;
    • You can use httpbin.org for such purpose. E.g: http://httpbin.org/basic-auth/httpie/test (user: httpie, password: test) should be enough to test basic authentication request.
  • This client will be used by a module proxy which will, beforehand, request the user and password and embed that in HTTP headers. You should do the same thing, but manually coding the http request in your console application.
  • The assembly is complete if one is able to send and receive a simple HTTP(s) request and receive back a response.

 

  •  You should be able to develop this in a Linux OS without any Amazon VMs, but if needed, you may request a VM by email to romanoTC: romanotc@copilots.topcoder.com.

 

Deliverables

  • Source code and configuration files.
  • Deployment guide to configure and verify the application.
  • Please, note this is a 4-day assembly

 

Technology overview

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30041734