Advanced Customization > Info*Engine User’s Guide > Info*Engine Tasks > About Info*Engine Tasks and Task Rules
  
About Info*Engine Tasks and Task Rules
Info*Engine text-based documents are called “standalone tasks,” and can control the retrieval and manipulation of data within your Info*Engine environment. Instead of using a custom Java application or JSP pages to perform all operations on the data (including retrieving and displaying your data), you can separate out the data retrieval and manipulation operations from the display operations using tasks.
One of the advantages of using tasks is that you can organize your code so that data operations can be done once and then used many times. The Info*Engine task compiler parses Info*Engine tasks and produces executable Java classes from them. This improves the performance of executing Info*Engine tasks by eliminating the need to parse and interpret a task each time it is called. It also facilitates embedding Info*Engine tasks in standalone Java applications and JSP pages.
The task compiler produces the executable Java classes in three basic steps:
1. It parses the source of a task and generates Java source code that implements the task.
2. It calls a Java compiler to produce an executable class from the generated Java source.
3. It calls a class loader to load and instantiate the classes produced by the Java compiler.
As a performance optimization, the task compiler retains compiled classes in a cache and avoids the first two steps whenever it can determine that a cached class is up to date. A cached class is discarded and regenerated whenever the compiler discovers that the task has been updated since the last time that the task was compiled.
* 
Due to the upgrade to the latest JSP specification, JSPs using Info*Engine substitution syntax can no longer use the ${...} syntax. Info*Engine now supports an alternate syntax, $(...) that must be used instead.
All Info*Engine tasks function with either syntax of $(...) or ${...}. Preexisting tasks continue to function as is and do not have to be changed.
Preexisting JSPs must be updated to use the new $(...) syntax or they fail to compile and do not function as expected.