in-process vs WCF

  • Thread starter Thread starter GaryDean
  • Start date Start date
G

GaryDean

Sometimes its clear that WCF should be used when calls have to be out of
process. Then, on the other hand, WCF adds a lot of flexibility if we want
to physically move stuff around. Maybe we should use WCF between
presentation - business objects - database objects just for flexibility and
maybe throughput. However there is a penalty to pay for all the marshalling
and serialization. Throughput may be greater but individual transaction
latency will be more.

Comparing the same application written in-process and with WCF having the
three layers I am wondering what the WCF round-trip time penalty is given
that it is all running on the same server.
 
The balance I have found is to used named pipes...if I want to host on a
single machine.

I develop code ....and the same code base is deployed many times over.
Sometimes we have a client who has huge scaling needs. Sometimes its a small
client.

The smaller clients get the same code base, but we deploy on a single
machine...using named pipes.

The bigger clients get the same code base, but that is where we scale
horizontally.

...

You can find an example of named pipes..........
at:
http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!158.entry


As you probably know...you sometimes give up performance for scalability.
But the above code.....where I have "ServiceWrappers"..you could swap out
the code....and just strong instantiate the business logic classes..
and then do your own tests.

That's why I like the Interfaced based WCF development.
It wouldn't take much effort on my part to make my WCF code..into a no WCF
monolithic (all dll's on the same machine).....
but putting in a simple Factory Design Pattern.

Good luck..that's the best I can offer help-wise.
 
Thanks,
I'll have a look at your blog.
Regards,
Gary
sloan said:
The balance I have found is to used named pipes...if I want to host on a
single machine.

I develop code ....and the same code base is deployed many times over.
Sometimes we have a client who has huge scaling needs. Sometimes its a
small client.

The smaller clients get the same code base, but we deploy on a single
machine...using named pipes.

The bigger clients get the same code base, but that is where we scale
horizontally.

..

You can find an example of named pipes..........
at:
http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!158.entry


As you probably know...you sometimes give up performance for scalability.
But the above code.....where I have "ServiceWrappers"..you could swap out
the code....and just strong instantiate the business logic classes..
and then do your own tests.

That's why I like the Interfaced based WCF development.
It wouldn't take much effort on my part to make my WCF code..into a no WCF
monolithic (all dll's on the same machine).....
but putting in a simple Factory Design Pattern.

Good luck..that's the best I can offer help-wise.
 
Do you have any feel for the performance difference between WCF using named
pipes and in-process calls? That would be the minimal cost of WCF

--
Regards,
Gary Blakely
Dean Blakely & Associates
www.deanblakely.com
sloan said:
The balance I have found is to used named pipes...if I want to host on a
single machine.

I develop code ....and the same code base is deployed many times over.
Sometimes we have a client who has huge scaling needs. Sometimes its a
small client.

The smaller clients get the same code base, but we deploy on a single
machine...using named pipes.

The bigger clients get the same code base, but that is where we scale
horizontally.

..

You can find an example of named pipes..........
at:
http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!158.entry


As you probably know...you sometimes give up performance for scalability.
But the above code.....where I have "ServiceWrappers"..you could swap out
the code....and just strong instantiate the business logic classes..
and then do your own tests.

That's why I like the Interfaced based WCF development.
It wouldn't take much effort on my part to make my WCF code..into a no WCF
monolithic (all dll's on the same machine).....
but putting in a simple Factory Design Pattern.

Good luck..that's the best I can offer help-wise.
 
Back
Top