WSIT milestone 2

WSIT just reached milestone 2. While there haven't been many visible changes in WS-Policy we have been busy extending the implementation under the hood. Most of the work has gone into resolving policy references, unmarshalling assertion parameters, and JUnit tests.

Policy references are now resolved across document boundaries. Policy references are only resolved after all policies have been parsed. Policies that are referenced by another policy are included in that policy, i.e. the policy client will only see complete policies and does not have to follow any references.

Our original implementation had been a little too eager when unmarshalling policy assertions. It would take any unknown XML element, including the ones nested into another XML element, and instantiate a PolicyAssertion object for it. We found that with the existing policies that actually worked very well. However, that approach does not really match the concept of WS-Policy assertion parameters. The current implementation is trying to combine the best of both worlds. We retained the PolicyAssertion objects as a facade to all XML elements. And internally, the policy unmarshaller is distinguishing between real policy assertions and assertion parameters.

We have put a lot of effort into bringing a complete set of JUnit unit tests online. All the code we are writing is accompanied by unit tests. We spent some time looking into whether we would use JUnit 3, JUnit 4 or TestNG. As much as I personally like TestNG, we finally decided to stick with JUnit 3. JUnit is fully integrated into NetBeans and if you are writing XP-style unit tests, the additional features of JUnit 4 and TestNG don't really buy you much.

We have already been focusing on the features for the next milestone for a while. On the trunk, you will already find code that fully supports wsdl:import in the WSIT configuration files. (We have previously only been supporting wsdl:import when parsing the WSDL of a service.) That new support allows us to configure multiple clients with one configuration file. That is a necessity when clients share the same classpath as we can load only one configuration file from the class path. Another piece of code that already found its way onto the trunk is a clean SPI to translate WSDL extensions into policies and vice versa.

Technorati: WSIT Interoperability Web Services Open Source WCF Indigo
Comments:

Post a Comment:
Comments are closed for this entry.
About

ritzmann

Search

Categories
Archives
« April 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today