StrataFrame Forum

Some questions on ES Custom Serialization

http://forum.strataframe.net/Topic19572.aspx

By Keith Chisarik - 9/20/2008

I have an application under development that will use ES. I have it up and running and everything is fine, great product. Beta and release wont be long now.

Now, part of this application includes storing scanned images as multi-page Tiff files. I have a varbinary field set up to store them, and I have decided to use the byte array method and simply translate the images as needed, my BO field property reflects this and returns byte() only. Out of this two questions if I may.

1) since the image data is not being serialized (or is ES doing it behind the scenes anyhow?), thus having the additional overhead, would I still benefit from turning on custom serialization versus the default? I am just worried about the image data, the rest of the app runs fine without it. Even the images are acceptable coming down from ES, but who wouldnt want 90% less coming down the wire (from help docs), right?

2) Does turning on custom serialization in any way effect how the data is stored and the ability to "flip the switch" to use ES or local access within the application? Right now I develop locally, and at the end of each day test what I have done by restoring the local SQL database to the ES server and running the new features/code. This product will also need to run run both locally and via ES depending on the client. My admittedly limited understanding of ES is that the data is transmitted as binary data and then reconstructed upon reaching the ES for commit to the ES database, having no actually effect on the stored data at all, correct?

If you think I might benefit from customized serialization... I am getting an error when I add this line to my appmain as described in the help file.

Code: MicroFour.StrataFrame.Data.Enterprise.RequestProcessor.UseCustomDataSerializer = True

Error: "RequestProcessor is not a member of Enterprise"

Thanks

By Trent L. Taylor - 9/22/2008

1. The ES will only compress this data if you are running compression.  As for serialization, it will be serialized (to some degree) coming accross the wire regardless of the custom or standard serialization.  If you are using custom serialization, it would still be faster than standard serialization as we would just be sending the byte array across through a binary writer.  So there is no issue with using the custom serialization here and I would still suggest it!

2. Nope.  You will have no issue here whatsoever.  Just so it make it a little more clear, using the custom serialization just changes the way that the data gets passed to and from the client and the ES server.  It will not change how the data is stored in any way.

In regards to you error, it appears as though you do not have the most recent version of the MicroFour StrataFrame Enterprise assembly.  This is the assembly in which this method is stored and it gets called from within the ES Client assembly as well.  So make sure that you have the most recent version of the Enterprise assemblies on the server and the client and this should go away.

By Scott Bressette - 1/16/2009

I've been getting the "RequestProcessor" error since I updated to build 1.6.6 and now in the beta 1.6.7. I've checked that my client enterprise assembly is up to date (it says it is 1.6.6). Is there any chance you could post a link to the correct dll on this issue?
By Trent L. Taylor - 1/16/2009

This is within the Enterprise assembly (not hte Enterprise Client) and the error is coming from the server side.  So take the Enterprise assembly that was loaded to your development machine and copy it to the ES server and that should be on the most recent version.  The assembly version hasn't changed, but the file version should be 1.6.6.4 (I think).