This code example shows how Crystal can retrieve data from an AppServer, reusing the existing business logic and security, just like the OpenEdge Reference Architecture prescribes. A java interface is used, which limits the functionality slightly (to use temp tables instead of ProDataSets), but the concept works well. The idea is that the back-end ABL logic accepts a couple of parameters, runs one or more procedures, and then returns a result set in the format of a temp table.