Парус 10

Является лидером среди поставщиков ИТ-решений для крупных бюджетных структур, "Корпорация ПАРУС" в рамках государственной политики перевода бюджетных учреждений на отечественное программное обеспечение с открытым кодом разрабатывает линейку программных продуктов, работающих под управлением как закрытой операционной системы MS Windows, так и свободной операционной системы Linux. Преимуществом нового мультиплатформенного решения "Корпорации ПАРУС" является полная совместимость данных и практически идентичный интерфейс прикладных решений Linux и Windows-решений.

Причины разработки и требования к новому продукту

Руководством "Корпорации ПАРУС" было принято решение создать новую информационную систему, которая должна прийти на смену системы "ПАРУС 7" и учитывать современные требования рынка к учетным системам подобного класса.

Ключевые требования к новому продукту:

  1. Низкая стоимость владения. Новая система не должна требовать постоянного внимания высококвалифицированного IT-персонала, должна быть проста в администрировании и поддержке.
  2. Хорошая масштабируемость. Новая система должна хорошо работать как в однопользовательском режиме, так и обслуживая рабочую группу до сотни пользователей (производительность не должна падать при увеличении числа одновременно работающих пользователей).
  3. Эргономичный пользовательский интерфейс. Информационная система должна быть максимально комфортна в работе не только для квалифицированного пользователя, но и для людей с начальным уровнем компьютерной подготовки. В соответствии с современными тенденциями интерфейс должен не только позволять выполнять все необходимые манипуляции, но и направлять пользователя, подсказывая ему правильную последовательность действий, необходимых для выполнения его работы
  4. Клиенты GUI и WEB в ЛВС и через Интернет. Возможность работать с информационной системой территориально удаленным пользователям воспринимается заказчиками как обязательное требование. Причем есть потребность как в удаленных рабочих местах с традиционным графическим интерфейсом пользователя, так и в рабочих местах на основе браузера.
  5. Несколько СУБД на разных операционных системах. Компания не могла оставить без внимания инициативу использования свободного программного обеспечения в бюджетной сфере. Поэтому продукт должен работать как под управлением коммерческих операционных систем Microsoft, так и под управлением свободной операционной системы Linux. Должна быть обеспечена возможность работы со свободной СУБД.
  6. Возможность расширять решение. Одним из важнейших условий успешного применения системы является возможность расширить ее функциональные возможности после установки у потребителя. Подобные расширения могут потребоваться по самым разным причинам: особенности отраслевой или региональной учетной политики, специфика деятельности предприятия-потребителя или IT-подразделения, обслуживающего систему.
  7. Быстрая разработка и дешевая поддержка. Новая система должна позволить существенно повысить производительность труда разработчиков и сократить затраты на сопровождение прикладных решений.

Состав платформы

Несмотря на парадоксальность этого утверждения, программист, создающий систему, является главным дестабилизирующим фактором для этой системы. Именно программист допускает ошибки, которые потом так раздражают пользователей. Но никто не совершенен, поэтому программисты всего мира делали ошибки, делают и будут делать их всегда. Исправление этих ошибок и написание нового кода – это трудоемкий процесс, который существенно удорожает поддержку продукта. Поэтому единственный способ сократить количество ошибок и облегчить поддержку продукта – это сократить количество кода, который пишут программисты.

Требования хорошей масштабируемости и возможности работать с разными СУБД (не говоря о разных операционных системах) также крайне сложны в реализации. Для решения перечисленных задач было необходимо разработать архитектурное решение и специализированный инструментарий прикладного разработчика.

Результатом наших усилий стал новый продукт – платформа "ПАРУС 10". Продукт построен по классической трехзвенной архитектуре:

  1. Сервер приложений отвечает за реализацию логики системы, предоставляет информацию различным клиентским приложениям (графический интерфейс пользователя, WEB-интерфейс и пр.).
  2. Клиентское приложение отвечает за взаимодействие пользователя и системы и отображение информации.
  3. СУБД используется для хранения информации.

