views:

7

answers:

0

Hi:

I'm trying to clear up a miscomprehension of the layering of an application. Think I may have something wrong...

Up till now, I've only seen smallish apps and websites, each broken down as Data Layer, Services Layer, UI Layer. When WCF was involved, A second 'services' layer was inserted, with remote Proxies.

The Data layer contains things like ExpenseRepository, UserRepository, OrganisationRepository. The Services layer contains things like AuthenticationService, LoggingService, ExpenseService, UserService, OrganisationService. All of the above generally have a request wide/singleton lifespan.

The Service layer is the business logic -- handling the validation, and coordinating object persistence across one or more of the Repositories and possibly other services (eg: AuthenticationService, LoggingService, AuthorisationService, etc).

And yet...when I go to the Microsoft architecture manual, the word 'services' is reserved solely for the WCF services layer, and the stuff that I always seen as Services is referred to as BusinessComponents and Business Workflows...

Which is it? Services or BusinessComponents?

I guess one could rename everything from Services to Business.Components in order to free up the term Services for only WCF Facades, but that doesn't seem exactly right either: Authentication, Logging, etc (the cross cutting services) are not business logic, but just...Services. Just not WCF Services...See where I am confused?

Anybody have a suggestion on how to name these various parts?