robasta
robasta

Reputation: 4701

Architecture help (WCF or not)

I need to process thousands of user details from different (clients) web applications. I have finished a console app that does the actual processing. I have also decided to use MSMQ (the console app will get the user details from a Queue).

I need help deciding how the client web applications will pass data to the Queue. I am thinking I can add a WCF service that will receive data from the client apps and pass it on to the Queue.

Would this be the best way to go? Or is there a better way(s)?

Upvotes: 2

Views: 195

Answers (3)

xelibrion
xelibrion

Reputation: 2234

Take a look at NServiceBus

Upvotes: 0

Adrian K
Adrian K

Reputation: 10205

Yes it would be the best - in that it's what WCF is for; as it's config driven you'll be able to use different binding types to suit the environment you're in (sending the data across).

The assumption is that the web clients are all (mostly) out on the public internet; being on a private network would give you more options.

WCF can use a queue as a binding type, not sure if that gives you any advantage since you're going to put them into a queue anyway. A synchronous WCF call using an http binding will be fine performance wise as the act of giving it to the MSMQ you have should be pretty quick.

Upvotes: 0

Massimiliano Peluso
Massimiliano Peluso

Reputation: 26717

If the whole architecture is Microsoft based I can suggest you to push messages to MSMQ using an InProc dll which is much faster than access via WCF (which add one more layer to the architecture and it slow down the process as it need to serialize/deserialize) the objects. If you design this component in a proper way (SOLID principles) and you make it not coupled to the code you can easily switch to WCF(if you need it) adding a data contract and an End Point to expose your component as a service(at the end of the day WCF exposes an Interface)

Upvotes: 1

Related Questions