开发者

WCF / WCF Data Services / WCF RIA Services

开发者 https://www.devze.com 2023-01-18 23:34 出处:网络
Not to add another SO post regarding the different WCF stacks, but I want to make sure I\'m heading in the right direction before I waste more development time...

Not to add another SO post regarding the different WCF stacks, but I want to make sure I'm heading in the right direction before I waste more development time...

My scenario - Our company has a number of web apps that all access the same series of databases. All the apps were basically developed independently, so there's a ton of business logic and data access repetition. On top of that, I have a (possibly unreasonable) goal of making this project client-independent - consolidate our current business logic and data access into an interface that can be accessed by a web app, Silverlight, a mobile app, etc.

Enter WCF - it strikes me as the perfect option to accomplish both. Unfortunately, after reading all the existing "guidance" that exists over the various WCF flavors, I keep coming back more confused than anything. Here are the conclusions I've come to so far - please feel free to correct me:

  • Straight WCF - most flexible and comprehensive option, but everything 开发者_JAVA技巧starts from scratch; would require significant time up front to configure and test; most technically mature option with hooks to accomplish most of the goals
  • WCF Data Services - Fastest way of getting a REST service online; excellent if the application just needs to expose data directly from the DB; If business logic is needed, it either must be written on the client side or by a second service that exposes the logic.
  • WCF RIA Services - Fastest way to configure a service that is ready to expose business logic; Possibly the most technically immature of the options (but with what looks like significant investment to bring it along); Soap, REST, and JSON endpoints would allow for most of the client independence;

So given my requirements above, I've come to the following conclusions - Data Services is probably a non-starter due to business logic requirements (and the idea of second WCF service consuming the Data Service strikes me as an extremely poor architectural choice); Speed matters, which would indicate that RIA Services might be the best place to start (call me lazy, but having a small team with a tight timeframe makes code generation valuable).

Is there a better way to handle the goals I described? Am I misunderstanding any/all of the WCF options? What other practical guidance can be offered about choosing which WCF approach (not just for me, but for anyone else trying to evaluate the technologies)?


I would go with straight WCF.

This allows you to expose your services through various endpoints depending upon requirements:

  • SOAP for cross platform interopability
  • Binary NetTcp for internal clients requiring speed
  • JSON for lightweight access
0

精彩评论

暂无评论...
验证码 换一张
取 消