Analyzed one web-server.

  • for the http request I got: apache 2.2... what redirects to https, and
  • for https got apache-coyote 1.1.
  • and the server runs XWiki java app.

Trying to understand how it is implemented. After googling an hour trying to find any simple page what explaining java technologies for a java dumb person - giving up - and trying to ask here.

I'm mostly using Poet / Mason / Starman (PSGI) for my needs, so trying to find equivalent perlish terms.

So, from Wikipedia (shortened):


Tomcat is an open source web server and servlet container ... Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications ..., and provides a "pure Java" HTTP web server environment for Java code to run in.

Tomcat's components: Catalina, Coyote, Jasper.

Coyote is Tomcat's HTTP Connector component ... for the web server or application container. Coyote listens for incoming connections on a specific TCP port on the server and forwards the request to the Tomcat Engine to process the request and send back a response to the requesting client. It can execute JSP's and Servlets.


Jasper is Tomcat's JSP Engine. Jasper parses JSP files to compile them into Java code as servlets (that can be handled by Catalina). At runtime, Jasper detects changes to JSP files and recompiles them.


Catalina is Tomcat's servlet container. Catalina implements Sun Microsystems' specifications for servlet and JavaServer Pages (JSP).

So, in comparison with Poet/Mason application:

  • The Mason == Jasper - it compiles my .mc and .mi files to pure Perl/Moose code and manage my Mason app.
  • Catalina is the app.psgi. Is is my "container" for Mason application and, it implements configuration and many other things for the Mason app and it is based on
  • the PSGI specification (something like Java Servlet specification) what defines the middlewares and how to write PSGI apps and so on...
  • and the Coyot is like Starman or plackup - a PSGI compatible web server written in pure Perl, what allows for Perl apps to run in.

and the whole things together: Tomcat = deployment of my "Starman/Poet/Mason".

It is plus-minus right or I completely misunderstand the java buzzwords? If I'm wrong, please correct me in simple perlish terms. :)

So, the server on the top of question is like:

  • on the port:80 runs apache - what redirects to
  • 443 - what runs like plackup
  • in what is runs the xwiki (like my Perl application)

Is it more or less correct?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.