Tomcat Architect
Hierarchy of nested tag representing different components in server.xml.
1 <Server>
2 <Service>
3 <Connector />
4 <Connector />
5 <Engine>
6 <Host>
7 <Context />
8 </Host>
9 </Engine>
10 </Service>
11 </Server>
Deployment structure of tomcat
Internal structure of Engine container.
GLOSSARY
Server: It is not a container, it’s listened by a standalone port.
Listener: performs actions when some defined events occur
Global Naming Resources: define some initial instance created in JNDI way.
JNDI: Java Naming Directory Interface
Service: it isn’t a container, subcomponents are connectors and engine.
Connector: endpoint by which requests are received and responses are returned.
HTTP Connector, meeting HTTP protocol , which handle request pipeline from browser;
AJP Connector, meeting AJP protocol.
Engine: the entry point that processes every request.
Host: configure one more host when cluster deployment is required
Context: represent a web application, a host can deploy one more contexts (web application)
Valve: similar with ‘filter’, it processes common business or print log on processing request pipeline with formatted form. So the instance it works on is only container.
Realm: could be understood as ‘domain or group role’, it restrict access to ‘container’, such as engine, host, context.