Patterns Flashcards

1
Q

Layer: Wat is het layer pattern?

A

Het layern patroon definieert lagen (groeperingen van modules die een samenhangende set van diensten aanbieden) en een unidirectionele “allowed-to-use” relatie tussen de lagen.

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

Layer: What moet een de description van een layer beschrijven:

A

Welke modules er in de layer zitten

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

Layer: Welke Constraints:

A

Minimaal 2 layers, Lower-layer kan niet een layer boven hem gebruiken.

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

Layer, Weakness:

A

Layers dragen bij aan een performance penalty en voegt up-front kosten to aan een system

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

Broker,Wat is het broker pattern?

A

Het broker-patroon definieert een runtime-component, genaamd een broker, die de communicatie tussen een aantal clients en servers bemiddelt.

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

Broker, Welke elementen zijn aanwezig?

A

Client: Een vragen van een services, Server: een provider van een service
Broker: Bemiddelaar die de vraag van de client doorstuurt naar de server en het antwoord terugstuurt.
Client-side-proxy: Manages the communication with the broker from client side
Server-side-proxy: Manages the communication with the broker from the server side.

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

Broker, Constraints?

A

De client kan alleen verbinding maken met een broker (mogelijk via een client-side proxy). De server kan alleen verbinding maken met een broker (mogelijk via een server-side proxy).

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

Broker, Weaknessess:

A

Brokers voegen een laag van indirectie toe, en daarmee latentie, tussen clients en servers, wat een communicatieknelpunt kan zijn.

De broker kan een enkel punt van falen zijn.

Een broker voegt vooraf complexiteit toe.

Een broker kan een doelwit zijn voor beveiligingsaanvallen.

Een broker kan moeilijk te testen zijn.

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

MVC: Wat is het?

A

Breekt systeem functionaliteit in 3 componenten

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

Mvc: m en wat doet het?

A

Model, - The model is a representation of the application data or state, and it contains (or
provides an interface to) application logic

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

MVC: V en wat doet het

A

View, The view is a user interface component that either produces a representation of the
model for the user or allows for some form of user input, or both.

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

MVC: C en wat doet het

A

Controller, The controller manages the interaction between the model and the view, translating
user actions into changes to the model or changes to the view.

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

mvc, weakness:

A

Complexity, niet waard voor simpele user interfaces
MVC Kan soms geen good fit zijn voor sommige user interface toolkits

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

mvc Constraints:

A

At least one instance of each model,view,controller

Model component should not interact directly with the controller

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

Publish Subscribe: Wat is het?

A

Componenten publiceren en abonneren zich op gebeurtenissen. Wanneer een gebeurtenis wordt aangekondigd door een component, stuurt de connector-infrastructuur de gebeurtenis door naar alle geregistreerde abonnees.

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

publish-subscribe Constraints:

A

Alle componenten zijn verbonden met een eventdistributor, die kan worden gezien als een bus (connector) of als een component. Publiceer-poorten zijn gekoppeld aan aankondigingsrollen en abonneer-poorten zijn gekoppeld aan luisterrollen.

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

publish-subscribe weaknessess:

A

Verhoogt doorgaans de latentie en heeft een negatief effect op de schaalbaarheid en voorspelbaarheid van de berichtaflevertijd.

Minder controle over de volgorde van berichten, en aflevering van berichten is niet gegarandeerd.

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

pipe and filter:

A

Gegevens worden getransformeerd van de externe inputs van een systeem naar de externe outputs via een reeks transformaties uitgevoerd door filters die verbonden zijn door pipes.

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

pipe and filter elements:

A

Filter: een component die gegevens transformeert die worden gelezen op zijn invoerpoort(en) naar gegevens die worden geschreven op zijn uitvoerpoort(en).

Pipe: een connector die gegevens van de uitvoerpoort(en) van een filter naar de invoerpoort(en) van een ander filter overbrengt. Een pipe heeft één enkele bron voor zijn invoer en één enkel doel voor zijn uitvoer. Een pipe behoudt de volgorde van gegevensitems en wijzigt de gegevens die erdoorheen gaan niet.

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

