Apache Cocoon is a Web development framework built around the concepts of separation of concerns and component-based Web development. Cocoon implements these concepts around the notion of "component pipelines", each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego(tm)-like approach in building Web solutions, hooking together components into pipelines without any required programming.
When building server side applications for the Web, independently of the language used (Java, PHP, Perl, etc), a lot of time is spent writing embedded HTML code and dealing with the fact that HTTP is a stateless protocol. SPFC allows you to write HTML forms like you write a Java GUI.
The goal of the Apache Tomcat Project is to provide commercial-quality server solutions based on the Java Platform that are developed in an open and cooperative fashion. Tomcat 3.x is an implementation of the Java Servlet 2.2 and JavaServer Pages 1.1 Specifications. Tomcat 4.x is an implementation of the Java Servlet 2.3 and JavaServer Pages 1.2 Specifications, and is a re-implementation of the Tomcat servlet engine from the ground up. The current branch, Tomcat 5.x, is an implementation of the Java Servlet 2.4 and JavaServer Pages 2.0 specifications, with increased attention to scalability, reliability, and management functionality.
Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code. When Velocity is used for Web development, Web designers can work in parallel with Java programmers to develop Web sites according to the Model-View-Controller (MVC) model, meaning that Web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the Web pages, making the web site more maintainable over the long run and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity also provides template services for the Turbine Web application framework, making a template service that allows Web applications to be developed according to a true MVC model.
WSIF (the "Web Services Invocation Framework") is a WSDL-based API for invoking WSDL-described services. WSIF developers interact with Web Services at the abstract level through their WSDL descriptions. This is done independently of APIs specific to a message format or network protocol (eg SOAP APIs). With WSIF, developers work with the same programming model regardless of how the Web service is implemented and accessed.