How the Expression Manager building block works
The Expression Manager building block can be divided into
two modules: server-side expression evaluation and client-side expression
evaluation.
Server-side expression evaluation
The server-side expression evaluation module provides the
capability to evaluate expressions on the server side. This diagram
depicts the overall architecture of this module:
The Expression Evaluator service is the core of the server-side
expression evaluation module. It provides APIs for expression evaluation
and validation. Expressions can be evaluated in single or batch
mode. This component acts as a wrapper to the expression evaluation
library (JSP EL). The actual expression evaluation task is delegated
to the expression library.
Client-side expression evaluation in Flex applications
The client-side expression evaluation module provides the
capability to evaluate expressions in a Flex client application,
without a server roundtrip. To do this, when the expressions are
defined, they are translated into ActionScript® classes. The ActionScript
classes are compiled into a SWF file and saved on the server. When
an expression is evaluated on the client side, the SWF file is loaded
using the Flex expression evaluator (Flex-expeval) client component.
This diagram depicts the overall architecture of the components
required for client-side expression evaluation:
These components are required for client-side expression evaluation:
-
ELToSwfGeneratorService
-
Provides the ability to convert a set of expressions into
a SWF file. The expressions are translated into ActionScript classes
before compiling into the SWF file. The default implementation supports
expressions in JSP EL.
-
Client app (design time):
-
Responsible for invoking the ELToSwfGenerator service for
generating the SWF file containing expressions. The client app (design time)
should keep the generated SWF file in a location that can be accessed
by the client app (run time).
-
Client app (run time):
-
Uses the generated SWF file for evaluating expressions in the
Flex client application. The client application uses the Flex-expeval component
for loading the SWF file and evaluating expressions contained in SWF
file.
-
Flex-expeval component:
-
Provides the ability to load a SWF file into a Flex client
application and to evaluate expressions contained in the SWF file.