13.07.2015 Views

FIMS Media SOA Framework - AMWA

FIMS Media SOA Framework - AMWA

FIMS Media SOA Framework - AMWA

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>FIMS</strong> <strong>Media</strong> <strong>SOA</strong> <strong>Framework</strong> Phase1 (Preliminary)• Service interfaces and imported schemas [for new versions of the specifications]• Service endpoint information• Service description metadata• Service policies• SLA/M-SLA contracts.The service interfaces and schemas are standardized in this <strong>FIMS</strong> proposal and should not require update if aservice is replaced by one providing the same business functionality with the same version of the interface.However, as <strong>FIMS</strong> specifications evolve, new versions of the interface may be published [see 6.2.4] and mayneed to be updated in the registry. As service versions are superseded by new implementations, which deliverthe same required business capability, the service governance lifecycle should allow specific versions to bedeprecated and, ultimately, retired6.1.4 Backward compatibilityBackward compatibility issues might arise for a variety of scenarios. This version of the specification focus ontwo key scenarios:• There is a new version of the <strong>FIMS</strong> specifications for the service interface.• A service implementation has been modified for adding or removing features (such as operations).6.1.4.1 New Version of the Service InterfaceWeb Services versioning approaches are described in detail in [REF1]. To summarize those findings, there aretwo key approaches to service evolution and versioning:• Compatible evolution: In compatible evolution, designers are expected to limit changes to those thatare either backward or forward compatible, or both. A change is backward compatible when thereceiver behaves correctly if it receives a message in an older version of the interaction language. Achange is forward compatible when the receiver behaves correctly if it receives a message in an newerversion of the interaction language.• Big bang: A change to the WSDL document implies a change to the document's namespace, a changeto the interface implies a new interface namespace and a change to the message contents iscommunicated using a new message namespace.• Combined approach: the approaches above are combined together. For example, the namespace couldbe changed when message descriptions are changed, but the namespace could stay the same whennew operations are added.With a compatible change the service need only support the latest version of a service. A client may continue touse a service adjusting to new version of the interface description at a time of its choosing. With anincompatible change, the client receives a new version of the interface description and is expected to adjust tothe new interface before old interface is terminated. Either the service will need to continue to support bothversions of the interface during the hand over period, or the service and the clients are coordinated to changeat the same time. An alternative is for the client to continue until it encounters an error, at which point it usesthe new version of the interface. There is currently not a standardized or recommended approach, but rather aset of best practices.The current <strong>FIMS</strong> specification recommends the following guidelines, based on current best practices and[REF1]:• Interface documents and schemas shall have a version with a major and minor number.• A compatible change shall be at least backward compatible.• If a change is compatible, the minor number of the version shall change. If a change is incompatible,the major number of the version shall change.Private committee documentWorking Draft for review by <strong>FIMS</strong> Rev v1, Nov-16-2010 Page 15 of 89

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!