Serialization and Backward Compatibility

Hi,
We have an application in which we persist data to a flat file. For persisting we are using .net serialization with SOAP Formatter. Now the problem what we are facing is as follows.
Problem Statement:
Recently we have re-factored our source code i.e modifying project structure, renaming namespaces, renaming class names, adding or deleting properties. Can any one suggest a solution to handle the de-serialization issue while using the files which are persisted
by old version of the application.
Thanks,
Manohar

You could create/keep a project with the entity classes that you used to persist the data to your flat files. These would not contain any behavior and would only be used for deserializing and serializing from/to your flat files. You could put a facade in
front of this and treat it like a service. Your new project/code would call the facade to retrieve and write to the old structures. Then you could continue to grow/refactor your new code base without having to worry about the dependency on the persisted file
scheme.
On a side note the default SOAP formatter takes up a lot of wasted space in files and data contracts alike and can be too tightly coupled to your code in my opinion. If you do ever consider switching you could go to something like:
the XmlSerializer which gives your more control over how and what is persisted by way of attributes
a JSon serializer which is even more light weight and flexible
-Igor

Similar Messages

  • General Question about JRE - Versions and backward compatibility etc

    Could someone maybe help me with this query?
    I've got a group of network users who use a total of four java applications which I am told require different versions of the Java Runtime Environment to run.
    Is it therefore possible to have muliple versions of the RTE installed on one user machine to make all applications work at once or is it simply a case of having to have only one version of the JRE.
    I'm talking mainly about in house applications so I guess if some of them are incompatible with the latest JRE then the answer might be to find out what the problem is and fix the application so it works in the lates jre - or am I missing something?

    Hello,
    First of all, it is possible to keep several JRE installed in Windows. For example, my PC has JRE 1.3.1.8, 1.4.0.1, 1.4.2.6.
    Second. A tecnology exists to cause a Windowst to run a specific JRE for a specific Java applet. Please see the text below.
    HTML Applet Configuration
    � The standard (Internet) method of calling Java Runtime when using a Java Applet is to use an Applet tag within the HTML file itself specifying the applet details (example below). This tries to attach itself to Microsoft Java Runtime registry CLSID as detailed above.
    <applet code=Applet1.class width="200" height="200">
    Your browser does not support the <code>applet</code> tag.
    </applet>
    � When the above call is made either, a) the applet will load in the Microsoft Java Runtime, b) the applet will load in a particular Sun Java Runtime as it�s being redirected or c) the applet won�t load at all as Microsoft Java Runtime isn�t installed and Sun Java isn�t set as default.
    � The above can be uncontrolled as to what version of Java (if any) is actually used to launch an applet so have an alternative solution is to us the Object tag in place of the Applet tag. It�s only suitable for Internet Explorer in an internal, Intranet environment but should be ideal for us.
    � By replacing the Applet HTML tag with the Object tag when loading an applet you can specify in the tag either to use the latest installed version of Sun Java or a specific version by putting it�s CLSID in the list. (example below.)
    <OBJECT
    classid="clsid:CAFEEFAC-0014-0002-0006-ABCDEFFEDCBB"
    width="200" height="200">
    <PARAM name="code" value="Applet1.class">
    </OBJECT>
    � The advantage in the above approach is we can install a specific version of Java, i.e. 1.4.2.06 that doesn�t redirect the Microsoft Java Runtime so won�t effect other applications, and we can be safe in the knowledge that even if we install a newer version of Java on a machine that has 1.4.2.06 we won�t have any backwards compatibility problems.
    � The Object tag is an Internet Explorer only solution, but could be scaled, as to load a different version of Java you specify a different CLSID, whether that�s one of the versions of Sun Java or Microsoft Java or you can specify a CLSID that covers the latest installed version of Sun Java if you don�t want to tie the application to a specific version.
    Further details on the use of the Applet and Object tags can be found on the Sun website below so they may be of use if the HTML code that calls the Java applet can be easily changed to support our requirements.
    http://java.sun.com/j2se/1.5.0/docs/guide/plugin/developer_guide/using_tags.html
    http://java.sun.com/products/plugin/versions.html

  • Time machine and backward compatibility to Snow Leopard

    Please bear with a long background explanation but I am not sure what is relevant. I have two Mac notebooks both backed up using Time machine to separate USB Hard drives.  I upgraded to Lion on both machines but decided to revert to Snow Leopard on the MBAir (instability in one application that I use a lot).  I backed up the MBA using time machine to the USB drive and did a second backup to the NAS.  I then erased the MBA hard drive using Disk Utility and tried to reinstall Snow Leopard using the "MBA Software Reinstall Drive" (a USB flash drive).  Following the instructions that came with the drive didn't work and neither did the (different) instructions in the user guide.  I then tried using the Recovery drive on the MBA and Disk Utility to install SL.   I did some thing wrong (but I am not sure what) and it told me I could not install SL to the same drive. Eventually I got the OS installed from the USB flash drive.
    Perhaps foolishly I  left the USB backup drive connected to the MBA during this process.  When I had fininshed the OS installation I looked for the Backup drive and couldn't see it.  I checked Disk Utility and it showed the drive but did not recognise the name of the partiton and said the partion was not mounted.  It would not mount the drive and  had no options to repair or verify disk.  There was some other information but I did not make a note of it.  I tried to read the drive on the MBP and it opened for about a mintue and I could see the files but then it disappeared from the MBA - same story.  I tried to repair disk in Disk Utility but it said there was no problem with the disk.
    This morning, I connected the drive to the MBP (NB running 10.7.2) again to see if I could see what the problem might be and the backup files were back and presumably accessible. 
    OH! I just reconnected the USB drive to the MBA (running 10.6.8) and got a message saying (the dialogue box has disappeared) something like: it could not read the disk because it was written in 10.7.2.  I guess that is the explanation but where do I go from here?  It is not at all helpful to do all the backups and then find they are not backward compatible. 
    Is there a way for me to get the MBA to access the Time machine backup via another computer?  Or can I do use a different method to access the data?
    NOPE.  Its happened again. I just reconnected the Backup Drive to the MBP (running 10.7.2) and now I can't see the disk.  Disk Utility shows the partiton as unmounted and once again it won't mount.  This time there was a repair option and I clicked it and got the following error messages:  "Disk Utility stopped repairing 'disk3'" (it seems to have given it this name)  In the 'Details" it said
    Invalid Volume Header @ 0: incorrect block type
    Invalid Volume Header @ 999539297792: I/O error
    disk3 is not a CoreStorage volume
    Error: Storage system verify or repair failed.
    I don't know if this is an OS problem or a disk problem or both.  Any thoughts?

    I would say disk problem.
    If it were mine, I would reformat it and see if that corrects the problems.
    If not, it is time to send it to recycle.
    Allan

  • InDesign CS3 - CS4 compatibility and backwards compatibility

    About to purchase InDesign CS4 for the PC. A colleague in the non-profit association I will be sharing projects with uses CS3 on a Mac.
    Are there any issues with us exchaning InDesign files from CS3 -> CS4 and from CS4 -> CS4?
    Regards
    Ian

    CS3>CS4...usually no problems, you can use InDesign´s native file format indd. You may have some difficulties with fonts if you transfer files from Mac to Win or vice versa. Specially with some older non-open-type fonts. You can´t use same font with both OS, so you must have own versions for Mac and Win. And they will not always match perfectly.
    CS4>CS3 works if you export your file to INX format. You will face some problems if you have used CS4 features that doesn´t exsist in CS3... and of course you may have issues with fonts too but that´s not really because of indesign. You will have same font issues with other softwares too, if you transfer files between Mac and Win.

  • Opatch versions and backwards compatibility,

    Hi all, with regards to Opatch, have always used Opatch to patch a database from the same release, i.e. Opatch 10.2.0.3.2 to patch an 10.2.0.3 database.
    I now need to apply further patches, which requires Opatch 10.2.0.3.3 or above. I have downloaded the latest version of Opatch from Metalink (10.2.0.4.8), but just want to confirm that Opatch 10.2.0.4.x can be used to be patch a 10.2.0.3 database ?
    I have performed an opatch lsinventory against the ORACLE_HOME, which works, but looking for a bit more confirmation before applying any patches (i.e. don't want to corrupt the inventory etc.)
    Thanks for any advice.

    Yes, you can use Opatch for this matter.

  • Backwards and upwards compatibility on essbase, EAC and Analyzer

    we have running essbase/analyzer/EAC 7.1 environment and a running essbase/planning 9.3.1 environment.
    It occurs to us that modifying the 9.3.1 environment with the EAS7.1 tool results in a essbase crash (without any information in the essbase log files).
    Is there any information for essbase about upwards and backwards compatibility from 7.1 and 9.3.1.
    Message was edited by:
    Detlev

    In addition to Nathan's comments this would be a platform that Oracle hasn't regression tested. So even if it were to appear to work if you encountered an issue Oracle would be justified and asking you to re-create the same issue on a supported platform.
    In my opinion if this is a production application this is a risk you should not take.
    If you are playing with an internal environment and want to learn more about Win2K8 that's one thing. Realizing most folks will give you the "It's not supported line" when you start asking why EPMA, FDM, and HFM do not work with IIS 7.x
    Regards,
    John A. Booth
    http://www.metavero.com

  • Solaris 8 backwards compatibility

    Hi,
    I am about to begin some java development for the Solaris 8 platform on SPARC, and am setting up a dev server. I'd rather install Solaris 9 for reasons of general superiority, but are there any reasons that compiled java binaries from v9 would have problems running on a v8 platform when its deployed? It won't be particularly low-level design: just some database access, tcp/ip SOAP messaging, and XML manipulations.
    thanks
    aj

    In general there is forward compatibility for applications between Solaris releases. There is no official backward compatibility. This means you
    should always compile on the oldest release of
    Solaris that you expectto run on. So, if you need
    to run on Solaris 5.6, 7 and 8, compile on Solaris 5.6.
    There is a tool called appcert which is shipped with
    later versions of Solaris 8 and can be downloaded from:
    http://www.sun.com/developers/tools/appcert/download.html
    That will give you a good idea of the forward and backward compatibility of your application. General ABI information can be found at:
    http://www.sun.com/developers/tools/abi/index.html
    Alan
    Sun Developer Technical Support
    http://www.sun.com/developers/support

  • My iPad 1 is now very unstable. Apps crash consistently, Mac Numbers/Pages etc incompatible with IOS 5.1 etc. There seems to be no backwards compatibility to iPad 1. Am I just supposed to throw it away? I have restored the iPOad and it has ample storage .

    My iPad 1 is very unstable. Many Apps simply crash after opening. There is ample storage available.I have restored the iPad twice now and still it is unstable.
    Is this a lack of backwards compatibility because no-one writes apps for IOS 51.1. and the original iPad anymore? not even Apple, as the documents and sheets I create on my Mac are incompatible with my iPad now.
    My naievete tells me that this is simply Apple expecting us to upgrade to later levels of hardware. If so, very disappointing for an Apple fan. Seems your App developer approvals (even your own apps) do no require compatibility with anything but IOS 6 or later.

    There are various things to make your iPad more stable. You can try deleting all apps from the multitasking bar; do a reset ie hold the power and home buttons simultaneously until the Apple logo appears; Settings > General > Reset all Settings.
    If you had the previous version of iPages (version 09) on your Mac before upgrading to Pages 5.2, your Mac should still have that version in Applications, which is still compatible with your version of Pages on your iPad.
    If you don't have that version, you can 'Export to Pages 09' which is still compatible with iOS 5.1.1.

  • Adobe Acrobat -Create PDF 1.0 does not work in FireFox 4.How do i directly convert pages to PDF??Why is that your products are not backward compatable.U people are in the IT industry and should know this.Shame on You people.learn somthing form the IE team

    While Updating to Fire Fox 4. It said Adobe Acrobat -Create PDF 1.0 is not supported.How come 3.6 supports but not 4. I believe you people have never heard of the term "Backward Compatibility" .U people will loose your customer/support base if every new version doesn't support some existing stuff.

    '''Problem Solved FINALLY !'''
    Solution:
    I just updated my '''Adobe Acrobat X Pro''' to '''Version 10.1.0'''.By the way, I have to complain, Adobe is really slow in solving this problem...
    Here is the official link for the Adobe Acrobat update.[http://www.adobe.com/support/downloads/detail.jsp?ftpID=5135 <click me!>http://www.adobe.com/support/downloads/detail.jsp?ftpID=5135<click me!>]
    After update, the extention changed from "Adobe Acrobat -Create PDF 1.0" into "Adobe Acrobat - Create PDF 1.1". And the '''"Adobe Acrobat - Create PDF 1.1" is compatiable with the firefox 4.0.1'''. A screenshot is attached as a proof.

  • I am considering CS6. I worry about "backwards compatability." I am in a windows-only environment.  Some files were antiquated mac computer.  Files are: psd doc eps tif indd otf ai jpg RW2 xmp pm7 bmp fh9 fh10 dng pm6 and ps. Rick

    I am considering CS6. I worry about
    "backwards compatability." I am in a windows-only environment.  Some files were antiquated mac computer.  Files are: psd doc eps tif indd otf ai jpg
    RW2 xmp pm7 bmp fh9 fh10 dng pm6 and ps. Rick

    Backward compatibility FROM what TO what?
    CS6 to older, or newer to CS6?
    For specific answers, you most likely need to check in the forums for specific programs
    The Cloud forum is not about using individual programs
    The Cloud forum is about the Cloud as a delivery & install process
    If you will start at the Forums Index https://forums.adobe.com/welcome
    You will be able to select a forum for the specific Adobe product(s) you use
    Click the "down arrow" symbol on the right (where it says All communities) to open the drop down list and scroll

  • Known backwards compatibility issues between Robohelp 9 and Robohelp 8?

    Hi Group,
    In addition to avoiding the tasks in the Review menu, does anyone know of any other backwards compatibility issues encountered while opening and using files generated in RoboHelp 9 from within Robohelp 8? Thanks, gail

    Welcome to the forum.
    Simply the fact that RoboHelp 8 will not open a project that has been run in RoboHelp 9. Sure you might well open a project by deleting the CPD and perhaps the XPJ and using the HHP, however I would not recommend that except in an emergency.
    What I am not clear on is how you link that to "avoiding the tasks in the Review menu." What has that got to do with the question?
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Forms and Reports - Backward Compatibility

    Is it possible to load a .fmb file created using Developer/2000
    Form Builder for Windows 95 (V5.0) and then convert it so that
    it can be loaded into Forms Developer V 4.5 (16 bit). The same
    applies to backward compatibility of different versions of
    Oracle reports.
    A number of students in my 4GL Programming class have access to
    more recent versions of Oracle products then those installed at
    my College, and would like to develop assignments, etc, on both
    platforms.
    null

    Les Fielke (guest) wrote:
    : Is it possible to load a .fmb file created using Developer/2000
    : Form Builder for Windows 95 (V5.0) and then convert it so that
    : it can be loaded into Forms Developer V 4.5 (16 bit). The same
    : applies to backward compatibility of different versions of
    : Oracle reports.
    : A number of students in my 4GL Programming class have access to
    : more recent versions of Oracle products then those installed at
    : my College, and would like to develop assignments, etc, on both
    : platforms.
    Developer is not Backwards compatibile across major releases(2.x
    to 1.X).
    null

  • Backwards compatibility: RH11 vs. RH9? Need to go back and forth between RH9

    I'm contracting for a wonderful company that uses RH for generating online help files. My co-writer is using RH9. When I started, I got the latest Adobe TCS, so I've got RH11.
    We just discovered that there are compatibility issues: you can't do a "Save As Previous Version" and RH9 barfs on RH11 control files. The gents on chat support were very helpful, but they said there's no information on compatibility like this; nobody's tested it, they said. Darn.
    I've determined that I can check in HTML topic files into the RH9 version of the product and they'll compile okay (they're just HTML topics and we're not doing anything fancy). Has anyone tried this with other RH files, such as keywords? I'd like to get information on what changes I need to make--manually with an editor, if necessary--to achieve back-and-forth compatibility when handing off from my RH11 system to my co-writer's RH9. 
    (Just in case anyone wants to suggest it: No, we're not getting the latest version of TCS for her right now. It's $700 and it's not happening until late this year at best.)
    Many thanks!
    Yours truly,
    John Hedtke

    Good luck when source control is involved.
    Downgrade a RoboHelp Project | WvanWeelden.eu
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • An error occcurred on line 105 while executing script 'MOM Backward Compatibility Service State Monitoring Script"

    We've been getting the following error for some time now.
    An error occurred on line 105 while executing script 'MOM Backward Compatibility Service State Monitoring Script'
    Source: Microsoft VBScript runtime error
    Description: The remote server machine does not exist or is unavailable: 'GetObject'
    One or more workflows were affected by this.
    Workflow name: System.Mom.BackwardCompatibility.ServiceStateMonitoring
    Instance name: server.domain.local
    Instance ID: {INSTANCE}
    Management group: GROUP
    Unfortunately the instance in question has since been decommissioned and simply does not exist any more. 
    We're currently on a repeat count of over 350,000 and I would REALLY like to get it stopped. I've had a look at adding an override but that points to the management server rather than the instance itself.
    Does anyone have any suggestions?
    thanks in advance!

    Hi Steven,
    There are for option for us to override a monitor ot rule:
    For all objects of class:             
    Class            
    When you select this option for your override, the override settings apply to all objects in the class at which the rule or monitor is targeted.
    For a group            
    When you select this option for your override, the override settings apply only to members of the group. The rule or monitor without the override settings continues to apply to all objects in the targeted class except for those objects that are also members
    of the group used for the override.
    When you create a group, you save it to an unsealed management pack. However, an element in an unsealed management pack, such as an override, cannot reference an element in a different unsealed management pack, such as a group. If you are going to use a group
    to limit the application of an override, you must either save the group to the same unsealed management pack as the override, or you must seal the management pack that contains the group.
    For a specific object of class:             
    Class            
    When you select this option for your override, the override settings apply only to the specified object. The rule or monitor without the override settings continues to apply to all other objects in the targeted class.
    For all objects of another class            
    When you select this option for your override, the override settings apply only to objects of a class other than the targeted class. The rule or monitor without the override settings continues to apply to all objects in the targeted class.
    Did you try to override it for a specific object of class?
    Regards,
    Yan Li
    Regards, Yan Li

  • InDesign Backwards Compatibility in CS5 an MAJOR issue

    I am a print designer who works in InDesign. I bought CS3 Design Premium in late summer of 2008. Shortly thereafter CS4 came out, but after just having forked out a big chunk of change, I decided against upgrading to CS4 right away. Recently I considered upgrading but then heard CS5 was coming out so I decided to postpone the upgrade and wait for the new software. I've just checked out the trial version of CS5 InDesign and after speaking with Adobe Support have come to the conclusion that I can't upgrade to CS5. Why? BACKWARDS compatibility to CS3. The previously offered export features that supplied a path for backwards compatibility via an .inx file are gone.
    I design freelance for a lot of different customers and once the design is complete, I have to deliver the InDesign file along with all associated fonts ad images to my clients. Most of my clients are still on CS3. If I upgrade to CS5 I will instantly not be able to work for 2/3 of my clients, as I will have no means by which to save a file backwards to CS3. I was informed by Adobe support that I would need to buy CS4 and CS5, as I could save my CS5 file in the IDML format and open it in CS4 and then I could save the file from CS4 as an INX file and open that is CS3. ARE THEY INSANE??? First off that requires keeping 3 version of InDesign up and running on my machine all of the time and secondly, why should I have to buy CS4 when I'm paying an additional fee to upgrade to CS5 because I didn't upgrade from CS4? This is so screwed up that it has to be an oversight---please tell me there is a patch in the works!!!
    PS- I've never posted to a forum before, so if I have broken any rules of forum etiquette or offended in any way, I offer my apologies now and if I (and the Adobe Support staff I spoke to) have overlooked something, please enlighten me!

    Cynthia Ryan Graphic wrote:
    I am all for working with better workflow practices and I understand that saving files backwards is less than ideal but Adobe needs to look at the real world uses of their software as well. I have to work with firms that aren't upgrading now--especially with the economy we are now in--and most of the items I design for them are ads-- one page- nothing too complex--really nothing fancy. I obviously wouldn't save a book or a very complex document backwards in this way, but simple things have translated just fine in the past. In the real world we hit situations like this.
    I bought my software 21 months ago and in this time Adobe has expected me to upgrade twice--I haven't even finished expensing  the initial cost of the software on my books yet. Upgrading that often just can't happen in a small firm--it's prohibitively expensive for a one man shop.
    So now from what I understand, to do this properly, I am supposed to buy the upgrade and keep both versions running on my machine and track with every client which version of the software I need to be working in. What happens when I have to add an employee? I will have to buy the CS3 version of the software in addition to the CS5 Suite because otherwise we can't work on the same files. I'm finding this frustrating.
    Your suggestion of buying CS4 from Amazon is a good one. I will look into that further.
    DISCLAIMER: I'm an Adobe stockholder. REALITY: My holdings are probably in the same proportion as the number of bits it takes to store a period character (".") on an Internet server is to the entire Internet's storage capacity. So, while I may have some self-interest here, it's not driving me to encourage you - or even all the participants on this forum - to buy more software than you want to or need to.
    If you're simply interested in test-driving a new release, you can do that with the free 30-day trials. If you run out time, you can probably figure out a way to trick out your system to get another 30-day shot.
    However, if you use the software commercially - either to train others, or to create new material or revise old material for clients or employers - you need to decide if you can continue to do this with the software versions you own, or if the commercial needs will require you to license new versions.
    Regarding "expensing the initial cost of the software on my books" If I understand the US income-tax policies, purchases under a rather modest amount can usually be expensed in the year of purchase. If, because of your accounting method or preference, you're using a longer expensing time period, you might want to reevaluate your approach. If you attribute a portion of the software cost to each project you use it on, and, in this case, in 21 months your work hasn't let you recapture the investment, they you may want to use that information to decide how to pursue more paying for the software, or decline that stream of work and forgo upgrading.
    An alternate way to evaluate the software, especially as an employer of users, is to compare the product cost vs. how many more billable hours you and your workers can complete in a given time with it and without it, and, how competitively you can bid projects, due to the product's efficiency.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices

Maybe you are looking for

  • Wireless Router reset.  Iphones will no longer connect to Wifi.  Help?

    My wife recently reset our wireless router and now both our iphones won't connect to the WIFI? As I look into Settings it looks like it's continuously trying to connect to our network.  However it never connects......

  • I reformatted drive with Time Machine Backups, can I recover them ?

    I had an iMac and an External Firewire drive used for Time Machine Backups, All my Personal Files and Music were backed up to the External Drive using Time Machine. The external Drive is a LaCie 500GB Triple Interface Drive. After a few days of upgra

  • Endeca Search langauge support for Polish and Thai

    Hi, I am working on Endeca Search configuration for Polish and Thai websites. It is observed that Endeca does not provide stemming files for Polish and Thai. Please let me know if there is any other way to get the stemming and other related files for

  • [SOLVED] Changing default file manager to thunar

    How do I do this? I do have thunar installed. thanks Last edited by unplugged23 (2010-05-09 00:03:58)

  • Custom table Transport Request

    Hi, I have created a ztable and assigned a package and tranport request, then I have created table maintennance generator for the same table but saved the table maintenance generator under $TMP.  As the table maitenance generator is not allowing to c