I have done some work with SOAP services dealing with complex types and I
think I have a pattern.
When one has to move beyond the add two numbers example, there is a need to
balance between creating a bunch of unrelated RPC calls (easy) and taking a
more OO approach (harder). Ideally, I would like to create proxy objects
with full processing capabilities that would shield the application from the
notion that it is working remotely.
Every time I have to deal with classes, say a SubscriptionManager (that
manages Users, Services and so on), I find myself with

1) server classes that basically have only methods (i.e. stateless or a
bunch of RPC callls), that use complex types from the common library as
parameters
2) common classes that basically have only properties (that end in the types
section of WSDL) and methods that call the SOAP services from a client
perspective passing objects of the common library (adding their own ID so
that the server knows wich object it has to treat).
3) client classes that use common objects

Do you think this is rightfully a pattern, or is it just that I did not
tackle the problem from the right perspective?
If there really is such a pattern, it would be nice to explain it well in
order to save a lot of time to other fellows.
If you think I have been too short please tell me, I will try to elaborate
the idea a little more.
One side effect is that there is always a JAR or DLL to distribute: the
common classes.

Reply via email to