CDK Global: Cloud Printing  for Remote Customer Sites Across the Globe

Name: Dianna Chourarath
Affiliation: CDK Global
Phone: 503-708-5381
Knowledge Required: Javascript, Node.js programming and knowledge of operating systems preferred.
Knowledge of API’s and database (DynamoDB, MongoDB, Aurora, or MySQL) development, AWS S3 cloud storage, EC2 containers, python and networking a plus.
We highly value problem solvers and quick learners.
Motivation: As a software company, we are constantly looking for ways to reduce cost and improve application performance and experience. Our future direction is to move away from a client-server architecture to a multi-tenant SAAS cloud based service.
Description: Have you ever struggled to get your printer to work over a WAN? How about over 65,000 printers? We would like your help with developing a cloud printing service application as well as other potential tools to simplify the installation, configuration and troubleshooting of printers. This is our model at over 27,000 client locations across the globe. Help us create a new service that is firewall friendly, and helps reduce the cost of WAN and networking equipment.
By joining our team, you will be exposed to:
• Linux platform (CentOS, Bash, Python).
• Web platform (JavaScript, PHP, Node.js).
• Networking (TCP, HTTPS).
• Database architecture.
Printing (Spoolers, Form Queues).
Objectives: 1. Create an API (JSON) based service, that receives a PDF file and target printer information from an application. (Written in Node.js)
2. Stores the PDF in a temporary location. Makes the PDF file available for download over HTTPS.
3. Notifies a linux based client application (appliance) over a messaging protocol (XMPP, Jabber, RabbitMQ, AWS SQS) that a print job is waiting. (Written in Python)
4. Local client retrieves PDF and spools to a local printer.
5. Client notifies cloud service print job has completed.
6. Cloud service deletes file from storage after success (if not flagged for archive).
Deliverables: 1. A proof-of-concept cloud service, with the objectives listed above (1,2,3,6).
2. A proof-of-concept client application, with the objectives listed above (4,5).
3. Cloud service logging of all transactions in a database.
Note – Security, configuration and UI is not required as a deliverable. This will be used as a basic framework for further development at a later time.
The entire Amazon AWS ecosystem may be used for all objectives.
Other comments: Name: James Griffin
Affiliation: CDK Global
Phone Number: 503-402-3826

   D. Kevin McGrath
   Last modified: Tue Mar 6 10:29:08 2018