System Architecture
The Capability
generator targets 9 different types of software components (jar and war files):
Component Type | Description | File Type |
---|---|---|
Web Application | A component that represents a web application and can be deployed in a JEE application server. A web application contains exactly one common web fragment and one or more ui web fragments. The generator JSF Application writes code for this component. |
.war |
Web Fragment | A component that contains web pages and calls to web services This component is packaged as a JEE web fragment. The generator JSF Web-Fragment writes code for this component. |
.jar |
Web Fragment Interfaces | A component that contains interfaces, enumerations and helper classes. This component is packaged as simple jar file and doesn’t have any dependencies to other web fragment or web fragment interface components. Its purpose is to avoid circular dependencies when a web application contains several web fragment components. The generator JSF Web-Fragment writes code for this component. |
.jar |
JAXRS Application | A component that … | .war |
Logic | A component that … | .jar |
Persistence | A component that reads/writes data from/to a relational database | .jar |
JAXB Interface | A component that can be used as part of a service client lib to make it easier to use the capabilitiy’s webservices. | .jar |
JAXB Internal | A component that includes classes that are used by other components that are only used internally, e.g. an enumeration that is used in the persistence layer only. | .jar |
Clients | A component that encapsulates implementations to access remote services (unless a remote service already provides client libs). This includes messaging systems (publish/subscribe). | .jar |
The following picture shows these components and how they depend on each other: