Client and server-side technologies

J2EE (wiki)

Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications. Building on the solid foundation of the Standard Edition, Java EE provides web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise-class web applications.

JSP (wiki)

JavaServer Pages (JSP) technology enables Web developers and designers to rapidly develop and easily maintain, information-rich, dynamic Web pages that leverage existing business systems. As part of the Java technology family, JSP technology enables rapid development of Web-based applications that are platform independent. JSP technology separates the user interface from content generation, enabling designers to change the overall page layout without altering the underlying dynamic content.

Servlets (wiki)

Servlets are the Java platform technology of choice for extending and enhancing Web servers. Servlets provide a component-based, platform-independent method for building Web-based applications, without the performance limitations of CGI programs. And unlike proprietary server extension mechanisms (such as the Netscape Server API or Apache modules), servlets are server- and platform-independent. This leaves you free to select a “best of breed” strategy for your servers, platforms, and tools.

AJAX (wiki)

Ajax is a web development technique used for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page’s interactivity, speed, functionality, and usability.

Ajax is a cross-platform technique usable on many different operating systems, computer architectures, and Web browsers as it is based on open standards such as JavaScript and XML, together with open source implementations of other required technologies.

Adobe Flash (wiki)

Adobe Flash technology is used to create content for the web applications, games and movies, and content for mobile phones and other embedded devices. The Flash Player is a client application available in most common web browsers.

Since its introduction in 1996, Flash technology has become a popular method for adding animation and interactivity to web pages; several software products, systems, and devices are able to create or display Flash. Flash is commonly used to create animation, various web-page components, to integrate video into web pages, and more recently, to develop rich internet applications.

Model-view-controller (wiki)

Model-view-controller is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction.

Libraries

Struts (wiki)

Apache Struts is a free open-source framework for creating Java web applications.

Web applications based on JavaServer Pages sometimes commingle database code, page design code, and control flow code. In practice, we find that unless these concerns are separated, larger applications become difficult to maintain. One way to separate concerns in a software application is to use a Model-View-Controller (MVC) architecture. The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code. The Struts framework is designed to help developers create web applications that utilize a MVC architecture.

Apache Tiles

Apache Tiles is a templating framework built to simplify the development of web application user interfaces. Tiles allows authors to define page fragments which can be assembled into a complete page at runtime. These fragments, or tiles, can be used as simple includes in order to reduce the duplication of common page elements or embedded within other tiles to develop a series of reusable templates. These templates streamline the development of a consistent look and feel across an entire application. Tiles

Hibernate (wiki)

Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate allows develop persistent classes following object-oriented idiom – including association, inheritance, polymorphism, composition, and collections.

WebORB

WebORB is a server technology enabling development, deployment and runtime execution of Rich Internet Applications. The product provides universal connectivity between rich clients and server-side applications created with .NET, Java or XML Web Services. Supported client-side technologies include Flex, Flash Remoting and AJAX

DWR (wiki)

DWR is a Java open source library which allows you to write Ajax web sites.

It allows code in a browser to use Java functions running on a web server just as if it was in the browser.

DisplayTag

The display tag library is an open source suite of custom tags that provide high-level web presentation patterns which will work in an MVC model. The library provides a significant amount of functionality while still being easy to use.

PD4ML

PD4ML is a powerful PDF generating tool that uses HTML and CSS (Cascading Style Sheets) as page layout and content definition format. Written in 100% pure Java, it allows users to easily add PDF generation functionality to end products

FCKEditor

This HTML text editor brings to the web much of the power of desktop editors like MS Word. It’s lightweight and doesn’t require any kind of installation on the client computer.

ANT (wiki)

Apache Ant is a Java-based build tool.

Software

Tomcat (wiki)

Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlets and Java Server Pages technologies. Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License.

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.

MySQL (wiki)

MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. The main goals of MySQL are speed, robustness and ease of use.

MySQL runs on virtually all platforms, including Linux, Unix, and Windows. It is fully multi-threaded, and provides application program interfaces for many programming languages.

MySQL is used in a wide range of applications, including data warehousing, e-commerce, web databases, logging applications and distributed applications. It is also increasingly embedded in third-party software and other technologies.

Apache HTTP server (wiki)

Apache supports an optional module that configures the web server to act as a proxy server. This can be used to forward requests for a particular web application to a Tomcat instance, without having to configure a web connector.