Skip to content
regunathb edited this page Sep 24, 2012 · 4 revisions

Welcome to the Trooper design page. The design philosophy and approach is described here.

Why Trooper?

Many of us like POJO based application development. The reasons for this are many. The Spring framework made this possible by providing the simple-but-powerful ApplicationContext. The application decides what this is made up of though. Trooper tries to take this a step ahead by creating an application runtime. An application runtime is of a specific type defined by its profile. Trooper provides the following profiles:

  • Basic profile - A runtime with features to control life cycle of all managed ApplicationContext instances with some administration support thrown in.
  • Service profile - A runtime built on Basic profile that aids implementation of business functionality as services.
  • Orchestration profile - A runtime built on Service profile that permits work chaining and distribution across nodes.
  • Batch profile - A runtime built on Basic profile that is suited for writing batch applications

Application developers may choose a profile suited for the app being built and leverage the various Trooper projects and API that integrate seamlessly with the runtime profiles.

Trooper is not a Java module system like OSGi but provides simpler implementation of patterns and principles for building apps. It hopes to address the most common needs of custom-built application runtime containers.

High level design for Trooper

Trooper Design