Кроме того, в состав платформы входит подсистема "Дизайнер", позволяющая создавать прикладные решения. При разработке этой подсистемы мы воспользовались опытом, полученным при разработке продукта "Конструктор отраслевых расширений" системы "ПАРУС 8": прикладной разработчик не только пишет программу, но и создает метаданные (т.е. формальное описание, объясняющее системе как эту программу надо выполнять).

01

Реализация основных требований

Быстрая разработка и дешевая поддержка

Применение подсистемы "Дизайнер" позволило нам заметно упростить и ускорить процесс разработки прикладных приложений, а также несколько понизить требования к квалификации прикладных разработчиков. Например, для создания типичного справочника с возможностью просмотра его позиций в списке и редактирования каждой позиции в отдельной форме нужно написать одно предложение на языке программирования, остальные операции выполняются в специальных редакторах. Очевидно, что такой подход позволит нам в перспективе существенно сократить расходы на поддержку разработанных решений, т.к. самая дорогая составляющая поддержки – внесение изменений в программы.

Низкая стоимость владения

Сокращение затрат на эксплуатацию системы достигается несколькими способами. Во-первых, необходимо сократить объем работ, связанных с настройкой системы на рабочем месте конечного пользователя. Во-вторых, необходимо сократить объем работ, связанных с регулярным обслуживанием системы (профилактические работы, установка обновлений и пр.). Еще одним способом может быть понижение требований к квалификации конечных пользователей системы.

Процесс установки прикладных решений выполняется только на сервере приложений. Клиентское приложение не требует специальной установки, оно развертывается простым копированием файлов. Конфигурация рабочего места (набор разделов системы, используемых пользователем) определяется администратором на сервере приложений. Когда пользователь начинает работу с системой, необходимые разделы автоматически развертываются на его рабочей станции. Таким образом, отпадает необходимость индивидуальной настройки рабочих станций.

Регулярное обслуживание системы сводится к обслуживанию сервера приложений и используемой им СУБД.

Одним из способов сократить расходы на обслуживание сервера приложений является возможность автоматической установки обновлений, получаемых с сервера производителя. Эта технология является аналогом известной системы автоматического обновления Windows. Возможность настроить конфигурацию рабочих мест под нужды каждого пользователя, развертывание только необходимых для работы разделов существенно упрощают жизнь техническим специалистам, отвечающим за сопровождение системы.

Не секрет, что часто препятствием для использования информационных систем является недостаточная квалификация конечных пользователей. К сожалению, не всегда представляется возможным сделать систему настолько простой, чтобы с ней мог работать человек с недостаточной подготовкой. Понижение требуемого уровня подготовки пользователей – это один из важнейших способов сокращения затрат на использование системы. Платформа предлагает несколько путей решения этой проблемы. Во-первых, пользовательский интерфейс прикладных систем будет более простым. Во-вторых, в интерфейсе пользователя будут предусмотрены специальные механизмы, подсказывающие пользователю правильную с точки зрения учетной политики последовательность операций. Наконец, появляется возможность поручить выполнение наиболее сложных операций сотруднику, работающему удаленно. К таким операциям относятся не только задачи администрирования, но и выполнение наиболее ответственных или сложных бизнес-операций в прикладных системах. Для выполнения таких операций могут быть привлечены как специалисты заказчика, так и специалисты IT-структур, обслуживающих заказчика.

Не менее важным способом снижения стоимости владения является применение открытых операционных систем и СУБД для эксплуатации платформы. Важнейшим свойством платформы является то, что независимо от используемой операционной системы и СУБД работает одно и то же прикладное решение, т.е. нет проблем переподготовки пользователей или перенастройки систем при смене операционной системы или СУБД.

Возможность расширять решение

Гибкость и открытость – традиционные характеристики продуктов "ПАРУС". Возможность настроить логику прикладных решений для нужд потребителя, а при необходимости - расширить функциональные возможности решения, ‑ важнейшее конкурентное преимущество информационной системы. Этими свойствами обладают продукты, реализованные на платформах "ПАРУС 7" и, особенно, "ПАРУС 8". Не будет исключением из этого правила и линейка продуктов на платформе "ПАРУС 10".

