SOA Versioning??”Don't Touch the
Anti-Pattern
Let us consider a typical web service method such as the following:
public String transferFund(String fromAccount, String toAccount,
double amount);
Here, the method will transfer the fund from one account to another. Let us assume
that one fine day we want to change the service to accept one more extra parameter,
like the one shown in the following code:
Public String transferFund(String fromAccount, String toAccount,
double amount, String transactionPassword);
Now, here are a set of questions for the reader. We may or may not answer all these
questions but at least agree that we identify the possible caveats to our traditional
thinking! The following are the questions for the readers to think over.
1. Do we need to version services or operations?
The first question in SOA is whether transferFund is a service or an
operation. We need to appreciate that a web service is described by a WSDL
and a WSDL can contain multiple operations defined in the portType. If so,
when transferFund needs to include one more parameter in the request, has
the version of the operation changed or the version of the service changed?
2.
Pages:
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363