Prepare the WS Picking application for production use by addressing security certificates, server hardening, secure logging, database integration, networking resilience, and workflow modifications.
Security Certificates
The demonstration package uses a built-in self-signed certificate that bypasses proper security protocol. Before deploying the application to production, replace this certificate.
Obtain a proper security certificate signed by a trusted certificate authority (CA).
Ensure the certificate points to the server's verifiable hostname.
Server Hardening
Add security layers to protect the server from common attack vectors before production deployment.
Implement Distributed Denial of Service (DDoS) attack mitigation.
Add login credential attack protections, such as defenses against brute-force and credential-stuffing attacks.
Secure Logging and Error Handling
This debug version captures sensitive data (such as order objects and server errors) within its failure logs to assist with testing. When building your production application, remove these logs and implement production-ready error handling.
Database Integration
Most companies already have databases containing business data, including user accounts, product details, and orders. You can adapt the WS Picking application to work with existing systems by:
Adjusting the client app to work with existing systems instead of this server component, assuming suitable APIs exist.
Adjusting the server component to interface with an existing data back end. Differences in the available data fields require corresponding changes to the code.
The application uses an SQLite database, which is not production-ready. For example, SQLite stores all data in a single file. However, the code uses generic database access libraries, so you can modify it to work with a different database engine.
Networking Resilience
Make the client resilient to networking issues common in warehouse environments:
Prevent the application from losing updates when the device goes out of network range by configuring it to retry updates when it restores connectivity.
Implement automatic session reestablishment if the connection drops due to a timeout or server reset.
Workflow Modifications
Modify the picking workflow to suit specific operational requirements. Examples of possible modifications include configuring the application to pick multiple orders at a time to multiple bins.