Prizes & Awards
My Profile
Active Members
TodayLast 7 Days
more...
|
Resources » Articles » .NET Framework »
Distributed Application Model in .NET
|
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.
|
|