Results 1 to 4 of 4

Thread: Tough Architecture Choice

  1. #1

    Thread Starter
    Randalf the Red honeybee's Avatar
    Join Date
    Jun 2000
    Location
    off others' brains
    Posts
    4,345

    Tough Architecture Choice

    As usual there's a time crunch.

    There are two teams working on a Windows app and a Web app respectively. As it happens, both apps are supposed to converge, but the teams have been using their own database designs. So now I am saddled with two separate databases which need to be combined into one so both the Windows app and the Web app use the same/common database.

    The database design is now in its first draft and there will likely be minor revisions in the near future (like a month).

    I also have to decide how the apps will access the data.

    Here's what I have in mind:

    Use ADO.Net Entity Framework as the DAL for the new database: fast to develop and update in case my database design changes. Also strongly typed, so any changes to the database design should be caught in compilation of the code.

    Use service classes which have Add/Update/Delete/Get methods for each of the tables/entities: Common interface and reuse potential. Both the Windows and the Web apps can use them for accessing the data. Unit tests can be written against them, and in future we can also write webservices to expose these classes/methods to external applications.

    Rewrite the DAL interface part of the Windows and Web apps to use the service classes and the ADO.Net Entities


    Are there any better ideas? Please note, I am not currently considering nhibernate or other similar ORM tools which will have a steep learning curve, as I have to roll out the changes by this month end.

    btw, the existing structure is hapzhard as you might have guessed. The Windows app uses a lot of stored procedures for basic CRUD work as well as other data intensive processing. There's no middle layer per se. The web application goes a step further by directly using inline queries.

    .
    I am not a complete idiot. Some parts are still missing.
    Check out the rtf-help tutorial
    General VB Faq Thread
    Change is the only constant thing. I have not changed my signature in a long while and now it has started to stink!
    Get more power for your floppy disks. ; View honeybee's Elite Club:
    Use meaningfull thread titles. And add "[Resolved]" in the thread title when you have got a satisfactory response.
    And if that response was mine, please think about giving me a rep. I like to collect them!

  2. #2
    Hyperactive Member Max Peck's Avatar
    Join Date
    Oct 2007
    Posts
    384

    Re: Tough Architecture Choice

    HB,

    That sounds like an excellent approach. I would do the same - develop a SIMPLE access layer and deploy it as an assembly that can be used by both "sides" of the project. I agree, too, that using stuff like nHibernate would be an overkill, in the best of situations. It's always advisable to keep things as simple as possible.

    I couldn't add much to what you've already said. You're thinking clearly.

    At-least they're both using .Net (right?). That was a good choice to start with. Doing separate DB designs was a screw up but it sounds like you've worked out a way to mitigate that.

    -Max
    The name's "Peck" .... "Max Peck"

    "If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." - Red Adair

  3. #3

    Thread Starter
    Randalf the Red honeybee's Avatar
    Join Date
    Jun 2000
    Location
    off others' brains
    Posts
    4,345

    Re: Tough Architecture Choice

    Yes, both apps are on Dotnet, and what's more, the same version too! *sigh* I never imagined I would have to use that line as a merit, but there we are.

    .
    I am not a complete idiot. Some parts are still missing.
    Check out the rtf-help tutorial
    General VB Faq Thread
    Change is the only constant thing. I have not changed my signature in a long while and now it has started to stink!
    Get more power for your floppy disks. ; View honeybee's Elite Club:
    Use meaningfull thread titles. And add "[Resolved]" in the thread title when you have got a satisfactory response.
    And if that response was mine, please think about giving me a rep. I like to collect them!

  4. #4
    PowerPoster techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,687

    Re: Tough Architecture Choice

    Sounds a lot like a previous job of mine... only we had 20+ systems to contend with, some of which kept their data in the databases of other systems.

    Sounds like you have a plan at least.

    That last line in the first post though gives me the willies...

    -tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width