Thanks again...
Sure - i'm still at UML stage since this is going to be a very large system
& I'm trying to cover everything before I write any code (lessons learnt from
past experience!).
Quick summary - the key functionality.
This is going to be an order system for a retail company. It will basically
allow buyers to select a product from a catalogue system (based on an
existing in-house developed IBM DB2 solution), then place orders for all the
stores in the company - allocating quantities to each store based on the
local market strength in the genre of the product.
Tier Roles and Responsibilities (6 assemblies in total)
Client user interaction via GUI
Invoking remote calls to the Business Façade
All business and application logic serviced by .NET remote \ COM+ Assemblies
Business Facade
Simplified interfaces into the lower level tiers.
Product System (retrieves product details from catalogue system)
Order System (allocates order quantities, places orders, uses data from
Product System)
etc
Business Rules
Validates and ensures data integrity
Accesses data services
Contains application specific data
Data Access
Specific extended DataSet classes that represent the underlying data tiers
Retrieve catalogue product information
Supply relevant on-hand and sales data
Interact with DB2 servers for store dial ins & order amendments
Save orders and quantities in SQL Server database.
Common
Defines application configuration settings and shapes datasets
Framework
Low level system functionality, provides a consistent approach on handling
error scenarios.
Tracing and logging support, error checking and automatic logging of asserts
and conditional checks.
I'm trying to completely abstract the GUI from the database, it simply has
to make calls into the Business Facade to accomplish any tasks. The GUI only
references the Facade and the Common assemblies, so any changes in the actual
underlying schema's should only need to be updated in these DLL's.
I'm implementing this in WinForms, but I think they'll be wanting a
simplified web front end of some sort as well - so this approach should allow
easy future development and extensibility.
I've tried to look at existing systems & examples (hence my Duwamish
references!) for implementing the best solution.
Any thoughts appreciated - I think I'm getting there now though - my 50 page
FSD is a monster, but proving a worthwhile reference!
Thanks
Dylan
[quoted text, click to view] "RYoung" wrote:
> By the way, can you provide some more info on the logical structure of your
> application? Mostly the assemblies and what their responsibilities are? I'm
> just curious on that, it can be a mind-boggling thought experiment at times.
>
> - Ron
>