Skip to main content

Application Structure

Application​

The Application element is the root element of an NS applicationNS Application (NSApplication). A pre-built software stack that provides common enterprise application functionality such as CRUD, search, authentication, and business process modeling out of the box. model. It groups all Components of the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. and has one or more ApplicationInstances.

Attributes​

  • name: the name of the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution.. See Naming conventions for the casing rule.
  • description: a descriptive text for the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution..
  • shortName: the technical identifier of the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution., used to establish technical references, such as database schemas or URL paths. For example, a short name of carRental generates a database named CARRENTAL.
  • version: the version of the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. model.
  • components: the components that are part of the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution., each referenced by name. This includes both your own components and any Base Components used by the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution..

File location​

Each applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. has its own subdirectory under applications/ in the project workspace. That applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. subdirectory contains a model directory with:

  • the main Application XML file, named after the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. and its version;
  • an instances subdirectory with one XML file per ApplicationInstance.
project
├── conf
└── applications
└── carRental
└── model
├── carRental-1.0.0.xml
└── instances
└── carRental_development.xml

A workspace can contain more than one applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. directory.

Example​

applications/carRental/model/carRental-1.0.0.xml
<application name="CarRental">
<description>Car rental application</description>
<shortName>carRental</shortName>
<version>1.0.0</version>
<components>
<component name="invoicing"/>
<component name="rental"/>
</components>
</application>

ApplicationInstance​

An ApplicationInstance describes the target technologies that build and run your applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution..

An NS applicationNS Application (NSApplication). A pre-built software stack that provides common enterprise application functionality such as CRUD, search, authentication, and business process modeling out of the box. splits functionality across multiple layersLayerLogical separation of functionality within a single system/application, focused on code organization., such as persistence, user interface, and business rules. Each layerLayerLogical separation of functionality within a single system/application, focused on code organization. can be implemented in one or more chosen technologies.

Managing Multiple Instances

You can create multiple instances with different technology stacks. This flexibility is useful if your technology choice depends on your deployment target or if you need to support various environments. For example, an applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. deployed to a production customer environment might require proprietary technologies that you cannot run on a local development machine.