The Profile Server system is implemented as a set of Java Servlets, with a variety of language-specific interfaces to provide access to web application.
Major components and sub components of the system include:
- Profile Server The main server product
- Datamodel The structure for holding data, organized according to function. This structure is also the organization of the web-services API.
- Publisher Controller for publishing information in a variety of formats, like XML, FOAF, vCard, and others.
- OpenID producer and consumer.
- Profile Editor Web Application
The major libraries that are used include:
- [Juniper] A web front-controller, like Ruby on Rails or Struts
- NOS-RMI A very adaptable Remote Method Invocation system
- ZeroSchema A database manager that makes it easy to store objects in a database without having to alter the database schema.
Servlet applications that provide support to the Profile Server and Profile Editor:
- [Taskmaster Servlet] Runs the Quartz scheduler to perform tasks
- [Email Servlet] A Set of servlets that send, receive and track email.
- [JMSGateway Servlet] Allows [Juniper] targets to be invoked from JMS messages.