Диссертация (1091077), страница 8
Текст из файла (страница 8)
В информационнойсистеме, разработанной на базе компонентов, не требуется этого и поэтому онаможетмодифицироватьсянаходу.Сточкизренияцелостностии44взаимозаменяемости компонентов, компонент подобен элементу конструктора«LEGO» [80].Таким образом, компонент представляет простую программную модель,которая позволяет инкапсулировать целостную часть прикладной логики. Крометого, освобождает программиста/проектировщика от большинства рутинныхработ, уменьшая риск появления ошибки программирования/проектирования.Компонентный подход ориентирован на обеспечение рынка компонентов,который позволит собирать гибкие информационные системы любого назначенияпо аналогии с аппаратным обеспечением.На сегодняшний день одной из востребованных компонентных технологийявляется Enterprise JavaBeans.
Рассмотрим эту технологию, чтобы на её основепонять основные возможности компонентных технологий.2.3.2. Технология Enterprise JavaBeansПриложения, на основе EJB, являются масштабируемыми, способнымиодновременно обслуживать большое количество запросов и ориентированнымина транзакции, и которые могут функционировать на серверных платформах EJBразных производителей [80].Среда, окружающая компонент, находящийся на сервере, часто называетсяконтейнером. Контейнер больше является концепцией, чем какой-то физическойконструкцией. По существу, контейнер действует как посредник междукомпонентом и сервером.
Инструментальные средства контейнера выполняютогромный объем работы, позволяя программисту сосредоточить внимание нареализации прикладной логики. В общем случае, сервер обеспечивает доступконтейнеру к таким службам, как постоянство, параллелизм, транзакции,безопасность, а контейнер развертывает приложение и управляет жизненнымциклом компонента, используя эти службы. Кроме создания прикладной логикикомпонента программист задает атрибуты поведения во время выполнениякомпонента и его развертывания инструментальными средствами контейнера,используя подход, похожий на выбор свойств отображения визуальныхэлементов. Например, поведение компонента по отношению к транзакциям,45постоянству и безопасности может быть задано путем описания соответствующихатрибутов в дескрипторе развертывания [80, 85].EJB обеспечивает создание объектной оболочки над БД, позволяяпрограммистувзаимодействоватьсзаписямивБДкаксобычнымипрограммными объектами, т.е.
обеспечивает создание единого объектногопредставления над различными реализациями БД.2.3.3. Сервер приложенийСервер EJB – сервер приложений, который представляет одно из главныхсредств, реализующих технологию EJB. Он исполняет роль связующего звенамежду контейнерами и операционной средой. При этом клиенты обращаются ксерверу, например, через RMI или CORBA.Основные сервисы сервера [36, 80, 85, 121]:• transaction service – служба транзакций, обеспечивающая корректностьвыполнения транзакций на уровне компонентов по аналогии странзакциями на уровне БД.
Она обеспечивает распределенныетранзакции в гетерогенных средах и взаимодействие с различными БД.• persistence – служба постоянства, обеспечивающая постоянное хранениев БД состояния определенного вида компонентов. Контейнер отвечает засинхронизацию полей экземпляра такого компонента и данных в БД;• security service – служба безопасности.
EJB может поддерживать тривидабезопасности:аутентификацию(установлениеподлинности),управление доступом и безопасные соединения;• JMS (Java Message Service) – служба асинхронных сообщений,обеспечивающая возможность отправлять сообщения, не дожидаясьответа или подтверждения о получении;• параллелизм.Параллельныйдоступккомпонентуобеспечиваетконтейнер, защищающий его данные, и в то же время разрешающиймногочисленным клиентам одновременно обращаться к нему;46• JNDI (Java Naming Directory Interface) – Java-интерфейс службы имен икаталогов, обеспечивающий иерархическое представление ресурсов, атакже управление ими.Отличительной особенностью сервера является возможность не снижатьэффективность работы при возрастании числа одновременно обслуживаемыхклиентов.
Это достигается за счет синхронизации взаимодействий междуобъектами и совместного использования ресурсов. По мере увеличенияколичества клиентов требуется увеличение количества экземпляров компонента иресурсов. EJB явно поддерживает два механизма, облегчающих управлениебольшим количеством экземпляров компонента во время выполнения: пулэкземпляров и активацию, которые выполняются незаметно для программиста[80]. Механизм пула экземпляров у разных производителей серверов может бытьреализован по-разному, но его принцип сводится к следующему [80]:• когда включается сервер, то он может создать для каждого компонентане один, а сразу несколько экземпляров компонента;• еслиэкземпляровопределенногокомпонентанедостаточнодляобслуживания запросов клиентов, то сервер создает дополнительныеэкземпляры этого компонента;• если дополнительные экземпляры компонента уже не нужны, то онимогут быть деактивированы или уничтожены сервером, а затем, еслипотребуется, соответственно, активированы механизмом активации илисозданы снова.РезультатыанализавозможностейкомпонентнойтехнологииEJBпозволили выявить характерные её особенности, а также обосновать пригодностьеё применение для решения задач разработки ВКИСЭО, поскольку эта технологияпозволяет [30, 32, 47, 60-62]:• создатьобъектныеоболочкинадразличнымиБД,обеспечиваяунифицированный объектный доступ к данным;• облегчитьсозданиеприложений;масштабируемыхсложныхраспределенных47• создать приложения, генерирующие минимальный сетевой трафик;• повыситьуровеньзащиты,надежностииотказоустойчивостиприложения;• создатьприложения,независящиеотплатформыифирмыпроизводителя;• создать гибкие и расширяемые приложения.2.4.
Разработка архитектуры вычислительного комплексаинформационных сервисов электронного обученияАрхитектура ВКИСЭО, с одной стороны, должна обеспечивать интеграциюОЦВК в общее информационно-образовательное пространство, а, с другойстороны, ОЦВК должны быть независимы от «состояния» друг друга [51, 55]. ПодархитектуройВКИСЭОвдиссертациипонимаетсяегопринципиальнаяорганизация, состоящая из элементов программных и технических средств,включая их отношения между собой [20, 21].В основе ВКИСЭО находится трехуровневая архитектура (рисунок 2.1) [32,47, 55, 59, 60, 62]: тонкий клиент (браузер), сервер приложений и сервер БД.Пользователь взаимодействует с ВКИСЭО через браузер.
Браузер реализуетпредставление и частично логику представления (например, с помощьюJavaScript). Сервер приложений реализует логику представления данных (спомощьюWeb-компонентов)иприкладнуюлогику(спомощьюEJB-компонентов), которая использует данные с уровня БД.Выбор трехуровневой архитектуры обусловлен результатами анализаметодов интеграции приложений (п. 1.2), методов распределенной обработкиданных (п.
2.2) и возможностей компонентной технологии Enterprise JavaBeans(п. 2.3). Использование сервера приложений позволяет эффективно реализоватьзначительнуючастьинтеграционныхмеханизмовВКИСЭО.Приэтомприменение EJB-компонентов позволяет ОЦВК не зависеть от конкретнойплатформы и от фирмы производителя, а также позволяет создать объектноепредставление для любой реляционной БД – это обеспечивает унифицированныйобъектныйдоступкданнымвпределахВКИСЭО.Остальнаячасть48интеграционныхмеханизмовреализовананауровнепредставления(пользовательского интерфейса).Пользователь1.
Уровеньчастичной логики представленияи представления (тонкий клиент)БраузерПользовательБраузерИНТЕГРАЦИЯСервер приложенияWeb-компоненты2. Уровеньлогики представленияи прикладной логикиEJB-компоненты3. Уровеньбазы данныхСервер БДСервер приложенияWeb-компонентыEJB-компонентыСервер БДОЦ_nОЦ_1Рисунок 2.1 – Трехуровневая архитектураПрименение трехуровневой архитектуры позволяет [30, 32, 47, 60]:• снизить требования к мощности машины пользователя, посколькуприкладная логика и основная логика представления реализована насервере приложений;• повысить уровень защиты, поскольку каждый уровень обладаетсобственными средствами контроля доступа;• ускорить разработку системы, поскольку реализацию БД, логикипредставления и прикладной логики можно выполнять параллельно;• улучшить возможность расширения системы, поскольку внесениеизменений на конкретном уровне не требует изменений на другом, еслитолько это не касается межуровневых интерфейсов;• снизить нагрузку на сервере: по горизонтали, поскольку Web-компоненты или EJB-компонентымогут быть размещены на нескольких серверах; по вертикали, поскольку БД, Web-компоненты и EJB-компонентымогут располагаться на разных серверах.Для того чтобы ВКИСЭО удовлетворял вышеуказанным требованиям(п.
2.1), предлагается разработать типовое ПО (ТПО), на основе которого создать49однородную структуру всего ВКИСЭО [48, 51, 55, 57, 58, 61-63].ТПО ВКИСЭО (далее – ТПО) – программный комплекс, обеспечивающийВКИСЭО необходимыми сервисными функция и информационными ресурсами[48, 51, 55, 57, 58, 61-63].ТПО делится на два вида [48, 51, 52, 55, 57, 58, 61-63]:• общее ТПО (ОбщТПО), обеспечивающее навигацию по ВКИСЭО,например, при поиске необходимых ИСЭО;• основное ТПО (ОснТПО), реализующее информационно-образовательноепространствоконкретногоОЦВК,атакжеобеспечивающеевзаимодействие между различными ОЦВК.На рисунке 2.2 и рисунке 2.3 представлены разработанные в диссертации,соответственно, архитектура ВКИСЭО [51, 52, 55] и схема взаимодействий вВКИСЭО,включающиесвязимеждуегоосновнымифункциональнымиэлементами [51].ОбщТПО состоит из сервера приложений (AS’’) и БД (DBS’’), а ОснТПОимеет аналогичный состав (AS и DBS), который дополнен Web-сервером (WS), ккоторому пользователи обращаются через Web-браузер.ВКИСЭО состоит из взаимосвязанной совокупности узлов [51, 55].