This documentation is for WSO2 App Factory 1.0.0. View documentation for the latest release.
Skip to end of metadata
Go to start of metadata


WSO2 App Factory supports the development of many types of enterprise applications such as Web apps, JAX-WS Service,  JAX-RS Service, BPEL process, Data Services etc. We work on facilitating all of the commonly-used application types with every new version. In the meantime, if you cannot find a particular application type, you can add it using the <ApplicationType> element in <AF_HOME>/repository/conf/appfactory/appfactory.xml file. It defines maven archetype properties used to generate the project structure.

You can add your own application types into App Factory, provided they are related to the supported types. i.e. Web Applications, JAX-RS, JAX-WS, Jaggery etc.

Sample configuration

Following sample code shows how to add a new application type to App Factory:

<ApplicationType name="war">
	<Property name="ProcessorClassName">org.wso2.carbon.appfactory.utilities.application.type.MavenBasedApplicationTypeProcessor</Property>
	<Property name="DisplayName">Web Application</Property>
	<Property name="Extension">war</Property>
	<Property name="Description">Web Application Archive file</Property>
	<Property name="BuildJobTemplate">maven</Property>
	<Property name="MavenArcheTypeRequest">-DarchetypeGroupId=org.wso2.carbon.appfactory.maven.archetype -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.0.0 -Dversion=SNAPSHOT -DinteractiveMode=false -DarchetypeCatalog=local</Property>
	<Property name="ServerDeploymentPaths">webapps</Property>
	<Property name="Enable">enabled</Property>

The elements of the sample configuration are explained below. You can use this information to edit the file according to your requirements.

XML elements of the sample code

Property NameDescriptionTypeDefault ValueFixed ValuesMandatory/Optional
<ApplicationType name="">

The type of the application archive.

Currently App Factory supports Web Application (war), JAX-RS (jaxrs), JAX-WS (jaxws), WSO2 BPS (bpel), Data Services (dbs) and WSO2 Jaggery (jaggery).

You can specify a type on your own as well, but they should be related to the supported types

<Property name="ProcessorClassName">Class name of application implementation type.    
<Property name="DisplayName">

Display name of application type. This is the name that you will be shown as "Application Type", when you are selecting the application type at the time of Application creation.

<Property name="Extension">

Extension of application archive. App Factory supports the following types and archive names:

Web Application: war

JAX-RS: war

JAX-WS: war

WSO2 BPS: zip

Data Services: dbs

WSO2 Jaggery: war

String war, zip, dbs 
<Property name="Description">Detailed description of application type.String   
<Property name="BuildJobTemplate">

Build job configuration template name for jenkins application build.

<Property name="MavenArcheTypeRequest">Maven Archetype Request for build. Change archive type based on application type.    
<Property name="ServerDeploymentPaths">Server deployment path.    
<Property name="Enable">Define application type is enabled or not.String enabled, disabled 

For information on creating different types of applications, see Creating an Application.

  • No labels