скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыДипломная работа: Автоматизированная система управления документооборотом центральной заводской лаборатории. Подсистема регистрации и сопровождения заказов на испытания

1.2.3.2 Балансировка загрузки и надежность системы

Динамическая распределенная инфраструктура позволяет распределенному приложению динамически реконфигурироваться для того, чтобы приспособиться к увеличившемуся количеству пользователей, изменившейся загрузке процессора или при внезапно случившемся сбое. Это может происходить абсолютно незаметно для пользователя. Именно физическое разделение системы на модули является наиболее эффективным средством для поддержки масштабируемости, надежности системы. По мере подключения дополнительных пользователей, при превышении допустимого уровня использования процессора, при исчерпании физической памяти или при наступлении какого-либо другого критерия серверный модуль может переключиться на альтернативную серверную машину или разместить нагрузку на нескольких дополнительных машинах. Модуль балансировки может быть использован для того, чтобы повысить надежность системы в целом. Это достигается автоматическим переключением на работающую серверную машину в случае возникновения какой-либо неисправности. Это означает, что распределенная инфраструктура, позволяющая приложению быть разделяемым, безопасным, надежным, масштабируемым и управляемым, является самой важной составляющей корпоративной информационной системы.

1.2.3.3 Служба каталогов

Служба каталогов организует доступ к динамическому списку ресурсов всего предприятия. Когда пользователь или клиентское приложение формирует запрос, служба каталогов обрабатывает его и сообщает клиенту, каким образом взаимодействовать с соответствующим ресурсом. Для того, чтобы объект можно было найти в системе, тот должен быть зарегистрирован, как DCOM‑объект. При этом это дает требуемую гибкость, характерную для трехзвенных систем – мы просто указываем объект, и – в соответствии с каталогом представляется тот компьютер, на котором будет исполняться код. В результате такой гибкости становится возможной и балансировка загрузки – можно предоставить тот компьютер, который в данный момент меньше всего загружен работой.

1.2.3.4 Сервис безопасности

Сервис безопасности устанавливает реестр авторизированных пользователей и групп пользователей всего предприятия и регулирует, какие ресурсы всей системы допустимо использовать для каждого пользователя. Сервис безопасности предоставляет единственный пароль для пользователя для всех доступных ресурсов предприятия. Если пользователь был аутентифицирован при входе в систему, все подсистемы воспринимают его аутентифицированным и не требуют повторного введения пароля при перемещении от подсистемы к подсистеме.

1.2.3.5 Служба управления приложениями

Служба управления приложениями предоставляет средство динамической реконфигурации приложений. Эта служба отвечает за запуск приложений на соответствующей машине и их последующий мониторинг. Если с приложением что-нибудь случилось в процессе эксплуатации, служба управления приложениями должна рестартовать приложение или произвести некую последовательность действий в зависимости от того, что было предписано при конфигурации системы.

1.2.3.6 Интерфейс приложений

Для того чтобы трехзвенная инфраструктура заработала, недостаточно создать набор распределенных приложений, которые могут запускаться и уничтожаться под управлением сервера приложений. Кроме этого, необходимо, чтобы разные слои трехзвенной архитектуры могли взаимодействовать между собой.

Как правило, ключевая идея такого взаимодействия заключается в том, что базовый программный продукт предоставляет централизованный или распределенный репозиторий интерфейсов всех модулей системы. При введении модуля в систему такой интерфейс регистрируется в репозитории-хранилище, после чего различные модули, чьи интерфейсы совместимы между собой, могут подключаться друг к другу и взаимодействовать между собой, в каком бы месте сети они не находились.

Для того чтобы разработчик мог использовать программные инструменты от различных производителей (например, Java, C++, Delphi и т.п.) для определения интерфейсов распределенных объектов применяется специальный язык определения интерфейсов IDL. Для разных стандартов (CORBA, DCOM, DCE) этот язык несколько отличается, но главный его смысл – он нужен для однозначного определения интерфейса взаимодействия модулей между собой.

1.2.3.7 Гранулированность информационной системы

За высокую гранулированность в системе приходится платить производительностью (динамическое связывание объектов требует затрат процессорного времени), а если система разбита на слишком крупные гранулы, уменьшается степень повторного использования кода, что нежелательно. CORBA, DCOM, DCE подталкивают разработчика к разбиению системы на мелкие гранулы (или объекты, что более правильный термин). Приложения серверного слоя также могут дополнительно разбиваться на гранулы-объекты, статически связываемые в период проектирования (компилирование приложения). Как правило, продукт от каждого производителя ориентирован на соответствующую архитектуру объектов (CORBA, DCOM, DCE), так Entera ориентирована на DCE, MIDAS – на DCOM, ORBIX – на CORBA.

