architectural concerns Flashcards

1
Q

What are the functionalities encapsulated in each of the application layers in the respective pattern by Fowler

A

According to Fowler there are three distinct application layers.
1. Presentation layer: This layer is completely focused on the presenta-
tion of resources. Its tasks are rendering data, reacting to events and
processing sessions via communication/ conversation logic.
2. Application Logic Layer: This layer implements the functions offered
by the presentation layer. It also contains the logic used by the
application.
3. Resource Layer: The logic to access data needed by the application
logic is embedded in this layer. It consists of databases, files, content,
queues and other support functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the relation between layers and tiers?

A

Layers describe functionality and logic that is contained inside of a con-
ceptual block of the application. These are split into the above mentioned
three layers. The layers can be seen as functional organization units.
Tiers are an accumulation of the layers. If we take the two-tier model
with client and server as an example the question appears on how much
functionality should be on the client side and how much on the server side.
Tiers can therefore be seen as physical organization units.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what is the architectural decision for the SOA

A
  1. Thin client: Thin clients have little to no presentation logic. They
    essentially act as dumb terminals to the program.
  2. Thick client: Thick clients host some of the presentation logic and
    sometimes more logic than that. Depending on the used model a
    thick client can be responsible for the presentation layer and part of
    or all of the application layer. The resource layer stays on the server
    side.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Where does the application split lie in the case of remote presen-
tation/distributed/remote data applications? Name examples of
such types of applications

A
  1. Remote presentation: In these types of applications the client is re-
    sponsible for the presentation layer, while the server is operating the
    application and resource layer. This split can be found in single page
    applications (SPA) or multi-device web applications.
  2. Distributed applications: In these types of applications the client is
    responsible for the presentation layer, while the server operates the
    resource layer. The application layer is partly done by the client
    and partly by the server. This often means that some processing is
    delegated from the client to a funciton on the server. This can also
    be seen in SPAs and many current web applications.
  3. Remote data applications: In these types of applications the client is
    responsible for the presentation layer and all of the application layer,
    the server is responsible for the resource layer. Data is accessed by
    high-level interfaces to resources. This type of application provides
    location transparency to resources. This architecture is often seen in
    mobile/ platform games.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly