Somes documentation say represent a presentation layer (which I think represent the 6th level of the OSI Model), but others documentation say it's represent a web-tier in a multi-tier web model. I dont think they are the same, or are they?
ISO Open Systems Interconnection model has only ever been good for approximating where a given facility sits in the structure. OSI is so poorly defined that any disagreements are moot.
It is not clear that the OSI could be better defined because it is really just a naming scheme for highly diverse and ill-bounded concepts. Librarians have had this problem since there were libraries.
I don't think Presentation Layer here has any relationship with OSI model. Normally when you design an application, you will have different layer to isolate different responsibilities (e.g. presentation, business logic etc). Presentation Layer is often used to describe the layer that interact with business logic layer. It "presents" the result of business logic to user and get input from user and send to business logic layer.
When you look from different aspects, it can be divided into different kind of "layers", and for certain component, it sits in different layer from different aspect. Therefore saying JSF sits in Web-tier, as well as Presentation Layer, has no conflict at all.
In a 3-tiered architecture, the layers are:
- the presentation tier (the client for the end-user)
- the business logic tier (app server or web server)
- the data tier (database, file system, etc.)
This separation make a lot of sense for fat client application (also called rich client) such as Swing java apps.
For web apps, according to this strict physical separation, the web browser would be the presentation tier -- because it's ultimately the one who displays something -- and JSF would be part of the business logic tier. But this make little sense.
So, given the coupling between the web browser and the JSF framework on server-side, both can be considered as part of the presentation layer:
- web browser: HTML rendering, AJAX, Javascript
- web presentation framework: JSF
And despite the fact that these things are separated by a remote boundary, they are all usually referred as the presentation layer, and by a language abuse, the web tier.