Трехуровневая архитектура ПО обычно ассоциируется с моделью «тонкого» клиента. Здесь отдельные компоненты прикладного и системного слоя распределены между серверной и клиентской частями системы. Компоненты прикладного слоя, ответственные за представление данных и часть системного слоя, необходимая для их выполнения, функционируют на клиентской стороне системы. На серверной стороне функционируют компоненты прикладного слоя, ответственные за обработку данных. Здесь же выполняются необходимые для выполнения прикладной обработки и организации хранения и доступа к данным компоненты системного слоя.
В трехуровневой архитектуре основной функцией программного обеспечения рабочих мест является, главным образом, ввод и отображение данных, а также выполнение процедур приема/передачи информации серверным компонентам для обработки. При этом отдельно выделяются сервер приложения и сервер базы данных, которые для повышения производительности часто устанавливают на разных компьютерах, выступающих в качестве сетевых серверов.
Обычно сетевые программные системы так или иначе привязаны к определенным сетевым протоколам и серверным СУБД. Однако существуют и иные способы реализации архитектуры клиент-сервер. В этой связи особый интерес представляет сетевая версия системы «Финансы без проблем». Важнейшей отличительной чертой ее построения является то, что разработчики создали специализированный сервер «Финансов без проблем». Основная идея состоит в том, чтобы достичь как можно более высокой информационной содержательности сообщений при организации обмена данными между сервером и клиентом, в полной мере учитывающей специфику информации предметной области. Дело в том, что использование серверных СУБД в качестве центрального компонента ИУС-БУ приводит к тому, что основной единицей обмена данными между сервером и клиентом зачастую остается проводка или строка документа. Здесь же минимальной единицей обмена является хозяйственная операция, в общем случае определяющая не одну, а множество проводок, благодаря чему средняя информационная содержательность операции обмена становится выше. Любой многострочный документ или сложная групповая операция специальным образом пакуются и передаются на сервер в один прием. За счет сжатия и высокой информационной содержательности сообщений нагрузка на сеть снижается в большей степени, чем при обмене единичными проводками или строками документов. Естественно, что такая реализация возможна только при развитом сервере приложения, который может обрабатывать блочные структуры передаваемой информации, учитывая ее специфику.
Другой особенностью построения системы является то, что она практически не зависит от сетевых протоколов. Взаимодействие клиента и сервера происходит через «почтовый ящик» — специально выделенную директорию. Клиент пересылает по сети короткий запрос и записывает его в файл, а сервер считывает его, обрабатывает и формирует файл с ответом, который «забирает» клиент. За счет этого система может функционировать в среде любой сетевой ОС.
Важной особенностью сервера системы «Финансы без проблем» является то, что практически вся обработка осуществляется им в памяти. Вследствие этого, скорость выполнения расчетов выше, чем у программ, использующих СУБД.
Благодаря независимости от протоколов, существенно упрощается перенос как серверного, так и клиентского ПО системы на различные платформы. Особенно простым является перенос серверной части, которая реализована на языке Си и включает обращения только к стандартным библиотекам, которые существуют в реализации его компилятора на всех программно-технических платформах. Это вполне естественно, поскольку серверная часть не имеет развитых диалоговых функций. Перенос на другие платформы клиентской части сложнее, однако открытый принцип взаимодействия сервера и клиентов позволяет создавать их независимыми от производителя фирмами.
В настоящий момент сервер «Финансов без проблем» поставляется для сред Novell Netware, Windows 95/98/2000, Windows NT/2000 Server, OS/2, UNIX (Linux), DOS/4GW. Клиентская часть реализована для DOS и Windows.
Программный сервер «Финансов без проблем» не занимает сетевой сервер монопольно. Наряду с ним могут быть запущены и другие приложения, в том числе стандартные серверные СУБД, если они необходимы для функционирования других программ, используемых в организации.
Поскольку все процедуры обработки данных выполняются сервером, требования к техническим средствам рабочих мест минимальны. Ими вполне могут быть компьютеры на процессоре 80286 и даже IBM XT. Существенное удешевление системы обработки данных предприятия осуществляется и благодаря тому, что не нужно приобретать программное обеспечение SQL-сервера.
