7

Where exactly in the 3-tier-architecture is the access to the business layer (e.g. REST API) located? I would say that the API must be between the presentation and business layer, but I have never seen that someone has defined it that way.

Presentation -> API -> Business Layer -> Data Layer

Would that be a reasonable approach?

1
  • Usually when people describe tiered architecture using square boxes or arrows, the borders or arrows imply some kind of interface between those tiers. For example: Presentation->BLL->DAL implies that interfaces exist for both the DAL and BLL. Commented Nov 10, 2017 at 22:52

1 Answer 1

7

Yes, this makes sense !

The three tier architecture decouples presentation layer, business (application) layer and database layer. Typically the business layer and the database layer communicate using the database API. The business layer typically exposes its API for other applications and of course for the (remote) presentation layer. There you should find the REST API.

Martin Fowler in his book Patterns for Enterprise Application Architecture calls the boundary of the domain logic (business layer) the service layer. In this article you'll find some more information on how the service layer can be distributed on the tiers.

3
  • Ok, but the API is not considered to be an own layer? Because I also read something about an application layer in front of the business logic layer which somehow fits to the API.
    – maxeh
    Commented Nov 10, 2017 at 23:00
  • @Max there's in fact a difference between layer (which is a grouping of related things) and the tiers (which are the result of distributing the layers across the network. I've edited with two additional links on this. Hope this helps
    – Christophe
    Commented Nov 10, 2017 at 23:05
  • 5
    @Max: API stands for Application Programming Interface. Your REST API is the surface area with which your Business Layer communicates. It is not necessarily a "tier" in its own right. Commented Nov 11, 2017 at 0:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.