pipe and filter constraints:

A

Pipes verbinden de uitvoerpoorten van filters met de invoerpoorten van filters.

Verbonden filters moeten overeenkomen over het type gegevens dat via de verbindende pipe wordt doorgegeven.

21
Q

pipe and filter weaknesses:

A

Batch-georiënteerde verwerking, geen parallelisatie.

Beperkt toepassingsgebied: stateless datatransformatie.

22
Q

Client server: Wat is het?

A

Clients initiëren interacties met servers door diensten aan te roepen wanneer nodig en wachten op de resultaten van die verzoeken.

23
Q

Client-server: Elements:

A

Client: een component die de diensten van een servercomponent aanroept. Clients hebben poorten die de diensten beschrijven die ze nodig hebben.

Server: een component die diensten aan clients biedt. Servers hebben poorten die de diensten beschrijven die ze aanbieden.

Request/reply connector: een dataverbinding die een request/reply-protocol gebruikt, dat door een client wordt gebruikt om diensten op een server aan te roepen. Belangrijke kenmerken zijn of de oproepen lokaal of op afstand zijn, en of de gegevens zijn versleuteld.

24
Q

Client-server: Constraints:

A

Clients zijn verbonden met servers via request/reply connectors.

Servercomponenten kunnen clients zijn voor andere servers.

25
Q

Client-Server: Weaknesses:

A

De server kan een prestatieknelpunt zijn.

De server kan een enkel punt van falen zijn.

Beslissingen over waar functionaliteit moet worden geplaatst (in de client of in de server) zijn vaak complex en kostbaar om te veranderen nadat een systeem is gebouwd.

26
Q

peer-to-peer wat is het?

A

Computatie wordt bereikt door samenwerkende peers die diensten van elkaar aanvragen en elkaar diensten bieden via een netwerk.

Denk aan torrents

27
Q

peer-to-peer Elements:

A

Peer: een onafhankelijke component die draait op een netwerkknooppunt. Speciale peercomponenten kunnen routing-, indexeer- en peer-zoekfunctionaliteit bieden.

Request/reply connector: wordt gebruikt om verbinding te maken met het peernetwerk, andere peers te zoeken en diensten van andere peers aan te roepen. In sommige gevallen is de noodzaak voor een antwoord niet nodig.

28
Q

Peer-to-peer Constraints:

A

Het aantal toegestane verbindingen met een bepaalde peer.

Het aantal hops dat wordt gebruikt om naar een peer te zoeken.

Welke peers weten van welke andere peers.

Sommige P2P-netwerken zijn georganiseerd met stertopologieën, waarbij peers alleen verbinding maken met supernodes.

29
Q

peer-to-peer: Weaknesses:

A

Het beheren van beveiliging, gegevensconsistentie, gegevens-/servicebeschikbaarheid, back-up en herstel is allemaal complexer.

Kleine peer-to-peer systemen kunnen mogelijk niet consistent kwaliteitsdoelen zoals prestaties en beschikbaarheid bereiken.

30
Q

Wat is een SOA.

A

SERVICE ORIENTED ARCHITECTURE

31
Q

Service oriented architecture: Wat is het?

A

Computatie wordt bereikt door een set van samenwerkende componenten die diensten bieden en/of consumeren via een netwerk.

32
Q

Service oriented architecture, Elements:

A

Componenten:

Serviceproviders: bieden een of meer diensten aan via gepubliceerde interfaces.
Serviceconsumenten: roepen diensten direct of via een tussenpersoon aan.
Serviceproviders kunnen ook serviceconsumenten zijn.
Enterprise Service Bus (ESB): een tussenliggend element dat berichten kan routeren en transformeren tussen serviceproviders en -consumenten.

Register van diensten: kan door providers worden gebruikt om hun diensten te registreren en door consumenten om diensten tijdens runtime te ontdekken.

Orchestration server: coördineert de interacties tussen serviceconsumenten en -providers op basis van talen voor bedrijfsprocessen en workflows.

Connectors:

SOAP-connector
REST-connector
Asynchrone messaging-connector

33
Q

Service oriented architecture: Constraints:

A

