Справочник от Автор24
Поделись лекцией за скидку на Автор24

Архитектура информационных систем

  • 👀 910 просмотров
  • 📌 835 загрузок
Выбери формат для чтения
Статья: Архитектура информационных систем
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Архитектура информационных систем» pdf
Тема 1. Основы информационных систем План лекции 1. Системы и их функции 2. Информационные системы и их свойства 3. Этапы развития информационных систем 4. Классификация информационных систем Вопрос 1. Системы и их функции Система - это образующая единое целое совокупность материальных и нематериальных назначениями, объектов, объединенных некоторыми свойствами, условиями существования, общими признаками, жизнедеятельности, функционирования и т.д. Функционирование системы - процесс переработки входной информации в выходную, носящий последовательный характер во времени. Подсистема - часть любой системы. Свойства системы (в т.ч. ИС):  сложность - система зависит от множества входящих в нее компонентов, их структурного взаимодействия, а также сложности внутренних и внешних связей;  делимость - система состоит из ряда подсистем или элементов, выделенных по определенным признакам и отвечающих конкретным целям и задачам;  целостность системы - означает то, что все элементы системы функционируют как единое целое;  многообразие элементов системы и различие их природы - свойство связано с функционированием элементов, их спецификой и автономностью;  структурность - определяет наличие установленных связей и отношений между элементами внутри системы, распределение элементов системы по уровням и иерархиям;  адаптивность системы - означает приспосабливаемость системы к условиям конкретной предметной области;  интегрируемость - означает возможность взаимодействия системы с вновь подключаемыми компонентами или подсистемами. Системы значительно отличаются между собой как по составу, так и по главным целям. Приведем несколько систем, состоящих из разных элементов и направленных на реализацию разных целей (табл.1.1). Табл.1.1 - Примеры различных систем Система Главная цель Элементы системы системы Люди, оборудование, материалы, Фирма Производство товаров здания и др. Электронные и Компьютер электромеханические элементы, Обработка данных линии связи и др. Компьютеры, модемы, кабели, Телекоммуникационная сетевое программное обеспечение Передача информации система и др. Информационная система Компьютеры, компьютерные сети, Производство люди, информационное и профессиональной программное обеспечение информации Вопрос 2. Информационные системы и их свойства Информационная система (сокр. ИС) — система обработки информации и соответствующие организационные ресурсы (человеческие, технические, финансовые и т. д.), которые обеспечивают и распространяют информацию. ИС (информационная система) является средой, составляющими элементами которой являются компьютеры, компьютерные сети, программные продукты, БД, люди, различного рода технические и программные средства связи и т.д. Хотя сама идея ИС и некоторые принципы их организации возникли задолго до появления компьютеров, однако компьютеризация в десятки и сотни раз повысила эффективность ИС и расширила сферы их применения. Информационная система предназначена для своевременного обеспечения надлежащих людей надлежащей информацией, то есть для удовлетворения конкретных информационных потребностей в рамках определенной предметной области. Результатом функционирования информационных систем является информационная продукция — документы, информационные массивы, базы данных и информационные услуги. Понятие информационной системы интерпретируют по-разному, в зависимости от контекста. Достаточно широкое трактование понятия «информационная система» подразумевает, что неотъемлемыми компонентами ИС являются данные, техническое и программное обеспечение, а также персонал и организационные мероприятия. Широко трактует понятие «информационной системы» федеральный закон Российской Федерации «Об информации, информационных технологиях и о защите информации», подразумевая под информационной системой совокупность содержащейся в базах данных информации и обеспечивающих её обработку информационных технологий и технических средств». Среди российских ученых в области информатики, наиболее широкое определение ИС дает М. Р. Когаловский, по мнению которого в понятие информационной системы помимо данных, программ, аппаратного обеспечения и людских ресурсов следует также включать коммуникационное оборудование, лингвистические средства и информационные ресурсы, которые в совокупности образуют систему, обеспечивающую «поддержку динамической информационной модели некоторой части реального мира для удовлетворения информационных потребностей пользователей». Более узкое понимание информационной системы ограничивает её состав данными, программами и аппаратным обеспечением. Интеграция этих компонентов позволяет автоматизировать процессы управления информацией и целенаправленной деятельности конечных пользователей, направленной на получение, модификацию и хранение информации. Так, российский стандарт ГОСТ РВ 51987 подразумевает под ИС «автоматизированную систему, результатом функционирования которой является представление выходной информации для последующего использования». ГОСТ Р 53622-2009 использует термин информационно-вычислительная система для обозначения совокупности данных (или баз данных), систем управления базами данных и прикладных программ, функционирующих на вычислительных средствах как единое целое для решения определенных задач. В деятельности организаций, ИС рассматривается как программное обеспечение, реализующее деловую стратегию организации. При этом хорошей практикой является создание и развертывание единой корпоративной информационные информационной потребности всех системы, сотрудников, служб удовлетворяющей и подразделений организации. Однако на практике создание такой всеобъемлющей ИС слишком затруднено или даже невозможно, вследствие чего на предприятии обычно функционируют несколько различных ИС, решающих отдельные группы задач: управление производством, финансово-хозяйственная деятельность и т. д. Часть задач бывает «покрыта» одновременно несколькими ИС, часть задач - вовсе не автоматизирована. Такая ситуация получила название «лоскутной автоматизации» и является довольно типичной для многих предприятий. Любая информационная система или база данных (с точки зрения их создания) в языках программирования состоят из трёх компонентов: 1. Файл данных - файл, находящийся на локальном компьютере или на сервере, который содержит внутри себя структуру данных. К структуре данных относятся таблицы, запросы и фильтры, а также хранимые процедуры, пользовательские функции, диаграммы и триггеры; 2. Объект связи - объект языка программирования, осуществляющий связь между файлом данных и интерфейсом информационной системы; 3. Интерфейс информационной системы - комплекс средств, осуществляющий взаимодействие системы с конечными пользователями. Он может находиться как на клиентском компьютере, так и на сервере. Целостность системы - означает, что совокупность элементов, рассматриваемая в качестве системы, обладает общими свойствами, функцией и поведением, причем свойства системы не сводимы к сумме свойств, входящих в нее элементов. Делимость системы - означает, что она состоит из ряда подсистем, выделенных по определенному признаку, отвечающему конкретным целям и задачам. Это свойство особенно важно при анализе: особенностей работы экономических объектов, организации их управленческой деятельности; формирования и движения документопотоков; функционирования центров переработки информации и т.п. Многообразие элементов системы и различия их природы связаны с функциональными особенностями и автономностью элементов. Структурированность системы - определяет наличие устойчивых связей и отношений между элементами внутри системы, распределение элементов по горизонтали и уровням иерархии. Внутри реализующую системы можно функцию выделить управления управляющую (н-р, орган систему – управления систему, банком, его управленческий аппарат со своими методами принятия управленческих решений) и управляемую систему (функциональные подразделения банка, его филиалы, обменные пункты, ресурсы банка, в том числе и кадровые, методы обработки информации). Взаимодействие этих элементов системы осуществляется посредством движения потоков информации. Выделяются прямые информационные связи приказы и распоряжения, выдаваемые управляющей системой для управления функциональными подразделениями и обратные информационные связи - информация о состоянии объекта. Для любой экономической системы большое значение имеют функциональные информационные связи с внешней средой, например, с ЦБ, другими банка, фондовыми биржами, налоговой инспекцией, клиентами и т.д. В результате взаимодействия управляемая система изменяет свое состояние, что фиксируется управляющей системой и используется для генерации нового управляющего воздействия и т.д. Управление - перевод системы в заранее заданное состояние, путем воздействия на ее элементы. Свойства информационных систем:  любая ИС может быть подвергнута анализу, построена и управляема на основе общих принципов построения сложных систем;  при построении ИС необходимо использовать системный подход;  ИС является динамичной и развивающейся системой;  ИС следует воспринимать как систему обработки информации, состоящую из компьютерных и телекоммуникационных устройств, реализованную на базе современных технологий;  выходной продукцией ИС является информация, на основе которой принимаются решения или производятся автоматическое выполнение рутинных операций;  участие человека зависит от сложности системы, типов и наборов данных, степени формализации решаемых задач. Любая ИС должна обладать следующими свойствами: 1. функциональностью - любой объект ИС должен содержать функционально законченную и максимально независимую совокупность операций по обработке данных; 2. связанностью, когда в объекте реализуется совокупность взаимосвязанных функций - методов, работающих с одними и теми же данными, некоторые из которых скрыты для системы в целом; 3. маскировкой - доступностью для системы лишь параметров объекта, составляющих наборы входного и выходного интерфейсов объекта. Важным свойством ИС является минимизация числа её информационных связей, от которых зависят затраты на модификацию системы при её функционировании в изменившихся условиях и решении изменившихся функциональных задач. Процессы в информационной системе:  ввод информации из внешних и внутренних источников;  обработка входящей информации;  хранение информации для последующего ее использования;  вывод информации в удобном для пользователя виде;  обратная связь, т.е. представление информации, переработанной в данной организации, для корректировки входящей информации. Основные задачи информационных систем - ИС:  Поиск, обработка и хранение информации, которая долго накапливается и утрата которой невосполнима. Компьютеризованные ИС предназначены для более быстрой и надежной обработки информации, чтобы люди не тратили время, чтобы избежать свойственных человеку случайных ошибок, чтобы сэкономить расходы, чтобы сделать жизнь людей более комфортной.  Хранение данных разной структуры. Не существует развитой ИС работающей с одним однородным файлом данных. Более того, разумным требованием к информационной системе является то, чтобы она могла развиваться. Могут появиться новые функции, для выполнения которых требуются дополнительные данные с новой структурой. При этом вся накопленная ранее информация должна остаться сохранной. Теоретически можно решить эту задачу путем использования нескольких файлов внешней памяти, каждый из которых хранит данные с фиксированной структурой. В зависимости от способа организации используемой системы управления файлами эта структура может быть структурой записи файла или поддерживаться отдельной библиотечной функцией, написанной специально для данной ИС. Известны примеры реально функционирующих ИС, в которых ХД планировалось основывать на файлах. В результате развития большинства таких систем в них выделился отдельный компонент, который представляет собой разновидность системы управления базами данных (СУБД).  Анализ и прогнозирование потоков информации различных видов и типов, перемещающихся в обществе. Изучаются потоки с целью их минимизации, стандартизации и приспособления для эффективной обработки на вычислительных машинах, а также особенности потоков информации, протекающей через различные каналы распространения информации.  Исследование способов представления и хранения информации, создание специальных языков для формального описания информации различной природы, разработка специальных приемов сжатия и кодирования информации, аннотирования объемных документов и реферирования их. В рамках этого направления развиваются работы по созданию банков данных большого объема, хранящих информацию из различных областей знаний в форме, доступной для вычислительных машин.  Построение процедур и технических средств для их реализации, с помощью которых можно автоматизировать процесс извлечения информации из документов, не предназначенных для вычислительных машин, а ориентированных на восприятие их человеком  Создание информационно-поисковых систем, способных воспринимать запросы к информационным хранилищам, сформулированные на естественном языке, а также специальных языках запросов для систем такого типа.  Создание сетей хранения, обработки и передачи информации, в состав которых входят информационные банки данных, терминалы, обрабатывающие центры и средства связи.  Конкретные задачи, которые должны решаться информационной системой, зависят от той прикладной области, для которой предназначена система. Области применения банковское дело, информационных управление приложений производством, разнообразны: медицина, транспорт, образование и т.д.  Тенденции развития современных ИТ приводят к постоянному возрастанию сложности ИС, создаваемых в различных областях. Современные крупные проекты ИС характеризуются, как правило, несколькими особенностями. Характеристики проектов ИС - информационных систем:  Сложность описания - наличие достаточно большого количества функций, процессов, элементов данных и сложных взаимосвязи между ними, требующие тщательного моделирования и анализа данных и процессов;  Наличие совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные задачи и цели функционирования (например, традиционных приложений, связанных с обработкой транзакций и решением регламентных задач, и приложений аналитической обработки (поддержки принятия решений), использующих нерегламентированные запросы к данным большого объема);  Отсутствие прямых аналогов, ограничивающее возможность использования каких-либо типовых проектных решений и прикладных систем;  Необходимые приложений; интеграции существующих и вновь разрабатываемых  Функционирование в неоднородной среде на нескольких аппаратных платформах;  Разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств;  Существенная временная протяженность проекта, обусловленная, с одной стороны, ограниченными возможностями коллектива разработчиков, и, с другой стороны, масштабами организации заказчика и различной степенью готовности отдельных ее подразделений к внедрению ИС. Вопрос 3. Этапы развития информационных систем В 50-е гг. была осознана роль информации как важнейшего ресурса предприятия, организации, региона, общества в целом; начали разрабатывать автоматизированные ИС разного рода. Первые ИС были предназначены исключительно для обработки счетов и расчета зарплаты, а реализовывались на электромеханических бухгалтерских счетных машинах. Это приводило к некоторому сокращению затрат и времени на подготовку бумажных документов. Вначале, когда появилась возможность обработки информации с помощью вычислительной техники, был распространен термин "системы обработки данных" (СОД), этот термин широко использовался при разработке систем радиоуправления ракетами и другими космическими объектами, при создании систем сбора и обработки статистической информации о состоянии атмосферы, учетно-отчетной информации предприятий и т.п. По мере увеличения памяти ЭВМ основное внимание стали уделять проблемам организации БД (БД). Это направление сохраняет определенную самостоятельность и в настоящее время и занимается в основном разработкой и освоением средств технической и программной реализации обработки данных с помощью вычислительных машин разного рода. Для сохранения этого направления по мере его развития появились термины "базы знаний", "базы целей", позволяющие расширить толкование проблемы собственно создания и обработки БД до задач, которые ставятся в дальнейшем при разработке ИС. 60-е гг. знаменуются изменением отношения к ИС. Информация, полученная из них, стала применяться для периодической отчетности по многим параметрам. Для этого организациям требовалось компьютерное оборудование широкого назначения, способное обслуживать множество функций, а не только обрабатывать счета и считать зарплату, как было ранее. Основные черты этого поколения ИС - информационных систем:  техническое обеспечение систем составляли маломощные ЭВМ 2-3 поколения.  информационное обеспечение (ИО) представляло собой массивы (файлы) данных, структура которых определялась той программой, в которой они использовались.  программное обеспечение специализированные прикладные программы, например, программа начисления заработной платы.  архитектура ИС - централизованная. Как правило, применялась пакетная обработка задач. Конечный пользователь не имел непосредственного контакта с ИС, вся предварительная обработка информации и ввод производились персоналом ИС. Недостатки ИС - информационных систем - этого поколения:  сильная взаимосвязь между программами и данными, то есть изменения в предметной области приводили к изменению структуры данных, а это заставляло переделывать программы.  трудоемкость разработки и модификации систем.  сложность согласования частей системы, разработанных разными людьми в разное время. В 70-х - начале 80-х гг. ИС предприятий начинают использоваться в качестве средства управления производством, поддерживающего и ускоряющего процесс подготовки и принятия решений. В своем большинстве ИС этого периода предназначались для решения установившихся задач, которые четко определялись на этапе создания системы и затем практически не изменялись. Появление персональных ЭВМ приводит к корректировке идеи АСУ; от ВЦ и централизации управления к распределенному вычислительному ресурсу и децентрализации управления. Такой подход нашел свое применение в системах поддержки принятия решении (СППР), которые характеризуют новый этап компьютерной ИТ организационного управления. При этом уменьшается нагрузка на централизованные вычислительные ресурсы и верхние уровни управления, что позволяет сосредоточить в них решение крупных долгосрочных стратегических задач. Жизнеспособность любой ИТ в немалой степени зависит от оперативного доступа пользователей к централизованным ресурсам и уровня информационных связей как по "горизонтали", так и по "вертикали" в пределах организационной структуры. В то же время для обеспечения эффективного управления крупными предприятиями была развита и остается актуальной идея создания интегрированных АСУ. К концу 80-х гг. концепция использования ИС вновь изменяется. Они становятся стратегическим источником информации и используются на всех уровнях предприятия любого профиля. ИТ этого периода, предоставляя вовремя нужную информацию, помогают организации достичь успеха в своей деятельности, создавать новые товары и услуги, находить новые рынки сбыта, обеспечивать себе достойных партнеров, организовывать выпуск продукции высокого качества и по низкой цене и др. Стремление преодолеть недостатки предыдущего поколения ИС породило технологию создания и управления базами данных. База данных создается для группы взаимосвязанных задач, для многих пользователей и это позволяет частично решить проблемы ранее созданных ИС. Вначале СУБД разрабатывались для больших ЭВМ, и их количество не превышало десятка. Благодаря появлению ПЭВМ технология БД стала массовой, создано большое количество инструментальных средств и СУБД для разработки ИС, что в свою очередь вызвало появление большого количества прикладных ИС в прикладных областях. Основные черты ИС этого поколения:  основу ИО составляет база данных,  программное обеспечение состоит из прикладных программ и СУБД.  технические средства: ЭВМ 3-4 поколения и ПЭВМ.  средства разработки ИС: процедурные языки программирования 3-4 поколения, расширенные языком работы с БД (SQL, QBE).  архитектура ИС: наиболее популярны две разновидности: персональная локальная ИС, централизованная БД с сетевым доступом. Большим шагом вперед явилось развитие принципа "дружественного интерфейса" по отношению к пользователю (как к конечному, так и к разработчику ИС). Например, повсеместно применяется графический интерфейс, развитые системы помощи и подсказки пользователю, разнообразные инструменты для упрощения разработки ИС: системы быстрой разработки приложений (RAD-системы), средства автоматизированного проектирования ИС (CASE-средства). К концу 80-хгодов выявились и недостатки систем этого поколения. Недостатки информационных систем (ИС) этого поколения:  большие капиталовложения в компьютеризацию предприятий не дали ожидаемого эффекта, соответствующего затратам (увеличились накладные расходы, но не произошло резкого повышения производительности);  внедрение ИС столкнулось с инертностью людей, нежеланием конечных пользователей менять привычный стиль работы, осваивать новые технологии;  к квалификации пользователей стали предъявляться более высокие требования (знание ПК, конкретных прикладных программ и СУБД, способность постоянно повышать свою квалификацию). Современные информационные системы - в связи с указанными выше недостатками постепенно стало формироваться современное поколение ИС. Техническая платформа - мощные ЭВМ 4-5 поколения, использование разных платформ в одной ИС (большие ЭВМ, мощные стационарные ПК, мобильные ПК). Наиболее характерно широкое применение вычислительных сетей - от локальных до глобальных. Информационное обеспечение: ведутся интенсивные разработки с целью повышения интеллектуальности банка данных в следующих направлениях:  новые модели знаний, учитывающие не только структуру информации, но и активный характер знаний,  средства оперативного анализа информации (OLAP) и средства поддержки принятия решений (DSS),  новые формы представления информации, более естественные для человека (мультимедиа, полнотекстовые БД, гипертекстовые БД, средства восприятия и синтеза речи). В последнее время появился широкий спектр специализированных ИС экономические ИТ (ЭИС), бухгалтерские ИТ (БУИС), банковские ИТ (БИС), ИТ рынка ценных бумаг, маркетинговые ИС (МИС) и т.п. Вопрос 4. Классификации информационных систем Классификация по архитектуре По степени распределённости отличают:  настольные (desktop), или локальные ИС, в которых все компоненты (БД, СУБД, клиентские приложения) находятся на одном компьютере;  распределённые (distributed) ИС, в которых компоненты распределены по нескольким компьютерам. Распределённые ИС, в свою очередь, разделяют на:  файл-серверные ИС (ИС с архитектурой «файл-сервер»);  клиент-серверные ИС (ИС с архитектурой «клиент-сервер»). В файл-серверных ИС база данных находится на файловом сервере, а СУБД и клиентские приложения находятся на рабочих станциях. В клиент-серверных ИС база данных и СУБД находятся на сервере, а на рабочих станциях находятся клиентские приложения. В свою очередь, клиент-серверные ИС разделяют на двухзвенные и многозвенные. В двухзвенных (англ. two-tier) ИС всего два типа «звеньев»: сервер баз данных, на котором находятся БД и СУБД (back-end), и рабочие станции, на которых находятся клиентские приложения (front-end). Клиентские приложения обращаются к СУБД напрямую. В многозвенных (англ. multi-tier) ИС добавляются промежуточные «звенья»: серверы приложений (application servers). Пользовательские клиентские приложения не обращаются к СУБД напрямую, они взаимодействуют с промежуточными звеньями. Типичный пример применения многозвенности — современные вебприложения, использующие базы данных. В таких приложениях помимо звена СУБД и клиентского звена, выполняющегося в веб-браузере, имеется как минимум одно промежуточное звено - веб-сервер с соответствующим серверным программным обеспечением. Классификация по степени автоматизации По степени автоматизации ИС делятся на:  автоматизированные: информационные системы, в которых автоматизация может быть неполной (то есть требуется постоянное вмешательство персонала);  автоматические: информационные системы, в которых автоматизация является полной, то есть вмешательство персонала не требуется или требуется только эпизодически. «Ручные ИС» («без компьютера») существовать не могут, поскольку существующие определения предписывают обязательное наличие в составе ИС аппаратно-программных средств. Вследствие этого понятия «автоматизированная информационная система», «компьютерная информационная система» и просто «информационная система» являются синонимами. Классификация по характеру обработки данных По характеру обработки данных ИС делятся на:  информационно-справочные, или информационно-поисковые ИС, в которых нет сложных алгоритмов обработки данных, а целью системы является поиск и выдача информации в удобном виде;  ИС обработки данных, или решающие ИС, в которых данные подвергаются обработке по сложным алгоритмам. К таким системам в первую очередь относят автоматизированные системы управления и системы поддержки принятия решений. Классификация по сфере применения Поскольку ИС создаются для удовлетворения информационных потребностей в рамках конкретной предметной области, то каждой предметной области (сфере применения) соответствует свой тип ИС. Перечислять все эти типы не имеет смысла, так как количество предметных областей велико, но можно указать в качестве примера следующие типы ИС:  Экономическая информационная система - информационная система, предназначенная для выполнения функций управления на предприятии.  Медицинская информационная предназначенная для система - использования в информационная система, лечебном лечебно- или профилактическом учреждении.  Географическая информационная система - информационная система, обеспечивающая сбор, хранение, обработку, доступ, отображение и распространение пространственно-координированных данных (пространственных данных). Классификация по охвату задач (масштабности)  Персональная ИС предназначена для решения некоторого круга задач одного человека.  Групповая ИС ориентирована на коллективное использование информации членами рабочей группы или подразделения.  Корпоративная ИС в идеале охватывает все информационные процессы целого предприятия, достигая их полной согласованности, безызбыточности и прозрачности. Такие системы иногда называют системами комплексной автоматизации предприятия. Информационные системы, содержащие информационные ресурсы, разделяют по масштабу на одиночные, групповые, корпоративные. Одиночные информационные системы реализуются на автономном компьютере. Такая система может содержать несколько простых приложений, связанных общим информационным фондом, и рассчитана на работу одного пользователя или группы пользователей, разделяющих по времени одно рабочее место. Групповые информационные системы ориентированы на коллективное использование информации членами рабочей группы (одного подразделения), чаще всего строятся на основе локальной вычислительной сети. Однотипные или специализированные рабочие места обеспечивают вызов одного или нескольких конкретных приложений. Общий информационный фонд представляет собой базу данных или совокупность файлов документов. Корпоративные информационные системы являются развитием систем для рабочих групп и ориентированы на масштаб предприятия, могут поддерживать территориально разнесенные узлы или сети. Главная особенность - обеспечение доступа из подразделения к центральной или распределенной базе данных предприятия (организации) помимо доступа к информационному фонду рабочей группы. Вопросы для самопроверки 1. Что такое система? 2. Назовите свойства системы. 3. Что такое информационная система? 4. Какие компоненты включает в себя информационная система? 5. Назовите свойства информационной системы. 6. Назовите основные задачи информационной системы 7. Какие этапы развития информационных систем вы знаете? Тема 2. Архитектуры аппаратных средств вычислительных систем План лекции 1. Принстонская и Гарвардская архитектура 2. Архитектура фон Неймана 3. Шинная (магистральная) архитектура ЭВМ 4. Архитектура компьютера IAS 5. RISC, CISC, MISC Вопрос 1. Принстонская и Гарвардская архитектура Гарвардская архитектура обладает следующими основными отличительными признаками:  память инструкций и память данных представляют собой разные физические устройства;  канал передачи (шина) инструкций и канал данных также физически разделены;  не обязательно, но всё же, для представления инструкций и данных используются различные форматы. Вопрос 2. Архитектура фон Неймана (АФН) Особенности архитектуры:  единообразие представления программ и данных;  принцип хранимой программы;  линейная организация памяти;  последовательное выполнение;  семантическая неразличимость кодов;  электронная реализация вычислительной схемотехники/ Вопрос 3. Шинная (магистральная) архитектура ЭВМ Шинная(Магистральная) архитектура ЭВМ Шина состоит из трех частей:  шина данных, по которой передается информация;  шина адреса, определяющая, куда передаются данные;  шина управления, регулирующая процесс обмена информацией. Вопрос 4. Архитектура компьютера IAS Основные особенности:  физическая реализация элементной базы – электронные лампы;  способ использования – монопольный доступ. Архитектура ЭВМ IAS. Вопрос 5. RISC, CISC, MISC RISC RISC- компьютер с сокращённым набором команд) - архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения - меньшим. В настоящее время определились следующие характерные особенности современных RISC-процессоров:  расширенный объём регистровой памяти  использование в командах обработки данных только регистровой адресации  отказ от аппаратной реализации сложных способов адресации  фиксированный формат команд  исключение из набора команд, реализующих редко используемые операции, а также команд, не вписывающихся в принятый формат. CISC CISC - концепция проектирования процессоров, которая характеризуется следующим набором свойств:  нефиксированное значение длины команды;  арифметические действия кодируются в одной команде;  небольшое число регистров, каждый из которых выполняет строго определённую функцию. MISC MISC (Multipurpose lnstruction Set Computer) сочетает преимущества вышерассмотренных архитектур. Элементная база состоит из двух частей, которые либо выполнены в отдельных корпусах, либо объединены. Основная часть - RISC CPU, расширяемый подключением второй части - ПЗУ микропрограммного управления. Система приобретает свойства CISC. Основные команды работают на RISC CPU, а команды расширения преобразуются в адрес микропрограммы. RISC CPU выполняет все команды за один такт, а вторая часть эквивалентна CPU со сложным набором команд. Наличие ПЗУ устраняет недостаток RISC, выраженный в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, занимающей много места в ОЗУ. Вопросы для самопроверки 1. Какие основные отличительные признаки Гарвардской архитектуры? 2. Какие особенности архитектуры фон Неймана? 3. Из чего состоит шина в магистральной архитектуре ЭВМ? 4. Назовите основные особенности архитектуры IAS. 5. В чем заключаются основные особенности RISC-процессоров? 6. Какие основные свойства CISC процессоров? 7. В чем заключаются преимущества MISC архитектуры? Тема 3. Классификация цифровых устройств План лекции 1. Классификация цифровых устройств 2. Типовые элементы компьютера Вопрос 1. Классификация цифровых устройств В общем случае на вход цифрового устройства поступает множество двоичных переменных X(x1 … xn), а с выхода снимается множество двоичных переменных Y(y1 … yk),. Устройство при этом осуществляет определенную логическую функцию между входными и выходными переменными. Цифровые устройства можно разделить на комбинационные и последовательностные. В комбинационных – значения Y в течение каждого такта определяются только значениями X в этом же такте. Такие устройства состоят из логических элементов. В последовательностных – значения Y определяются значениями X, как в течение рассматриваемого такта, так и существовавшими в ряде предыдущих тактов. Для этого в последовательностных устройствах, кроме логических должны быть еще и запоминающие элементы. Структура последовательностного и комбинационного устройства приведена на рис. 4. а б Рис. 4. Структура комбинационного (а) и последовательностного (б) цифровых устройств Запоминающее устройство может хранить информацию не бесконечно большого, а только ограниченного числа тактов, поэтому цифровые устройства с памятью называют конечными автоматами, к которым относят все ЭВМ. Таблицы, переменными показывающие взаимосвязь комбинационных устройств, между входными называют и выходными таблицами истинности. Алгебраическая форма этих связей представляет систему уравнений y1 = y1 (x1 , x2 , …, xn), yk = yk (x1 , x2 , …, xn). В общем виде в последовательностных устройствах выходные переменные yi зависят не только от входных сигналов xm , но и от сигналов элементов памяти, поступающих за этот же такт. В частности, в автоматах Мили выходные сигналы формируются именно таким образом, т. е. yi t+1 = fi (x1 , x2 , …, xn , z1 , z2 , …, zs)t+1. Это выражение называется функцией выхода автомата Мили. В автоматах Мура выходные сигналы являются функциями только сигналов элементов памяти в этом же такте, т.е. yi t+1 = fi (z1 , z2 , …, zs)t+1. Это выражение называется функцией выхода автомата Мура. Для описания работы последовательностных устройств используются таблицы переходов состояний. Таблицы истинности соответствуют только статическим или установившимся режимам работы цифровых устройств. При изменении входных сигналов в комбинационной схеме из-за инерционности логических элементов в ней начинает протекать переходный процесс. Максимальная длительность переходного процесса определяется максимальным числом последовательно включенных ЛЭ. Входные сигналы xm изменяются не мгновенно, а в течение некоторого времени ф ф , т. е. сигналы имеют фронты конечной длительности. В течение этого времени входные сигналы имеют неопределенное значение. По этой причине, а также из-за задержек сигналов в ЛЭ выходные сигналы комбинационной схемы в течение переходного процесса могут принимать значения, не соответствующие описывающим их функциям. Это явление называют переходными состояниями или “гонками”. Появление кратковременных ложных значений выходных сигналов комбинационной схемы может привести к неправильному срабатыванию других схем, подключенных к ее выходам. Цифровые устройства можно разделить на асинхронные и синхронные. В асинхронных изменение входных сигналов сразу же вызывает изменение выходных сигналов. В синхронных изменение выходных сигналов, соответствующее новому сочетанию входных, происходит только после подачи синхронизирующих (тактовых) импульсов, управляющих работой автомата. Период синхроимпульсов является, таким образом, минимальным временем между выполнением автоматом двух последовательных микроопераций, т.е. служит единицей машинного времени, называемой тактом. В зависимости от структуры автомата за один такт могут выполняться одна или несколько микроопераций, если они совмещены во времени. В асинхронных устройствах отсутствуют синхронизирующие сигналы, поэтому в их структуры обычно включаются специальные схемы, которые после окончания каждой микрооперации вырабатывают сигнал готовности к выполнению следующей микрооперации. Синхронные устройства, в принципе, имеют меньшее быстродействие, чем асинхронные, однако в них легко устраняются опасные состязания. Вопрос 2. Типовые элементы компьютера Элемент ЭВМ – наименьшая конструктивная и функциональная часть ЭВМ, которая используется при ее логическом проектировании и технологической реализации. По назначению они различаются на логические, запоминающие и вспомогательные. Логические элементы реализуют логические операции и применяются как для построения сложных логических схем (узлов), так и для управления работой отдельных блоков и устройств ЭВМ. Запоминающие элементы предназначены для хранения и выдачи двоичной информации. Вспомогательные элементы используются чаще всего для энергетического обеспечения и согласования работы различных блоков ЭВМ. Рассмотрим принцип построения и функционирования элементов и узлов, широко применяемых в ЭВМ. Триггер – элементарный цифровой автомат с двумя устойчивыми состояниями. Состояние 0 на выход Q соответствует выключенному состоянию, а Q=1 – включенному. Триггеры осуществляют запоминание информации и остаются в заданном состоянии после прекращения действия переключающих сигналов. Они широко применяются широко применяются при цифровой обработке информации. По способу организации логических связей, определяющие особенности функционирования, различают триггеры RS, T, D, JK. Из них JK триггер называется универсальным, так как из него можно получить все остальные виды триггеров. Принцип работы JK триггера хорошо поясняется на графе переходов. Схемы включения JK триггера: Асинхронный Т триггер – счетный триггер, каждые два сигнала на входе Т формируют один сигнал на выходе. Синхронный Т триггер – счетный триггер, каждые два сигнала на входе С формируют один сигнал на выходе, если на входе Т присутствует логическая 1. Синхронный D триггер – реализует функцию временной задержки. Функционирует в соответствии со следующей таблицей переходов. Асинхронный RS триггер – элементарный цифровой автомат с двумя устойчивыми состояниями и двумя входами R и S, функционирующий в соответствии со следующей таблицей переходов. Синхронный RS триггер – отличается от асинхронных RS триггеров тем, что кроме информационных входов имеет вход синхронизации С. При С=0 триггер находится в режиме хранения информации. При С=1 синхронный триггер работает как асинхронный RS триггер. Регистры – это узлы ЭВМ, служащие для хранения информации в виде машинных слов или его частей, а также для выполнения над словами некоторых логических преобразований. Они представляют собой цифровые автоматы Мили, выполненные на триггерах. Регистры способны выполнять следующие операции:  установка регистра в состояние 0 или 1 (на всех выходах);  прием и хранение в регистре n разрядного слова;  сдвиг хранимого в регистре двоичного кода слова в право или в лево на заданное значение разрядов;  преобразование кода хранимого слова в последовательный, и наоборот, при приеме или при выдачи двоичных данных;  поразрядные логические операции. Ниже показано условно графическое обозначение универсального регистра и назначение его выводов: Счетчики – узлы ЭВМ, которые осуществляют счет и хранение кода числа подсчитанных сигналов. Они представляют собой цифровые автоматы Мура, в которых новое состояние счетчика определяется его предыдущим состоянием и состоянием логической переменной на входе. Внутреннее состояние счетчиков характеризуется коэффициентом пересчета К, определяющим число его устойчивых состояний. Основными параметрами являются разрешающая способность (минимальное время между двумя сигналами, которые надежно фиксируются) или максимальное быстродействие и информационная емкость. Обозначение и назначение выводов реверсивного счетчика показано на рисунке ниже. Дешифратор, или избирательная схема, – это узел ЭВМ, в котором каждой комбинации входных сигналов соответствует наличие сигнала на одной вполне определенной шине на выходе (комбинационное устройство). Дешифраторы широко используются для преобразования двоичных кодов в управляющие сигналы для различных устройств ЭВМ. Шифратор, или кодер, – это узел ЭВМ, преобразующий унитарный код в некоторый позиционный код. Если выходной код является двоичным позиционным, то шифратор называется двоичным. С помощью шифраторов возможно преобразование цифр десятичных чисел в двоичное представление с использованием любого другого двоично-десятичного кода. Преобразователи кодов – это узлы ЭВМ, предназначенные для кодирования чисел. В число преобразователей кодов входят: двоично-десятичные преобразователи, преобразователи цифровой индикации, преобразователи прямого кода двоичных чисел в обратный или дополнительный код и т. д. Мультиплексоры – это узлы, преобразующие параллельные цифровые коды в последовательные. В этом устройстве выход соединяется с одним из входов в зависимости от значения адресных входов. Мультиплексоры широко используются для синтеза комбинационных устройств, так как это способствует значительному уменьшению числа используемых микросхем. Демултиплексоры – это узлы, преобразующие информацию из последовательной формы в параллельную. Информационный вход D подключается к одному из выходов Qi определяемый адресными сигналами A0 и A1. Сумматор – это узел, в котором выполняется арифметическая операция суммирования цифровых кодов двух двоичных чисел. Используя одноразрядные сумматоры можно построить многоразрядные сумматоры. Вопросы для самопроверки 1. Что такое цифровое устройство 2. Какие виды цифровых устройств вам известны? 3. Что такое элемент ЭВМ? 4. Что такое триггер, какие существуют триггеры и для чего они применяются? 5. Что такое регистры, какие существуют регистры и для чего они применяются? 6. Что такое счетчики и для чего они применяются? 7. Что такое шифратор и для чего они применяются? 8. Что такое дешифратор и для чего они применяются? 9. Что такое мультиплексор и демультиплексор, для чего они применяются? Тема 4. Основные функциональные блоки типовой ЭВМ План лекции 1. Основные функциональные блоки типовой ЭВМ. 2. Типы команд. 3. Функциональная и структурная организация процесса. Вопрос 1. Основные функциональные блоки типовой ЭВМ В общем случае структуру вычислительной машины можно представить в следующем виде: АЛУ – предназначено для выполнения арифметических и логических преобразований над данными определенной длины. Память – предназначена для хранения информации (данных и программ). Часто состоит из оперативной памяти и внешнего запоминающего устройства. Как правило, данные, к которым может обращаться АЛУ находятся в ОП. ВЗУ – используется для долговременного хранения данных. Управляющее устройство – автоматически без участия человека управляет вычислительным процессом, посылая сигналы всем устройствам для реализации определенных действий (например, для выполнения определенной операции АЛУ). УУ в своей работе руководствуется программой. Программа состоит из команд, каждая из которых, определяет какое-либо действие и операнд. Программа в свою очередь основывается на алгоритме решения поставленной задачи. Такой способ управления процессом решения задачи называется принципом программного управления. Как правило, программы хранятся также в ОП наравне с данными. При этом перед выполнением программы собственно программа и данные должны быть помещены в ОП. Чаще всего это происходит через устройство ввода информации (клавиатура, диск). Команды выполняются в порядке следования в программе кроме команд перехода. Устройства вывода служат для выдачи информации, результатов (например, на дисплей, принтер). Пульт управления используется оператором для контроля хода выполнения программ и возможно для его прерывания (в ПЭВМ - отсутствует). Блок-схема типовой ЭВМ Вопрос 2. Типы команд Классификация команд по основным признакам представлена на рис. №ХЗ. Важнейшим структурным элементом формата любой команды является код операции (КОП), определяющей действие, которое должно быть выполнено. Большое число КОП в процессоре очень важно, так как аппаратная реализация команд экономит память и время. Классификация команд Вопрос 3.Функциональная и структурная организация процессора Микропроцессор – это программно-управляемое устройство, предназначенное для обработки цифровой информации и управления процессами этой обработки. Микропроцессорный комплект – это набор микросхем, необходимый для реализации одного функционально завершенного вычислительного устройства. Микропроцессорная система – это управляющая и электронно-измерительная система, обрабатывающим элементом которой является микропроцессор. Архитектура микропроцессора – это совокупность аппаратных и программных средств, определяющая технические и эксплуатационные характеристики. Структура процессора, позволяющая реализовать его функции, включает в себя:  устройство управления (УУ), дешифрирующее команды и вырабатывающее сигналы управления для блоков, выполняющих эти команды;  арифметико-логическое устройство (АЛУ), выполняющее арифметические и логические операции;  блок регистров общего назначения (РОН), позволяющий выполнять операции с предельно высокой скоростью;  блоки сверхоперативной памяти (Кэш 1-го уровня) для хранения команд и данных;  блоки, осуществляющие интерфейс с памятью компьютера;  системный интерфейс, который обеспечивает связь процессора с системными блоками компьютера и внешними устройствами (ВУ). Вопросы для самопроверки 1. Что такое АЛУ? 2. Что такое память? 3. Что такое управляющие устройство? 4. Что такое микропроцессор? 5. Для чего служит микропроцессор? 6. Из чего состоит структура процессора? Тема 5. Организация памяти ЭВМ План лекции 1. Организация памяти ЭВМ 2. Организация прерывания ЭВМ Вопрос 1. Организация памяти ЭВМ Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ, в процессе выполнения должны (по крайней мере частично) находиться в оперативной памяти. Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память (storage, memory) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память была самым дорогим ресурсом. Основные характеристики запоминающих устройств: Информационная емкость – это количество информации, измеряемое в байтах, килобайтах и так далее, которая может храниться в запоминающем устройстве. Время обращения – это промежуток времени, в течение которого запоминающее устройство реагирует на внешние запросы. Стоимость. Виды памяти Регистры микропроцессорной памяти, кэш-память первого или второго уровня (t=10-9 – 10-6 с, V=102 – 104 бит) Внутренняя памяти ПЗУ, ОЗУ (t=10-6 – 10-3, V=104 – 107 бит) Внешняя память (t=10-3 – 1 с, V=107 – 109 с) Массовая или архивная память (t=1 – 10 с, V=109 – 1010 бит) Физическая организация памяти компьютера Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную, физическую) и вторичную (внешнюю) память. Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес (номер). Процессор извлекает команду из основной памяти, декодирует и выполняет ее. Для выполнения команды могут потребоваться обращения еще к нескольким ячейкам основной памяти. Обычно основная память изготавливается с применением полупроводниковых технологий и теряет свое содержимое при отключении питания. Вторичную память (это главным образом диски) также можно рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. В отличие от оперативной памяти, она является энергонезависимой, имеет существенно большую емкость и используется в качестве расширения основной памяти. Регистровые ЗУ – входят в состав процессора и являются наиболее быстродействующими запоминающими устройствами. Кэш-память (буферная память) – предназначена для сокращения времени передачи информации между процессором и более медленными уровнями памяти. Оперативная память – это основное запоминающее устройство в ЭВМ, в котором хранятся выполняемые в настоящий момент процессором программы и данные. В состав памяти так же входят запоминающие устройства, принадлежащие отдельным функциональным блокам компьютера. Жесткий диск – это вид памяти, в котором хранится любая информация. Внешние запоминающие устройства функционально не являются частью ЭВМ. Вопрос 2. Организация прерываний в ЭВМ Во время выполнения ЭВМ текущей программы внутри машины и в связанной с ней внешней среде (например, в технологическом процессе, управляемом ЭВМ) могут возникать события, требующие немедленной реакции на них со стороны машины. Реакция состоит в том, что машина прерывает обработку текущей программы и переходит к выполнению некоторой другой программы, специально предназначенной для данного события. По завершении этой программы ЭВМ возвращается к выполнению прерванной программы. Рассматриваемый процесс, называемый прерыванием программ, поясняется на рис. 1.1. Принципиально важным является то, что моменты возникновения событий, требующих прерывания программ, заранее неизвестны и поэтому не могут быть учтены при программировании. Каждое событие, требующее прерывания, сопровождается сигналом, оповещающим ЭВМ. Назовем эти сигналы запросами прерывания. Программу, затребованную запросом противопоставляя ее прерывания, прерываемой назовем программе, прерывающей выполнявшейся программой, машиной до появления запроса. Как показано на рис. 1.1, запросы на прерывание могут возникать внутри самой ЭВМ и в ее внешней среде. К первым относятся, например, запросы при возникновении в ЭВМ таких событий, как появление сбоев в ее аппаратуре, переполнение разрядной сетки, попытка деления на 0, выход из установленной для данной программы области памяти, затребование периферийным устройством операции. ввода-вывода, завершение операции ввода-вывода периферийным устройством или возникновение при этой операции особой ситуации и др. Хотя некоторые из указанных событий порождаются самой программой, моменты их появления, как правило, невозможно предусмотреть. Запросы во внешней среде могут возникать от других ЭВМ, от аварийных и некоторых других датчиков технологического процесса и т. п. В сущности, запросы прерывания генерируются несколькими развивающимися параллельно во времени процессами, которые в некоторые моменты требуют вмешательства процессора. К этим процессам, в частности, относятся процесс выполнения самой программы, процесс контроля правильности работы ЭВМ, операции ввода-вывода, технологический процесс в управляемом машиной объекте и др. Прерывания делятся на аппаратные и программные. Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают:  маскируемые, которые могут быть замаскированы программными средствами компьютера;  немаскируемые, запрос от которых таким образом замаскирован быть не может.  Программные прерывания вызываются следующими ситуациями:  особый случай, возникший при выполнении команды и препятствующий нормальному продолжению программы (переполнение, нарушение защиты памяти, отсутствие нужной страницы в оперативной памяти и т.п.);  наличие в программе специальной команды прерывания INT n, используемой обычно программистом при обращениях к специальным функциям операционной системы для ввода-вывода информации. Вопросы для самопроверки 1. Что такое запоминающие устройство? Перечислите его основные характеристики. 2. Какие виды памяти вы знаете? 3. Что такое жесткий диск и оперативная память? 4. Что такое прерывания в ЭВМ? 5. Какие виды прерывания вы знаете? В чем заключаются их основные отличия? Тема 6. Параллельные системы. Многомашинные и многопроцессорные вычислительные системы План лекции 1. Архитектурные особенности организации ЭВМ различных классов 2. Рабочая станция. Сервер Мэйнфрейм. Кластерные суперкомпьютеры Вопрос 1. Архитектурные особенности организации ЭВМ различных классов. Вычислительная система (ВС) – это совокупность взаимосвязанных процессов и ЭВМ, периферийного оборудования и программного обеспечения, предназначенного для автоматизации процессов приема, хранения и выдачи информации. Основные принципы построения вычислительных систем  обеспечение работы в различных режимах;  модульность структуры технических средств и программного обеспечения;  унификация и типизация технических и программных средств. По аппаратной архитектуре различают: многомашинные ВС и многопроцессорные. По назначению: универсальные и специализированные. По территориальному признаку: сосредоточенные и распределенные. По методам управления: централизованные, децентрализованные и смешанные. Вопрос 2. Рабочая станция. Сервер Мэйнфрейм. Кластерные суперкомпьютеры ПК появились в результате повышения степени интеграции элементарной базы в миникомпьютерах. ПК — прежде всего дружественный интерфейс, программноориентированный среды, низкая стоимость. Создание RISC-процессоров и микросхем памяти большой емкости привело к появлению ВС высокой производительности, которые получили название «рабочие станции». Серверы ВС всё более требуют перехода к организации «клиент-сервер» и распределенной обработки данных. В этом случае основная функция возлагается на сервер и лишь часть на клиента. Тип сервера определяется ресурсом, которым он владеет. В зависимости от типа задач, объёма пользователей, требования к оборудованию ПО, архитектуре и надёжности серверов сильно изменяются. Мейнфреймы — большая универсальная ЭВМ, которая на сегодня является одной из самых мощных ВС, работающих в режиме непрерывной эксплуатации. Такая система может включать большое количество процессоров с общей или раздельной памятью, объединённые высокопроизводительной магистралью. Кроме того, такие системы оснащаются периферийными процессорами, центральная функция возлагается на ЦП, а периферийные занимаются вводом/выводом и т.д. Основной недостаток мейнфреймов - низкое соотношение производительность/стоимость. Кластерная архитектура Термин «кластеризация» можно определить, как реализацию объединения ВМ, которая представляется как единое целое для ОС, ПП и т.д. Такие ВС могут при выходе из строя одной ЭВМ переключать обработку на другую ЭВМ, что повышает надёжность. Многопроцессорные вычислительные системы (МПВС) МПВС (комплексы) – система, включающая в себя два и более процессоров, имеющих общую ОП, общие периферийные устройства и работающих под управлением единой ОС, которая осуществляет планирование ресурсов и управление техническими и программными средствами МПВС. При этом каждый из процессоров может иметь собственное ЗУ или периферийные устройства. Существует 3 типа структурной организации МПВС: В МПВС с общей шиной проблема связи всех устройств решается подсоединением всех устройств к общей шине, по которой передается информация, адреса и сигналы управления. В МПВС с перекрестной коммутацией все связи между устройствами осуществляются при помощи коммутационной матрицы (КМ). В МПВС с многовходной ОЗУ все, что связано с коммутацией, сосредоточено в ОЗУ. В этом случае модули ОЗУ имеют число входов равное числу устройств к ним подключенное. Многомашинные вычислительные системы (ММВС) Это системы, которые включают в себя 2 и более ЭВМ (каждая из которых имеет свой процессор, память, ОС), связи между которыми обеспечивают выполнение функций, возложенных на ММВС. По характеру связей между ЭВМ различают:  косвенно или слабо связанные;  прямо связанные;  сателлитные. Косвенные или связанные ММВС связаны только через внешние ЗУ, т.е. связь осуществляется только на информационном уровне. Прямо связанные ММВС обладают большей гибкостью и могут использовать 3 вида связей:  общее ОЗУ (ООЗУ);  прямое управление (связь процессор-процессор);  адаптер канал-канал (АКК). Для ММВС с сателлитными связями характерным является не способ связи, а принцип взаимодействия между ЭВМ. Структура связи может быть любой из выше перечисленных (чаще АКК). Вопросы для самоконтроля 1. Что такое вычислительная система? 2. Что такое сервер и в чем заключаются особенности данной архитектуры? 3. Что такое мейнфрейм и в чем заключаются особенности данной архитектуры? 4. Что такое кластерная архитектура? 5. Какие существуют типы организации МПВС? 6. Какие различают типы ЭВМ? Тема 7. Классификация архитектур информационных систем План лекции 1. Централизованная архитектура 2. Архитектура "файл-сервер" 3. Многоуровневая архитектура клиент-сервер 4. Архитектура распределенных систем 5. Сервис-ориентированная архитектура Вопрос 1. Централизованная архитектура Архитектура информационной системы – концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы. Централизованная архитектура вычислительных систем была распространена в 70-х и 80-х годах и реализовывалась на базе мейнфреймов, либо на базе мини-ЭВМ. Характерная особенность такой архитектуры – полная "неинтеллектуальность" терминалов. Их работой управляет хост-ЭВМ. Достоинства такой архитектуры:  пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства;  централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы;  отсутствует необходимость администрирования рабочих мест пользователей; Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Использование такой архитектуры является оправданным, если хост-ЭВМ очень дорогая. Вопрос 2. Архитектура "файл-сервер" Файл-серверные приложения – приложения, схожие по своей структуре с локальными приложениями и использующие сетевой ресурс для хранения программы и данных. Функции сервера: хранения данных и кода программы. Функции клиента: обработка данных происходит исключительно на стороне клиента. Достоинства такой архитектуры:  многопользовательский режим работы с данными;  удобство централизованного управления доступом;  низкая стоимость разработки;  высокая скорость разработки;  невысокая стоимость обновления и изменения ПО. Недостатки:  проблемы многопользовательской работы с данными: последовательный доступ, отсутствие гарантии целостности;  низкая производительность (зависит от производительности сети, сервера, клиента);  плохая возможность подключения новых клиентов;  ненадежность системы. Вопрос 3. Многоуровневая архитектура клиент-сервер Многоуровневая архитектура клиент-сервер (Multitier architecture) - разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов. Плюсами данной архитектуры являются:  клиентское ПО не нуждается в администрировании;  масштабируемость;  конфигурируемость  высокая безопасность;  высокая надежность;  низкие требования к скорости канала (сети) между терминалами и сервером приложений;  низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости. Минусы:  растет сложность серверной части и, как администрирование и обслуживание;  более высокая сложность создания приложений; следствие, затраты на  сложнее в разворачивании и администрировании;  высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования;  высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений. Вопрос 4. Архитектура распределенных систем Такой тип систем является более сложным с точки зрения организации системы. Суть распределенной системы заключается в том, чтобы хранить локальные копии важных данных. Распределенные системы с репликацией Данными между различными рабочими станциями и централизованным хранилищем данных, передаются репликацией. При вводе информации на рабочих станциях – данные также записываются в локальную базу данных, а лишь затем синхронизируются. Распределенные системы с элементами удаленного исполнения Существуют определенные особенности, которые невозможно качественно реализовать на обычной распределенной системе репликативного типа. К этим особенностям можно отнести:  использование данных из сущностей, которые хранятся на удаленном сервере (узле);  использование данных из сущностей, хранящихся на разных серверах (узлах) частично;  использование обособленного функционала, на выделенном сервере (узле). Вопрос 5. Сервис-ориентированная архитектура Сервис-ориентированная архитектура (SOA, service-oriented architecture) – модульный подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами. OASIS (Организация по распространению открытых стандартов структурированной информации) определяет SOA следующим образом (OASIS Reference Model for Service Oriented Architecture V 1.0): Сервисно-ориентированная архитектура – это парадигма организации и использования распределенных информационных ресурсов таких как: приложения и данные, находящихся в сфере ответственности разных владельцев, для достижения желаемых результатов потребителем, которым может быть: конечный пользователь или другое приложение. Основными целями применения SOA для крупных информационных систем, уровня предприятия, и выше являются:  сокращение издержек при разработке приложений, за счет упорядочивания процесса разработки;  расширение повторного использования кода;  независимость от платформ, инструментов, языков разработки;  повышение масштабируемости создаваемых систем;  улучшение управляемости создаваемых систем. Принципы SOA:  архитектура, не привязана к какой-то определенной технологии  независимость организации системы от используемой платформы  независимость организации системы от применяемых языков программирования;  использование сервисов, независимых от конкретных приложений, с единообразными интерфейсами доступа к ним;  организация сервисов как слабосвязанных компонентов для построения систем. Вопросы для самопроверки 1. Что такое архитектура информационной системы? 2. В чем основные достоинства и недостатки централизованной архитектуры? 3. Что такое архитектура файл-сервер и в чем ее особенности? 4. В чем заключаются плюсы и минусы многоуровневой архитектуры клиентсервер? 5. Что такое архитектура распределенных систем? 6. В чем заключаются особенности сервис-ориентированной архитектуры? Тема 8. Многозвенные информационные системы План лекции 1. Двухзвенная архитектура 2. Трехзвенная архитектура Вопрос 1. Двухзвенная архитектура В любой сети (даже одноранговой), построенной на современных сетевых технологиях, присутствуют элементы клиент-серверного взаимодействия, чаще всего на основе двухзвенной архитектуры. Двухзвенной (two-tier, 2-tier) она называется изза необходимости распределения трех базовых компонентов между двумя узлами (клиентом и сервером). Двухзвенная архитектура используется в клиент-серверных системах, где сервер отвечает на клиентские запросы напрямую и в полном объеме, при этом используя только собственные ресурсы. Т.е. сервер не вызывает сторонние сетевые приложения и не обращается к сторонним ресурсам для выполнения какой-либо части запроса. Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры:  сервер терминалов - распределенное представление данных;  файл-сервер - доступ к удаленной базе данных и файловым ресурсам;  сервер БД - удаленное представление данных;  сервер приложений - удаленное приложение. Преимущества и недостатки Преимущества подхода очевидны:  возможно централизованное администрирование прикладных функций;  снижение стоимости владения системой (TOC, total cost of ownership) за счет аренды сервера, а не его покупки;  значительное снижение сетевого трафика (т.к. передаются не SQL-запросы, а вызовы хранимых процедур). Недостатки:  неработоспособность сервера может данной системы сделать неработоспособной всю вычислительную сеть;  администрирование требует квалифицированного профессионала;  высокая стоимость оборудования;  бизнес логика приложений осталась в клиентском ПО. Основной недостаток — ограниченность средств разработки хранимых процедур по сравнению с языками высокого уровня. Вопрос 2. Трехзвенная архитектура Еще одна тенденция в клиент-серверных технологиях связана со все большим использованием распределенных вычислений. Они реализуются на основе модели сервера приложений, где сетевое приложение разделено на две и более частей, каждая из которых может выполняться на отдельном компьютере. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная клиент-серверная архитектура становится трехзвенной (three-tier, 3-tier). Как правило, третьим звеном в трехзвенной архитектуре становится сервер приложений, т.е. компоненты распределяются следующим образом:  представление данных - на стороне клиента.  прикладной компонент - на выделенном сервере приложений (как вариант, выполняющем функции промежуточного ПО).  управление ресурсами запрашиваемые данные. - на сервере БД, который и представляет Трехзвенная архитектура может быть расширена до многозвенной (N-tier, Multitier) путем выделения дополнительных серверов, каждый из которых будет представлять собственные сервисы и пользоваться услугами прочих серверов разного уровня. Преимущества:  удобство разработки  удобство внедрения  удобство сопровождения  удобство интеграции с внешними системами С финансово-экономической точки зрения - возможность экономии на серверном оборудовании и обслуживающем его персонале. Минусы:  растет сложность серверной части и, как следствие, затраты на администрирование и обслуживание;  более высокая сложность создания приложений;  сложнее в разворачивании и администрировании;  высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования;  высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений. Вопросы для самопроверки 1. Что такое двухзвенная архитектура? 2. В чем заключаются преимущества и недостатки двухзвенной архитектуры? 3. Что такое трехзвенная архитектура? 4. В чем заключаются преимущества и недостатки трехзвенной архитектуры? Тема 9. Многозвенные информационные системы План лекции 1. Многозвенные информационные системы 2. Разработка многозвенных ИС в Delphi Вопрос 1. Многозвенные информационные системы Модель распределённого приложения БД называется многозвенной и её наиболее простой вариант – трёхзвенное распределённое приложение. Тремя частями такого приложения являются:  сервер базы данных  сервер приложений  клиентская часть приложения. Все они объединены в единое целое единым механизмом взаимодействия (транспортный уровень) и обработки данных (уровень бизнес-логики). Компоненты и объекты Delphi, обеспечивающие разработку многозвенных приложений, объединены общим названием MIDAS. Многозвенная архитектура приложений баз данных вызвана к жизни необходимостью обрабатывать на стороне сервера запросы от большого числа удалённых клиентов. В рамках многозвенной архитектуры “тонкие” клиенты (клиенты, выполняющие минимум операций) представляют собой простейшие приложения, обеспечивающие лишь передачу данных, их локальное кэширование, представление средствами пользовательского интерфейса, редактирование и простейшую обработку. Клиентские приложения обращаются не к серверу БД напрямую, а к специализированному ПО промежуточного слоя. Это может быть и одно звено (простейшая трёхзвенная модель) и более сложная структура. Клиенты многозвенных приложений обеспечивают выполнение следующих функций:  соединение с сервером приложений, приём и передача данных  отображение средствами пользовательского интерфейса  простейшие операции редактирования  сохранение локальных копий данных. Вопрос 2. Разработка многозвенных ИС в Delphi В Delphi многозвенные ИС разрабатываются на основе технологии MIDAS (Multi-tier distributed application services – служба многоуровневых распределённых приложений). Технология Midas включает в себя основные элементы, приведённые ниже.  удалённый брокер данных (Remote Data Broker) – обеспечивает интерфейс для обмена данными между сервером приложений и клиентом.  брокер бизнес-объектов (Business Objects Broker) – совместно с технологией Borland OLEnterprise позволяет размещать сервер приложений одновременно на нескольких компьютерах.  брокер ограничений (Constraints Broker) – обеспечивает распределение ограничений, применяемых к данным, между отдельными уровнями ИС. Среда разработки Delphi поддерживает следующие технологии для реализации трехзвенной архитектуры:  DCOM (Distributed Component Object Model – распределенная компонентная модель объектов) – рассчитана на ЛВС, в которой сервер приложений работает под управлением сетевой операционной системы компании Microsoft;  MTS (Microsoft Transaction Server – сервер транзакций MS) – основана на DCOM с дополнительными возможностями по управлению системными ресурсами (процессами, потоками, соединениями с БД), а также с повышенной защищенностью данных;  CORBA (Common Object Broker Architecture – архитектура с брокером общих объектов) – в отличии от DCOM не предъявляет специальных требований к ОС или аппаратной платформе. Сервер приложений создаётся на основе удалённого модуля данных, который служит для размещения компонентов, а также для обеспечения взаимодействия с сервером и клиентами. Для создания различных серверов приложений предназначены следующие разновидности удалённых модулей данных:  RemoteDataModule для технологии DCOM, TCP/IP.  MTSDataModule и TCorbaDataModule для MTS и CORBA соответственно. Каждый компонент реализуется как окно - контейнер для помещения в него компонент для работы с БД (TDataBase, TTable, TQuery, TStoredProc). А также, если необходимо, обработчиков событий этих компонентов и объектов полей, соответствующих НД. Для каждого компонента источника в модуль помещается компонент TDataSetProvider. Он служит связующим звеном между сервером приложений и клиентским набором данных. Именно к нему привязывается клиентский набор данных, реализуемый компонентом TCientDataSet посредством коммуникационного компонента TXXXConnection. Вопросы для самопроверки 1. Что такое многозвенная информационная система? 2. Как распределяются задачи системы по звеньям? 3. Что такое клиент многозвенных приложений и какие функции он выполняет? 4. На основе чего создается сервер приложений? 5. Какие технологии поддерживает Delphi ля реализации трехзвенной структуры? Тема 10. Распределенные информационные системы План лекции 1. Распределенные системы, достоинства и недостатки 2. Принципы построения распределенных систем 3. Задачи и функции распределенных систем Вопрос 1. Распределенные системы, достоинства и недостатки Распределенная система - совокупность независимых компьютеров, которая представляется пользователю единым компьютером (metacomputer), использование которого ненамного сложнее, чем использование персональной ЭВМ. Достоинства: 1-ая причина - экономическая. Закон Гроша (Herb Grosh, 25 лет назад) быстродействие процессора пропорциональна квадрату его стоимости. С появлением микропроцессоров закон перестал действовать - за двойную цену можно получить тот же процессор с несколько большей частотой. 2-ая причина - можно достичь такой высокой производительности путем объединения микропроцессоров, которая недостижима в централизованном компьютере. 3-я причина - естественная распределённость (банк, поддержка совместной работы группы пользователей). 4-ая причина - надежность (выход из строя нескольких узлов незначительно снизит производительность). 5-я причина - наращиваемость производительности. В будущем главной причиной будет наличие огромного количества персональных компьютеров и необходимость совместной работы без ощущения неудобства от географического и физического распределения людей, данных и машин. Недостатки распределенных систем:  проблемы ПО (приложения, языки, ОС);  проблемы коммуникационной развитие и замена);  секретность. сети (потери информации, перегрузка, Вопрос 2. Принципы построения распределенных систем Прозрачность (для пользователя и программы). Прозрачность расположения Пользователь не должен знать, где расположены ресурсы Прозрачность миграции Ресурсы могут перемещаться без изменения их имен Прозрачность размножения Пользователь не должен знать, сколько копий существует Прозрачность конкуренции Множество пользователей разделяет ресурсы автоматически Прозрачность параллелизма Работа может параллельно выполняться без участия пользователя Гибкость (не все еще ясно - потребуется менять решения). Использование монолитного ядра ОС или микроядра. Надежность. Доступность, устойчивость к ошибкам (fault tolerance). Секретность. Производительность. Грануллированность. Мелкозернистый и крупнозернистый параллелизм (finegrained parallelism, coarse-grained parallelism). Устойчивость к ошибкам требует дополнительных накладных расходов. Масштабируемость. Плохие решения:  централизованные компоненты (один почтовый-сервер);  централизованные таблицы (один телефонный справочник);  централизованные алгоритмы (маршрутизатор на основе полной информации). Только децентрализованные алгоритмы со следующими чертами:  ни одна машина не имеет полной информации о состоянии системы;  машины принимают решения на основе только локальной информации;  выход из строя одной машины не должен приводить к отказу алгоритма;  не должно быть неявного предположения о существовании глобальных часов. Вопрос 3. Задачи и функции распределенных систем Коммуникации в распределенных системах: Все компьютеры коммуникационной в распределенной сетью. системе Коммуникационные связаны сети между собой подразделяются на широкомасштабные (Wide Area Networks, WANs) и локальные (Local Area Networks, LANs). Синхронизация в распределенных системах: Обычно децентрализованные алгоритмы имеют следующие свойства:  относящаяся к делу информация распределена среди ЭВМ;  процессы принимают решение на основе только локальной информации;  не должно быть единственной критической точки, выход из строя которой приводил бы к краху алгоритма;  не существует общих часов или другого источника точного глобального времени. Синхронизация времени Аппаратные часы (скорее таймер - счетчик временных сигналов и регистр с начальным значением счетчика) основаны на кварцевом генераторе и могут в разных ЭВМ различаться по частоте. Выбор координатора:  алгоритм "задиры"  круговой алгоритм. Взаимное исключение:  централизованный алгоритм;  алгоритм с круговым маркером;  алгоритм древовидный маркерный (Raymond);  децентрализованный алгоритм на основе временных меток. Координация процессов  сообщения точка-точка (если известно, кто потребитель);  если неизвестно, кто потребитель, то:  сообщения широковещательные;  сообщения в ответ на запрос.  если неизвестно, кто потребляет и, кто производит, то:  сообщения и запросы через координатора:  широковещательный запрос. Консистентность: (а) Модели консистентности, не использующие операции синхронизации. Консистентность Описание Упорядочение Строгая всех доступов к разделяемым данным по абсолютному времени Последовательная Причинная Процессорная Все процессы видят все записи разделяемых данных в одном и том же порядке Все процессы видят все причинно-связанные записи данных в одном и том же порядке PRAM-консистентность + когерентность памяти Все процессоры видят записи любого процессора в одном и том же PRAM порядке (б) Модели консистентности с операциями синхронизации. Консистентность Описание Разделяемые данные можно считать консистентными только после Слабая выполнения синхронизации По выходу По входу Разделяемые данные становятся консистентными после выхода из критической секции Связанные с критической секцией разделяемые данные становятся консистентными при входе в нее Обеспечение надежности в распределенных системах:  восстановление после отказа (Восстановление может быть прямым (без возврата к прошлому состоянию) и возвратное);  отказоустойчивость (протоколы коллективного решения.) голосования и протоколы принятия Вопросы для самопроверки 1. Что такое распределенная система? 2. В чем достоинства и недостатки распределенной системы? 3. В чем заключаются принципы построения распределенных ОС? 4. Что такое Консистентность? 5. Как обеспечивается надежность распределенных систем? Тема 11. Архитектура web-приложений План лекции 1. Web-приложения и их особенности 2. Компоненты web-ориентированных информационных систем Вопрос 1. Web-приложения и их особенности Web-приложения представляют собой особый тип программ, основанных на архитектуре "клиент-сервер". Web-приложение располагается и исполняется на сервере, получая от клиента исходные данные для работы, а также передавая ему результаты работы в виде HTML-кода, отображаемого в браузере. Существенное преимущество построения Web-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создается один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения. Другой (менее универсальный) подход заключается в использовании Adobe Flash, Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java- или Flash-реализациями на стороне клиента может приводить к различным осложнениям. В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми» клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин «Богатое Интернет приложение» (англ. Rich Internet Applications). Вопрос 2. Компоненты web-ориентированных информационных систем Существует несколько технологий разработки информационных систем, ориентированных на Интернет. Одной из наиболее мощных технологий является ASP.NET. Web-приложения, разработанные на основе ASP.NET, работают исключительно в среде IIS платформы Windows. ASP.NET является частью инфраструктуры .NET Framework. Данная архитектура является основой для построения современных приложений, ориентированных на работу в среде Windows, и может использовать любой из совместимых языков программирования для написания программного кода. Особенностью .NET Framework является то, что различные модули одной и той же программной системы могут быть написаны на различных языках программирования. Одним из важнейших элементов данной архитектуры является наличие сборщика мусора, осуществляющего очистку неиспользуемых областей памяти и избавляющего программиста от проблемы "утечки памяти". Каждое Web-приложение ASP.NET состоит из 3 частей: информационной, программного кода и сведений о конфигурации. Информационная часть включает в себя описание страницы в формате HTML и содержит как элементы языка гипертекстовой разметки документа, так и элементы ASP.NET. Программный код реализует бизнес-логику, оформленную в виде процедур обработки данных. Этот код исполняется сервером и взаимодействует с динамическими элементами информационной части, позволяя динамически формировать содержимое страницы, передаваемой клиенту. Сведения о конфигурации содержат параметры, определяющие способ исполнения приложения на сервере, параметры безопасности, реакцию на возникающие ошибки и др. Типовой сценарий взаимодействия Web-приложения с другим Web- приложением и с клиентом выглядит следующим образом: клиент посылает запрос на открытие страницы Web-приложения, Web-сервер осуществляет запуск приложения, создает экземпляр запрашиваемой клиентом формы, исполняет программный код, связанный с формой, формирует HTML-текст отклика, который и передает браузеру клиента, после чего уничтожает Web-форму. Пользователь просматривает переданную ему сервером страницу, при необходимости вводит данные в расположенные на ней поля ввода и инициирует их отправку на сервер. Сервер создает новый экземпляр формы приложения, заполняет поля данными, полученными от клиентского компьютера, формирует HTML-текст отклика и передает его клиенту. В настоящее время набирает популярность новый подход к разработке вебприложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными. Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования, способные осуществлять вывод в стандартную консоль. Название Лицензия Веб-сервер ASP проприетарная специализированный ASP.NET проприетарная специализированный C/C++ свободная практически любой Java свободная множество, в том числе свободных Perl свободная практически любой PHP свободная практически любой Python свободная практически любой Ruby свободная практически любой Nodejs MIT License собственный ASP.NET vNext Apache 2 практически любой На стороне клиента используется:  для реализации GUI:  HTML, XHTML;  CSS.  для формирования и обработки запросов, создания интерактивного и независимого от браузера интерфейса:  ActiveX;  Adobe Flash, Adobe Flex;  Java;  JavaScript;  Silverlight. Вопросы для самопроверки 1. Что такое web-приложение? 2. Какие существуют подходы для построения web-приложения? 3. В чем заключаются особенности web-приложений? 4. Какие необходимые компоненты web-ориентированных информационных систем вы знаете? Тема 12. Сервис-ориентированная архитектура (SOA) План лекции 1. Сервис-ориентированная архитектура 2. Принципы, преимущества и недостатки SOA Вопрос 1. Сервис-ориентированная архитектура Сервис-ориентированная архитектура (SOA) - это такая архитектура приложения, в которой компоненты или «сервисы», имея согласованные общие интерфейсы, используют единые правила (контракты) для определения того, как вызывать сервисы и как они будут взаимодействовать друг с другом. В настоящее время эта технология получает все большее распространение во многих областях ИТ индустрии благодаря своему главному преимуществу: способности предложить эффективный подход к решению одной из самых сложных и насущных проблем - проблемы интеграции информационный ресурсов. Сервис (служба) – программный компонент, к которому можно удалённо обратиться посредством компьютерной сети, и предоставляющая некоторые функциональные возможности запрашивающей стороне. Интерфейсы - ключевое понятие SOA. Именно они являются средством для представления возможностей сервиса внешнему миру и организации взаимодействия сервисов. В интерфейсе сервиса определены параметры обращения к нему и описан результат, то есть интерфейс определяет суть сервиса, а не технологию его реализации. Цели SOA - для крупных информационных систем, уровня предприятия, и выше:  сокращение издержек при разработке приложений, за счёт упорядочивания процесса разработки,  расширение повторного использования кода;  независимость от используемых платформ, инструментов, языков разработки;  повышение масштабируемости создаваемых систем;  улучшение управляемости создаваемых систем. Вопрос 2. Принципы, преимущества и недостатки SOA Принципы SOA:  архитектура, как таковая, не привязана к какой-то определённой технологии,  независимость организации системы от используемой вычислительной платформы (платформ);  независимость организации системы от применяемых языков программирования;  использование сервисов, независимых от конкретных приложений, с единообразными интерфейсами доступа к ним;  организация сервисов как слабосвязанных компонентов для построения систем. Тактические преимущества SOA:  более простые разработка и внедрение приложений;  использование текущих инвестиций;  уменьшение риска, связанного с внедрением проектов в области автоматизацией услуг и процессов;  возможность непрерывного улучшения предоставляемой услуги;  сокращение числа обращений за технической поддержкой;  повышение показателя возврата инвестиций (ROI). Недостатки SOA: Достаточно большое времени отклика;  некоторой избыточностью пересылаемой информации, что при больших нагрузках может привести к перегруженности сетевого трафика;  сложность развертывания;  окупаемая затратность развертывания. Архитектура, ориентированная на сервисы, имеет следующие характерные особенности:  архитектура является распределенной. Функциональные модули приложение (системы) могут быть распределены по множеству вычислительных систем и способны к взаимодействию с использованием локальных или глобальных сетей;  интерфейс функциональных модулей таков, что использование модулей не зависит от технологии или платформы, в рамках которой они реализованы;  возможен динамический поиск и подключение нужных функциональных модулей;  архитектура базируется на общепринятых отраслевых стандартах. В самом общем виде SOA предполагает наличие трех основных участников: поставщика сервиса, потребителя сервиса и реестра сервисов. Взаимодействие участников выглядит достаточно просто: поставщик сервиса регистрирует свои сервисы в реестре, а потребитель обращается к реестру с запросом. Вопросы для самопроверки 1. Что такое Сервис-ориентированная архитектура? 2. Что такое сервис? 3. Что такое интерфейс? 4. Какие основные принципы SOA? 5. Назовите преимущества и недостатки SOA? 6. Какие характерные особенности имеет архитектура, ориентированная на сервисы? Тема 13. Сервис–ориентированная архитектура (SOA) План лекции 1. Облачные сервисы 2. Преимущества облачных сервисов и систем 3. Обзор наиболее популярных облачных сервисов и систем Вопрос 1. Облачные сервисы Облачные сервисы– это ИТ-сервисы, получаемые компанией извне. Самым ярким примером облачного сервиса, существующим уже более 10 лет, является хостинг web-сайтов или электронной почты. Понятие облачные вычисления появилось относительно недавно и расширило понятие хостинга. Сейчас под облачными вычислениями подразумевается использование вычислительных ресурсов удалённой программно-аппаратной площадки хостинг-провайдера или поставщика облачных сервисов. Такими сервисами могут быть виртуальные серверы, серверы электронной почты, IP-телефония, удалённые серверы терминалов и т.д. Яркими примерами облачных сервисов являются, например: Skype, предоставляющий пользователям удалённую службу мгновенных сообщений, видеоконференций и IP-телефонии; Google Mail, предоставляющий пользователям электронную почту; Microsoft SkyDrive, предоставляющий удалённую площадку для хранения файлов. Облачные вычисления разделяют на такие услуги, как SaaS (Software as a Service) - программное обеспечение как сервис и IaaS (Infrastructure as a Service) инфраструктура как сервис. SaaS - подразумевает использование программного обеспечения, развёрнутого на удалённой площадке, через сеть Интернет. IaaS подразумевает использование компанией удалённой ИТ-инфраструктуры, т.е. целого комплекса программно-аппаратных средств аналогично собственному центру обработки данных. Вопрос 2. Преимущества облачных сервисов и систем Преимущества облачных сервисов  Минимальные первоначальные затраты. При использовании собственной ИТинфраструктуры, чтобы компании построить собственную информационную систему или просто получить новый сервис, необходимо приобрести дорогостоящее оборудование и программное обеспечение с учётом будущего роста компании, подготовить место для этого оборудования, обеспечить его электропитанием и системами охлаждения, затем произвести развёртывание программного обеспечения, отладить его работоспособность и т.д. Для запуска всего комплекса потребуется привлечь высококвалифицированных специалистов. Таким образом, всё это выливается не только в большие финансовые затраты, но и в потерянное для построения инфраструктуры время.  Высокая доступность и надёжность. Надёжность и доступность информационной системы является одним из наиболее важных факторов, напрямую влияющих на устойчивость бизнеса компании.  Отсутствие эксплуатационных затрат. Собственная информационная система требует больших затрат на обслуживание и поддержку. Для обслуживания парка серверов требуется штат квалифицированных системных администраторов. Всё оборудование и программное обеспечение требует постоянного мониторинга Оборудование имеет и свойство решения выходить различного из рода проблем. что вызывает строя, дополнительные затраты на ремонт и замену комплектующих. Кроме того, один раз в 3-5 лет требуется полная замена оборудования, а также обновление программного обеспечения. Т.е., по сути возникают затраты на повторное построение ИТ-инфраструктуры.  Гибкость ИТ-инфраструктуры. Представьте, что у вас возникла ситуация, что срочно потребовался какой-либо новый сервис, или новые вычислительные мощности для существующих сервисов. Например, просто увеличился штат сотрудников, престало хватать дискового пространства, или вычислительной мощности для 1С сервера бухгалтерии. Компания будет вынуждена приобретать новое оборудование, новые лицензии на программное обеспечение, затем разворачивать и настраивать его, что может занять недели. Всё это будет тормозить бизнес.  Мобильность. Обычная серверная инфраструктура достаточно сильно привязана к офису компании. Многие знают, какие проблемы возникают при переезде головного офиса. Требуется переложить кабельные коммуникации, перевезти всё оборудование, перезаключить договора с Интернет- провайдерами, перенастроить службы в связи со сменой адресации и т.д. Осуществить такую процедуру без прерывания работы сервисов практически невозможно. И самое обидное, что простой возникает не только у переезжающего офиса, а и у всех дочерних филиалов, которые используют сервисы центрального офиса. Вопрос 3. Обзор наиболее популярных облачных сервисов и систем 4shared 4shared является одним из крупнейших файловых хостингов с возможностью поиска по категориям и публикации данных для общего пользования. Предоставление доступа к файлам (или sharing, публикация) здесь является ключевой особенностью, контексте обзора, впрочем, незначительной. Прежде всего, 4shared радует лояльностью ограничений в бесплатном тарифе: дисковое пространство в 15 ГБ, размер одного файла — до 2048 МБ, 100 ГБ трафика в месяц. Платная поддержка начинается с расценок $9,95/месяц. Тариф «Премиум» включает в себя 100 ГБ пространства и аналогичные лимиты на размер файла, поддержку менеджеров загрузки, возобновление прерванной закачки, просмотр и упаковку архивов на сервере, работу по (S)FTP-протоколу, восстановление файлов (даже если они были удалены из Корзины). Хотя многие полезные опции присутствуют и в бесплатной подписке, такие как мультипоточность, предосмотр, поддержка программ. В настольном приложении можно указать папку для синхронизации, настроить свойства файла, поведение при скачивании и закачке. Отзывчивый веб-интерфейс позволяет совершать основные файловые операции, производить поиск, сортировать данные и менять режимы отображения. Под безопасностью 4shared подразумеваются аппаратная, программная защита, настройки приватности файлов. Все данные резервируются, однако время их хранения ограничено 180 днями, с момента последнего входа в аккаунт. Box Box предоставляет 10 ГБ под хранение данных и 10 ГБ месячного трафика бесплатно, при этом максимальный размер файла не должен превышать 250 МБ. 100 ГБ обойдутся в €4/месяц, за €15 можно фактически забыть о лимитах, получив 1000 ГБ пространства и размером файла до 5 ГБ. Начиная с плана Starter, подписчик получает доступ к функциям настройки доступа и защиты файлов. Интерфейс позволяет загружать и скачивать файлы, причем кроме обычной загрузки, предусмотрена пакетная передача папок. Веб-интерфейс позволяет сортировать, искать файлы, использовать предосмотр — он, правда, не отличается особым удобством и отзывчивостью. Для Windows 8 в Магазине можно скачать фирменное приложение. Посредством его выполняются те же файловые операции, настройки доступа к данным, поиск, плюс задействованы функции интерфейса новейшей ОС. К слову, в Box возможно подключение дополнений и протоколов: например, Box FTP Server — для работы с FTP, или же WebDAV Client. Таким образом, можно отказаться от использования настольного клиента в пользу более универсального варианта. Для обеспечения безопасности, в Box используется двухуровневая авторизация, для загруженных файлов применяется шифрование 256-bit AES. Впрочем, аудит и другие функции, непосредственно связанные с безопасностью, в бесплатной редакции недоступны. Copy Copy позиционируется как бизнес-решение для совместной работы, с акцентом на безопасность, надежное хранение файлов на собственном сервере поставщика, использование в малых компаниях. При этом расценки на корпоративную подписку здесь несколько ниже, чем в Dropbox и Box. Что касается стандартных требований, при регистрации 15 ГБ предоставляется бесплатно, за $9,99 можно купить 250 ГБ. Каждый приведенный на сервис пользователь, установка мобильных или десктоп-приложений — являются бонусами, за которые выдается дополнительное место под файлы. На данный момент сервис существует в двух версиях, одна из них отличается обновленным интерфейсом. Вообще, веб-версия поддерживает перетаскивание и пакетную загрузку данных. Благодаря интеграции с Mover, возможен перенос файлов с Box, Google Drive, Dropbox и других сервисов на Copy. Разработчики позаботились о настольном приложении, через него возможна конфигурация папок для синхронизации, управление правами доступа, скоростью передачи. Работать с файлами через это приложение удобней еще и потому, что онлайн-версия не позволяет отслеживать процесс загрузки. Для обеспечения безопасности применяется SSL, публичный ключ RSA, а также AES 256 шифрование данных на сервере. Dropbox При регистрации на Dropbox предоставляется 2 ГБ бесплатного пространства. Совсем немного для резервирования важной информации, однако нужно учесть реферальную систему, благодаря которой за каждого приведенного пользователя или выполнение задания прибавляется 500 МБ. В результате, пространство для хранения увеличивается до 16 ГБ. Впрочем, можно не гнаться за бесплатными возможностями и приобрести 100 ГБ за минимальные $8,25/месяц. Файлы можно загружать через веб-интерфейс: посредством кнопки, либо перетаскиванием. Скачивание выбранных данных производится в zip-архиве, как и на многих других сервисах. Доступен предварительный просмотр медиафайлов и документов — одна из самых удачных реализаций на облачных сервисах, позволяющая использовать Dropbox в качестве фотохостинга и т. п. К этому же располагает продуманное управление файлами. Одна из важнейших особенностей сервиса — удобная работа c историей изменений файла. Кроме того, не составит проблемы восстановить удаленный файл или каталог. Легко заметить здесь отсутствие Корзины. После установки программы пользователь получает в свое распоряжение папку, синхронизируемую с сервером. При желании, можно включить синхронизацию по локальной сети. Также доступны интеграция с Проводником и функции публикации ссылки в Интернете через контекстное меню. Десктоп-приложение содержит среди опций выборочную синхронизацию, управление скоростью скачивания и загрузки на сервер Dropbox. Нужно иметь в виду, что к аккаунту подключаются сторонние решения для интеграции — учитывая популярность сервиса, их накопилось немало. Из функций безопасности можно отметить SSL и AES-256 шифрование, двухуровневую авторизацию. Впрочем, известны случаи, когда у пользователей возникали серьезные проблемы с доступом к Dropbox из-за ошибок на сервисе. Вопросы для самопроверки 1. Что такое облачный сервис? 2. Что такое облачная система? 3. Какие преимущества имеют облачные технологии 4. Какие облачные системы и сервисы вы знаете? Тема 14. Функциональные уровни информационной системы План лекции 1. Декомпозиция, ее объекты и суть 2. Критерии декомпозиции 3. Варианты декомпозиции Вопрос 1. Декомпозиция, ее объекты и суть Декомпозиция - это научный метод, использующий структуру задачи и позволяющий заменить решение одной большой задачи решением серии меньших задач, пусть и взаимосвязанных, но более простых. Сутью декомпозиции является уменьшение сложности информационной системы, а назначением - обеспечение возможности ее наилучшего осмысления с целью воплощения в заданной техническими требованиями форме. Объект декомпозиции Тип модели декомпозиции Элементы объекта декомпозиции 1. Система как «черный ящик» «состав» <множество конечных продуктов, множество ресурсов> 2. Конечные продукты и ресурсы «состав» <материальные, финансовые, трудовые, информационные, энергетические> 3. Состав объектов целеполагания «состав» Цели <вышестоящих организаций, внешней среды, подведомственных организаций, системы> 4. Социально-экономи- «структура» <предмет деятельности, средства ческая система как деятельности, кадры, процесс деятельности> структура 5. Объект управления «жизненный <маркетинг, снабжение, производство, цикл» испытание, реализация, сопровождение, модернизация, ликвидация> 6. Система управления «жизненный <целевыявление, выработка решений, цикл» организация исполнения, контроль, анализ, регулирование> 7. Система информации обработки «жизненный регистрация, сбор, передача, цикл» отображение, хранение, уничтожение> Таблица - Структура моделей декомпозиции обработка, защита, Вопрос 2. Критерии декомпозиции Критерии декомпозиции бывают составными, т.е. состоящими из других критериев и предельными, - не состоящими из других критериев. Таким образом, предельные критерии допустимо назвать строительными блоками критериальной базы, или просто критериальной базой, используемой в теории проектирования ПО. Поэтому, зная критериальную базу и правила построения составных критериев, можно строить специальные критерии для декомпозиции систем с неизвестной ранее топологией. Рассмотрим перечень наиболее употребимых составных критериев:  Критерий разбиения на функции системы (функциональный критерий или критерий декомпозиции прецедентов)  Критерий разбиения на подсистемы (модульный критерий)  Критерий разбиения на классы (критерий классификации)  Критерий разбиения на объекты (критерий объектной декомпозиции)  Критерий разбиения на состояния (критерий анализа автоматной модели)  Критерий разбиения на задачи (критерий синтеза асинхронной архитектуры)  Критерий определения интерфейсов (критерий композиции интерфейса) Проанализируем вышеприведенные критерии на предмет их состава при помощи критерия обобщения/специализации. В результате получим следующий перечень предельных критериев:  Критерий пространственной декомпозиции (критерий распределенности или географичкеский критерий)  Критерий временной декомпозиции (темпоральный критерий)  Критерий логической декомпозиции (критерий обобщения/специализации) Связь проекций предметной области (системы) и составных критериев:  Функциональный критерий декомпозиции является логической проекцией рассматриваемой системы; состоит из критерия логической декомпозиции и специализирован рассмотрением функций системы  Модульный критерий является струкрурной проекцией системы; состоит из критериев логической, пространственной и временной декомпозиции, специализирован рассмотрением состава системы из замкнутых функциональных блоков  Критерий классификации является структурной проекцией системы; состоит из критерия логической декомпозиции, специализирован рассмотрением состава структуры системы из программных объектов  Критерий объектной декомпозиции является структурной проекцией системы; состоит из критерия логической декомпозиции, специализирован рассмотрением состава структуры системы из объектов, являющихся аналогами объектам предметной области  Критерий разбиения на состояния является темпоральной проекцией рассматриваемой системы (чаще объекта); состоит из критериев логической и временной декомпозиции, специализирован рассмотрением реакции системы на внешние события  Критерий разбиения на задачи является темпоральной проекцией рассматриваемой системы; состоит из критериев логической и временной декомпозиции, специализирован рассмотрением взаимодействия системы с другими системами  Критерий определения интерфейса является структурной проекцией системы; состоит из критерия логической декомпозиции, специализирован рассмотрением способов межобъектного взаимодействия в системе Уровнем декомпозиции" называется уровень детализации, на котором рассматриваются элементы системы. На любом уровне декомпозиции существует некий набор логических элементов системы, которые рассматриваются как "черные ящики". Имеющиеся в них элементы рассматриваются только на следующем уровне декомпозиции, на котором они предстают уже "белыми ящиками". Три важных фактора, которые следует учитывать, выбирая уровень декомпозиции:  назначение и тип уровня модели (контекст, анализ, проект или реализация);  какие элементы считаются "черными ящиками";  показываемые и выделяемые взаимодействия. Вопрос 3. Варианты декомпозиции Существует три основных варианта декомпозиции: простая декомпозиция (trival), функциональная (functional) и декомпозиция данных. Структура и состав ИС Структура информационной системы состоит из этих трех основных составляющих:  функциональные компоненты,  компоненты системы обработки данных,  организационные компоненты. Подсистема - это набор объектов и подсистем, обеспечивающих некоторую функциональность, и взаимодействующих между собой в соответствии с их интерфейсами. Интерфейс подсистемы представляет собой подмножество объединения интерфейсов всех объектов и подсистем, составляющих эту подсистему. В состав подсистемы может входить один, или более взаимозависимых объектов и/или подсистем. Подсистемы информационной системы Вопросы для самопроверки 1. Что такое декомпозиция? 2. Что является сутью декомпозиции? 3. Какие бывают критерии декомпозиции? 4. Что такое уровень детализации? 5. Какие существуют варианты декомпозиции? 6. Что такое подсистема? Тема 15. Интеграция различных информационных систем, параллельные архитектуры План лекции 1. Способы интеграции информационных систем 2. Стандарт CORBA 3. Microsoft DCOM/COM+ 4. Enterprise JavaBeans Вопрос 1. Способы интеграции информационных систем По степени обособленности взаимосвязей подсистем в интегрируемой системе (иначе по структуре интеграции) различают варианты:  "точка - точка"  "звезда" (интегрирующая среда). В зависимости от объема и глубины перестройки интегрируемой информационной системы различают интеграцию:  инфраструктуры,  данных,  приложений,  процессов. «Точка - точка» В варианте "точка-точка" взаимодействие подсистем осуществляется по схеме полного графа, т.е. для каждой пары взаимодействующих подсистем создается специфическая для них интерфейсная связь, например, в виде конверторов данных с языка одной подсистемы на язык другой. Поскольку число таких дуплексных связей может доходить до N(N-1)/2, где N число подсистем, то вариант "точка-точка" оказывается приемлемым только для малых N. «Звезда» В варианте "звезда" число связей уменьшается до N, интеграция осуществляется на основе общего для подсистем языка и/или программного обеспечения, являющегося промежуточной интегрирующей средой (метасредой). Интегрирующая среда выполняет сценарии транзакций, функции взаимодействия приложений, протоколирование и мониторинг состояния, обмен сообщениями между подсистемами, алгоритмы маршрутизации и доставки сообщений и др. Консорциумом Object Management Group (OMG) была разработана спецификация OMA - Object Management Architecture (Архитектура Управления Объектом). Ее ключевыми составляющими являются:  CORBA (Common Objects Request Broker Architecture - общая архитектура объектных запросов)  Object Services (Объектные сервисы)  Common Facilities (универсальные средства)  Application Objects (Объекты Приложений) Вопрос 2. Стандарт CORBA CORBA - это промышленный стандарт на средства взаимодействия в неоднородных вычислительных средах. Центральным звеном данной архитектуры является программа-брокер ORB, которая помогает формировать запросы на доступ к объектам, т. е. служит посредником (брокером) между клиентом и сервером. Каждый объект CORBA снабжается интерфейсом, определенным на языке описания интерфейса IDL (Interface Definition Language). В основе его лежит простая объектная модель. Для удовлетворения потребности обеспечение взаимодействия брокеров ORB разных производителей консорциум OMG в 2-й версии CORBA определил спецификацию протокола Internet InterORB Protocol (IIOP), который должен использоваться брокерами ORB для поддержания взаимодействия в сети Internet. Сервисы CORBA:  Сервис именования (Naming Service)  Сервис жизненного цикла (Life Cycle Service)  Сервис событий (Event Service)  Сервис защиты (Security Service)  Сервис транзакций (Transaction Service) Ограничения и границы:  Ограничения, связанные с унаследованным ПО  Границы ОС  Границы объектной модели  Границы сети  Ограничения языка программирования  Административные границы  Границы методологии  Ограничения производителя Вопрос 3.Microsoft DCOM/COM+ Модель распределенных объектов DCOM (Distributed Component Object Model) - это объектное связующее ПО, предложенное корпорацией Microsoft. Оно было разработано на основе созданных ранее и весьма популярных технологий этой компании - OLE (Object Linking and Embedding), COM и ActiveX. Объект DCOM предоставляет сервис посредством одного или нескольких отличающихся друг от друга интерфейсов. Он может использовать все свои интерфейсы самостоятельно, а может прибегнуть к так называемому методу агрегирования и передать один или несколько интерфейсов в распоряжение других объектов DCOM. Вопрос 4. Enterprise JavaBeans Для компонентов EJB требуется сервер приложений, поддерживающий Java, а все обращающиеся к EJB приложения ранее должны были быть написаны на Java. Однако компания Sun и группа OMG объединили свои усилия для разработки альтернативного решения. Уже существует способ отображения интерфейсов OMG IDL на EJB IDL, в результате языки, поддерживающие CORBA, получат доступ к EJB, как если бы это был объект CORBA. Хотя EJB обеспечивает межплатформенное взаимодействие масштабируемость, вы ограничены единственным языком реализации - Java. и EJB позволяет Java-программистам разрабатывать распределенные объекты, не вникая в тонкости технологий CORBA или COM+. Вопросы для самопроверки 1. Какие способы интеграции ИС вы знаете? 2. Что такое спецификация OMA? 3. Что такое CORBA? 4. Что такое модель распределенных объектов DCOM? Тема 16. Интеграция различных информационных систем, параллельные архитектуры План лекции 1. Интерфейсы и протоколы обмена данными 2. Архитектуры масштабируемых информационных систем 3. Параллельные системы Вопрос 1. Интерфейсы и протоколы обмена данными Протоколы - это правила и технические процедуры, позволяющие нескольким компьютерам при объединении в сеть общаться друг с другом. Компьютер-отправитель в соответствии с протоколом выполняет следующие действия:  разбивает данные на небольшие блоки, называемые пакетами, с которыми может работать протокол;  добавляет к пакетам адресную информацию, чтобы компьютер-получатель мог определить, что эти данные предназначены именно ему;  подготавливает данные к передаче через плату сетевого адаптера и далее - по сетевому кабелю. Компьютер-получатель в соответствии с протоколом выполняет те же действия, только в обратном порядке Стек протоколов (protocol stack) – это комбинация протоколов. Коммуникационные задачи, которые возложены на сеть, приводят к разделению протоколов на три типа:  прикладной;  транспортный;  сетевой. Стандартные стеки № 7 6 Уровень Уровень SNA Digital DECnet Прикладной Сервис транзакций Прикладной Уровень Представительный представления сервис ISO/OSI Сетевые приложения TCP/IP 4. Прикладной Контроль потока 5 Сеансовый 4 Транспортный Контроль передачи 3 Сетевой Контроль маршрута Маршрутизационный 2 Канальный Контроль канала Канальный 1 Физический Физический контроль Физический канал данных Контроль сессии Коммуникации “конец связи” 3. Транспортный 2. Межсетевое взаимодействие 1.Сетевые интерфейсы Прикладные протоколы: АРРС, FTAM, X.400, Х.500, SMTP, FTP, SNMP, Telnet, SMBs, NCP, Apple Talk и Apple Share, AFP. Транспортные протоколы: TCP, SPX©, NetBEUI, АТР, NBP. Сетевые протоколы: IP, IPX, NetBEUI, DDP. Вопрос 2. Архитектуры масштабируемых информационных систем Масштабируемость - способность информационной системы адаптироваться к резкому изменению показателей задач и повышению требований. Способы масштабирования:  горизонтальное (увеличивается число серверов);  вертикальное (увеличение мощности отдельного сервера). Сеть P2P Одноранговая (пиринговая) сеть – это компьютерная сеть, основанная на равноправии участников. Часто в такой сети отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и выполняет функции сервера. Каждая отдельная группа участников сети считается хорошо соединенной, если соблюдено хотя бы какое-то одно из следующих условий:  между каждой парой равноправных участников существует путь соединения, позволяющий каждому участнику подключаться к другому равноправному участнику требуемым образом;  между каждой парой равноправных участников существует относительно небольшое количество соединений, по которым они могут связываться;  удаление одного равноправного участника из группы не лишает остальных равноправных участников возможности взаимодействия друг с другом. Решения P2P  приложения, предназначенные для распространения содержимого;  приложения, предназначенные для совместной работы;  приложения, предназначенные для обеспечения многопользовательской связи;  приложения, предназначенные для распределения обработки;  приложения Web 2.0, объединяющие в себе некоторые или все перечисленные выше приложения и превращающие их в динамические вебприложения следующего поколения. Вопрос 3. Параллельная система Параллельная система загружает процессор вычислительной работой в моменты ввода/вывода, в связи с чем удается повысить производительность системы в целом. К параллельным задачам можно отнести задачи, в которых:  необходимо одновременно выполнять две или более операций;  результаты каждой операции автономны, т.е. не зависят от результатов других операций;  критично время выполнение программы и имеют место многочисленные операции ввода/вывода;  требуется высокая интерактивность или минимальное время отклика программы. Сложность разработки параллельных систем состоит в том, что необходимо выполнять дополнительные действия, связанные с:  Применением средств межобъектного взаимодействия с помощью сообщений или сигналов;  синхронизацией одновременно исполняющихся объектов;  отладочным протоколированием одновременно исполняющихся объектов;  одновременной отладкой параллельных программ. Отсутствие накладных расходов состоит в том, что системные ресурсы, требуемые на осуществление параллельности не задействуются. Вопросы для самопроверки 1. Что такое протоколы? 2. Что такое стек протоколов? 3. Какие бывают стандартные стеки? 4. Что такое масштабируемость? 5. Какие бывают способы масштабирования? 6. Что такое одноранговая сеть? 7. Что такое параллельная система? Тема 17. Архитектуры существующих проектов информационных систем План лекции 1. Facebook 2. ВКонтакте 3. Одноклассники 4. Блог 5. Службы обмена сообщениями Вопрос 1. Facebook  Операционная система - Linux;  основной язык программирования - PHP + надстройка;  агрессивное кэширование объектов - memcached;  хранилище данных в виде пар "ключ-значение" - MySQL;  универсальная система сбора и агрегации данных с рабочих серверов - Scribe. Особенности проекта:  Собственный проект HipHop - это трансформатор исходного кода из PHP в оптимизированный C++.  Memcached - высокопроизводительная распределенная хэш-таблица.  Thrift - механизм построения приложений с использованием нескольких языков программирования.  Собственный сервис хранения фотографий Haystack  Более пятидесяти дополнительных сервисов, таких как SMC, ODS, Gatekeeper и др.  Компанией были опубликованы свои проекты: Thrift, Scribe, Tornado, Cassandra, Varnish, Hive, xhprof.  сделаны доработки для PHP, MySQL, memcached. Вопрос 2.ВКонтакте  Debian Linux — основная операционная система  nginx — балансировка нагрузки  PHP + XCache  Apache + mod_php  memcached  MySQL  Собственная СУБД на C  node.js - прослойка для реализации протокола XMPP, живет за HAProxy (haproxy.1wt.eu)  xfs - файловая система для хранения изображений и отдачи пользователю  ffmpeg - конвертирование видео Особенности проекта:  Вычислительные мощности серверов используются менее, чем на 20%.  Самостоятельно написанный софт (Собственная СУБД, Мониторинг с уведомлением по СМС, Автоматическая система тестирования кода, Анализаторы статистики и логов).  Фотографии хранятся на жестких дисках.  1000—1500 серверов используется для перекодирования и хранения видео.  Собственная реализация XMPP протокола.  Интеграция со внешними ресурсами Вопрос 3.Одноклассники  Windows и openSUSE - основные операционные системы  Java - основной язык программирования  С/С++ - для некоторых модулей  GWT - реализация динамического веб-интерфейса  Apache Tomcat - сервера приложений  JBoss 4 - сервера бизнес-логики  LVS и IPVS - балансировка нагрузки  MS SQL 2005 и 2008 - основная СУБД  BerkleyDB - дополнительная СУБД  Apache Lucene - индексация и поиск текстовой информации Особенности проекта:  Код проекта в целом написан на Java, но есть исключения в виде модулей для кэширования на C и C++.  Используется собственный фреймворк.  Страницы состоят из независимых блоков.  При загрузке страницы скачиваются только те ресурсы, которые на самом деле необходимы для начала работы.  При общении серверов между собой используется свое решение, основанное на JBoss Remoting.  Для кэширования данных используется самописный модуль odnoklassnikicache.  Суммарный объем данных без резервирования составляет 160Тб.  Используются два решения для хранения данных: MS SQL и BerkeleyDB.  Сервера с MS SQL объединены в failover кластера, при выходе из строя одного из серверов, находящийся в режиме ожидания сервер берет на себя его функции.  Используются как вертикальное, так и горизонтальное разбиение данных.  Используется C реализация BerkleyDB. Для работы с BerkleydDB используется своя библиотека. Помимо прочего, BerkleyDB используется и в роли очереди заданий.  Для агрегации статистики используется собственная библиотека, основанная на log4j.  Управление сервисами происходит через самописную централизованную систему конфигурации.  Система мониторинга сервисов также самописная. Вопрос 4.Блог Блог - это сайт, работающий на специальном ПО, автоматизирующем размещение постов (записей). Цель блогов - оперативная доставка актуальной информации Особенности организации:  Записи расположены в обратном хронологическом порядке;  К записям можно оставлять комментарии;  Записи можно организовывать с помощью тегов;  Публикация в блоге полностью автоматизирована;  Блогер не обязан быть web-разработчиком, он может даже не знать HTML;  Для ведения блога не требуется проектировать его структуру, и определять место каждой публикации в этой структуре; Вопрос 5.Службы обмена сообщениями Службы обмена сообщений:  в режиме оффлайн (почтовые системы E-mail);  в режиме онлайн (Internet Relay Chat и Instant Messaging Service). Службы обмена сообщений в режиме оффлайн:  осуществляется за счет взаимодействие двух программ – почтового сервера и почтового клиента.  можно использовать как почтовые клиенты, так и почтовые веб – интерфейсы, которые располагаются на почтовых веб - серверах. Службы обмена сообщений в режиме онлайн:  Служба IRC (Internet Relay Chat или Чат) – можно использовать как IRCклиенты, так и Web-чаты  Служба IMS (Instant Messaging Service) – имеют отдельный сервер, к которому подключаются мессенджеры, и свои протоколы взаимодействия. В основном в каждой из таких сетей применяется свой мессенджер. XMPP  открытый протокол Jabber или XMPP, используемый во многих мессенджерах (Miranda IM и другие).  Jabber является децентрализованной, расширяемой и открытой системой. Функции мессенджеров:  чат (видеочат, текстовый и голосовой);  VoIP сервисы: звонки на компьютер и телефоны;  возможность отправки SMS;  передача файлов;  инструменты для совместной работы в режиме реального времени;  возможность общаться в чате непосредственно на веб-странице;  напоминания и оповещения;  хранение истории общения по каждому контакту;  индикация о сетевом статусе пользователей (в сети, нет на месте и т.д.), занесенных в список контактов Вопросы для самопроверки 1. В чем заключаются особенности проекта Facebook? 2. В чем заключаются особенности проекта ВКонтакте? 3. В чем заключаются особенности проекта Одноклассники? 4. В чем заключаются особенности организации Блог? 5. Какие службы обмена сообщениями вы знаете?
«Архитектура информационных систем» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Тебе могут подойти лекции

Автор(ы) Беленькая М.Н., Григорьев И., Кукушкин И.
Автор(ы) Беленькая М.Н., Григорьев И., Кукушкин И.
Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot