C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Resources » Articles » .NET Framework »

Distributed Application Model in .NET


Posted Date: 20 Nov 2004    Resource Type: Articles    Category: .NET Framework
Author: Balamurali BalajiMember Level: Diamond    
Rating: 1 out of 5Points: 10



Introduction
Building widely distributed applications require in-depth knowledge of a host of communication protocols, application programming interfaces, and configuration tools or files. It is a complex task demanding substantial consideration and experience.

Programming Models

When designing distributed application, there are three options available.

· ASP.NET - You can create XML Web services using the ASP.NET page framework, enabling these XML Web services to access the many features of the .NET Framework, such as authentication and caching.
· ATL Server – You can also create XML Web services using ATL Server, which offers a set of classes that extend the Active Template Library (ATL) for accessing the full functionality of IIS through ISAPI. ATL Server provides classes that make it possible for the developer to easily handle issues such as caching, thread pooling, and session state.
· .NET Remoting – You can use .NET Remoting to create a loosely coupled solution using XML Web services or to create a tightly coupled solution using a binary protocol.

Following are the considerations as a guide when making your decision in choosing the right programming model.

Wide Client Reach

Applications achieve wide client reach by making component access available to the broadest of clients by utilizing technologies of various platforms or object models.
Because XML Web services use standard protocols and are platform neutral, they enable communication with the widest variety of SOAP implementations, platforms and devices.
Both .NET Remoting and ATL Server are capable of providing XML Web services, but are not flexible as both implementations use remote procedure call (RPC) style, encoded messages.

Tightly Coupled

A tightly coupled application uses communication methods that enforce many interdependencies between the distributed parts of the application.
.NET Remoting can provide a tightly coupled, object-based programming model between client and server because it can pass objects in the following ways:
as parameters in method calls,
as the return value of a method call, or
as values resulting from property or
field access of a .NET component.
Type information is not lost in the communication process.

Performance

The responsibility for application performance occurs both at design time and at run time. A major consideration when choosing how to access a distributed component is the impact it has on the performance of the application.
A managed executable using the .NET Remoting binary protocol over a TCP channel offers the highest performance because the binary formatting is more compact and the system takes less time to serialize and deserialize the stream.

State Management

A component in the business logic layer that must maintain state between calls consumes resources. Multiply this by the number of potential clients and the amount of resources consumed. Such a component greatly complicates the ability of the application to scale.
.NET Remoting has the option of using a stateless programming model, but it also supports server and client activation of remote objects. .NET Remoting normally uses server activation when remote objects are not required to maintain any state between method calls.





Responses


No responses found. Be the first to respond and make money from revenue sharing program.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
Sign In to add tags.
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: NMock to help solve the problem of writing Unit Test code to your .NET module
Previous Resource: Message Queuing – A boon to Enterprise Network
Return to Discussion Resource Index
Post New Resource
Category: .NET Framework


Post resources and earn money!
 
Related Resources



dotNet Slackers

About Us    Contact Us    Privacy Policy    Terms Of Use