This course will be a hands-on learn-by-building introduction to two distinct bodies of knowledge:
The course will use the development of a web-based workflow engine to motivate learning framework-based web application development, and the application development to deepen understanding of the issues in workflow support.
Programming in Java will be involved, as well as papers and presentations.
This course requires CS 311 (data structures), some HTML knowledge, and Java experience.
This book got the best reviews of several books on Struts. It assumes you know Java. It also helps to know how web applications work, but we'll cover that in class.
To quote the Jakarta Struts web page:
The goal of [Jakarta Struts] is to provide an open source framework for building Java web applications.
The core of the Struts framework is a flexible control layer based on standard technologies like Java Servlets, JavaBeans, ResourceBundles, and XML, as well as various Jakarta Commons packages. Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm.
Struts is one of a number of such frameworks. Most serious web application development is done using some framework to control complexity and ensure best practices.
Workflow systems monitor and support multi-step business processes. A workflow system lets someone define the steps involved in some process, such as someone ordering equipment in a company, a student applying to a university, an employee requesting a leave of absence, and so on.
For example, when ordering equipment:
Associated with these steps are actions that the computer can do to track the process and move it along. For example, the system can provide a web interface for the form, can send the emails to the accounting office and manager when a form is submitted, can send emails to the purchasing office when the order is approved, and can send confirmation emails to everyone involved when the order is sent.
Furthermore, the system can also provide interfaces so that the employee, manager and so on can check on the status of the order. The employee can see, for example, if an order is still waiting to be approved by the manager or is waiting to be processed by purchasing.
The key issues in workflow and process modelling that we'll explore include: