tags:

views:

105

answers:

2

I am in the process of implementing an enhancement to an existing web application(A). The new solution will provide features(charts/images/data) to the application A. The new enhancement will be a new project and will generate new assemblies. I am trying to identify what would be most elegant way to read this information. 1) Do a binary reference and read the data directly. The new assemblies live with your application and are married together 2) Write a WCF call and get the data. This will help to decouple the application.

The new application will involve me to buy some expensive licences. So if i go with the 2nd option i can limit the license fee to a single server or atmost 2-3. My current applicaiton runs under a webfarm of 8 servers.

Please share out the pros/cons of both approach.

Thanks.

A: 

If you decouple the two pieces sufficiently, you will also permit the use of clients running something other than .NET. Using the first option, you could only support .NET clients. This may turn out to be important, even if today you are absolutely certain that only .NET will ever be used - tomorrow, your company may be purchased by another which is a Java or PHP shop.

Even if you never need to support a non .NET client, coupling to the assemblies will require you to maintain version compatibility between the client and server. If this is not necessary, then use option #2.

John Saunders
A: 

The benefit of using WCF (decoupled approach) is that you get a deployment option to take it outside of the machine if it impacts the machine too much in terms of processing or storage.

The downside is that you'll likely pay some performance hit compared to linking directly.

I'm sure you can do some dynamic linking so you don't have to deploy to all 8 servers.

eed3si9n