Hi all,
I've just completed an admittedly cluttered diagram after a quick
discussion with Peter Svensson:
http://groups.google.com/group/sofea/web/Workflow-Screenflow%20v0_1.pdf
Hopefully, this will illustrate the SOFEA approach to UI design. The
basic concept is the business process. Some steps of the business
process can be managed in an automated fashion. This is called process
orchestration and is typically implemented using WS-BPEL. (WS-BPEL can
orchestrate both SOAP and REST services provided the REST services
expose WSDL interfaces. WSDL 2.0 can describe REST services but not
earlier versions.)
Workflow is different from either screen flow or process
orchestration. Workflow generally covers the whole logical business
process. Along the way, both human interaction and machine interaction
can occur. Parts of the workflow may be automatically orchestrated.
Other parts may be choreographed, as when different actors play
autonomous, yet well-scripted parts.
Screen flow is local to each user's front-end application. The front-
end apps seen by users (each with their individual screen flows) are
like flies sitting on a huge process buffalo. They are not the main
act at all, though they may seem to be from a purely visual
perspective.
In this view of the world, the business process is supreme. The
services are derived from the business process and are a level below
in importance. The UI is the last layer in this ecosystem by way of
importance, although it is layered right on top. It provides only
visual coherence but consumes services and processes (composite
services). Hence the name Service-Oriented Front-End Architecture
(SOFEA).
I hope this diagram makes things a bit clearer. It's based on a well-
understood loan application scenario. A bank customer applies for a
loan at the bank's website. The application is lodged and the customer
is given a reference number to check back later. The screen flow is
fairly simple. An automated credit check is kicked off. The credit
rating that comes back may not result in a clearcut decision to
approve or reject the loan. If the result is clearcut, the
application's status can be automatically set, otherwise it has to
wait for a manual decision.
Entirely asynchronously, loan officers may check a backlog of pending
applications that could not be automatically decisioned. They see a
list of such applications, select individual applications from the
list and either approve or reject them. Then they go back to viewing
the list to select other applications. That's their screen flow.
Again asynchronously, customers check back at the bank's website using
the reference number they have been given. Once the decision has been
made (either automatically or manually, they will know). The screen
flow is again very simple.
So we have in effect two SOFEA apps. The customers may use a browser-
based SOFEA app that manages two different screen flows (application
lodgement and checking). The loan officer may use either a rich client
or a thin client. SOFEA is agnostic to the technology.
Regards,
Ganesh