Архитектура программного обеспечения АИС-БУ
Большинство современных программ средств экономического назначения являются многослойными. Обычно в них можно выделить слой прикладных решений и системный слой.
Слой прикладных решений. В слое прикладных решений реализуются функции взаимодействия с пользователем (представления данных) и алгоритмы, реализующие прикладные расчеты. Часто слой прикладных решений называют слоем бизнес-логики программы. В свою, очередь, он также может делиться на несколько слоев.
Слой прикладных решений может быть закрыт или открыт от модификации пользователем программного средства. В первом случае любое санкционированное внесение изменений в программу может выполнить только ее разработчик, во втором – пользователь может самостоятельно изменить те или иные фрагменты бизнес-логики системы. Часто используется подход, при котором слой прикладных решений разделен на отдельные слои, часть из которых закрыта от изменений пользователем, а часть открыта.
В системах с замкнутой функциональностью слой прикладных решений полностью закрыт от внесения изменений пользователем.
В системах с ограниченно развиваемой функциональностью есть закрытые и открытые для изменения пользователем слои прикладных решений. Обычно в такого рода программном обеспечении АИС-БУ пользователь имеет возможность составлять свои определения типовых операций и части правил составления проводок по документам, а также модифицировать алгоритмы формирования всех или части показателей отчетности, создавать новые выходные формы.
Например, в программном комплексе "БЭСТ-4" пользователь может проектировать новые отчеты, создавать свои разновидности типовых операций, определять правила расчета сумм проводок по данным первичных документов. В формулах, определяющих порядок расчета сумм проводок можно применять специальные переменные, характеризующие, например, остатки и обороты счетов, ставки НДС, акцизов, себестоимость и другие характеристики товаров. При вычислении значений переменных, представляющих себестоимость товаров, система автоматически использует установки, характеризующие учетную политику. Поэтому формула, использующая такого рода переменную, не зависит от того, каким способом должна рассчитываться себестоимость – методом средневзвешенных цен, ЛИФО или ФИФО. Однако сам порядок расчета себестоимости реализуется в закрытом от модификации пользователем слое прикладных решений. В этой системе можно даже создавать свои формы документов, но в них может фигурировать только заранее заданный перечень вводимых и отображаемых реквизитов, которые могут записываться в базу данных.
В полностью реконфигурируемых системах весь слой прикладных решений открыт для модификации пользователем. Здесь он может не только определять новые или модифицировать имеющиеся типовые операции и отчеты, но и создавать новые типы справочников, документов, экранные формы для ввода/просмотра информации, переопределять расчетные алгоритмы.
Например, в стандартной и профессиональной поставках системы "1С: Бухгалтерия 7.7" открытый для модификации пользователем слой прикладных решений называется "конфигурацией системы" и включает определения всех экранных форм, отчетов, меню и алгоритмов обработки данных. Для описания алгоритмов здесь используется встроенный в систему объектно-ориентированный язык программирования. При необходимости пользователь может полностью переопределить любую экранную форму, документ, расчетный алгоритм, отчет, создать свои виды документов, отчетов. Однако это требует хорошего знания особенностей функционирования системы и серьезных навыков программирования. В то же время навыки программирования нужны только при необходимости изменения конфигурации, да и то не всегда. Процесс изменения конфигурации выполняется в специальном режиме работы, называемом "конфигурированием системы". Потребность в серьезном изменении конфигурации возникает не очень часто и обычно пользователи ограничиваются созданием типовых операций и "косметической" модификацией настроек форм отчетности, которые можно производить в штатном режиме работы с информационной базой программы.
Иногда различные части слоя прикладных решений могут быть открыты для модификации только определенным категориям пользователей.
Например, система "Concorde XAL" датской компании Damgaard Data изначально создавалась как открытая система, которая должна распространяться во многих странах мира и параллельно развиваться как самим производителем, так и национальными дистрибьюторами, дилерами и специалистами предприятия-заказчика. Поэтому здесь структура слоя прикладных решений включает несколько программных слоев, каждый из которых может изменяться относительно независимо друг от друга.
Базовый слой (SYS) разрабатывается самим производителем – компанией Damgaard Data.
Дистрибьюторский слой (DIS) представляет собой вариант, локализованный для конкретной страны и, помимо базовых возможностей, включающий специфические для нее функции и отчеты. Этот слой разрабатывается компаниями, наделенными правами национальной локализации системы.
В отдельный слой (BUS) включаются отраслевые решения, а в слой (VAR) – варианты системы, доработанные под конкретного заказчика. Возможность вносить изменения в эти два слоя относятся к компетенции дилеров.
Следующие два слоя – это варианты системы с доработками, самостоятельно созданными предприятием-пользователем. Первый включает доработки, касающиеся всего холдинга (CUS), а второй – доработки, выполненные в его конкретных филиалах (USR).
Такое построение системы обеспечивает безопасность ее развития разными участниками разработки. Когда дистрибьютор, дилер или конечный пользователь изменяет какой-либо из элементов системы, например программу, производящую обработку проводок, то система фактически изменяет ее копию, оставляя исходный вариант в неприкосновенности. Благодаря этому при обнаружении ошибки всегда можно вернуться к исходной версии и установить, в каком слое кроется ошибка, а, соответственно, и кто ее автор.
Разделение системы на несколько слоев облегчает также решение задачи по обновлению версий. При установке новой версии запускается механизм, который анализирует, какие элементы предыдущей версии были изменены, выделяет их и позволяет естественным образом интегрировать в систему. Таким образом, переход к новой версии не сопровождается потерей изменений, внесенных в предыдущую версию.
Средства разработки системы "Конкорд" предоставляют возможность практически неограниченного наращивания функциональности. Они включают: редактор отчетов, редактор экранных форм, средства разработки и отладки прикладных программ на языке XAL, редактор запросов к базе данных, редактор макросов и макробиблиотек, редактор файлов помощи, редактор словаря данных, позволяющий вносить изменения в таблицы, поля, индексы, перечислимые типы и триггеры таблиц информационной базы, редактор настроек принтеров, редактор списков просмотра, редактор меню.
Системный слой. Этот слой предназначен для выполнения общих функций, необходимых для обеспечения работы всех программ слоя прикладных решений. Компоненты системного слоя не подлежат модификации пользователем. Прерогатива их санкционированного изменения полностью принадлежит разработчику программного средства. В общем случае, в системный слой входят:
- средства поддержки исполнения программ прикладного слоя;
- средства организации хранения и доступа к данным.
Средства поддержки исполнения программ прикладного слоя обеспечивают выполнение наиболее общих функций обработки данных, а также интерпретацию и исполнение открытых для модификации пользователем компонент слоя прикладных решений.
Средства организации хранения и доступа к данным – это совокупность программ, обеспечивающих управления массивами данных, размещенных на внешних запоминающих устройствах. Обычно – это СУБД, разработанные сторонними производителями. Средства СУБД могут быть непосредственно интегрированы в программу, а могут взаимодействовать с ней через систему межпрограммных связей, обеспечиваемую через операционную систему или различные вспомогательные механизмы.
В поставку программы "1С: Бухгалтерия 7.7" входит компонента "Бухгалтерский учет" системы программ "1С: Предприятие 7.7" и типовая конфигурация. Компонента "Бухгалтерский учет" – системный слой, а типовая конфигурация – слой прикладных решений. В локальной и многопользовательской версии, ориентированной на технологию файл-сервер, средства доступа к данным интегрированы в систему, а в версии, ориентированной на технологию клиент-сервер, в качестве средств доступа к данным используется отдельно функционирующая СУБД MS SQL-server. Средства обеспечения функционирования программ прикладного слоя обеспечивают выполнение программ на встроенном языке системы, отображение элементов экранных форм, отчетов и другие сервисные функции. Из всех прикладных алгоритмов, имеющих непосредственное отношение к бухгалтерскому учету, в системный слой, по сути дела, вынесены только порядок интерпретации системы счетов и расчет их остатков и оборотов. Все остальные бухгалтерские расчеты описаны в прикладном слое на встроенном языке системы.
Системный слой программного комплекса "Concorde XAL" содержит ядро-процессор, отвечающий за исполнение прикладного слоя, и ядро-обработчик данных, обеспечивающее работу с конкретной СУБД.
Программы прикладного слоя написаны на встроенном в систему аппаратно-независимом языке программирования XAL (eXtended Application Language). Пользователь имеет возможность редактировать их и создавать новые, дорабатывая нужную функциональность. Ядро-процессор написано на языке C++ и включает средства для редактирования и исполнения программ на языке XAL, форм, отчетов, меню и формирования запросов к обработчику данных. Ядро-обработчик данных ответственно за доступ к данным, которые могут храниться под управлением различных СУБД. Этот же компонент отвечает за модификацию структуры информационной базы системы – добавление новых таблиц, новых полей в существующие таблицы, новых индексов и т.п.
За счет такого построения программного комплекса обеспечивается высокая степень независимости внесения изменений в систему на разных уровнях. Можно сколько угодно изменять прикладные программы прикладного слоя, но они не потребуют изменений в ядре-процессоре и подсистеме доступа к данным. При выходе новой версии ядра-процессора, можно ничего не менять в прикладном слое, поскольку фирма-производитель гарантирует совместимость с более ранними версиями. Обычно внесение изменений в ядро-процессор лишь прибавляет новые возможности для разработки и выполнения программ прикладного слоя, полностью сохраняя те функции, которые были использованы в них раньше. Кроме того, если организация-пользователь желает перейти на применение другого аппаратного обеспечения или другой операционной системы, то достаточно заменить только ядро-процессор на новое, предназначенное именно для этих компьютеров и этой операционной системы. При этом весь прикладной слой останется неизменными. На настоящий момент имеются варианты ядра-процессора системы «Конкорд» реализованные для DOS, Windows, OS/2 и различных версий Unix, а также для различных типов компьютеров.
Немаловажным является и разделение ядра-процессора и обработчика данных. Для перехода на новую СУБД достаточно заменить лишь обработчик данных, а остальные компоненты системы останутся неизменными. Изначально система поставляется со встроенным обработчиком данных, который работает с записями на уровне файлов (Native database). Однако, если организация работает с большими объемами данных, можно использовать мощные СУБД MS SQL-Server и Oracle.
При создании многопользовательских систем с технологией клиент-сервер может применяться двух- или трехуровневая архитектура программного обеспечения.
Двухуровневая архитектура ПО обычно соответствует модели "толстого" клиента, при которой серверные компоненты системы отвечают, главным образом, за реализацию задач организации хранения и доступа к данным, а все или большая часть функций прикладной обработки данных выполняются на стороне клиентской части. Здесь слой прикладных решений и входящие в системный слой средства поддержки исполнения программ прикладного слоя функционируют на рабочей станции, а средства организации хранения и доступа к данным – большей частью на сервере. В качестве средств организации хранения и доступа к данным обычно выступает многопользовательская СУБД.
Трехуровневая архитектура ПО обычно ассоциируется с моделью "тонкого" клиента. Здесь отдельные компоненты прикладного и системного слоя распределены между серверной и клиентской частями системы. Компоненты прикладного слоя, ответственные за представление данных и часть системного слоя, необходимая для их выполнения, функционируют на клиентской стороне системы. На серверной стороне функционируют компоненты прикладного слоя, ответственные за обработку данных. Здесь же выполняются необходимые для выполнения прикладной обработки и организации хранения и доступа к данным компоненты системного слоя.
В трехуровневой архитектуре основной функцией программного обеспечения рабочих мест является, главным образом, ввод и отображение данных, а также выполнение процедур приема/передачи информации серверным компонентам для обработки. При этом отдельно выделяются сервер приложения и сервер базы данных, которые для повышения производительности часто устанавливают на разных компьютерах, выступающих в качестве сетевых серверов.
Обычно сетевые программные системы так или иначе привязаны к определенным сетевым протоколам и серверным СУБД. Однако существуют и иные способы реализации архитектуры клиент-сервер. В этой связи особый интерес представляет сетевая версия системы "Финансы без проблем". Важнейшей отличительной чертой ее построения является то, что разработчики создали специализированный сервер "Финансов без проблем". Основная идея состоит в том, чтобы достичь как можно более высокой информационной содержательности сообщений при организации обмена данными между сервером и клиентом, в полной мере учитывающей специфику информации предметной области. Дело в том, что использование серверных СУБД в качестве центрального компонента АИС-БУ приводит к тому, что основной единицей обмена данными между сервером и клиентом зачастую остается проводка или строка документа. Здесь же минимальной единицей обмена является хозяйственная операция, в общем случае определяющая не одну, а множество проводок, благодаря чему средняя информационная содержательность операции обмена становится выше. Любой многострочный документ или сложная групповая операция специальным образом пакуются и передаются на сервер в один прием. За счет сжатия и высокой информационной содержательности сообщений нагрузка на сеть снижается в большей степени, чем при обмене единичными проводками или строками документов. Естественно, что такая реализация возможна только при развитом сервере приложения, который может обрабатывать блочные структуры передаваемой информации, учитывая ее специфику.
Другой особенностью построения системы является то, что она практически не зависит от сетевых протоколов. Взаимодействие клиента и сервера происходит через "почтовый ящик" – специально выделенную директорию. Клиент пересылает по сети короткий запрос и записывает его в файл, а сервер считывает его, обрабатывает и формирует файл с ответом, который "забирается" клиентом. За счет этого система может функционировать в среде любой сетевой ОС.
Важной особенностью сервера системы «Финансы без проблем» является то, что практически вся обработка осуществляется им в памяти. Вследствие этого, скорость выполнения расчетов выше, чем у программ, использующих СУБД.
Благодаря независимости от протоколов, существенно упрощается перенос как серверного, так и клиентского ПО системы на различные платформы. Особенно простым является перенос серверной части, которая реализована на языке Си и включает обращения только к стандартным библиотекам, которые существуют в реализации его компилятора на всех программно-технических платформах. Это вполне естественно, поскольку серверная часть не имеет развитых диалоговых функций. Перенос на другие платформы клиентской части сложнее, однако открытый принцип взаимодействия сервера и клиентов позволяет создавать их независимыми от производителя фирмами.
В настоящий момент сервер "Финансов без проблем" поставляется для сред Novell Netware, Windows 95/98/2000, Windows NT/2000 Server, OS/2, UNIX (Linux), DOS/4GW. Клиенты реализованы для DOS и Windows.
Программный сервер "Финансов без проблем" не занимает сетевой сервер монопольно. Наряду с ним могут быть запущены и другие приложения, в том числе стандартные серверные СУБД, если они необходимы для функционирования других программ, используемых в организации.
Поскольку все процедуры обработки данных выполняются сервером, требования к техническим средствам рабочих мест минимальны. Ими вполне могут быть компьютеры на процессоре 80286 и даже IBM XT. Существенное удешевление системы обработки данных предприятия осуществляется и благодаря тому, что не нужно приобретать программное обеспечение SQL-сервера.
Вопросы для самоконтроля
1. Под управлением, каких операционных систем (ОС) функционируют программы бухгалтерского учета? На какие ОС ориентируются разработчики многопользовательских АИС-БУ?
2. Может ли одна и та же версия бухгалтерских программ работать под управлением разных ОС? Приведите примеры.
3. Влияет ли размер предприятий (малые, средние, крупные) на выбор СУБД для создания ПО систем автоматизации учета, ориентированных на архитектуру клиент-сервер и как?
4. Что понимается под интероперабельной системой автоматизации учета?
5. Какова архитектура современных программных средств АИС-БУ?
6. Дайте характеристику слоя прикладных программ: его назначение, возможность модификации, составные части.
7. Как решен вопрос внесения изменений в слой прикладных программ в системах с ограниченно развиваемой функциональностью и в полностью реконфигурируемых системах? Приведите примеры.
8. Дайте характеристику системного слоя программ: его назначение, возможность модификации, составные части.
9. Какая архитектура ПО используется в многопользовательских системах с технологией клиент-сервер? Раскройте ее.
10. В чем отличия двухуровневой и трехуровневой архитектуры ПО. Приведите примеры использования.
11. Что дает многослойное построение программ АИС-БУ?
Дата добавления: 2016-09-06; просмотров: 2037;