This section provides a process view of OrderFlow's architecture.
Processing is invoked by one of the following events:
- User activity on one of the user interfaces.
- Client activity on one of the application programming interfaces (APIs).
- Internal schedule firing.
The user/client activity will result in HTTPS request/response interaction, which, using Java Servlet Sessions, can handle multiple users and requests simultaneously. The service layer of OrderFlow is designed to be thread-safe, so each user request will only have access to data (in memory) for that request.
Additionally, the underlying database technology (via a database connection pool) allows concurrent, thread-safe data access.
Processing may result in one or more of the following events:
- Database CRUD operation.
- API request on remote web service.
- File system read or write.
- File sent to FTP server.
- Email sent to SMTP server.
- Response to original request, if applicable.
The following diagram shows the process flows in OrderFlow.