- •Вопросы по дисциплине «Программное обеспечение автоматизированных информационных систем»
- •Понятие аис. Структура и классификация аис
- •Жизненный цикл аис
- •1. Анализ первичных требований и планирование работ
- •2. Проведение обследования деятельности предприятия
- •3. Построение моделей деятельности предприятия
- •4. Разработка системного проекта
- •5. Разработка предложений по автоматизации предприятия
- •6. Разработка технического проекта
- •7. Разработка и тестирование
- •8. Внедрение
- •9. Эксплуатация и сопровождение
- •Языки проектирования аис
- •Системы с разделенным временем
- •Системы модели «терминал-хост»
- •Системы модели «клиент-сервер»
- •Базовые сетевые топологии
- •Надёжность и отказоустойчивость аис
- •Показатели качества аис
- •Организация межсетевого взаимодействия
- •Программное обеспечение лвс
- •Программное обеспечение www: программы-клиенты
- •Программное обеспечение www: программы-серверы
- •Программное обеспечение www: поисковые машины, программы анализа статистики посещений
- •Системы администрирования автоматизированных информационных систем
- •Серверное программное обеспечение. Сетевые операционные системы
- •Файловые серверы
- •Серверы приложений
- •Серверы безопасности (брандмауэры, прокси - серверы)
- •Программное обеспечение на основе архитектуры файл-сервер
- •Программное обеспечение на основе архитектуры клиент-сервер
- •Программное обеспечение на основе многозвенной архитектуры
- •Клиентское программное обеспечение. Особенности установки и удаления.
- •Особенности работы клиентской части в информационных системах разных архитектурных платформ.
- •Приемы управления, решения конфликтов программного обеспечения
- •Технология SaaS, HaaS
- •Технология IaaS. Понятия облачной архитектуры и виртуализации
- •Iaas: ключевые особенности
- •1. Широкое использование технологий виртуализации
- •2. Единая система управления
- •3. Доступность хорошо проработанной архитектуры и лучших фреймворков
- •Iaas сервисы для повышения производительности и экономичности
- •1. Объединение, агрегация и концентрация компонентов.
- •2. Кластеризация компьютеров и распределенные вычисления (grid computing).
- •3. Разделение ресурсов (partitioning).
- •4. Инкапсуляция.
-
Программное обеспечение на основе многозвенной архитектуры
Многозвенная (multitiered) архитектура
В случае большого числа пользователей возникают проблемы своевременной и синхронной замены версий клиентских приложений на рабочих станциях. Такие проблемы решаются в рамках многозвенной архитектуры. Часть общих приложений переносится на специально выделенный сервер приложений. Тем самым понижаются требования к ресурсам рабочих станций, которые будут называться «тонкими» клиентами. Данный способ организации вычислительного процесса является разновидностью архитектуры клиент-сервер.
Использование многозвенной архитектуры может быть рекомендовано также в случае, если некоторая программа требует для своей работы много ресурсов, то может оказаться дешевле построить тонкую сеть с одним очень мощным сервером, чем использовать несколько мощных клиентных рабочих станций. Особенно это имеет значение, если данной программой пользуются не постоянно, а время от времени.
Разумное сочетание производительности сервера приложений и производительности рабочих станций позволят построить сеть, более дешёвую при установке и эксплуатации Основной проблемой систем, основанных на двухзвенной архитектуре "клиент-сервер", или тем более на многозвенной архитектуре, является то, что от них требуется мобильность в как можно более широком классе аппаратно-программных сред. Даже если ограничиться UNIX- ориентированными локальными сетями, в разных сетях применяется разная аппаратура и протоколы связи. Попытки создания систем, поддерживающих все возможные протоколы, приводит к их перегрузке сетевыми деталями в ущерб функциональности. Еще более сложный аспект этой проблемы связан с возможностью использования разных представлений данных в разных узлах неоднородной локальной сети. В разных компьютерах может существовать различная адресация, представление чисел, кодировка символов и т.д. Это особенно существенно для серверов высокого уровня: телекоммуникационных, вычислительных, баз данных.
Общим решением проблемы мобильности систем является использование технологий, реализующие протоколы удаленного вызова процедур (RPC - Remote Procedure Call) стандартизованным и платформонезависимым способом. При использовании таких технологий обращение к сервису в удаленном узле выглядит как обычный вызов процедуры (методов удаленных объектов). Средства RPC,в которых, естественно, содержится вся информация о специфике аппаратуры локальной сети и сетевых протоколов, переводит вызов в последовательность сетевых взаимодействий. Тем самым, специфика сетевой среды и протоколов скрыта от прикладного программиста.
При вызове удаленной процедуры, программы RPC производят преобразование форматов данных клиента в промежуточные машинно-независимые форматы, и затем преобразование в форматы данных сервера. При передаче ответных параметров производятся обратные преобразования. Таким образом, если система реализована на основе стандартного пакета RPC,она может быть легко перенесена в любую открытую среду.
Delphi XE
Одной из наиболее мощных возможностей технологии Delphi поколения 2009, 2010, XE является фреймворк DataSnap. Это не просто технология построения многозвенных приложений, а целый комплекс средств для построения систем с развитой архитектурой. Разнообразие реализаций сервера приложений при единой структуре программного кода и основных серверных классов, использование протокола http и туннелирования, передача объектов посредством JSON-нотации – всё это существенным образом упрощает методологию разработки многозвенных систем. Более того, универсальность и качество компонентного состава в основе DataSnap позволяет разработчику применять развитые подходы, такие как балансировка нагрузки и преодоление отказов.
Enterprise JavaBeans
Enterprise JavaBeans-спецификация, созданная отделением JavaSoft корпорации Sun Microsystems, определяет интерфейс прикладного программирования (API), который призван упростить разработку, развертывание и управление многозвенными, кросс-платформенными распределенными объектными приложениями. Используя Enterprise JavaBeans API, разработчики могут сконцентрироваться на написании бизнес-логики для серверов среднего звена и уделять меньше времени кодированию и тестированию в аспектах инфраструктуры распределенного приложения. Так как каждый компонент Enterprise JavaBeans инкапсулирует важную бизнес-функцию, разработчику не обязательно знать, как писать специализированные программы системного уровня, которые регулируют функции типа безопасности и управления путем многочисленных транзакций - обычно трудоемкие и сложные задачи.
Однако EJB - это просто модель. Критические решения реализации оставлены поставщикам, которые предоставляют EJB-решение. ИТ-отделам необходима EJB-реализация, удовлетворяющая требованиям приложений промышленного класса. Это решение должно:
-
Использовать стандартные протоколы
-
Интегрироваться с известными IDE
-
Поддерживать транзакции в распределенной среде
-
Позволять взаимодействие с различными клиентами
-
Обеспечивать безопасность, отказоустойчивость и масштабируемость
Продукт, который объединяет все эти качества, лучше всего охарактеризован термином сервер приложения ( application server). Application Server обеспечивает основанное на стандартах решение, которое использует мощные Enterprise-продукты типа VisiBroker: VisiBroker ORB, VisiBroker ITS и VisiBroker Naming Service.