Используя подсистему "Дизайнер", партнеры и пользователи системы смогут заменить входящие в поставку алгоритмы, расширить возможности учетных разделов, создавать собственные отчеты. Использование оригинальной технологии позволит в перспективе настраивать пользовательский интерфейс системы, меняя внешний вид форм, с которыми работает конечный пользователь.

Масштабируемость и мультиплатформенность

Хорошая масштабируемость, т.е. способность системы увеличивать свою производительность при добавлении ресурсов, является важнейшим требованием к информационным системам в сфере автоматизации финансово-хозяйственной деятельности.

Платформа дает возможность работать как одному пользователю, так и в составе рабочей группы до нескольких сотен пользователей. В зависимости от решаемых задач все компоненты платформы (клиент, сервер приложений и СУБД) могут размещаться на одном или на нескольких специально выделенных для этого компьютерах.

02

В зависимости от потребностей потребителя могут применяться рабочие станции и серверы под управлением ОС Windows или Linux. В качестве СУБД могут использоваться MS SQL Server для Windows конфигурации или свободная СУБД PostgreSQL для Linux. В ближайшей перспективе платформа будет поддерживать СУБД Oracle.

Важнейшей особенностью платформы "ПАРУС 10" является возможность работать под управлением разных операционных систем (Windows и Linux), используя разные СУБД (MS SQL Server или PostgreSQL) для хранения информации. Важно то, что независимо от операционной системы работает один и тот же набор исполняемых модулей, созданный разработчиками прикладного решения. Другими словами логика работы решения не зависит от используемой операционной системы.

Новое для конечного пользователя

Интерфейс пользователя

Главным видимым отличием новой платформы, конечно, является интерфейс пользователя. Что нового в этом интерфейсе есть сейчас, а что будет реализовано в будущем.

Во-первых, интерфейс пользователя стал немодальным. Это означает, что пользователь может открыть сразу несколько окон редактирования, сравнивая разные документы, или запустив в одном разделе отработку, продолжить ввод документов в другом разделе.

Во-вторых, принято решение делать формы редактирования документов максимально приближенными к их бумажному виду. Это, мягко говоря, очень спорное решение с точки зрения теории построения пользовательского интерфейса. Однако проведенные нами исследования показывают, что конечные пользователи очень положительно отнеслись к этой инициативе.

В-третьих, мы постараемся создать индивидуальный интерфейс для каждого вида документа. Это означает, что формы ввода приходного кассового ордера и расходного кассового ордера будут отличаться.

Новое для специалистов IT-служб

Несколько СУБД для разных ОС

Один из способов сократить стоимость владения информационной системой – использовать свободное программное обеспечение (СПО). Однако при переходе на СПО могут возникнуть проблемы переподготовки конечных пользователей и обслуживающего персонала. Приложения, разработанные на платформе "ПАРУС 10", не требуют переподготовки пользователей при смене операционной системы по двум причинам. Во-первых, независимо от операционной системы работают физически одни и те же исполняемые модули, а значит, логика работы системы полностью сохраняется. Во-вторых, внешний вид пользовательского интерфейса отличается только способом отрисовки элементов управления (насколько закруглены углы у кнопки и т.п.).

Платформа может использовать СУБД MS SQL Server или СУБД PostgreSQL для хранения информации. Структура самой базы данных не зависит от используемой СУБД. Поэтому переход от одной СУБД к другой может быть за несколько часов выполнен простым переносом данных.

Поставка пакетами

Одним из важных отличий платформы "ПАРУС 10" от существующих платформ "ПАРУС 7" и "ПАРУС 8" является способ поставки и развертывания прикладных решений, выполненных на платформе. В системах "ПАРУС 7" и "ПАРУС 8" единицей развертывания были приложения и сервисы. При развертывании на рабочем месте (для системы "ПАРУС 7") или на сервере (для системы "ПАРУС 8") администратор указывал необходимые приложения, которые развертывались целиком. Приложение включает в себя все объекты базы данных и все исполняемые модули, относящиеся к данному приложению (предметной области).

