CAS3 object model

What is the object model in CAS 3? What have we got here, really?

Modules

3 logical MODULES (domain-driven design talk. They're organized in separate Java packages): "authentication", "ticket", and "remoting".

Ticket module

See above link.

Authentication module

See above link.

Remoting module

The "remoting" package (work in progress) is the RPC "endpoint" of the CAS server for the outside world. Currently contains CasService and JaxRpc impl.

Web module

One thing that has to happen at the web layer is the examination of HttpServletRequests representing requests for authentication and extracting from them the information that is relevant.

Wiring it up to the world

The "web" package is the HTTP "endpoint" of the CAS server for the outside world (similar to the current CAS Servlets?) Implemented as various Spring web controllers.

Implementing it

The "util" package contains various helpers i.e. PasswordTranslator, UniqueTicketIdGenerator, RegistryCleaner, etc.