Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Effectiveness of Web Services
Message
General information
Forum:
ASP.NET
Category:
The Mere Mortals .NET Framework
Miscellaneous
Thread ID:
01167916
Message ID:
01168327
Views:
15
Fred,

>If I understand the DevGuide description correctly, the business objects are running on the same machine as the user interface. So my questions are, doesn't calling the business objects remotely from the user interface make more sense than having the business objects accessing SQL remotely? Are there other reasons to make Web Services a substitute for direct SQL connections?

Good questions! To start off, I highly recommend checking out this book from Microsoft's Patterns and Practices

Improving .NET Application Performance and Scalability

http://www.amazon.com/exec/obidos/tg/detail/-/0735618518/qid=1109434809/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/102-8411910-8606540?v=glance&s=books&n=507846

From a pure performance perspective, Microsoft has always recommended that you use a logical three-tier architecture rather than a physical three-tier architecture (look back at their Windows DNA Architecture white papers). A call to a business object on a remote server is a few THOUSAND times slower than a call to an object on the same machine. So, putting business objects (which contain the vast majority of your application code) on a remote server is a sure way to throw a wet blanket on your application's performance. Putting the business objects on the workstation takes advantage of that machine's processing power and guarantees that only fully qualified requests are sent to the database server. Workstations can then access the database server directly.

So, when would you create a physical three-tier architecture? In situations where you have several hundred or even thousands of workstations running your application. At that point, it may actually speed up your application to place data access objects on an application server rather than open that many connections directly to the database. Again, we still want to validate business rules on the workstation so only fully qualified requests are sent to the application server. You'll find this architecture provides the best performance in each given scenario.

Best Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform