Information Technology Reference
In-Depth Information
invokeMethod() method of the RPCHandler of Apache Axis, which in turn is
in charge of invoking the concrete implementation of the web service. In Listing
1.2, the pointcut (line 1 - 5) and the advice (line 7 - 13) of the AspectProvider
is shown. The AspectProvider is integrated into the handler chain of Apache
Axis. Request/response aspects are applied in the order in which they were
woven. A more sophisticated management strategy is subject to future work.
The implementation as an AspectJ aspect circumvents the modification of the
configuration of Axis (e.g., deploying a specific aspect deployment handler into
each service) and potentially allows us to use this code within other middlewares
supporting web services, such as JBoss or Spring.
pointcut invokeMethod( MessageContext msgC,Method method,
Object obj,Object[] args) : call(
protected Object RPCProvider.invokeMethod(
2
MessageContext ,Method,Object,Object[]) throws Exception)
&& args(msgContext, method, obj, argValues);
4
6
Object around(MessageContext msgC,Method method,Object obj,
Object[] args) throws Exception :
invokeMethod(msgC,method,obj,args) {
8
handleRequest(argValues ,method,msgC);
Object response = (method.invoke(obj, args));
10
return handleResponse(response ,method,msgC);
12
}
Listing 1.2. AspectProvider
4.4 Security Manager
The security manager mentioned in Section 3.1 uses a public key infrastructure
based on the X.509[9] standard in order to authenticate users who call the aspect
configurator. If an authorized user tries to deploy an aspect, the signature of the
aspect is validated, and it is only deployed into the system if the validation is
successful. Otherwise, the call fails and no aspect is deployed.
4.5 Aspect Invocation Handler
To facilitate the use of request/response aspects during service orchestration,
a custom invocation handler of the ActiveBPEL engine is called each time a
web service is called within a BPEL process. The weaving of aspects is initi-
ated by the Aspect-InvokeHandler (AIH). The AIH includes all the client-side
functionality described in Section 3 and is called every time the workflow en-
gine performs a web service invocation. In order to register and use the AIH,
an extension mechanism provided by the workflow engine itself is utilized. Thus,
a modification of the implementation of the workflow engine is not necessary.
When the AIH is called, it checks whether the actual web service should use an
 
Search WWH ::




Custom Search