Техническая реализация
Широкое распространение общеизвестной «клиент-серверной» архитектуры явилось толчком к массовой разработке биллинговых систем небольшими коллективами программистов средней квалификации. Простота и относительная высокая скорость разработки на встроенных в СУБД языках хранимых процедур при реализации простых алгоритмов начислений привела к тому, что рынок биллинговых систем буквально наводнён предложениями примитивных решений. Такие «биллинговые системы» могут считать только вперёд, и, в случае необходимости перерасчёта потребителя, оператор выполняет расчёт «вручную» на калькуляторе, а полученная в результате сумма регистрируется в системе, как «перерасчёт» в готовом виде. То есть, основная функция биллинговой системы: автоматический расчёт и перерасчёт стоимости коммунальных услуг, — не выполняется. Эти системы принято считать «регистраторами», и их полезность, в основном, сводится к формированию отчётности, однако ценность таких отчётов так же не велика вследствие лёгкой возможности их фальсификации из-за невозможности гарантированной защиты данных для двухуровневой архитектуры «клиент-серверных» разработок, тем более при наличии в них «ручных» перерасчётов.
Сложившаяся на рынке биллинговых систем ситуация объясняется отсутствием предложения на рынке системного ПО стандартных серверов приложений (MIDDLEWARE) для разработки таких систем. Некоторые разработчики программного обеспечения пытались для этой цели приспособить интернет сервер приложений, но из-за отсутствия в нём требуемого функционала, желаемого результата не получили.
В компании «Мегасофт» для решения данной проблемы была сформирована рабочая группа по разработке собственного инструментального средства — сервера приложений для биллинговых систем. К 1999 году разработка была успешно завершена и на свет появилось новое системное ПО «Server v.1.13 billing» - «программное средство для создания трёхуровневых прикладных систем для учёта израсходованных ресурсов», которое впоследствии было защищено авторским свидетельством.
На базе инструментального средства «Server v.1.13 billing» компанией «Мегасофт» была разработана серия новых биллинговых систем с трёхуровневой архитектурой «клиент - сервер приложений - сервер СУБД», функциональные возможности которых принципиально отличаются от возможностей существующих «клиент-серверных» разработок.
- Высокая скорость расчётов и реализация нетривиальной логики механизмов начисления и погашения стоимости коммунальных ресурсов (газ, вода, тепло, электроэнергия), как при наличии произвольно снятых контролерских и абонентских показаний (включая распознавание недостоверных показаний), так и при их отсутствии с учетом всего многообразия механизмов расчета льгот и субсидий достигнута путём разработки бизнес-функций на объектно-ориентированном языке C++ с хорошими средствами отладки и возможностью компиляции их в машинный код, что позволяет отказаться от хранимых процедур и избежать других недостатков интерпретаторов, а так же исключить жёсткую зависимость от фирмы разработчика СУБД.
- Одновременное использование разных вариантов рабочих мест, например, «толстый» клиент с большим набором возможностей (широкие, не достижимые в «тонком» клиенте сервисные возможности, включая подключение периферийного оборудования) под Windows и «тонкий», облегчённый клиент под браузер для интернет-технологий без ухудшения скорости и общих потребительских функций системы.
- Эффективное распределение вычислительной мощности, без её значительного снижения, на внутреннюю синхронизацию решаемых задач, за счёт распараллеливания внутренних процессов по процессорам и ядрам процессоров, а так же физического разнесения компонентов системы по разным машинам.
- Рациональное разделение биллинговой системы на компоненты позволяет развивать и модифицировать систему по частям, по мере возникновения производственной необходимости, так как изменение одного из компонентов не требует обязательного изменения других компонентов.
- Новый, недостижимый ранее уровень устойчивости системы к воздействию внешних дестабилизирующих факторов, таких, как например отсутствие стабильного электропитания рабочих мест, наличие компьютерных «вирусов», разрывы удалённого соединения. При большом количестве рабочих мест (внутрисетевые и внешние интернет коннекты) влияние на систему дестабилизирующих факторов резко возрастает и создаёт угрозу потери данных, что является невозможным вследствие применяемой архитектурной конструкции биллинговой системы.
- Несанкционированный доступ к базе данных с паролями пользователя, который возможен в обход клиентского приложения в двухуровневых «клиент-серверных» системах, исключён, так как клиент подключается только к серверу приложений и прямой доступ к данным для него полностью закрыт.
- Использование собственных протоколов обмена данными (между клиентом и сервером приложений) внутри стандартного транспортного протокола TCP/IP позволяет управлять передачей данных, менять размеры пакетов, архивировать, криптовать данные. Такие возможности системы позволяют выйти на принципиально новый уровень защиты информации при взаимодействии как через внутреннюю, так и через глобальную сеть, устойчиво и эффективно работать при резком падении скорости передачи данных.