From b2d80610db6beda38573890ed169815e495bc663 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 24 May 2020 16:34:31 +0700 Subject: [usth/ICT2.7] Engineer software --- ...Types of Architectural Styles - lang_en_vs5.srt | 239 +++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 usth/ICT2.7/P3L1 Software Architecture Subtitles/21 - Types of Architectural Styles - lang_en_vs5.srt (limited to 'usth/ICT2.7/P3L1 Software Architecture Subtitles/21 - Types of Architectural Styles - lang_en_vs5.srt') diff --git a/usth/ICT2.7/P3L1 Software Architecture Subtitles/21 - Types of Architectural Styles - lang_en_vs5.srt b/usth/ICT2.7/P3L1 Software Architecture Subtitles/21 - Types of Architectural Styles - lang_en_vs5.srt new file mode 100644 index 0000000..05011c7 --- /dev/null +++ b/usth/ICT2.7/P3L1 Software Architecture Subtitles/21 - Types of Architectural Styles - lang_en_vs5.srt @@ -0,0 +1,239 @@ +1 +00:00:00,130 --> 00:00:02,410 +So what does it mean to know architectural styles? There + +2 +00:00:02,410 --> 00:00:06,390 +are many many, many architectural styles. So we cannot cover them + +3 +00:00:06,390 --> 00:00:08,730 +all here. What I want to do instead is, I want to + +4 +00:00:08,730 --> 00:00:10,960 +mention a few of those. And then I want to go in + +5 +00:00:10,960 --> 00:00:13,300 +more depth, on one of them. So the first item I + +6 +00:00:13,300 --> 00:00:17,420 +want to mention is pipes and filters. And pipes and filters indicate + +7 +00:00:17,420 --> 00:00:21,110 +an architectural style in which a chain of processing elements, which + +8 +00:00:21,110 --> 00:00:25,410 +can be processes, threads, co-routines, is arranged so that the output + +9 +00:00:25,410 --> 00:00:28,420 +of each element is the input of the next one + +10 +00:00:28,420 --> 00:00:31,840 +and usually with some buffering in between consecutive elements. A + +11 +00:00:31,840 --> 00:00:34,120 +typical example of this, if you're familiar with Unix are + +12 +00:00:34,120 --> 00:00:37,900 +Unix pipes, that you can use to concatenate Unix commands. + +13 +00:00:37,900 --> 00:00:40,310 +Another style I want to mention is the event driven + +14 +00:00:40,310 --> 00:00:43,540 +one. An event driven system typically consists of event + +15 +00:00:43,540 --> 00:00:46,590 +emittors, like the alarm over here, and event consumers, like + +16 +00:00:46,590 --> 00:00:50,720 +the fire truck, down here, and consumers are notified when events + +17 +00:00:50,720 --> 00:00:53,810 +of interest occurr and have the responsibility of reacting + +18 +00:00:53,810 --> 00:00:56,676 +to those events. A typical example will be a GUI, + +19 +00:00:56,676 --> 00:00:59,950 +in which widgets generate events and listeners listen to those + +20 +00:00:59,950 --> 00:01:02,550 +events and react to them. For example, they react to + +21 +00:01:02,550 --> 00:01:05,060 +the push of a button. A very commonly used + +22 +00:01:05,060 --> 00:01:09,250 +architectural style is Publish-subscribe, represented by the paper boy. Over + +23 +00:01:09,250 --> 00:01:12,420 +here. And this is an architectural style in which senders + +24 +00:01:12,420 --> 00:01:15,870 +of messages, they're called publishers, do not send messages directly + +25 +00:01:15,870 --> 00:01:19,330 +to specific recievers. Instead, they publish messages with one + +26 +00:01:19,330 --> 00:01:22,530 +or more associated texts without knowledge of who will + +27 +00:01:22,530 --> 00:01:26,810 +receive such messages. Similarly subscribers will express interest in + +28 +00:01:26,810 --> 00:01:29,340 +one or more tags. And will only receive messages of + +29 +00:01:29,340 --> 00:01:32,095 +interest according to such tags. A typical example of + +30 +00:01:32,095 --> 00:01:35,240 +a publish-subscribe system, will be Twitter. And I'm pretty + +31 +00:01:35,240 --> 00:01:36,835 +sure that most of you are familiar with the + +32 +00:01:36,835 --> 00:01:41,170 +client-server architecture. In which computers in a network, assume one + +33 +00:01:41,170 --> 00:01:43,930 +of two roles. The server provides the resources and + +34 +00:01:43,930 --> 00:01:47,630 +functionality. And the client initiates contact with the server, + +35 +00:01:47,630 --> 00:01:50,920 +and requests the use of those resources and functionality. + +36 +00:01:50,920 --> 00:01:53,340 +Also in this case, a typical example would be + +37 +00:01:53,340 --> 00:01:56,470 +email, in which an email server provides email storage + +38 +00:01:56,470 --> 00:01:59,390 +and management capabilities, and an email client will use + +39 +00:01:59,390 --> 00:02:02,580 +those capabilities. You may also be familiar with peer-to-peer, + +40 +00:02:02,580 --> 00:02:06,530 +or P2P, systems. A P2P system is a type + +41 +00:02:06,530 --> 00:02:10,850 +of decentralized and distributed network system in which individual nodes + +42 +00:02:10,850 --> 00:02:14,220 +in the network, that are called peers, act as independent + +43 +00:02:14,220 --> 00:02:17,940 +agents that are both suppliers and consumers of resources. This + +44 +00:02:17,940 --> 00:02:20,700 +is in contrast to the centralized client-server model, where client + +45 +00:02:20,700 --> 00:02:23,660 +nodes interact with the central authority. And I'm not going to + +46 +00:02:23,660 --> 00:02:26,030 +say anything more about peer-to-peer, because I'm going to show you + +47 +00:02:26,030 --> 00:02:28,940 +two examples, of peer-to-peer systems in the rest of the + +48 +00:02:28,940 --> 00:02:32,040 +lesson. And you probably have at least heard of rest. + +49 +00:02:32,040 --> 00:02:33,990 +Which in this case is not an invitation to + +50 +00:02:33,990 --> 00:02:36,970 +relax as the graphic might indicate. But rather stands for + +51 +00:02:36,970 --> 00:02:41,400 +Representational State Transfer. REST is a hybrid architectural style + +52 +00:02:41,400 --> 00:02:45,150 +for distributed hypermedia systems, that is derived from several other + +53 +00:02:45,150 --> 00:02:48,210 +network based architectural styles. And that is characterized by + +54 +00:02:48,210 --> 00:02:51,970 +uniform connector interface, and even if I'm not going to say + +55 +00:02:51,970 --> 00:02:54,230 +anything else about the rest, I wanted to mention + +56 +00:02:54,230 --> 00:02:57,440 +it, because it is an extremely well known architectural style. + +57 +00:02:57,440 --> 00:02:59,300 +And the reason for this is that REST is + +58 +00:02:59,300 --> 00:03:03,310 +very widely used, because it is basically the architectural style + +59 +00:03:03,310 --> 00:03:06,050 +that governs the world wide web. So we use it + +60 +00:03:06,050 --> 00:03:08,330 +all the time when we browse the internet, for instance. -- cgit 1.4.1