[AccessD] Data Export Spec - Rev1

Shamil Salakhetdinov shamil at users.mns.ru
Sat Oct 22 02:23:15 CDT 2005


> Currently I see nine major "players" of my solution:

Correction:

Currently I see ten major "players" of my solution:

-  01. DataExportService
-  02. DataFeeder
-  03. DataCruncher (DataProcessor)
-  04. DataDictionary
-  05. (Export)FileDefinition
-  06. (Export)FileSection
-  07. (Export)Record
-  08. ((Export)Record)Field
-  09. (Data)Formatter
-  10.  (Export)FileWriter

Shamil

----- Original Message ----- 
From: "Shamil Salakhetdinov" <shamil at users.mns.ru>
To: "Access Developers discussion and problem solving"
<accessd at databaseadvisors.com>
Sent: Saturday, October 22, 2005 1:47 AM
Subject: Re: [AccessD] Data Export Spec - Rev1


> <<<
> LOL, I NEVER want to be all those backwards things
>  that you portray me to be
> >>>
> I think I should have added that in solution I envision, young
> Indian,Pakistnian,... guys and/or American, Canadian, West European...
> students will gain also because they can have some work delegated by you,
> e.g. the work to develop specific data formatters etc. - you can keep them
> busy with this simple work and as far as they get more experienced you
will
> delegate them more and more complicated work and therefore you and your
> customers will be ready to pay them more... Everybody's "win" approach.
> Yes, I know, it sounds too optimistic...
>
> <<<
> so join the team and show me (all of us) how we accomplish this?
> >>>
> I think I joined it, didn't I? :)
>
> <<<
> Specifically for EXPORTING data
> > to these monsters of computing.
> >>>
> OK, let's make it clear - for EXPORTING and nothing else?
> And that the data source is something like DAO, ADO,.... recordsets and
the
> target is delimited or fixed width text file.
>
> As you I did work many times on such tasks here and in the West Europe.
> Until last year I didn't program them more or less generic way - the
> customers didn't ask for that and my solutions were hardcoded. Last year
it
> was a requirement to make it metadata based. Now it's your idea to make it

> even more generic. OK. Let's make it more generic and let's also get new
> experience and some fun while designing/coding it and supporing it in the
> future?
>
> > My intention is to:
> OK. They are clear and good enough specified for now.
>
> > so please take a few
> > minutes to expand what you have in mind,
> It will take more than a few minutes for sure.
> And I have problems to find free time now.
>
> > 1) Given what I am attempting to accomplish how do you create the module
> > that you swap out.
> > 2) What piece(s) of this puzzle is modified when I swap out this module
> for
> > another.
> > 3) How do the modules interface together.
> > 4) How is this accomplished in VBA?
> These all positions above can be accomplished using custom classes,
> Implements feature and several software design patterns like the ones
> described here - http://home.earthlink.net/~huston2/dp/patterns.html
> (Classical book on software design patterns is this one:
>
http://www.amazon.com/gp/product/0201633612/102-0631645-6216162?v=glance&n=283155)
>
> The risk factor for VBA is that the more interfaces to implement you
> introduce/use in Implements the higher the probability it (VBA) will start
> breaking unexpectedly. It was so for me - when I used several interface
> custom classes it worked OK. When I introduced more - I was forced by VBA
> engine to give up.(MS Excel, MS Access) For this solution there should be
a
> few interface custom classes - so it should work well I hope in VBA, If it
> will not then the solution should be to upsize to VB.NET and create COM
> Callable Wrapper(relatively easy task) (The problem with Implements in VBA
> exists in Office 2003 too - I can't give real examples because the
problems
> is floating - and I guess MS will never convince it exists - so there is
no
> sense to spend time to create reproducible description of this
bug/feature.)
>
> > 5) Give me a specific example of the kind of export / format that you
are
> > running into which isn't fixed/delimited/formatted and how modularizing
> this
> > program would allow you to handle this kind of export.
> John, where did I write that my solution pretends to be that far generic?
> I think I didn't write that.
> Yes, I did write that I did program an export data solution for the banks
> here, which used header (and footer) additionally to the fixed
> length/delimited export records. Do you mean this my note?
>
> My main points were:
>
> - use pluggable custom classes additionally to your generic formatter
based
> on Format$ function and metadefinitions;
> - make solution ready to process large amounts of source data without
> stopping all the other work on the PC running export code;
> - make solution working in asynchronous mode;
> - make solution working with different source data sources.
>
> That's all I think.
> Did I promise more? (Hopefully not :) )
>
> > and without ever seeing your problems, I
> > can't comprehend how to respond to them.
> OK, John.
> Let's make it this way - you develop your solution your way.
> Then I will try to show what (potential) problems it has - and it may
happen
> that what you call my problems becomes yours :)
>
> It should be the best approach for this small project because my solution
> has a risk to not run well on VBA because of my plan to use Implements
> feature, which is buggy on VBA as my experience shows.
>
> If you(we) start with your solution it should be also like it's getting
done
> in popular now eXtreme Programming approach when a quick satisfactory
> solution is developed, which makes customers happy and busy with using
> it/playing with it but then this solution is refactored to make its
> architecture more flexible.
>
> Your small task is also interesting to develop using Test Driven
Development
> (http://www.objectmentor.com/writeUps/TestDrivenDevelopment), but VBA
> doesn't have unit testing framework and to write one is senseless for
> this(VBA) dying development environment. So TDD should be left for other
> VB.NET/C# based projects...
>
> Recap:
> =====
> 1. My proposal is that you write your solution your planned way(as far as
I
> see it's good traditional solution good enough specified now) to have 0%
> risk of fail (Risks are: a Technical problems with VBA & Implements b. My
> inactive participation in this project because of my need to work for my
> customers currently - urgent release due end of the next week "blood from
> nose".)
>
> 2. When your solution ready I will try to find and show its "weak points"
> and when we agree on them/some of them then we will refactor your solution
> together in several steps, with every step getting running and more and
more
> flexible, scalable and asynchronous solution.
>
> 3. You proceed with your team with or without me because I will again have
> to hardwork for my customers...
>
> If I have been free from my customer's work these days we could have done
it
> different way with more advanced architecture designed from the very
> beginning but my approach has relatively high risk of failure when
> implemented on VBA because of VBA enigine bugs...
>
> Currently I see nine major "players" of my solution:
>
> - 1. DataExportService
> - 2. DataFeeder
> - 3. DataCruncher (DataProcessor)
> - 4. (Export)FileDefinition
> - 5. (Export)FileSection
> - 6. (Export)Record
> - 7. ((Export)Record)Field
> - 8. (Data)Formatter
> - 9. (Export)FileWriter
>
> These should be loosely coupled, highly cohesive custom classes.
> There could be more of them and several Interfaces including events.
> The ones above can be changed/renamed. Some may go out probably.
> It will be more custom classes than in your solution.
> It will be more coding for sure than in your solution.
> But the coding should be more streamlined with less code lines in custom
> classes methods/properties.
> This more coding will make sense only if it will be shown that it brings
> real gains in long run.
> Therefore IMO this is pragmatic approach.
> No "air castles", no "miracles", no "universal solutions" - I base my work
> on my own experience and on the concepts of the books like "Object
Thinking"
> http://www.bookpool.com/sm/0735619654 published by MS Press - who can
blaim
> MS as being non pragmatic? (One can blaim me that I misinterpret the books
> like this one referred above and published by MS - feel free to say that
if
> you think so..)
>
> Shamil

<<< tail skipped>>>




More information about the AccessD mailing list