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

A question before I begin...
nerdyome
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
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
Patterns
you can implement many pattern at this layer like
2-Domain Logic , business logic , business layer
responsible for business rules, data validation, manipulation, processing, and security
Technology avilable
Pattern
You can implement many pattern at this layer like
3- Presentation
responsible for displaying information
Technology avilable
Pattern
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
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.