[Download] | [Documentation Index] | [Release Note]
This document provides a brief overview of the Architecture of WSO2 AppServer. First we will go through the components which provides different functionalities. Then we'll have a look at some common use case flows within the AppServer Architecture.
WSO2 AppServer is a lightweight, high performant and integrated Web services middleware platform. For it's Web services related functionalities, AppServer uses components from Apache WS-* stack. Apache Axis2 is the heart of AppServer SOAP processing engine and other components like Rampart, Sandesha2, Neethi etc. provides the other WS-* capabilities.
Figure: WSO2 Application Server Architecture
As shown in the above figure, Apache Axis2 Kernel sits in the middle as the SOAP processing engine and integrates all the WS-* components together. Following are the additional modules which provide extended functionalities.
WSO2 AppServer supports number of transports through which the clients can send requests. As listed in the above figure, 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 API's provided by Axis2.
When it comes to deploying Web services, AppServer supports deploying different types of services. Service type depends on the way the service is developed. However, finally all services will be deployed within the Axis2 engine and all features are available for all service types.
The WSO2 Governance Registry is something inherited from the Carbon platform. It acts as the metadata repository for the deployed services. In addition to that, users can use it for governance features as well.
In the standalone mode, WSO2 AppServer runs on top of an Embedded Tomcat instance. This is from where it inherits the Webapp deployment capabilities. In addition to that, AppServer can be deployed on other Application servers (as a Webapp) like WebSphere, WebLogic and Jboss as well.
Figure: Common Use Cases
Above figure shows some use cases for WSO2 AppServer. WebApp clients can call Web applications deployed inside AppServer through Tomcat transports (HTTP/S). When it comes to Web service invocations, clients can invoke services through number of transports which are listed above. And also services can be of different types as described above. AppServer management console can be used to deploy, configure, manage and monitor all kinds of artifacts which are deployed in the server.