Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / Distributed Applications / April 2004

Tip: Looking for answers? Try searching our database.

Multiple Business Clients and multiple Versions

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Sebastian Fern?ndez Quezada - 27 Apr 2004 14:48 GMT
Please, excuse me about my English (I'm from Argentina)
Now... I have an application, this application is owned for many clients.
This clients have different requirements, so we have different versions.

Does .NET philosophy give an answer about this dilemma? There is any elegant
solution for this problem? I don`t want to have as many version as
clients... how can I solve this problem?

Thanks!! and, one more time... excuse my very poor English... :o(
Todd - 27 Apr 2004 20:00 GMT
Yes, the .Net philosophy with regards to proper layered
distributed design does address that dilemma, and I have
dealt with this in the past as well.

Basically this is my recommendation:
1. Application should be divided into at least three
layers: Presentation, Business, and Data
2. The Business and Data layers should be common to all
clients.
3. I'm not sure if you currently have multiple versions
of databases (different data models) for each client
version, but there should only be one data model that
matches your one Data layer.  Now usually this creates
some configuration and work to create a data model that
can flexibly support multiple requirements, but you can
usually pull it off.
4. Now for the Presentation layer, without getting into
exactly what you're doing there are two basic choices:
a. (preferred) Create "user groups" or permission groups
for each client that loads a screen list dependent on the
requirements for that client.  Some screens may be the
same for all clients.  Some screens might have run time
configuration differences.  And some screens may only be
accessed by certain clients.  Your application menu loads
the screen list based on the user group the user / client
belongs to.
b. If the requirements are drastically different, you may
want to have a separate presentation layer for each
client.  Not preferred, but much better than creating a
different version for the entire application for each
client

View the Patterns & Practices section of the Microsoft
website for more guidelines.

Hope that helps, I know its general,
Todd

>-----Original Message-----
>Please, excuse me about my English (I'm from Argentina)
[quoted text clipped - 8 lines]
>
>.
Sebastian Fern?ndez Quezada - 28 Apr 2004 13:27 GMT
Thnks Todd, yours is one of the multiple solutions already evaluated. Now,
the real deal here is:

A) I must have a "mega-Application" with all the funcionality available, and
allow specific funcionality depending on the client?

B) If the client A has a different structure of DataBase than the client
B... How can I solve this? A unique "Mega-data model"? N Data models? (being
N the number of clients with different requirements)

With no doubt, this is one of the most common issues developing applications
by requirements, and nobody can give me yet a definitive answer... PLEASE!!
I THINK THIS IS WORTHY TO WRITE SOME ARTICLE. MICROSOFT PATTERNS &
PRACTICES: PLEASE!! LISTEN TO MY PRAY!!! ;O)

THANKS!!

> Yes, the .Net philosophy with regards to proper layered
> distributed design does address that dilemma, and I have
[quoted text clipped - 51 lines]
> >
> >.
Todd - 28 Apr 2004 16:53 GMT
A) There is a client table and maybe a user table tied to
either a screen permissions table or an application
section permission table.  If different screens behave
differently for different clients and/or users, then you
will need a control permissions table.  Based on the user
or client, the application loads the correct
functionality for that client and/or user.

B) Why does client A need a different model than client
B?  If you give me one or two specific examples, maybe I
can suggest an alternative database design.  

I've worked on a product team for three years for an
application with 1000 clients.  Many clients have
different requirements and pay us to add these
requirements to the system.  Based on a permission scheme
we enable the functionality for the clients that pay for
them.  But over all, the application is thought of as one
product.  All users may benefit from some product
enhancements, other product enhancements cost extra an
clients have the choice if they want them.  As we seek
new clients we are able to offer the potential clients
many functional choices based on their needs.

If you break your application into different data models
for each client, I really think you will be headed down
the road to maintenance nightmare.  

Best of luck,
Todd

>-----Original Message-----
>Thnks Todd, yours is one of the multiple solutions already evaluated. Now,
[quoted text clipped - 71 lines]
>
>.
Sebastian Fern?ndez Quezada - 28 Apr 2004 17:10 GMT
Thkns Todd... i'll try to make this work properly!!

> A) There is a client table and maybe a user table tied to
> either a screen permissions table or an application
[quoted text clipped - 124 lines]
> >
> >.
Sebastian Fern?ndez Quezada - 28 Apr 2004 18:52 GMT
PLEASE, if somebody has another recomendation, please... i'll be please to
hear it!!

> A) There is a client table and maybe a user table tied to
> either a screen permissions table or an application
[quoted text clipped - 124 lines]
> >
> >.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.