No description or website provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

client driven workflows

Java/Spring example project for the concepts presented in Scalability through client-driven workflows.

The example code is a Java web application which demonstrates a simple expense claim form and consists of:

  • HRService which authenticates users by email and password and returns a digitally signed document with the users credentials
  • ERPService which accepts user credentials issued by HRService and returns a digitally signed document with the cost centers the user can charge expenses to
  • PayrollService which accepts an expense claim with the user credentials and cost center as an attachment and returns a digitally signed document which contains the expense claim receipt
  • a Spring aspect called DocumentSigningAspec which decorates the three aforementioned services and validates that all arguments passed to them have valid signatures. It furthermore signs documents which the services return. All services expose REST APIs.

The code is meant to run with the provided unit tests and not as a stand alone application in a servlet container.