Your public api doesn't need to conform to the implementation.
For more options, visit https://groups.google.com/groups/opt_out.
WCF doesn’t depend on System.Web either… I’m not 100% but I seem to remember the guys saying they use WCF under the covers though that might for the latest version under development. .. Ok checking it is less dependent now .. System.Web.Http was dependent on WCF but has been rewritten in the latest version . System.Web.Http.SelfHost is still dependent on System.ServiceModel
> WCF is like a message bus
No, it isn't.
Note “like “ not is …. You don’t thinking reading the byte stream of the network card , serializing them into MessageContract and then dispatching them is like what a message bus does ? You can even do pub sub or order them in a queue.
Ben
I disagree , WCF can be very simple , use a basic binding , methods and your off creating productive code. You can also do Json Rest style service
http://www.codeproject.com/Articles/167159/How-to-create-a-JSON-WCF-RESTful-Service-in-60-sec
WCF is very flexible.. you want high performance switch to tcp/ip binary channel ( for WCF to WCF only) in just a few clicks. The really nice part of WCF is you offer Soap , Rest , Shared Memory and Tcp/ip channels so people can choose what they want .. And Soap is really good for quickly adding a client , yes there are interop issues with Java in Soap but it’s their choice they can use Rest. What you don’t want to do is reinvent the wheel , use basic types string, int , DateTime? ( instead of DateTime) don’t try to push inheritance / interfaces / enums onto the wire and your off and productive within a few hours. Datetimes are painful in json with javascript as well.
On Message vs Methods , there is overlap you can also expand with Methods eg DoThis(int value , Data options) , use judgement uploads should be a complex type , getbyId (int id) is ok uploadData ( param1… param20) is not .. What’s should only be in special cases is ReceiveMessage(MessageContract message) where you do your own dispatch into ICommand.
The best thing about Soap / WCF is you automatically get strongly typed proxies. Someone changes the API/Schema on the server and an expected exception will tell you the version has changed – great for early in a project . You then go update proxy via right click and hit F6 and all the information is there with intellisense to correct. No coordination or distribution of schema documents needed.
Rest tends to work better with lots of small amounts of data at internet scope , Soap tends to work better within an organization.
I will add one thing more relevant to CQRS with ES and that is normally REST results in lots of little calls it’s a bit chatty = SQL style .. SOAP tends to have a style where you receive or send all the information needed in 1 get or post “chunky calls” . However in CQRS with ES your projected read model will give you all the information , it just looks non Rest ie instead of normal REST /Customers/12 and then get other relevant information its /TodayCustomerDetailForm/12 .
Ben
Ben
--
You received this message because you are subscribed to the Google Groups "DDD/CQRS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dddcqrs+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "DDD/CQRS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dddcqrs+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.