![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Спецификация каркаса информационной системы с распределенной архитектурой |
Евгений Игумнов Введение Полученную мною спецификацию каркаса системы с распределенной архитектурой (dis ribu ed framework - dfw) можно использовать как отправную точку при создании корпоративных распределенных систем. Предлагаемая спецификация не зависит от распределенной технологии, на основе которой будет построена система. Другими словами, предлагаемая спецификация может быть использована совместно с технологиями RMI, CORBA, DCOM и др. Проблемы реализации интеграции с этими технологиями не рассматриваются. Они ложатся на разработчиков, решивших использовать эту спецификацию. Спецификация была получена при анализе трех типов систем: OL P, OLAP и GIS. Каркас системы направлен на объектно-ориентированный язык и в основе своей содержит набор шаблонов проектирования для высокого повторного использования. 1. Общая компонентная модель Система состоит из трех частей: клиентское приложение (GUI или Web), сервер приложений и источник данных (СУБД, XML и т.д.). Идеология системы строится на трех вещах: фактах, метамодели и безопасности. Факты- это так называемые бизнес-объекты из предметной области, с которой будет работать система. Метамодель - это описание этих бизнес-объектов. Безопасность - это описание прав доступа к фактам и метамодели. Диаграмма пакетов системы изображена на рис. 1.1. Следует обратить внимание на функциональную значимость метамодели в этой системе. Обычно при реализации большого количества типов бизнес-объектов (фактов) для каждого факта ставится в соответствие класс. Для того, чтобы повысить степень повторного использования и упростить механизм поддержки большого числа типов фактов в системе, следует для всех фактов выделить всего один или два класса, а структуру фактов описать в метамодели. Таким образом, при изменении структуры фактов не нужно будет менять исходные коды, а достаточно будет поправить информацию в источнике данных, например СУБД, откуда берет данные метамодель. Рис. 1.1 Диаграмма зависимости между пакетами Клиентская часть состоит из 10 пакетов. Пакет view отвечает за ее внешний вид. Пакет media or сопрягает виды приложения. Пакет model отвечает за внутреннее представление данных приложения. Пакет co roller содержит классы, работающие с моделью данных приложения. Пакет model.fac представляет структуры фактов, которыми обменивается клиентское приложение с сервером приложений. Пакет model.me a представляет структуры описывающих факты, т.е. метамодель, которыми обменивается клиентское приложение с сервером приложений. Пакет model.securi y представляет структуры, описывающие безопасность доступа к фактам и метамодели, которыми также обменивается клиентское приложение с сервером приложений. Пакеты source.fac , source.me a и source.securi y отвечают за взаимодействие между клиентским приложением и сервером приложений и поддерживают между ними обмен фактами (model.fac ), метаданными (model.me a) и безопасностью (model.securi y) не зависимо от используемой разработчиком распределенной технологии. Другими словами, на основе них следует делать стабы (s ub) . Сервер приложений состоит из 9 пакетов.
Пакеты model.fac , model.me a, model.securi y такие же, как на стороне клиентского приложения. Они служат value-объектами обмена информацией между сервером приложений и клиентским приложением. Пакеты source.fac , source.me a и source.securi y на стороне сервера отвечают за взаимодействие между клиентским приложением и сервером приложений. Другими словами, на основе них следует делать скелетоны (skele o ) . Пакет server.da asource отвечает за поддержку разных типов источников данных, в которых хранятся факты. Пакет server.fac dao отвечает за взаимодействие с фактами для разных типов источников данных. Пакет server.ker el управляет функционированием сервера приложений, связывая воедино все пакеты серверной части. В роли источника данных, как уже говорилось, может выступать СУБД или другое решение для доступа и хранения данных. Скорость работы с источником естественно зависит от его типа. В пакете server.fac dao скорость можно поднять, например, за счет стратегии кэширования. 2. Концептуальная модель сервера Сервер приложений состоит из так называемых заводов, которые управляют объектами в памяти сервера. Заводы представляют собой классы, построенные на основе шаблонов проектирования Si gle o , Fac ory Me hod, Flyweigh и Facade . Шаблон Si gle o предназначен для существования всего одного объекта завода в памяти сервера приложения, в котором содержатся ссылки на объекты, управляемые им. Шаблон Fac ory Me hod используется для того, чтобы только завод занимался созданием объектов, а по шаблону Flyweigh в случае повторного запроса на такой же объект не производились бы затраты ресурсов сервера на повторное создание клона объекта, а изымался уже готовый объект из пула объектов. Хочу обратить внимание на то, что создание объектов обычно сопряжено с процессом считывания информации из таких источников данных, как, например СУБД. В сервере приложений присутствует три завода. Завод Me aFac ory работает с объектами, представляющими метамодель. Завод Fac DAOFac ory управляет объектами, которые работают с фактами. Завод Securi yFac ory управляет объектами, описывающими безопасность системы. Заводы изображены на рис. 2.1. Рис. 2.1 Концептуальная модель сервера Сервер приложения имеет интерфейсы, через которые с ним можно взаимодействовать. Таких интерфейсов тоже три. Интерфейс Fac SourceI erface предназначен для доступа к фактам. Интерфейс Me aSourceI erface предназначен для доступа к метамодели. Интерфейс Securi ySourceI erface предназначен для доступа к безопасности системы. При работе с этими интерфейсами данные заворачиваются в value-объекты, которые берутся из model.fac , model.me a и model.securi y соответственно. Реализуют эти интерфейсы абстрактные классы Abs rac Fac Source, Abs rac Me aSource и Abs rac Securi ySource, которые можно переопределить и делегировать вызовы со стороны клиентского приложения от скелетонов (skele o ). Классы Abs rac Fac Source и Abs rac Me aSource в своей работе используют Securi yFac ory, так как в них инкапсулированы механизмы проверки прав доступа к фактам и метамодели. 2.1. Пакеты модели метамодели, фактов и безопасности Пакет model.m
e a на рис. 2.2 содержит классы, описывающие метамодель предметной области, с которой работает система. Мной было выделено всего три основных класса для этой цели. Безусловно, ее необходимо расширять для каждой специфической предметной области. Класс Me aModel предназначен для того, чтобы держать в одной системе несколько метамоделей. Класс Fac Descrip io описывает факты. Класс Group выступает в роли тематического классификатора фактов, который всегда присутствует в информационных системах и может быть также расширен. Рис 2.2 Модель метамодели Пакет model.fac на рис. 2.3 имеет всего один класс Fac , объекты которого будут фактами. Этот класс следует, безусловно, расширить, так как встреченные мной факты из разных предметных областей имеют общее только то, что они являются фактами. Рис. 2.3 Модель фактов Пакет model.securi y на рис. 2.4 описывает права доступа к системе, к фактам и метамодели. За основу взято классическое решение безопасности. Есть пользователи (класс User), которые сопоставлены с ролями (класс Role), имеющими права доступа (класс Access) на метамодель, которая также описывает факты. Соответственно, отсутствие прав доступа на описание факта отсекает доступ на сам факт. В процессе аутентификации участвует класс User, а в процессе авторизации - классы Role и Access соответственно. Рис. 2.4 Модель безопасности 2.2. Пакет источников данных Пакет server.da asource на рис. 2.5 обеспечивает связку между источниками данных и фактами. Другими словами, здесь описывается, в каком источнике данных находится какой факт. Вводится понятие картриджа (класс Fac Car ridge), представляющего источник данных, в котором хранятся факты. Для работы с конкретным типом источником данных картридж использует интерфейс Fac DAOI erface. Данный подход позволяет серверу приложений, с одной стороны, хранить свои факты в разных источниках данных, а с другой, не заботиться клиентскому приложению о том, как они хранятся и как расположены физически, что облегчает клиентскую часть системы. Рис. 2.5 Источник данных 2.3. Пакет доступа к фактам Пакет server.fac dao на рис. 2.6 отвечает за работу с фактами для разных типов источников данных. За основу берется интерфейс Fac DAOI eface, задающий принципы работы с фактами. Его необходимо реализовать для всех типов источников данных, которые будут подключены к системе. При реализации данного интерфейса в случае, когда некоторые источники данных имеют общие черты, следует использовать empla e Me hod для увеличения степени повторного использования кода. Рис. 2.6 Доступ к фактам 2.4. Пакет ядра Пакет server.ker el на рис. 2.7 представляет собой набор заводов Fac DAOFac ory, Me aFac ory и Securi yFac ory, управляющих моделями пакетов model.fac , model.me a и model.securi y, которые были описаны выше. Классы Abs rac Me aSource и Abs rac Fac Source в своей работе используют безопасность, т.е. пользуются услугами Securi yFac ory. Основная функциональная нагрузка ядра ложится на классы Abs rac Fac Source, Abs rac Me aSource и Abs rac Securi ySource, но процесс управления объектами моделей model.fac , model.m
Они сделали возможной сложнейшую организацию современного бизнеса. Не следует думать, что если «исчезло пространство» (как выразился Фрэнсис Кэйрнкросс (Francis Cairncross), описывая последствия развития новых технологий связи), то исчезнут и компании. В одних случаях интернет приведет к уменьшению размеров организаций, поскольку аутсорсинг станет более выгодным. В других случаях компании будут расти вследствие появления новых направлений деятельности. Специалист по управлению ИТ, гарвардский профессор Эндрю Макэфи (Andrew McAfee) даже полагает, что информационные технологии могут увеличить относительные издержки использования рынка для координации деятельности. По его мнению, в будущем рост эффективности будет зависеть от координации сложных, полностью компьютеризированных вертикальных процессов, например управления цепочкой поставок или системой распределения. Эта координация в свою очередь зависит от жесткой стандартизации процессов, данных и информационных систем. Как указывает Макэфи, централизованной системе управления гораздо проще навязать организации подобную стандартизацию, чем ждать, пока она возникнет естественным образом в результате сложного и зачастую противоречивого взаимодействия свободных агентов на рынке
3. Автоматизированная система распределения мест и оценок качества олимпиадных заданий
10. Стратегия поиска в автоматизированных информационных системах
11. Информационные системы в экономике
12. Разработка фрагмента информационной системы "АБОНЕНТЫ ГТС"
13. Информационная система складского терминала
14. Информационные системы и технологии
15. Разработка автоматизированной информационной системы учёта товародвижения в торговле
16. Автоматизированная информационная система детского сада "Солнышко"
17. Информационные системы в экономике
18. Информационные системы маркетингового анализа
19. Исследование информационной системы предприятия
20. Автоматизация отдела управления персоналом в ИСУП на базе информационной системы АЛЕФ
21. Разработка автоматизированной информационной системы для управления портфелем реальных инвестиций
25. Информационная система и организация
26. Особенности в проектировании и практической разработке медицинской информационной системы
27. Концепция создания автоматизированной информационной системы "Спорт"
28. Применяемые Финансовые Информационные Системы (ФИС)
29. Информационные системы в юридической деятельности
30. Применение Информационной Системы «GeoBox» для решения задач автоматизации строительства скважин
31. Зачем нужна интегрированная информационная система?
34. Экономические информационные системы
36. Банковские информационные системы
37. Концепция информационной системы онкологического центра
41. Автоматизированные информационные системы
42. Разработка информационной системы «Служба занятости»
43. Автоматизированные информационные системы кадастра
44. Бухгалтерские информационные системы
45. Экономические информационные системы: принципы построения и классификация
46. Информационные системы в банковском деле
47. Информационные системы в аудите
48. Первичное наблюдение – основа информационной системы бухгалтерского учета
50. Анализ информационной системы ателье по пошиву одежды
52. Бухгалтерские информационные системы для малого и среднего бизнеса
53. Интеллектуальные информационные системы в образовании
57. Информационная система военного округа
58. Информационная система гостиничного комплекса
60. Информационная система компьютерного клуба
61. Информационная система менеджера по работе с клиентами таксопарка "Семерочка"
62. Информационная система нотариальной конторы г. Зеленогорска
63. Информационная система оптимизации работы сотрудников по прокату кино и видео фильмов
64. Информационная система расчетов по договорам
65. Информационная система управления безопасностью в программах IBM Rathional
66. Информационная система цеха вентиляционных заготовок
73. Информационные системы и технологии
74. Информационные системы и технологии в менеджменте
75. Информационные системы управления проектами
76. Исследование и разработка проекта информационной системы отдела бухгалтерии АОЗТ "Швея"
77. Компьютерные и информационные системы в образовании
78. Обучающиеся информационные системы
79. Проектирование и разработка информационной системы на примере магазина "Computer Master"
80. Проектирование информационной системы
81. Проектирование информационной системы "Начисление заработной платы сотрудникам школы"
82. Проектирование информационной системы сети поликлиник
83. Разработка автоматизированной информационной системы "Библиотека ВУЗа"
85. Разработка автоматизированной информационной системы. Система учета ОАО "ЮТК"
89. Разработка многопользовательской информационной системы
91. Разработка модели информационной системы предприятия ОАО "Токаревский комбинат хлебопродуктов"
92. Разработка объектно-ориентированной модели информационной системы учебной библиотеки
93. Разработка прикладной информационной системы
94. Разработка элементов информационной системы средствами СУБД MS Access и языка программирования VBA
95. Создание информационной системы
96. Фундамент информационной системы
97. Экономическая информационная система предприятия ООО "Дайджекс Технолоджи"
98. Гео-информационные системы и эпидемии гриппа
99. Графические средства Corel Draw в информационных системах
100. Виды защиты, используемые в автоматизированных информационных системах