All the examples in the hands-on section of the book have
been coded in a frozen version of the
Appia protocol composition and execution framework.
We encourage you to experiment with the simplified
version, that you can download using the links below, before you move to the
latest
Appia distribution.
Please note that
Appia is an on-going project. It is
likely that the latest release of
Appia will include changes with regard to the
simplified version frozen here.
Download
hands-on code (with sources).
Download Appia (classes)
Moving to the most current Appia release
The code produced for this book, and provided in these pages, was
implemented using the 2.0 version of
Appia.
The
Appia system is an on-going project. The 2.1 version introduced
new features mainly, in the protocols distributed within the
Appia release. When you are done with all the
hand-on exercises, if you
decide to use the most recent distributions of
Appia, there is a change that you will
immediately notice: the extinction of the ExtendedMessage
class. All functionallity previously offered by the
ExtendedMessage class (package appia.protocols.group) was moved to the
Message class (package appia.message), therefore if you intend on
using the newer version remember to use only the Message class. For
instance, instead of "ExtendedMessage.pushString(...)" use
"Message.pushString(...)".
The latest version of
Appia at the time of this writing is 4.1.x. Appia is now hosted at SourceForge (please check the Appia page for latest results). Due to this change, the packages of almost all Appia classes have changed, by prefixing their names with "net.sf.*". For instance package "demo" became "net.sf.appia.demo". Also the classes previously in the "appia" package are now in the "net.sf.appia.core" package. Besides these package name changes, version 4.x only introduces some bug fixes, mainly in the protocols distributed within the release. So if you intend on trying out the latest version you only have to be aware of the new package names because the behavior and interfaces remain the same.