Развертывание на платформе "ПАРУС 10" происходит по-другому. Разделы, справочники и функциональные возможности прикладной системы разбиваются на части, называемые пакетами. Пакет может зависеть от других пакетов. Например, пакет "Ядро бухгалтерии" содержит разделы "План счетов", "Хозяйственные операции", "Бухгалтерские справки" и зависит от пакетов, в которых, в том числе, поставляются разделы "Валюты" и "Единицы измерения". Вместо указания приложения, потребитель выбирает набор необходимых ему пакетов. Это дает возможность установить только те разделы, которые нужны в конкретной организации.

Конфигурация рабочих мест

Для каждого участка учета администратор системы может настроить набор разделов, с которым работает пользователь.

Новое для разработчика

Изначально платформа предназначалась для работы под ОС Windows с использованием СУБД Microsoft SQL Server и была разработана с использованием технологий Microsoft.NET на языке программирования C#. Чтобы удовлетворить новым требованиям, мы обеспечили работоспособность платформы под управлением ОС Linux с использованием свободной библиотеки MONO. Подсистема "Дизайнер" позволяет прикладному разработчику полностью абстрагироваться от того, под какой операционной системой и в каком окружении будет работать его решение. Этот эффект нами был достигнут за счет применения везде, где это возможно, метаданных и декларативных описаний. Также использование метаданных позволяет разработчику создавать интерфейс пользователя, который отображается практически одинаково как на Windows-, так и на Linux-компьютерах.

03

Подобный подход применим только в том случае, если у разработчика есть удобный инструмент, при помощи которого создаются все эти метаданные, разрабатывается код, проводится отладка. Таким инструментом стало замечательное средство разработки Microsoft Visual Studio, в которое мы интегрировали наши специализированные редакторы. При помощи этого инструмента разработчик создает решения, работающие под Windows и Linux, с графическим, а в перспективе, и WEB пользовательским интерфейсом. Еще раз надо подчеркнуть, что прикладной код и пользовательский интерфейс разрабатываются один раз, а работать могут под управлением разных ОС с использованием разных СУБД.

Использование метаданных, описывающих структуру прикладного решения, стало развитием идей, заложенных в продукте "Конструктор отраслевых расширений" на платформе "ПАРУС 8". В отличие от "ПАРУС 8" все прикладные решения на платформе изначально делаются с применением данной технологии, соответственно, не возникает проблемы "неописанных" разделов. Особенно важно для разработки то, что для отладки и написания кода приложений используется знакомое разработчику лучшее в мире средство разработки Microsoft Visual Studio.

Результатом деятельности прикладного разработчика является пакет развертывания. Пакет устанавливается у потребителя и не может быть изменен никем, кроме автора. Другие разработчики могут расширить функциональные возможности, заложенные в этом пакете, используя различные механизмы расширения, но не могут поменять внутреннюю логику его работы. Например, разработчик X создал пакет, содержащий некоторый документ X, пользовательский интерфейс и печатные формы к нему. Разработчик Y, автор другого пакета, может добавить возможность формирования документа X из документа Y или документа Y из документа X. Он также может создать на основе документа X собственный документ X2, добавив в него новую функциональность.

Платформа "ПАРУС 10" изначально проектировалась таким образом, чтобы создавать прикладные решения могли не только разработчики корпорации. Более того, изначально предусматривалась возможность вести распределенную разработку множеством команд, создающих взаимодополняющие решения.

Для создания прикладных решений на платформе "ПАРУС 10" корпорация привлекает не только собственные ресурсы, но и ресурсы партнеров. В настоящий момент активное участие в разработке принимает региональное отделение корпорации - "Южный Парус", специалистами которого создано решение "Муниципальное управление на платформе "ПАРУС 10". Особенностью этой разработки является то, что она ведется с использованием ресурсов корпорации (хранилища исходных кодов, серверов сборки и пр.).