-So what does it mean to know architectural styles? There - -2
-are many many, many architectural styles. So we cannot cover them - -3
-all here. What I want to do instead is, I want to - -4
-mention a few of those. And then I want to go in - -5
-more depth, on one of them. So the first item I - -6
-want to mention is pipes and filters. And pipes and filters indicate - -7
-an architectural style in which a chain of processing elements, which - -8
-can be processes, threads, co-routines, is arranged so that the output - -9
-of each element is the input of the next one - -10
-and usually with some buffering in between consecutive elements. A - -11
-typical example of this, if you're familiar with Unix are - -12
-Unix pipes, that you can use to concatenate Unix commands. - -13
-Another style I want to mention is the event driven - -14
-one. An event driven system typically consists of event - -15
-emittors, like the alarm over here, and event consumers, like - -16
-the fire truck, down here, and consumers are notified when events - -17
-of interest occurr and have the responsibility of reacting - -18
-to those events. A typical example will be a GUI, - -19
-in which widgets generate events and listeners listen to those - -20
-events and react to them. For example, they react to - -21
-the push of a button. A very commonly used - -22
-architectural style is Publish-subscribe, represented by the paper boy. Over - -23
-here. And this is an architectural style in which senders - -24
-of messages, they're called publishers, do not send messages directly - -25
-to specific recievers. Instead, they publish messages with one - -26
-or more associated texts without knowledge of who will - -27
-receive such messages. Similarly subscribers will express interest in - -28
-one or more tags. And will only receive messages of - -29
-interest according to such tags. A typical example of - -30
-a publish-subscribe system, will be Twitter. And I'm pretty - -31
-sure that most of you are familiar with the - -32
-client-server architecture. In which computers in a network, assume one - -33
-of two roles. The server provides the resources and - -34
-functionality. And the client initiates contact with the server, - -35
-and requests the use of those resources and functionality. - -36
-Also in this case, a typical example would be - -37
-email, in which an email server provides email storage - -38
-and management capabilities, and an email client will use - -39
-those capabilities. You may also be familiar with peer-to-peer, - -40
-or P2P, systems. A P2P system is a type - -41
-of decentralized and distributed network system in which individual nodes - -42
-in the network, that are called peers, act as independent - -43
-agents that are both suppliers and consumers of resources. This - -44
-is in contrast to the centralized client-server model, where client - -45
-nodes interact with the central authority. And I'm not going to - -46
-say anything more about peer-to-peer, because I'm going to show you - -47
-two examples, of peer-to-peer systems in the rest of the - -48
-lesson. And you probably have at least heard of rest. - -49
-Which in this case is not an invitation to - -50
-relax as the graphic might indicate. But rather stands for - -51
-Representational State Transfer. REST is a hybrid architectural style - -52
-for distributed hypermedia systems, that is derived from several other - -53
-network based architectural styles. And that is characterized by - -54
-uniform connector interface, and even if I'm not going to say - -55
-anything else about the rest, I wanted to mention - -56
-it, because it is an extremely well known architectural style. - -57
-And the reason for this is that REST is - -58
-very widely used, because it is basically the architectural style - -59
-that governs the world wide web. So we use it - -60
-all the time when we browse the internet, for instance. -- cgit 1.4.1