WCF & WF & SmartClient

H

hufaunder

I'm new to wcf & wf and try to get a handle on how all this should be
used, in particular for a smart client like an email program, a
trading platform, etc. For something like that you have the common 3
tiers:

1) Some GUI that has certain buttons, i.e. send email/stock order.
There might be different GUIs.
2) Some complex interfaces/classes
3) Some logic layer that translates each action on the GUI layer into
a range of calls to the classes and keeps track on states.

Now to the questions:

1) Is the best approach to create a workflow for each action on the
GUI, i.e. workflow for sending email/order, workflow for retrieving
data/portfolio, etc?

2) Where would WCF come into play? Between the GUI and WF, i.e. WF is
on the server side and it calls the complex classes? Or between the WF
and the complex classes, i.e. WF is on the server side?

Any input and other comments are appreciated

Thanks
 
M

Michael Nemtsev

Hello (e-mail address removed),

h> I'm new to wcf & wf and try to get a handle on how all this should be
h> used, in particular for a smart client
h>
h> 1) Some GUI that has certain buttons, i.e. send email/stock order.
h> There might be different GUIs.
h> 2) Some complex interfaces/classes
h> 3) Some logic layer that translates each action on the GUI layer into
h> a range of calls to the classes and keeps track on states.
h> Now to the questions:

h> 1) Is the best approach to create a workflow for each action on the
h> GUI, i.e. workflow for sending email/order, workflow for retrieving
h> data/portfolio, etc?

You need extract the common entities for your business logic, which will
be expressed as activities of your WF, a kinda DSL (domain specific language)
model.
So, it can be end up that not all UI actions maps are directly represented
as activities of WF

h> 2) Where would WCF come into play? Between the GUI and WF, i.e. WF is
h> on the server side and it calls the complex classes? Or between the
h> WF and the complex classes, i.e. WF is on the server side?

WCF should represend the server side logic, and can be above and below your
WF, it depends.
There are several solutions for this, depending on what are your going to do.
For example your can extract webservice methods for your logic, which will
call specific WF activities which will call enterprice services in turn



---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog: http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo
 
C

Cowboy \(Gregory A. Beamer\)

WF is a declarative way of describing flows of work. You do not have to use
it for every button click, but it does begin to separate the model from
implementation.

As for WCF, it is a method of setting up commmunication endpoints for
different services. If your SmartClient works with data, as it probably
does, the data is likely stored somewhere else. WCF is then a service
endpoint to get that data. You could, of course, connect directly to the
database, but this tightens coupling between your application and the data
store. Service endpoints (WCF or ASMX web services, for example) can be
placed in UDDI so you can easily flip the service from machine to machine
without altering the clients (provided you have a lookup on UDDI when the
service fails).

How to use them together? WCF can be used, in a workflow, to contact
services.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
http://gregorybeamer.spaces.live.com

*********************************************
Think outside the box!
*********************************************
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top