On Feb 3, 2008 11:14 PM, Mark Mandel <[EMAIL PROTECTED]> wrote:
> Can you possibly expand on the differences between your 'high level needs',
> and your 'low level needs'

Hmm, it all gets a bit fuzzy here. This is an area where I design
based on feelings rather than rules of thumb :)

My service layer provides two things:
- an API for my MVC controllers and for remote clients (via a remote
facade that just delegates to the service)
- workflow business logic that covers several business objects

The former means that I provide some methods that are really just
exposing certain basic data layer operations (get{Object}ById() and
findAll{Object}() kind of stuff), sometimes with security applied and
/ or argument validation.

The latter is for complex orchestration logic that doesn't "fit" into
any single business object.

The business objects are as smart as possible.

The data layer is grouped according to related sets of persistent objects.

For example, if I was designing a change management system, I'd
probably have a ChangeManagerController (amongst others) and that
would depend on a variety of services such as NotificationService,
CalendarService, RoutingWorkflowService. Those manage workflow and
scheduling - orchestration.

At the data level, such an application might have separate gateways
for users, notifications and tickets (and each of those might handle
several related persistent objects).

There would be several domain objects representing users, tickets,
assets, escalations, notifications, calendars and so on and so on.
Some of them may depend on services (to keep the dependencies clean).

Does that help?
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CFCDev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cfcdev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to