Объектные трехзвенные архитектуры DCE, CORBA, DCOM предлагают реально действующие стандарты для построения трехзвенных приложений. Существующие серверы приложений, которые не поддерживают этих архитектур, предлагают свои внутренние механизмы для построения трехзвенной архитектуры. Перед тем, как выбрать, в какой архитектуре строить свою информационную систему, корпоративный разработчик обязан ясно представлять себе, какую цену он заплатит за соответствие архитектуре, то есть необходимо хорошо представлять себе не только плюсы соответствующей архитектуры, но и ее минусы.

1.2.3.8 Минусы трехзвенных архитектур

Трехзвенные архитектуры обладают рядом преимуществ. Это гибкость, масштабируемость, многоплатформенность, распределенность технологий, управляемость, сочетаемость технологий, безопасность данных, доступность, надежность. Но также они имеют и ряд недостатков:

– непроработанность архитектуры;

- тяжелые в реальности решения;

- несоответствие с уже имеющимися технологиями;

- неустойчивость версий стандартов, а, следовательно, потенциальная несовместимость;

- недоразвитость инструментов (неудобство, ошибки);

- неоправданная дороговизна средств (или обучения специалистов, или высокая цена администрирования).

Рассмотрим два основных вида объектных архитектур DCE и DCOM. DCE – это распределенная архитектура появившаяся раньше DCOM.

Исходная UNIX-ориентированность технологии DCE, ее некоторая громоздкость, ее ориентированность только на язык С, отсутствие системы управления приложениями – это очевидные минусы.

С другой стороны – надежность, поддержка архитектуры многими производителями, надежный сервис безопасности, масштабируемость и ориентация архитектуры для работы с тысячами пользователей, использующих сотни источников данных – это плюсы. Расширяемость DCE доказывает и то, что при помощи хорошо устроенных продуктов можно скомпенсировать недостатки архитектуры, достроив в рамках архитектуры недостающие механизмы.

DCOM – закрытая архитектура с закрытым протоколом. Может использоваться только в рамках данной реализации, соотношения между объектными сервисами обладают очевидными недостатками. Производителем DCOM является компания Microsoft.

Но недостатки архитектуры так же, как и в случае DCE, можно исправить удачно сделанными продуктами. Inprise MIDAS вносит необходимую гибкость в архитектуру, снабжая ее необходимым инструментарием и утилитами.

1.2.3.9 Тонкие и толстые клиенты

В системе, построенной на основе трехзвенной архитектуры, клиентское приложение часто называют тонким клиентом. Имеется в виду то, что клиентское приложение трехзвенной архитектуры освобождено от кода обращения к данным, и поэтому гораздо тоньше по объему.

Тонким клиентом называют также и стандартные internet‑клиенты, которые в интрасетях действительно занимаются только отображением / представлением данных, хотя и не являются объектами, соответствующими архитектурам DCE, CORBA, DCOM. Эти два типа клиентов различаются не столько по объему кода, сколько по способу их применения в течение жизни информационной системы. Трехзвенная архитектура предназначена для того, чтобы внести расширяемость и масштабируемость в информационные системы. Системы, которым нужны эти качества, никогда не бывают полностью завершены, и в течение жизненного цикла всегда подвергаются изменениям. Тонкие клиенты первого типа также подвергаются изменениям с изменениями системы и, должны время от времени заменяться новыми, более модифицированными версиями. Тонкие клиенты второго типа (ультратонкие) могут не заменяться в течение жизненного цикла системы, поэтому обслуживание интранет-системы несравненно проще трехзвенной системы, построенной без применения стандартных тонких клиентов. В принципе, никакого противоречия тут нет, и можно было бы построить ультратонкого клиента и для DCE, CORBA, DCOM.

Первоначально может показаться, что ультратонкий клиент не может быть достаточно функциональным по сравнению с просто тонким. Действительно, ультратонкий клиент не меняется в течение своей жизни, однако способен интерпретировать скрипты, получаемые с сервера.

В том случае, если при установлении соединения (или в течение рабочего сеанса, что тоже возможно) приложение серверного слоя снабжает ультратонкого клиента правилами работы с бизнес-логикой, правилами отображения и манипулирования информацией, мы имеем дело с процессом доставки кода. В предельном случае готовое клиентское приложение, хранящееся на сервере, просто инсталлируется на клиентский компьютер. И это наиболее опасная ситуация, поскольку на клиентский компьютер может быть доставлено разрушительное приложение, снабженное вирусом или «троянским конем».

