What is the correct pattern to provide client-server backward compatibility? -


i'm developing client-server application , can't force users not use older versions of client, or other clients, since protocol webdav.

what need support of them, kind of backward compatibility, server side behave different way, depending on client version working with.

my question how prepare application situation, before facing it. need use design pattern? how design backward compatibility?

if create proper api (facade design pattern) server, you'd make life easier in future.

suppose server provides api consists of services a, b & c. these services implemented in business logic layer. access these services clients through facade, no direct access. facade (version 1) exposes a, b & c. no big deal far...

now suppose need add service d, remove service b, , change service c. create new facade (version 2), exposes services a, d , updated c. in business layer add logic service d, mark b "obsolete", , change in c, depends if change backward compatible. if yes it's easy, add overload. if service c works different, implement new service. though there changes break old clients...

the facade web service (my preferred solution in cases), , has no business logic of it's own, responsibility delegate call client approproate service.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -