The diagram below describes WSO2 Application Server architecture from a messaging perspective.
The diagram shows how a message propagates through a typical WSO2 Application Server implementation but the functionality is not limited to what is depicted here.
The following scheme visually presents the component-based architecture of the WSO2 Application Server.
The WSO2 Application Server is a light-weight, high-performant and integrated Web services middleware platform. For it's Web service related functionalities, it uses components from the Apache WS-* stack. Apache Axis2 is the heart of the WSO2 Application Server's SOAP processing engine. Other components like Rampart, Sandesha2, Neethi etc. provide the other WS-* capabilities.
The WSO2 Application Server supports a number of transports through which the clients can send requests. As listed in the figure above, HTTP/S, JMS, Mail, XMPP and TCP are the main transports that are supported. In addition to that, any transport can be easily plugged in using the APIs provided by Axis2. For more information, see Working with Transports.
In the standalone mode, the WSO2 Application Server runs on top of an embedded Tomcat instance. This is from where it inherits the Web application deployment capabilities. It also supports development and deployment of other types of applications, including JAX-WS and JAX-RS.
The WSO2 Application Server has an in-built registry/repository to store the configuration and configuration metadata. It provides the facility to use a remote repository as well.
The WSO2 Governance Registry is something the WSO2 Application Server inherits from the WSO2 Carbon platform, the component-based platform upon which all WSO2 products are built. WSO2 Governance Registry acts as the metadata repository for the deployed services. In addition to that, users can use it for governance features as well. For more information, see Working with the Registry.
In addition, the Application Server can be deployed on other Application servers (as a Webapp) like WebSphere, WebLogic and Jboss as well.