Skip to main content
LibreTexts - Ukrayinska

9.4: Розподілені обчислення

  • Page ID
    10004
    • Anonymous
    • LibreTexts
    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Цілі навчання

    Після вивчення цього розділу ви зможете зробити наступне:

    1. Зрозумійте концепцію розподілених обчислень та її переваги.
    2. Розуміти клієнт-серверну модель розподілених обчислень.
    3. Знайте, що таке веб-сервіси та переваги, які веб-сервіси приносять фірмам.
    4. Оцініть важливість стандартів обміну повідомленнями та зрозумійте, як надсилання повідомлень між машинами може прискорити процеси, скоротити витрати, зменшити помилки та забезпечити нові способи ведення бізнесу.

    Коли комп'ютери в різних місцях можуть спілкуватися один з одним, це часто називають розподіленими обчисленнями. Розподілені обчислення можуть забезпечити величезну ефективність у швидкості, зменшенні помилок та економії коштів і можуть створити абсолютно нові способи ведення бізнесу. Проектування архітектури систем для розподілених систем передбачає безліч просунутих технічних тем. Замість того, щоб забезпечити вичерпну декомпозицію розподілених обчислень, наведені нижче приклади покликані допомогти менеджерам зрозуміти більші ідеї, що стоять за деякими термінами, з якими вони, ймовірно, зіткнуться.

    Почнемо з терміна сервер. Це складно, тому що він часто використовується двома способами: (1) в апаратному контексті сервер - це комп'ютер, який був налаштований на підтримку запитів від інших комп'ютерів (наприклад, Dell продає сервери) і (2) в контексті програмного забезпечення сервер - це програма, яка виконує запити (наприклад, Apache з відкритим вихідним кодом Web) сервер). Більшу частину часу серверне програмне забезпечення знаходиться на апаратному забезпеченні класу сервера, але ви також можете налаштувати ПК, ноутбук або інший невеликий комп'ютер для запуску серверного програмного забезпечення, хоча і менш потужно. І ви можете використовувати мейнфрейми або машини супер-комп'ютерного класу як сервери, теж.

    Всесвітня павутина, як і багато інших розподілених обчислювальних сервісів, - це те, що вундеркінди називають системою клієнт-сервер. Клієнт-сервер - це дві частини програмного забезпечення, клієнт, який робить запит, і сервер, який приймає і намагається виконати запит. У нашому сценарії WWW клієнтом є браузер (наприклад, Internet Explorer, Firefox, Safari). Коли ви вводите адресу веб-сайту в поле розташування вашого браузера, ви говорите клієнту, щоб «знайти програмне забезпечення веб-сервера за адресою, вказаною адресою, і повідомити серверу, щоб повернути веб-сайт запитаний».

    Можна зв'язати прості мови сценаріїв до веб-сервера для виконання розрахунків, доступу до баз даних або налаштування веб-сайтів. Але більш просунуті розподілені середовища можуть використовувати категорію програмного забезпечення, яка називається сервером додатків. Сервер додатків (або сервер додатків) містить бізнес-логіку для розподіленої системи. Окремі веб-сервіси, що обслуговуються сервером додатків, запрограмовані на виконання різних завдань: повернення розрахунку («податок з продажу для вашого замовлення складе $11,58»), доступ до програми бази даних («ось результати, які ви шукали») або навіть зробити запит на інший сервер в іншому організація («Visa, будь ласка, перевірте номер кредитної картки цього клієнта для мене»).

    Малюнок 9.6

    У цій багаторівневій розподіленій системі клієнтські браузери на різних комп'ютерах (настільних, портативних, мобільних) отримують доступ до системи через веб-сервер. Касовий апарат не використовує веб-браузер, тому замість цього логіка касового апарату запрограмована на прямий доступ до потрібних йому послуг з сервера додатків. Веб-сервіси, доступні з сервера додатків, можуть попросити виконувати різні функції, включаючи виконання розрахунків, доступ до корпоративних баз даних або навіть робити запити від серверів інших фірм (наприклад, для перевірки кредитної картки клієнта).

    У цій багаторівневій розподіленій системі клієнтські браузери на різних комп'ютерах (настільних, портативних, мобільних) отримують доступ до системи через веб-сервер. Касовий апарат не використовує веб-браузер, тому замість цього логіка касового апарату запрограмована на прямий доступ до потрібних йому послуг з сервера додатків. Веб-сервіси, доступні з сервера додатків, можуть попросити виконувати різні функції, включаючи виконання розрахунків, доступ до корпоративних баз даних або навіть робити запити від серверів інших фірм (наприклад, для перевірки кредитної картки клієнта).

    Ці маленькі шматки коду, доступ до яких здійснюється через сервер додатків, іноді називають веб-службами. Консорціум World Wide Web визначає веб-сервіси як програмні системи, призначені для підтримки сумісної взаємодії між машиною та машиною по мережі 2. І коли комп'ютери можуть спілкуватися разом (замість людей), це часто призводить до меншої кількості помилок, економії часу, скорочення витрат і навіть може створити абсолютно нові способи ведення бізнесу! Кожен веб-сервіс визначає стандартний метод для інших програм для запиту на виконання завдання і визначає вид відповіді, який клієнт може очікувати назад. Ці стандарти іменуються інтерфейсами прикладного програмування (API).

    Подивіться на переваги, які веб-сервіси приносять фірмі, як Amazon. Використовуючи веб-сервіси, фірма може дозволити однакову логіку введення замовлення використовувати веб-браузерами, додатками для мобільних телефонів або навіть третіми особами, які хочуть отримати доступ до інформації про продукт Amazon та розміщувати замовлення з фірмою (є стимул для воронки продажів на Amazon - фірма дасть вам скорочення будь-яких продажів що ви відправляєте шлях Амазонки). Організації, які створили надійний набір веб-служб навколо своїх процесів і процедур, як кажуть, мають сервіс-орієнтовану архітектуру (SOA). Організація таких систем, з окремими додатками, відповідальними за презентацію клієнтів, бізнес-логіку та базу даних, робить системи більш гнучкими. Код можна використовувати повторно, і кожен шар можна окремо підтримувати, оновлювати або переносити на нове обладнання - все це мало впливає на інші.

    Веб-сервіси звучать химерно, але ось конкретний приклад, що ілюструє їх силу. Southwest Airlines мав веб-сайт, де клієнти могли бронювати рейси, але багато клієнтів також хотіли орендувати автомобіль або забронювати готель, теж. Щоб утримувати клієнтів на SouthWest.com, фірма та її партнери з готелів та прокату автомобілів створили набір веб-сервісів та поділилися API. Тепер клієнти, які відвідують Southwest.com, можуть забронювати проживання в готелі та орендувати автомобіль на тій же сторінці, де вони роблять бронювання авіаквитків. Цей процес перетворює SouthWest.com в повноцінне місце для подорожей та дозволяє сайту конкурувати з головою до голови з подібними Expedia, Travelocity та Orbitz (McCarthy, 2002).

    Подумайте, чому веб-сервіси важливі з стратегічної точки зору. Додаючи послуги готелю та прокату автомобілів, Southwest тепер може усунути турагента, а також будь-які збори, які вони можуть поділитися з агентом. Цей ярлик дозволяє фірмі отримувати більше прибутку або передавати заощадження клієнтам, закріпивши свою позицію як перше місце, де клієнти відправляються на недорогі подорожі. І, мабуть, найголовніше, Southwest може захоплювати ключові дані з пошукових запитів та бронювань подорожей відвідувачів (те, що він, ймовірно, не міг би зробити, якщо клієнти перейшли на такий сайт, як Expedia або Travelocity). Дані є надзвичайно цінним активом, і такі дані клієнтів можуть бути використані Southwest для надсилання користувацьких повідомлень електронної пошти та інших маркетингових кампаній, щоб повернути клієнтів до авіакомпанії. Як geeky, як вони могли б спочатку здатися, веб-сервіси можуть бути дуже стратегічними!

    Малюнок 9.7

    SouthWest.com використовує веб-сервіси, щоб дозволити прокату автомобілів та готельних фірм бронювати послуги через Southwest. Цей процес перетворює Southwest.com в онлайн-турагента з повним спектром послуг.

    SouthWest.com використовує веб-сервіси, щоб дозволити прокату автомобілів та готельних фірм бронювати послуги через Southwest. Цей процес перетворює Southwest.com в онлайн-турагента з повним спектром послуг.

  • Стандарти обміну повідомленнями

    Два додаткових термінів, які ви можете почути в контексті розподілених обчислень, - це EDI та XML. EDI (електронний обмін даними) - це сукупність стандартів обміну інформацією між комп'ютерними додатками. ЕОД найчастіше використовується як спосіб відправки електронного еквівалента структурованих документів між різними організаціями. Використовуючи EDI, кожен елемент в електронному документі, як назва фірми, адреса або номер клієнта, кодується так, щоб його можна було розпізнати приймаючою комп'ютерною програмою. Усунення паперових документів робить бізнес швидшим та знижує витрати на введення даних та помилки. Одне дослідження показало, що фірми, які використовували EDI, зменшили рівень помилок на 82 відсотки, а вартість виготовлення кожного документа знизилася до 96 відсотків 2.

    EDI - дуже старий стандарт, коріння якого тягнуться до Берлінського повітряного ліфта 1948 року. Поки все ще використовується, нове покоління більш гнучких технологій для уточнення стандартів даних займає своє місце. Головним серед технологій, що замінюють EDI, є розширювана мова розмітки (XML). XML має багато застосувань, але в контексті розподілених систем він дозволяє розробникам програмного забезпечення створювати набір стандартів для загальних елементів даних, які, як повідомлення EDI, можуть надсилатися між різними типами комп'ютерів, різними програмами та різними організаціями. XML часто вважається простішим у кодуванні, ніж EDI, і він більш надійний, оскільки його можна розширити — організації можуть створювати формати для представлення будь-яких даних (наприклад, загальний номер деталі, фотографії, поле скарги, зібране персоналом служби підтримки клієнтів). Фактично, більшість повідомлень, що надсилаються між веб-службами, кодуються в XML (технологія є ключовим фактором в mashups, обговорюється в розділі 7 «Peer Production, Social Media та Web 2.0»). Багато комп'ютерних програм також використовують XML як спосіб експорту та імпорту даних у загальному форматі, який можна використовувати незалежно від виду комп'ютерного обладнання, операційної системи або прикладної програми, що використовується. І якщо ви розробляєте веб-сайти, ви можете зіткнутися з XML як частина кодування за каскадні таблиці стилів (CSS), які допомагають підтримувати послідовний зовнішній вигляд на різних веб-сторінках даного веб-сайту.

    Rearden комерції: Бізнес, побудований на веб-сервісів

    Веб-сервіси, API та відкриті стандарти не тільки трансформують бізнес, вони можуть створювати абсолютно нові фірми, які змінюють те, як ми робимо речі. Для погляду на розім'яті, інтегровані, гіперавтоматизовані можливості, що веб-сервіси роблять можливим, перевірити Rearden Commerce, Фостер Сіті, Каліфорнія, фірма, яка використовує цю технологію, щоб стати тим, що головний дослідницький офіс AMR називають «Travelocity на стероїди.»

    Використовуючи Rearden, фірми можуть запропонувати своїм зайнятим співробітникам свого роду веб-консьєрж/особистий помічник. Rearden пропонує фірмам універсальний магазин, де співробітники можуть не тільки зробити рейс, автомобіль, і бронювання готелів, які вони могли б зробити від турагента, вони також можуть забронювати вечерю бронювання, спортивні та театральні квитки, а також організувати бізнес-послуги, такі як конференц-дзвінки та доставка пакетів. Rearden не постачає товари та послуги, які він продає. Натомість він виступає посередником між транзакціями. Набір відкритих API для своїх веб-сервісів дозволяє сто шістдесят тисячам постачальників Rearden відправляти дані про товари та послуги Rearden, а також отримувати дані про бронювання та продажі з сайту.

    У цьому кінцевому бізнес-mashup, мобільний користувач Rearden може використовувати свій телефон, щоб забронювати рейс в клієнтське місто, побачити ресторани в межах певної відстані від офісу свого клієнта, мати ці місця спливаючі на карті Google, мати списки, що супроводжуються рейтингами Zagat і тип кухні, забронювати ресторан бронювання через Open Table організуйте для автомобіля та водія, щоб зустрітися з нею в офісі свого клієнта в певний час, і синхронізувати ці бронювання з корпоративними системами календаря її фірми. Якщо щось несподіване з'явиться, наприклад затримка рейсу, Rearden буде впевнений, що вона отримає повідомлення. Система буде відстежувати будь-які скасовані кредити бронювання, а також записує програми винагороди за поїздки, тому Rearden може бути використаний для витрачання цих балів у майбутньому.

    Для того, щоб витягнути ці зусилля, Rearden maestros не тільки кваліфіковані в технічному оркеструванні, але і в координації вимог замовника і постачальника. Як сказав Ерік Шонфельд TechCrunch, «Важкою частиною є не тільки технологія, яка полягає в інтеграції неслухняного безладу API та веб-сервісів - [це також передбачає] підписання комерційно обов'язкових угод про рівень обслуговування з [зараз понад 160 000] торговців по всьому світу». За свої зусилля Rearden отримує утримувати від 6 до 25 відсотків кожного витраченого долара, що не подорожують, залежно від послуги. Фірма також заробляє гроші на підписках та дистрибуційних угодах.

    Першими клієнтами фірми були великі підприємства і включали ConAgra, GlaxoSmithKline та Motorola. Клієнти Rearden можуть налаштувати систему навколо спеціальних параметрів, унікальних для кожної фірми: віддати перевагу конкретній авіакомпанії, скористатися корпоративною знижкою або обмежити деякі пропозиції тільки для затверджених співробітників. Інвестори Rearden включають JPMorgan Chase та American Express - обидва з яких пропонують Rearden своїм співробітникам та клієнтам. Ще до того, як споживча версія була доступна, Rearden мав понад чотири тисячі корпоративних клієнтів та два мільйони користувачів, база користувачів більша, ніж більш відомі фірми, такі як Salesforce.com (Arrington, 2007; Schonfeld, 2008; Arrington, 2009). Для всіх pizzazz ми визнаємо, що, як стартап, майбутнє Rearden Commerce залишається невизначеним; однак ефективне використання фірмою веб-сервісів ілюструє можливості бізнесу, оскільки технології дозволяють фірмам підключатися з більшою легкістю та ефективністю.

    Підключення зробило наші системи більш продуктивними та дозволяє абсолютно нові стратегії та бізнес-моделі. Але ці чудові переваги приходять за ціною підвищеного ризику. Коли системи більш взаємопов'язані, можливості проникнення і зловживань також збільшуються. Подумайте про це так - кожна можливість «з'єднання» схожа на додавання ще однієї двері до будівлі. Чим більше дверей доводиться захищати, тим складніше стає безпека. Не дивно, що зростання Інтернету та розподілених обчислень призвело до вибуху втрат безпеки організаціями у всьому світі.

    Ключові виноси

    • Клієнт-серверні обчислення - це метод розподілених обчислень, при якому одна програма (клієнт) робить запит на виконання іншою програмою (сервером).
    • Сервер є складним терміном і іноді використовується для позначення апаратних засобів. Хоча апаратне забезпечення класу сервера відноситься до більш потужних комп'ютерів, призначених для підтримки декількох користувачів, майже будь-який ПК або ноутбук може бути налаштований для запуску серверного програмного забезпечення.
    • Веб-сервери обслуговують веб-сайти і можуть виконувати деякі сценарії.
    • Більшість фірм обслуговують складну бізнес-логіку з сервера додатків.
    • Ізоляція логіки системи в три або більше шарів (презентація або користувальницький інтерфейс, бізнес-логіка та база даних) може забезпечити тверду гнучкість в обслуговуванні, багаторазовому використанні та обробці оновлень.
    • Веб-сервіси дозволяють різним додаткам спілкуватися один з одним. API визначають метод виклику веб-служби (наприклад, щоб змусити її щось зробити), і вид відповіді, яку викликала програма може очікувати назад.
    • Веб-сервіси полегшують зв'язування додатків як розподілених систем і можуть полегшити фірмам зв'язок своїх систем між організаціями.
    • Популярні стандарти обміну повідомленнями включають EDI (старіші) та XML. Надсилання повідомлень між машинами замість фізичних документів може прискорити процеси, різко скоротити витрати на транзакції та зменшити кількість помилок.
    • Розподілені обчислення можуть забезпечити величезну ефективність у швидкості, зменшенні помилок та економії коштів і можуть створити абсолютно нові способи ведення бізнесу.
    • Коли комп'ютери можуть спілкуватися один з одним (замість людей), це часто призводить до меншої кількості помилок, економії часу, скорочення витрат і навіть може створити абсолютно нові способи ведення бізнесу.
    • Веб-сервіси, API та відкриті стандарти не тільки трансформують бізнес, вони можуть створювати абсолютно нові фірми, які змінюють те, як ми робимо речі.

    Питання та вправи

    1. Відрізнити термін «сервер», що використовується в апаратному контексті, від «сервер», що використовується в програмному контексті.
    2. Охарактеризуйте модель «клієнт-сервер» розподілених обчислень. Які продукти, які ви використовуєте, класифікуються як використання клієнт-сервер обчислень?
    3. Перерахуйте переваги, які веб-сервіси принесли Amazon.
    4. Як Southwest Airlines використовувала веб-сервіси для своїх конкурентних переваг?
    5. Що таке Rearden Commerce і які технології вона використовує? Опишіть модель доходу Rearden Technology. Хто був першими клієнтами Rearden Technology? Хто був серед їхніх перших інвесторів?
    6. Які ризики безпеки пов'язані з підключенням, Інтернетом та розподіленою обробкою?