Axis2 uses modular architecture and the advantages associated with it. In general, modular architecture allows any of the components to be upgraded or replaced independently as the requirements or the technologies change. Axis2 consists of a set of core as well as a set of non-core modules. In addition, the Axis2 core system is a pure SOAP-processing system with no JAX-PRC concept burnt into the core. Every message coming into the system has to be transformed into a SOAP message before it is handed over to the core engine. An incoming message can either be a SOAP message or a non-SOAP message (REST, JSON). But at the transport level, it will be converted into a SOAP message.
When Axis2 was designed, the following key rules were incorporated into its architecture. These rules were mainly applied to achieve a highly flexible and extensible SOAP processing engine:
Separation of logic and state to provide stateless processing mechanism. This is because web services are stateless...