A question before I begin...

I have been given the task of redesigning the companys software solutions.

Right now the software is running against a progress database on a server, with the software on the same machine. Then you log on to the software (kind of like thin client like) and then use it that way. Would it not be smarter to have 1 server run SQL Server and the install a Client program on each machine that need access to the server Or even different programs according to where and what you are doing

I figured it would be a good idea to get this down before I start designing the software.

Sune



Answer this question

A question before I begin...

  • nerdyome

    Expert C# 2005 Business Objects is a great book! But this kind of materie is very hard if you don't have to much experience.

    I suggest to start simple, not with Business Objects and a full Enterprise Application Framework but start with learning design patterns and the power of Object Oriented languages like C#. A great book is Design Patterns Explained.

    If you read the comments of the book at Amazon you will see this is een must-read book. And if you think Expert C# 2005 Business Objects is hard, then I really suggest reading Design Patterns Explained first!


  • ottogbg

    the Expert  c# 2005 Business object is good book if yo have any problem with it post it to the Forum

    any way you can look at the following resources

     Application Architecture for .NET: Designing Applications and Services

    "This guide provides design-level guidance for the architecture and design of .NET Framework applications and services "

     Books

    there are many good books like the following check them at the amazon for more info

    Head First Design Patterns

    The Object Primer

    Patterns of Enterprise Application Architecture

    Data Access Pattern

    Core.J2EE.Patterns.Best.Practices.And.Design.Strategies. this book in jave but it is an excellent book

    i hope this help



  • AdeptBlue

    PJ. van de Sande wrote:
    It is a good aprouche to have a Webservice running or a other Tier that the clients will use. In that way you will keep the clients very thing and with no business logic in it.
    This has a great advantage because you can easy change things without re-deploying or updating all your clients!

    Using a Webservice is just an example. I know companies/projects where the project wasn't that large and all logic was putten in Stored Procedures. But this will result in the same, you will have the business logic in only one place, on the server. So when you want to change some rules, you only have to change them on the server and everything is done. You don't have to update all your clients everytime you change some logic.

    it is a good idea.

    and by the way, if you use webservice ,you maybe have a class library project which has webservice reference code only, we called it "BusinessLogicProxy", and every client reference this class library, don't generate own webservice reference code in client project itselft, it has more extensible!



  • linzbfc

    Layering

    i think separating your application into layers will give you many advantages

    but at first no counter part between your logical layers and physical layers ie  you can run all layers in one machine

    so separateyour application into  3-layer (you may increase the number of tiers that is depend on your application)

    1-Data Access or Data Source

     responsible for the Communication with databases ,transaction etc

    Technology you can use

    • you can build your data access code using ado.net
    • use any O/RM tools like nhibernate
    • code generator

    Patterns

    you can implement many pattern at this layer like

    • Data Access Pattern (DAO)
    • ORM or Domain Store

    2-Domain Logic , business logic , business layer

    responsible for business rules, data validation, manipulation, processing, and security

    Technology avilable

    • Build Your Class Library
    • Web Service (like above post suggest)

    Pattern

    You can implement many pattern at this layer like

    • Business Object
    • Transfer Object
    • Business Delegate

     

     

    3- Presentation

    responsible for displaying information

    Technology avilable

    • Windows Forms
    • Web Forms

    Pattern

    • Front controller

     

     



  • Ted.

    hi,

    actualy its a good book i didn't say anything about that but i'm lost even though.

    he explain every thing at the beginning then every thing running too fast, you have to go back and forth during reading . so that i asked about simple book for that

    thanks alot for those books, i'll try to find them


  • pcompassion

    hi,

    i have a question, what is the best way to learn about bussiness objects , and if there is any recommended books in that , i have a book called Expert C# 2005 Business Objects but i'm lost , so is there any book teaching that step by step


  • dotnetwebdeveloper

    It is a good aprouche to have a Webservice running or a other Tier that the clients will use. In that way you will keep the clients very thing and with no business logic in it.
    This has a great advantage because you can easy change things without re-deploying or updating all your clients!

    Using a Webservice is just an example. I know companies/projects where the project wasn't that large and all logic was putten in Stored Procedures. But this will result in the same, you will have the business logic in only one place, on the server. So when you want to change some rules, you only have to change them on the server and everything is done. You don't have to update all your clients everytime you change some logic.


  • A question before I begin...