The JWIG programming language is a Java-based high-level language for development
of interactive Web services. It contains an advanced session model, a
flexible mechanism for dynamic construction of XML documents, in
particular XHTML, and a powerful API for simplifying use of the HTTP
protocol and many other aspects of Web service programming.
To support program development, JWIG provides a unique suite of highly
specialized program analyses that at compile time verify for a given
program that no runtime errors can occur while building documents or
receiving form input, and that all documents being shown are valid
according to the document type definition for XHTML 1.0.
The main goal of the JWIG project is to simplify development of
complex Web services, compared to alternatives, such as, Servlets,
JSP, ASP, and PHP. JWIG is a descendant of the <bigwig> research language.
JWIG is an extension of the Java programming language with specialized
syntactic constructs for building and showing XHTML documents and
receiving form input. JWIG programmers are therefore assumed to be
familiar with Java and XHTML.
The JWIG 1.2 development system consists of a runtime system based on
the Apache Web server, a compiler, and a program analyzer.
The full source code and documentation is freely available
from the project home page at http://www.brics.dk/JWIG/.
JWIG is being developed at the BRICS research center at University of
Aarhus.
This manual describes JWIG 1.2. In the first sections, we explain how to install
and run the JWIG system. We then go through the JWIG language and API. Finally,
the special JWIG program analyses are described.
In the research paper Extending Java
for High-Level Web Service Development, the motivation and goals for the JWIG
project are more thoroughly described, and, in particular, the program analysis are
explained in full detail.
The online tutorial Interactive
Web Services with Java contains a section that
briefly summarizes the highlights of JWIG.
This present manual aims to provide a concise but complete
reference to the JWIG language and development system.