Distribued Computing Week 8

Please go through the requirements and let me know if you can handle this in the next 24 hours. 

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

PURPOSE OF ASSIGNMENT

In this coding assignment, you will implement a prototype distributed payment processing system based on the designs you have created in the previous weeks.

PAYMENT PROCESSING SYSTEM DESCRIPTION

Have you ever stopped to consider what happens when you’re shopping online? In between entering your credit card information and the money getting charged to your account is a very complex set of interactions. During this class, we will explore a simplified payment processing system that does exactly this. We’ll create a design for it and provide sample implementations for some of the components. 

Let’s take a look at some of the details of a payment processing system. 

FORMS OF PAYMENT

To keep this simple we’ll assume that we only accept credit cards for payment.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

FRONTEND

The happy shopper needs some way to enter their payment details.

ONLINE STORE

The storefront needs an interface to the processing system where they can enter the shoppers’ details, get confirmation that they can charge the card, and collect the money afterwards.

CREDIT CARD PAYMENTS

Paying by credit card, whether online or in a physical shop, follows a two-step process

When your card is first run, it performs an “authorization”. This authorization takes the credit card details and the amount requested and sends them to the credit card company. The company then looks up the card and verifies whether or not the payment will succeed. A status code (OK or some kind of error code) is returned, along with an authorization code if the status is OK. 

Later on (e.g. once an hour, once a day) all of these authorizations are collected up into a single batch and sent as “payment requests” to the credit card company. A payment request contains the same information as the initial authorization along with the authorization code that was returned. The credit card company will respond with statuses for each payment request and all the money for those requests that succeeded is transferred into the store’s bank account.

PAYMENT PROCESSING SYSTEM

The system needs to implement credit card processing as described above. 

CREDIT CARD COMPANY

We shall assume we use a single credit card processor and that processor provides us with an interface for performing authorizations in real time and batch payment requests.

ASSIGNMENT INSTRUCTIONS

The system you implement should have the following pieces:

The Client

This will be the web browser. Create a simple web page called “payment.html”. You can use the “form.html” page as a starting point to create a form. The payment.html page should prompt the user to enter their credit card information (do not enter real data here!) and it should submit it to the payment server with the path “/make-payment” as a POST request.

The UI Server

The UI Server should simply be a web server that accepts requests with the /make-payment path and processes them. To do this it should call the processing server using a JSON string. It should then return success or failure to the client based on the response from the processing server.

The Processing Server

This server can have any form you want (including being an HTTP server as we’ve discussed). It should accept a JSON string with credit card information and decide whether it wants to accept it as payment or not, and respond to the UI server accordingly. If you wanted to get more interesting you could keep track of payments for each card and include a maximum total spend or something of that form.

Please keep focused on the goal of this assignment, which is to gain experience in the principles of distributed systems, rather than creating something perfect.

You must submit a zip file containing all of your source code (no executable code) and a 1,000-2,000 word write-up that describes your design and implementation, clearly explains how to run it, and covers problems you encountered and their solutions.

When you complete the assignment, please share your Assignment Experience in this 

anonymous survey (Links to an external site.)

.

Assignment Focus

Assignment Focus

The implementation, as we’ve discussed all term, is focused on the merchant’s system. After all, the user will need to already have a UI device or application to connect to the Merchant’s site; and the Merchant will need to connect to already-existing systems with already-existing interfaces.

Therefore, please interpret the UI server as the Merchant’s web server front end; and please interpret the Processing Server as the Merchant’ssubsystem that connects to the external credit card processing system to request approvals and batch settlements.

You are welcome to use our external processing service or modify it if you wish. You can also place that service inside the Merchant’s subsystem if you segregate and mark it with an appropriate comment.

The details of this external credit card processing system are not of primary importance.

It is important to deal with customer input; form a request for authorization; and capture or report the transaction. Information may be exchanged between the merchant system and the credit card processor using JSON or XML. 

The focus of the “more interesting” part is the focus on the next use case, that of the Settlement phase.

As the assignment instructions caution, “Please keep focused on the goal of this assignment, which is to gain experience in the principles of distributed systems, rather than creating something perfect.”

FORMATTING AND STYLE REQUIREMENTS

1.

Submissions should be between 1,000 words and 2,000 words in length.

1. Refer to the 

UCOL Format and Style Requirements (Links to an external site.)

 on the Course Homepage, and be sure to properly cite your sources using 

Turabian Author-Date style citations (Links to an external site.)

.

1.
1.
1.
1.
1.
1.
1.

Rubric

Writing Rubric

Writing Rubric

Criteria

Ratings

Pts

This criterion is linked to a Learning OutcomeAnswers the Question

Demonstrates an understanding of the requirements and purpose of the assignment, and addresses the topics specified at the appropriate level of detail.

40.0 pts

This criterion is linked to a Learning OutcomeConcepts and Content

Uses relevant content, including external sources if appropriate, to illustrate mastery of key ideas. The material submitted forms a complete document that addresses the assignment’s focus.

80.0 pts

This criterion is linked to a Learning OutcomeGrammar, Mechanics, and Style

Engaging and consistent style and voice, nearly free of errors in grammar, spelling and mechanics, and adheres to University College format and style requirements, including Turabian Author-Date citation style.

20.0 pts

Total Points: 140.0

Calculate your order
Pages (275 words)
Standard price: $0.00
Client Reviews
4.9
Sitejabber
4.6
Trustpilot
4.8
Our Guarantees
100% Confidentiality
Information about customers is confidential and never disclosed to third parties.
Original Writing
We complete all papers from scratch. You can get a plagiarism report.
Timely Delivery
No missed deadlines – 97% of assignments are completed in time.
Money Back
If you're confident that a writer didn't follow your order details, ask for a refund.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Power up Your Academic Success with the
Team of Professionals. We’ve Got Your Back.
Power up Your Study Success with Experts We’ve Got Your Back.

Order your essay today and save 30% with the discount code ESSAYHELP