- •Содержание
- •1. Общее представление об корпоративной информационной системе
- •2. Общая классификация архитектур информационных приложений
- •3. Средства и методологии проектирования, разработки и сопровождения файл-серверных приложений
- •4. Средства и методологии проектирования, разработки и сопровождения клиент-серверных приложений
- •5. Средства и методологии проектирования, разработки и сопровождения Intranet-приложений
- •6. Информационные приложения, основанные на использовании "складов данных" (DataWarehousing)
- •7. Глобально распределенные кис
- •Введение
- •1. Общее представление об информационной системе
- •1.1. Специфика информационных программных систем
- •1.2. Этапы развития кис
- •1.3. Задачи информационных систем
- •1.4. Проблемы построения кис
- •1.5. Требования к техническим средствам, поддерживающим кис
- •2. Общая классификация архитектур информационных приложений
- •2.1. Файл-серверные приложения
- •2.2. Клиент-серверные приложения
- •2.3. Intranet-приложения
- •2.4. Склады данных (DataWarehousing) и системы оперативной аналитической обработки данных
- •2.5. Интегрированные распределенные приложения
- •3. Средства и методологии проектирования, разработки и сопровождения файл-серверных приложений
- •3.1. Традиционные средства и методологии разработки
- •3.1.1. Системы программирования и библиотеки
- •3.1.2. Средства и методы разработки приложений на основе субд на персональных компьютерах
- •3.2. Новые средства разработки файл-серверных приложений
- •3.2.1. Общая характеристика современных средств
- •3.2.2. Примеры новых подходов
- •3.2.2.1. Пакет ms Access
- •3.2.2.2. Система Visual FoxPro
- •3.2.2.3. Среда программирования ca-Visual Objects
- •3.3. Перенос файл-серверных приложений в среду клиент-сервер
- •3.3.1. Библиотеки доступа к базам данных
- •3.3.2. Протокол odbc и его реализации
- •3.3.3. Укрупнение приложений (Upsigsing)
- •3.4. Рекомендации по использованию инструментальных средств разработки файл-серверных приложений
- •4. Средства и методологии проектирования, разработки и сопровождения клиент-серверных приложений
- •4.1. Базовые средства построения ис в архитектуре "клиент-сервер"
- •4.1.1. Вызовы удаленных процедур
- •4.1.1.1. Протокол rpc и его реализации
- •4.1.1.2. Протокол xdr
- •4.1.2. Стек протоколов tcp/ip как основа rpc
- •Семейство протоколов tcp/ip
- •4.2. Серверы баз данных как базовая системная поддержка информационной системы в архитектуре "клиент-сервер"
- •4.2.1. Понятие сервера баз данных
- •4.2.2. Базовая архитектура сервера баз данных
- •4.2.2.1. Непосредственное управление данными во внешней памяти
- •4.2.2.2. Управление буферами оперативной памяти
- •4.2.2.3. Управление транзакциями
- •4.2.2.4. Журнализация
- •4.2.2.5. Языки бд
- •4.2.3. Основные производители серверов баз данных и характеристика их продуктов
- •4.2.3.1. История и серверные продукты компании Oracle
- •4.2.3.2. История и серверные продукты компании Informix
- •4.2.3.3. Серверные продукты компании Sybase
- •4.2.3.4. Линия серверных продуктов ca-OpenIngres компании Computer Associates
- •4.2.3.5. Серверные продукты линии db2 компании ibm
- •5. Средства и методологии проектирования, разработки и сопровождения Intranet-приложений
- •5.1. Основные понятия Intranet
- •5.2. Языки и протоколы
- •5.2.1. Html
- •5.2.2. Http
- •5.2.2.1. Форма запроса клиента
- •5.2.2.2. Методы доступа
- •5.2.2.3. Ответ сервера
- •5.2.2.4. Защита сервера от несанкционированного доступа
- •5.3. Серверы Intranet
- •5.3.1.1. Типы информационных ресурсов
- •5.3.1.2. Протокол ftp
- •5.3.1.3. Сервер протокола - программа ftpd
- •5.3.2.1. Структура базы данных сервера www
- •5.3.3. Поисковые серверы
- •5.3.3.1. Архитектура современных информационно-поисковых систем World Wide Web
- •5.3.3.2. Информационные ресурсы и их представление в информационно-поисковой системе
- •5.4. Язык программирования Java
- •5.4.1. Мобильность Java
- •5.4.2. Безопасность, Java и Intranet
- •5.4.3. Миграция от средства программирования интерфейсов электронных устройств
- •5.5. Возможные архитектуры Intranet-приложений
- •5.5.1. Решения, ориентированные на клиентскую часть системы
- •5.5.2. Трехзвенные архитектуры (Web-ориентированные)
- •5.5.3. Решения, основанные на использовании языка Java
- •6. Информационные приложения, основанные на использовании "складов данных" (DataWarehousing)
- •6.1. Проблема интеграции данных
- •6.2. Подходы и имеющиеся решения
- •6.2.1. Компания ibm
- •6.2.2. Oracle
- •6.2.3. Hewlett Packard
- •6.2.4. Sybase
- •6.2.5. Informix Software
- •6.2.7. Sas Institute
- •6.2.8. Software ag
- •7. Глобально распределенные кис
- •7.1. Проблема "унаследованных систем" (Legacy Systems)
- •7.2. Объектный подход
- •7.3. Предложения omg и odmg
- •7.4. Промышленный стандарт corba
4.1.1.2. Протокол xdr
Независимость от конкретного машинного представления данных обеспечивается отдельно специфицированным протоколом XDR (External Data Representation - внешнее представление данных). Этот протокол определяет стандартный способ представления данных, скрывающий такие машинно-зависимые свойства как порядок байтов в слове, требования к выравниванию начального адреса структуры, представление стандартных типов данных и т.д. По существу, XDR реализуется как независимый пакет, который используется не только в RPC, но и в других продуктах (например, в NFS).
4.1.2. Стек протоколов tcp/ip как основа rpc
TCP/IP (Transmission Control Protocol/Internet Protocol) представляет собой семейство протоколов, основным назначением которых является обеспечение возможности полезного сосуществования компьютерных сетей, основанных на разных технологиях. В 1969г. Агентство перспективных исследовательских проектов министерства обороны США (DARPA - Department of Defense Advanced Research Project Agency) поддержало и финансировало проект, посвященный поиску общей основы связи сетей с разной технологией. В результате выполнения этого проекта была образована единая виртуальная сеть, получившая название Internet.
В Internet для связи независимых сетей (или доменов) используется набор шлюзов. Каждый индивидуальный узел сети (Host) идентифицируется уникальным адресом, называемым адресом в Internet.
Для разрешения проблемы различий в форматах кадров, используемых в разных сетях, был определен универсальный формат пакета данных, называемого IP-дейтаграммой (Internet Protocol Datagram), состоящего из заголовка и порции данных и поэтому похожего на обычный сетевой кадр. Однако порция данных IP-дейтаграммы сама содержится внутри сетевого кадра, т.е. IP-дейтаграмма погружается в сетевой кадр конкретного формата и поэтому может передаваться в разных сетях, входящих в Internet. Все узлы, шлюзы и сети Internet должны быть в состоянии понимать IP-дейтаграммы.
Узлы, взаимодействующие в Internet, не устанавливают между собой физические соединения для целей индивидуального взаимодействия. Поэтому дейтаграммы не обрабатываются в каком-либо конкретном порядке. Напротив, каждая дейтаграмма обрабатывается независимо от других, что позволяет эффективно разделять ресурсы для всего множества (логически) связанных узлов. Но это, к сожалению, означает, что сервис, предоставляемый Internet, не является надежным, поскольку не гарантирует доставку пакетов в нужном порядке, отсутствие потерь дейтаграмм или отсутствие их дублирования.
Эту проблему решает протокол TCP (Transmission Control Protocol), обеспечивающий надежную доставку сообщений за счет подтверждений доставки дейтаграмм и их повторной передачи в случае надобности. Если узел, посылающий дейтаграмму, не получает подтверждение о ее доставке в течение установленного промежутка времени, то считается, что дейтаграмма не доставлена, и она посылается повторно.
Полное семейство протоколов, основанных на использовании IP-дейтаграмм, называется TCP/IP. Наиболее важными и базисными протоколами этого семейства (или стека, как его часто называют) являются кратко описанные выше протоколы IP и TCP. Мы не будем описывать остальные протоколы семейства TCP/IP. Для определенности все они перечислены в таблице 4.1. Большая часть коммуникационных средств ОС UNIX основывается на использовании протоколов стека TCP/IP.
Таблица 4.1.