Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / CLR / March 2004

Tip: Looking for answers? Try searching our database.

.NET Remoting

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Kamal Mehta - 25 Mar 2004 17:30 GMT
Hi All!

We have an architecure in which we are having one Component server and other
Web Server which has components installed.

I want to use .NET remoting in that scenario, Please suggest me any solution
which has been worked out by anyone out there.

any immediate help would be of great help.

Kamal M
Matt Davey - 25 Mar 2004 17:43 GMT
How are you hosting the components ? COM+, service
What type of data R U passing between the components adn the web server ?

General tips:
   Use chunky and not chatty calls
   Remoting calls are expensive depending on frequency and payload

Later
http://weblogs.asp.net/mdavey/

> Hi All!
>
[quoted text clipped - 7 lines]
>
> Kamal M
kamal - 26 Mar 2004 07:56 GMT
Hi Matt!

Thanx for your initiative.

I m sending my whole understanding and architecure we have planned so
far.

please review and suggest in our scenario.

Where .NET Remoting comes in the norchio purpose system architecture?


In the proposed structure, all the business logic, third party
components and COMPONENT reside on the COMPONENT server i.e. called
Business Tier.

To make communication possible between Presentation Tier (i.e. from Web
Server) and Business Tier (i.e. from COMPONENT Server) across the
machines, .NET Remoting is required.

Our understanding about .Net Remoting?
??    The Business logic DLL or common interface should be deployed on both
side (Web Server and Component server).
??    Performance Overhead.   
o    Calling and responding time in case of synchronous processes.
o    Network bandwidth and amount of data transfer is more.
??    Coding will be increased.
??    Security will be implemented explicitly (only if we use TCP channel,
but in case of HTTP channel, it inherits the security of IIS and
ASP.NET). TCP channel security can be implemented through IPSec.

Analyzed Solution - I (With Remoting ?V Using HTTP Channel)
??    We can use .net Remoting without deploying business logic dll on the
web server by using the HTTP (SOAP formatter) which creates the proxy
object on the web server end and make call on the remote host object.
??    HTTP is inherently slower than TCP but more secure than TCP.

Analyzed Solution - II (Without Remoting)
??    We can use Multiprocessor web servers instead of using separate
COMPONENT server.
o    No need of .Net Remoting.
o    Performance will considerably be enhanced.
o    Calling and responding time will be short.
??    Same security will be applicable to the business logic as on the web
server.
??    Coding will be decreased.
??    No channel implementation is used.

Our Problem
1)    Performance Overhead
How we can control this on a site that has large no of transaction at
any point of time.

2)    Deployment,  maintenance and traceability
How we can deploy (replicate the dlls on both COMPONENT, Web Server).
What are the constraints involved in maintenance and updations of the
dlls.

3)    Is it required to have a replication of the dlls or common interfaces
on both server and client?

4)    Does this architecture have any security related problem which can be
suggested?

5)    Any recommended guidelines which we can follow?

Mehta K
Matt Davey - 26 Mar 2004 11:47 GMT
OK here goes, off the top of my head:

Overall, Analyzed Solution - II is going to be the faster of the two
architectures, simply because you are avoiding the additional machine to
machine hop.  However, if the overall architecture of your
presentation/business component is not good, you are still going to have a
slow site.  Using  products like CLR Profilers (from the Microsoft site) etc
will help in improving GC performance and overall application performance.

1. If you really want to keep the business and presentation components on
separate machines, you are going to have to accept a certain performance
overhead.  If you really want to go this route, then consider, chunky and
not chatty calls, maybe using some kinda async mechanism - queue etc.

2. Really you need to look at the versioning feature within .NET.
Deployment is just an xcopy (assuming you are not using COM components etc)

3. If you are using remoting, then you are basically passing an object
reference.  Thus, you will need at a minimum an assembly with an interface
that the client can use to communicate with the remoting object.  So at a
minimum for a remoting architecture, you need the same interface deployed on
the client and server.

4. Microsoft built remoting in a way that allows developers to extend the
framework. http://www.genuinechannels.com/ has an interesting product that
adds security as one of its features.

5.  There are a few performance guidelines on my blog
http://weblogs.asp.net/mdavey/

Later

> Hi Matt!
>
[quoted text clipped - 62 lines]
>
> Mehta K

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.