Следующий шаг по ужесточению контроля – это введение на клиента интерпретатора, который контролирует опасные ситуации. Например, на клиентский компьютер подгружается только описание формы – расположение кнопок, полей ввода и других контрольных элементов, что позволяет достичь компромисса между требованиями безопасности, функциональности презентационной логики и требованиями нулевого администрирования для ультратонкого клиента.

Движение в сторону достижения максимальной безопасности в пределе останавливается на варианте, когда клиентскими рабочими станциями являются терминалы либо X‑терминалы, а вся информация между сервером и терминалами курсирует с шифрованием трафика.

Удобство реализации ультратонкого клиента с подгружаемым со стороны сервера приложений скриптом или кодом может быть как удачным, так и неудачным в зависимости от реализации.

1.3 Анализ средств программирования

На сегодняшний момент существует большое количество языков программирования с различными возможностями и функционалом. В процессе обучения был изучен язык программирования С++, поэтому было принято решение вести разработку системы на С++ или родственном ему языке. Язык C++ – это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и
структуры данных, богатый набор операторов. Язык C++ не является ни языком «очень высокого уровня», ни «большим» языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные.

При этом возникает проблема, на какой разновидности остановится и в какой интегрированной среде разработки создавать программную часть ИС.

Проведем сравнительный анализ основных сред разработки на С++:


1.3.1 Borland C++ Builder

Borland C++ Builder – очень мощная интегрированная среда программирования. Вместо отдельного инструментария, оперирующего визуальными элементами управления, в C++ Builder интегрирована так называемая палитра компонент, разделенная картотечными вкладками на несколько функциональных групп. Функциональные возможности поставляемых компонент можно достаточно просто модифицировать, а также разрабатывать компоненты, обладающие совершенно новым поведением.

Система содержит библиотеку из более 100 визуальных компонент. Помимо известных элементов управления Windows (кнопки, линейки прокрутки, поля редактирования, простые и комбинированные списки и т.д.) библиотека содержит новые компоненты поддержки диалогов, обслуживания баз данных и многие другие.

Опытным C++ программистам нравится синтаксис и структура кода разрабатываемых на C++ Builder программ, хотя его графическое обрамление заметно отличается от традиционных оболочек систем разработки. C++ Builder поддерживает основные принципы объектно-ориентированного программирования – инкапсуляцию, полиморфизм и множественное  наследование, а также нововведенные спецификации и ключевые слова в стандарте языка.

1.3.2 Microsoft Visual C++

Microsoft Visual C++ – универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. Visual C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.

Ключевым понятием C++ является класс. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. C++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C.

1.3.3 Microsoft Visual Studio

Microsoft Visual Studio – это уже проверенный временем программный продукт. Выделим две важнейшие его идеи:

·           открытость для языков программирования;

·            принципиально новый подход к построению каркаса среды – Framework. Net.

Среда разработки теперь является открытой языковой средой. Это означает, что наряду с языками программирования, включенными фирмой Microsoft в среду могут добавляться любые языки программирования, компиляторы которых создаются другими фирмами-производителями. Таких расширений среды Visual Studio сделано уже достаточно много, практически они существуют для всех известных языков – Fortran и Cobol, RPG и Component Pascal, Oberon и SmallTalk.

Открытость среды не означает полной свободы. Главное ограничение, которое можно считать и главным достоинством, состоит в том, что все языки, включаемые в среду разработки Visual Studio. Net, должны использовать единый каркас – Framework. Net. Благодаря этому достигаются многие желательные свойства:

ü   легкость использования компонентов, разработанных на различных языках;

ü   возможность разработки нескольких частей одного приложения на разных языках;

ü   возможность бесшовной отладки такого приложения;

ü   возможность написать класс на одном языке, а его потомков – на других языках.

Существенно расширился набор возможных архитектурных типов построения приложений. Помимо традиционных Windows- и консольных приложений, появилась возможность построения Web‑приложений. Большое внимание уделяется возможности создания повторно используемых компонентов – разрешается строить библиотеки классов, библиотеки элементов управления и библиотеки Web‑элементов управления. Популярным архитектурным типом являются Web‑службы, ставшие сегодня

Страницы: 1, 2, 3, 4, 5, 6


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.