Serviceconsumenten zijn verbonden met serviceproviders, maar tussenliggende componenten (bijv. ESB, register, orchestratieserver) kunnen worden gebruikt.

34
Q

Service oriented architecture Weaknesses:

A

SOA-gebaseerde systemen zijn doorgaans complex om te bouwen.

Je hebt geen controle over de evolutie van onafhankelijke diensten.

Er is een prestatieoverhead verbonden aan de middleware, en diensten kunnen prestatieknelpunten zijn, en bieden doorgaans geen prestatiegaranties.

35
Q

Shared data pattern: Wat is het?

A

De communicatie tussen gegevensaccessoren wordt gemedieerd door een gedeelde datastorage.
De controle kan worden geïnitieerd door de gegevensaccessoren of de datastorage. Gegevens worden persistent gemaakt door de datastorage.

36
Q

Shared data, elements:

A

Gedeelde datastorage: Aandachtspunten zijn onder andere het type gegevens dat wordt opgeslagen, prestatiegerichte eigenschappen van gegevens, gegevensdistributie en het aantal toegestane toegangspunten.

Gegevensaccessorcomponent.

Gegevenslees- en schrijfconnector.

37
Q

Shared data Constraints:

A

Data accessors interact only with the data store(s).

38
Q

Shared Data Weaknesses

A

De gedeelde datastorage kan een prestatieknelpunt zijn.

De gedeelde datastorage kan een enkel punt van falen zijn.

Producenten en consumenten van gegevens kunnen sterk gekoppeld zijn.

39
Q

Map reduce: Wat is het?

A

Het map-reduce patroon biedt een framework voor het analyseren van een grote, gedistribueerde dataset die parallel zal worden uitgevoerd op een set van processors. Deze parallelisatie zorgt voor een lage latentie en hoge beschikbaarheid. De map voert de extractie- en transformatiefases uit.

40
Q

Map reduce Elements:

A

Map is een functie met meerdere instanties die over meerdere processors zijn verdeeld en die de extractie- en transformatiefasen van de analyse uitvoert.

Reduce is een functie die kan worden ingezet als een enkele instantie of als meerdere instanties op processors om de laadfase van extract-transform-load uit te voeren.

De infrastructuur is het framework dat verantwoordelijk is voor het implementeren van map- en reduce-instanties, het beheren van de gegevens tussen hen, en het detecteren en herstellen van fouten.

41
Q

Map reduce Relations:

A

Deploy on is de relatie tussen een instantie van een map- of reducefunctie en de processor waarop deze is geïnstalleerd.

Instantiate, monitor, and control is de relatie tussen de infrastructuur en de instanties van map en reduce.

42
Q

Map reduce Constraints:

A

De gegevens die geanalyseerd moeten worden, moeten bestaan als een set van bestanden.

Map-functies zijn stateless en communiceren niet met elkaar.

De enige communicatie tussen map-reduce-instanties is de data die door de map-instanties wordt uitgezonden in de vorm van <key, value>-paren.

43
Q

Map reduce Weaknesses:

A

Als je geen grote datasets hebt, is de overhead van map-reduce niet gerechtvaardigd.

Als je je dataset niet kunt opdelen in subsets van vergelijkbare grootte, gaan de voordelen van parallelisme verloren.

Operaties die meerdere reduce-fases vereisen, zijn complex te coördineren.

44
Q

Multi-Tier Wat is het?

A

De uitvoeringsstructuren van veel systemen zijn georganiseerd als een set van logische groeperingen van componenten. Elke groepering wordt een tier genoemd.

45
Q

Multi-tier: Elements

A
  • Tier, which is a logical grouping of software components.
46
Q

Multi-tier Relations:

A

Is part of: om componenten in tiers te groeperen.

Communicates with: om aan te geven hoe tiers en de componenten die ze bevatten met elkaar communiceren.

Allocated to: in het geval dat tiers in kaart worden gebracht naar computing Platforms.

47
Q

Multi-tier: Constraints

A

A software component belongs to exactly one tier.

48
Q

Multi-tier Weaknesses

A

Substantial up-front cost and complexity

49
Q
A