[mapguide-internals] MG Object stream serialization/deserialization

UV uvwild at googlemail.com
Tue Nov 3 18:20:40 EST 2009


I very much support Haris ideas.
Versioning of serialized objects as well as the API calls and DLL 
versions is something that is state-of-the-art in the IT field. Those 
pieces of extra information  help to work efficiently as it helps to 
avoid a number frustrating build & deployment scenarios.

A seperate external text document containing configuration information 
tends to be outdated most of the time and arriving too late.

One issue is the kind of implicit dependency on a certain FDO release.
For the releases this piece of information is written down somewhere....
however I dont understand why the DLL loaders dont check those versions????

The versioning of serialized objects is another related issue. THose are 
approaches to write robuster code.

A lot of such configuration data should be made part of the CI system.
This is how those issues are addressed in successful IT projects as it 
makes the dependencies
a part of the build which shows up as a TAG in the repository.

Leaving this as loose as it is in the moment causes pain and more pain 
for too many people.
I would call this a part of the evolutionary step from inhouse 
development to open source!
In a small local team such formalisms can be avoided by asking the 
correct team member sitting near. However this does not scale well and 
in respect to the community those issues should be addresses
more thoroughly  at some point hopefully soon.

UV




Haris Kurtagic wrote:
> Hi ,
>
>  
>
> I have lot of problems while trying to communicate with different versions
> of MapGuide. I am developing application which should communicate with MG
> using MG common libraries: MapGuideCommon, PlatformBase,...
>
>  
>
> Problem is that I can't find two version of MG which will work one against
> other and work equally.
>
> For example I can't use MG OS Beta 2.1.0.3891 version from 2.1 branch
> against current branch version. Also for example I can't use any of those
> versions against MG Enterprise 2010. 2.1.0.3891 will halt MG Ent. 2010 while
> current 2.1 branch will throw exception InvalidStreamHeader.
>
>  
>
> At least one of problems is that ClassDefinition in one version is
> serializing SchemaName in another it is not. So those versions can't be used
> one against each other.
>
>  
>
> I have two questions:
>
>  
>
> 1.  I really can't' find consistency in our svn branches and trunk how and
> when is changing how MG objects are serialized/desterilized. I hope somebody
> can light me up little bit when/ why are this changes done.
>
>  
>
> 2. We don't have any versioning of serialization process of objects. I think
> that could be issue ( hopefully one day we could imagine farm of MapGuide's
> ).
>
>     Can we add versions of objects to serialization process ?
>
>  
>
> I would appreciate any help/ideas how to solve this mess, how to have one
> application communicating with different MG versions.
>
>  
>
> Thank you,
>
> Haris
>
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
>
>   



More information about the mapguide-internals mailing list