architecture - WCF / WCF Data Services / WCF RIA Services -
not add post regarding different wcf stacks, want make sure i'm heading in right direction before waste more development time...
my scenario - our company has number of web apps access same series of databases. apps developed independently, there's ton of business logic , data access repetition. on top of that, have (possibly unreasonable) goal of making project client-independent - consolidate our current business logic , data access interface can accessed web app, silverlight, mobile app, etc.
enter wcf - strikes me perfect option accomplish both. unfortunately, after reading existing "guidance" exists on various wcf flavors, keep coming more confused anything. here conclusions i've come far - please feel free correct me:
- straight wcf - flexible , comprehensive option, starts scratch; require significant time front configure , test; technically mature option hooks accomplish of goals
- wcf data services - fastest way of getting rest service online; excellent if application needs expose data directly db; if business logic needed, either must written on client side or second service exposes logic.
- wcf ria services - fastest way configure service ready expose business logic; possibly technically immature of options (but looks significant investment bring along); soap, rest, , json endpoints allow of client independence;
so given requirements above, i've come following conclusions - data services non-starter due business logic requirements (and idea of second wcf service consuming data service strikes me extremely poor architectural choice); speed matters, indicate ria services might best place start (call me lazy, having small team tight timeframe makes code generation valuable).
is there better way handle goals described? misunderstanding any/all of wcf options? other practical guidance can offered choosing wcf approach (not me, else trying evaluate technologies)?
i go straight wcf.
this allows expose services through various endpoints depending upon requirements:
- soap cross platform interopability
- binary nettcp internal clients requiring speed
- json lightweight access
Comments
Post a Comment