Print
Architecture

Introduction

This document briefly describes the Loom server architecture.

Multiple Server Application hosting

Loom hosts one or more server applications at the same time in the same Virtual machine.

Loom layer diagram

Shown above are three hosted server applications.

  • A Mail server - such as Apache James - that would implement multiple listeners for incoming and outgoing services (POP3, SMTP, IMAP etc). Outlook, Eudora and other mail clients would be able to connect to the server.
  • A Web server - such as Tomcat or Jetty - that would respond to HTTP/HTTPS requests from similar standards based clients and be able to host it's own applications (web-apps and virtual websites).
  • A Beans server - in which we can include EJB servers - which communicate to remote clients via RMI/AltRMI.

Packaging of a Server Application

Loom applications are distributed in a single Server Archive (SAR) file, which is a jar file with a special SAR-INF directory, containing the libraries and the XML configuration files. The key features of a sar file are:

  • The server application is entirely contained within one sar file.
  • Blocks may be packaged in one or more jar files.
  • The jar files - along with any other libraries upon which the application depends - are placed within the SAR-INF/lib directory.
  • The assembly.xml, config.xml and environment.xml configuration files contained in the root SAR-INF directory.

Loom provides an Ant task and a Maven plugin for creating sar files.

Powered by Atlassian Confluence