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
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