Apache Pluto was developed in order to be fully compliant with both versions of the Java portlet specifications. Apache Pluto is basically a portlet container which provides a runtime environment for any portlets. However, this is made according to the Portlet API. Apache Pluto is a not a standalone container, it just provides a thin layer located on top of the servlet container and reuses the functionality provided by the servlet container. On top of that, Apache Pluto server as a portlet container for multiple portals, such as Apache Jetspeed. Moreover, Apache Pluto fully implements the portlet API specifications, thus offering developers a unique example platform from where they can test their portlets. However, in contrast to other servlets, portlets can't perform actions like forwarding requests, sending redirects to browsers or writing arbitrary markup to the output stream. Apache Pluto is developed using the Java programming language and can be run on Mac OS X, Windows and Linux platforms.