Chapter 10. The User Interface
Beauty is a sign of intelligence.
— Andy Warhol
To this point, we’ve focused entirely on elements that cannot be seen. In this chapter we bring everything home by exposing our backend services to the end user.
When it comes to Enterprise Java, we have our fill of options for display technologies. The Java EE Specification provides JavaServer Faces (JSF), a component-based framework for web applications. This approach takes advantage of server-side rendering: that is, the final response returned to the client is created on the server from source templates (typically Facelets).
In general, our requirements remain simply to expose our operations in a human-consumable format.
Use Cases and Requirements
On a high level, we’re looking to allow a user to take advantage of the application’s primary purpose: we’d like to modify the state of our domain objects in a consistent fashion. We can state these:
- As a User I should be able to Add/Change/Delete a Conference
- As a User I should be able to Add/Change/Delete a Session to Conferences
- As a User I should be able to Add/Change/Delete an Attachment to Sessions and Conferences
- As a User I should be able to Add/Change/Delete a Venue (and attach to Conferences ...