Дэталізаванае тэхнічнае апісанне
Беларуская інфармацыйная платформа (далей БІП) — набор праграмна-тэхнічных рашэнняў, прызначаны для пабудовы масштабавальных размеркаваных воблачных інфармацыйных сістэм розных узроўняў складанасці.
Кампаненты воблачнай інфармацыйнай сістэмы: для пабудовы ІС на платформе БІП патрабуецца пэўны набор камп'ютарнага абсталявання, сістэмнага ПЗ і арганізацыі ліній сувязі паміж яе кампанентамі. У залежнасці ад прызначэння і памеру сістэмы можна выбраць абсталяванне неабходнай магутнасці: пачаць практычна з аднаго камп'ютара і нарошчваць колькасць і характарыстыкі абсталявання па меры росту патрэбы ў вылічальнай магутнасці.
Воблачны прынцып пабудовы дазваляе перанесці платформу ў ЦАД аднаго з пастаўшчыкоў паслугі воблачнага захоўвання даных і атрымаць значную эканомію на пабудове ўласнага цэнтра апрацоўкі даных і абслугоўваючым яго персанале.
У адрозненне ад заказнага праграмнага забеспячэння, якое рэалізуе пэўнае ТЗ і пасля пачатку эксплуатацыі выконвае толькі фіксаваную колькасць закладзеных у праекце магчымасцей, пабудаваныя на платформе ІС дазваляюць дапаўняць іх па меры росту новымі магчымасцямі.
Для гэтага распрацавана канцэпцыя «інфармацыйнага рэсурсу» (ІР) — праграмна-тэхнічнага модуля, што працуе ў рамках тэхналогій платформы. Усе службовыя аперацыі (бяспека, журнал аперацый, механізмы блокчэйна) выконваюцца службовымі кампанентамі платформы; у спецыялізаваны софт ІР выконвае патрэбную заказчыку бізнес-логіку.
Размеркаваная воблачная ІС складаецца з наступных асноўных кампанент. Кожная разглядаецца асобна, але толькі разам яны складаюць цэласную сістэму апрацоўкі вялікіх масіваў даных вялікай колькасцю карыстальнікаў у рэжыме анлайн-доступу да актуальных даных.
Мал. 1. Архітэктура воблачнай сістэмы БІП: рабочыя месцы, серверы прыкладанняў, сервер БД і файлавы сервер
Любая воблачная сістэма складаецца з пералічаных вышэй кампанент і/або іх аналагаў.
Сістэмны стэк платформы: АС Linux + СУБД PostgreSQL + HTTP-серверы Apache/nginx + платформавая выконваючая сістэма BCLIP. Канкрэтны дыстрыбутыў Linux падбіраецца пад патрабаванні заказчыка — платформа не прывязана да аднаго дыстрыбутыва.
Прызначэнне. СБД — «сэрца» ІС, паколькі захаванне і апрацоўка даных — яе ключавая функцыя. Надзейнасць захавання і аператыўнасць работы з данымі — асноўныя паказчыкі паспяховасці сістэмы.
Патрабаванні да абсталявання. Выдзяленне СБД у асобны кампанент дае магчымасць выкарыстоўваць абсталяванне рознага ўзроўню магутнасці. Практычна любы сучасны камп'ютар можа быць ужыты як СБД пачатковага ўзроўню. Больш магутныя сістэмы ўключаюць выдзеленыя падсістэмы захавання даных, кластарызацыю і рэплікацыю, размеркаванне апрацоўкі паміж некалькімі камп'ютарамі ў тэрытарыяльна размеркаваных ЦАДах — захаванасць даных гарантуецца аж да разбурэння ЦАДа.
Сістэмнае ПЗ:
Універсальная інтэграваная структура БД распрацавана кампаніяй спецыяльна для пабудовы размеркаваных ІС для сумеснай работы карыстальнікаў розных кампаній на падставе агульнай НДІ з глабальнымі аб'ектамі і магчымасцю выдзялення інфармацыйных блокаў толькі для супрацоўнікаў асобнага прадпрыемства. Гэта дазволіла:
Ва ўсіх ІС, што распрацоўваюцца кампаніяй, прадугледжаны ўсе варыянты гарантаванай захаванасці. Карыстальнікам воблачных ІС даецца 15-хвілінная гарантыя захаванасці даных: пры разбурэнні носьбітаў інфармацыі гарантуецца аднаўленне даных з стратай максімум 15 апошніх хвілін да «катастрофы».
Прызначэнне. СП — «мозг» ІС, апрацоўка запытаў карыстальнікаў. Разам з СБД забяспечвае аператыўнасць: унясенне інфармацыі, змяненне, фарміраванне справаздачнасці.
Абсталяванне. Любы сучасны камп'ютар як СП пачатковага ўзроўню. Магутныя сістэмы — кластарызацыя і размеркаванне нагрузкі паміж некалькімі камп'ютарамі ў размеркаваных ЦАДах, што гарантуе працаздольнасць пры DDOS-атаках на адзін з ЦАДаў.
ПЗ: АС Linux; HTTP-серверы Apache або nginx; выконваючая сістэма BCLIP для выканання CGI-модуляў.
Акрамя даных у табліцах, інфармацыя захоўваецца ў выглядзе файлаў, «прывязаных» да аб'ектаў ІС: тэксты дагавораў, ТТН, графічныя вобразы. Традыцыйна — палі тыпу BLOB, у якіх недахопы:
Платформа прадугледжвае асобны ІР «файлавы сервер»: табліца Т185 з данымі пра файлы + выдзеленая дыскавая прастора для саміх файлаў. Адмова ад BLOB-палёў дае:
Асяроддзе распрацоўкі дазваляе ствараць прыкладанні з трыма варыянтамі інтэрфейсу:
ПЗ АРМ: АС Linux (адкрытая альтэрнатыва прапрыетарным АС). Для тэкставых прыкладанняў — мінімальныя патрабаванні да абсталявання.
Для прыкладанняў з адзінай БД патрэбныя каналы сувязі з СБД і/або СП. Два асноўныя патокі даных: HTTP паміж браўзерам і СП, SQL-запыты да СБД па TCP/IP. TCP/IP прымяняецца і пры абмене з апаратурай (напрыклад, апрацоўка даных з аналізатараў у «Лабараторнай інфармацыйнай сістэме»). Улічваюцца тыпы і аб'ёмы трафіку.
Тры ўзроўні арганізацыі:
Мал. 2. Узроўні сеткавых пратаколаў і асобны набор фарматаў файлаў
Прыкладны ўзровень (высокаўзроўневыя пратаколы): HTTP / HTTPS, WebSocket, FTP, патокавая рэплікацыя БД і файлаў.
Транспартны ўзровень: TCP/IP, UDP.
Сеткавы / канальны ўзровень: Ethernet, WiFi.
Нізкаўзроўневыя інтэрфейсы і пратаколы: COM (RS232, RS485), PRINTER, USB.
Фарматы файлаў (асобна ад пратаколаў): TXT, JSON, XML, DBF, HTML. Прымяненне гэтых фарматаў пры абмене данымі са староннімі сістэмамі апісана ў раздзеле 12 «Арганізацыя ўзаемадзеяння са староннімі ІС».
Платформа БІП — набор ІР, кожны вырашае пэўную задачу апрацоўкі інфармацыі ў агульнай прасторы даных з вялікай колькасцю карыстальнікаў. Паняцце «ІР» уведзена замест паняцця «ІС»: ІС вырашае пэўнае кола задач пэўным колам карыстальнікаў, а БІП дазваляе ствараць набор інфармацыйных сэрвісаў з дапрацоўкай бягучых і стварэннем новых па меры патрэб. Тэхналогіі дазваляюць развіваць ІС па метадалогіі Agile; сэрвісы могуць стварацца, суправаджацца і развівацца рознымі камандамі распрацоўшчыкаў пад розныя класы карыстальнікаў.
Метады развіцця сэрвісу:
Захаванне зыходнага кода і налад у абароненай БД. У абароненай базе даных захоўваецца не толькі інфармацыя, але і сама логіка работы сістэмы: зыходны код бізнес-логікі, а таксама асобныя канфігурацыі яе налады — асобна для розных прадпрыемстваў у адным воблаку і асобна для рабочых месцаў унутры аднаго прадпрыемства, шаблоны дакументаў з рознымі варыянтамі тэксту для розных прадпрыемстваў і налады інтэрфейсу рабочага месца. Зыходны код кампілюецца непасрэдна з базы даных. Паколькі на рабочых месцах выкарыстоўваецца звычайны браўзер, абнаўленне інтэрфейсу і бізнес-логікі ў кліента адбываецца «на ляту» — без якіх-небудзь дадатковых дзеянняў па ўкараненні абнаўленняў. Гэта забяспечвае цэнтралізаванае кіраванне версіямі і кантроль доступу.
Убудаваная сістэма дакументавання — інтэграваная ў платформу сістэма для захавання ўсёй дакументацыі ў адзінай БД з прадастаўленнем інфармацыі па правах доступу. Даныя арганізаваны дрэвападобна: раздзелы пранумараваны, маюць бацьку і падпарадкаваныя, укладзенасць не абмежавана. Праграма чытання атрымлівае нумар раздзела як параметр — каманды чытання размяшчаюцца ў патрэбных месцах. Кожнаму раздзелу прызначаецца свой узровень доступу (ніжні — «госць»). У тэкст акрамя CSS-фарматаванага HTML можна ўстаўляць спасылкі на ІР з файламі, спасылкі на графіку, відэа, аўдыё. Магчыма фарміраванне адзінага HTML-дакумента з усімі даччынымі раздзеламі для злітнага прагляду.
Варыянты пабудовы ІР:
Базавыя мовы: BCLIP (бізнес-працэсы) і JavaScript (браўзерны інтэрфейс). Пры выкарыстанні браўзера як інтэрфейсу дапушчальныя ўсе мовы, што падтрымліваюць CGI-пратакол.
Тэкставы інтэрфейс: даступныя тыя ж варыянты доступу да даных, што і ў графічных прыкладанняў, але замест RDS — пратакол SSH: на парадак менш трафіку, эканамней каналы сувязі. Выкарыстоўваецца сістэмнымі праграмістамі для работы з выдаленымі СБД/СП. Платформа дазваляе ствараць тэкставыя прыкладанні і выкарыстоўваць іх для нізкаўзроўневай работы на выдаленых рэсурсах. Базавая мова — BCLIP; дзе не патрабуецца захаванне ў БД — любыя мовы Linux.
CGI (Common Gateway Interface): праграма не мае непасрэднай сувязі з карыстальнікам; выклікаецца HTTP-серверам пры запыце браўзера, адказ канвертуецца ў HTTP-адказ. Па канале сувязі ідзе трафік HTTP — самы прасунуты ў частцы бяспекі і надзейнасці, што развіваецца пратакол. Стандарт HTTP і HTML кіруецца W3C — гарантавана кросаплатформавасць. Адсутнасць непасрэдных зносін з аператарам патрабуе механізмаў кантролю работы; платформа (20+ гадоў вопыту) выпрацавала такія механізмы на мове BCLIP для распрацоўкі і суправаджэння складаных ІС. Таксама дапушчальныя любыя мовы Linux там, дзе не патрабуецца захаванне ў БД.
Графічны інтэрфейс: прыкладанне на АРМе атрымлівае прамы доступ да выдаленага СБД па лакальнай сетцы/Intranet/Internet і перадае SQL-запыты. Альтэрнатыва — кліент-серверная архітэктура з «выдаленым выклікам працэдур» (RPC): зніжае патрабаванні да канала, але ўскладняе распрацоўку (два прыкладанні замест аднаго). Трэці варыянт — размяшчэнне прыкладання на СП і выдалены рабочы стол (RDS) на АРМе: па канале перадаюцца змяненні графічнага вобраза (мае аналагі і ў іншых АС).
Паходжанне і эвалюцыя. Выконваючая сістэма BCLIP — кампілятар, сумяшчальны з мовай CA-Clipper (xBase), створаны на рубяжы 1990–2000-х гадоў маскоўскай кампаніяй «АйтиК» як свабодны праект пад ліцэнзіяй GPL. Яго задача — перанос банкаўскіх і карпаратыўных прыкладанняў, напісаных для CA-Clipper 5.2/5.3 пад DOS, на Linux/Unix без перапісвання. Агульны продак BCLIP і праекта Harbour — мова CA-Clipper (Nantucket, 1985; з 1992 года — Computer Associates). Harbour — больш позняя паралельная галіна той жа лініі xBase, а не продак BCLIP.
BCLIP у платформе БІП уяўляе сабой вузкаспецыялізаваную рэалізацыю, аптымізаваную для работы ў Linux-інфраструктуры Enterprise-узроўню і інтэграваную з СУБД PostgreSQL.
Моўная парадыгма: лаканічны сінтаксіс для работы з БД і элементы метапраграмавання. BCLIP арыентаваны на дэкларатыўнае апісанне бізнес-логікі і дазваляе кампактна выяўляць аперацыі з данымі. Ключавыя магчымасці:
Аператары работы з базамі даных — лаканічны сінтаксіс для стварэння экранных формаў уводу даных з валідацыяй:
USE Customer SHARED NEW
@ 1, 0 SAY "CustNum" GET Customer->CustNum VALID Customer->CustNum > 0
READ
Аператар макрасаў (runtime-кампілятар) — выкананне кампіляцыі і выканання адвольнага выразу ў рантайме, дынамічнае фарміраванне зваротаў да палёў БД, генерацыя кода на аснове карыстальніцкага ўводу:
&( "Customer->" + cFieldName )
&( cExpression )
CodeBlocks (замыканні) — захоп зменных з вонкавага кантэксту, падтрымка замыканняў, дэлегатаў і функцыянальных аб'ектаў:
{ |x, y| x + y + nExternalVar }
Аб'ектна-арыентаванае праграмаванне — класы, наследаванне, інкапсуляцыя, палімарфізм:
CREATE CLASS Person
VAR Name
METHOD New( cName )
METHOD Describe()
ENDCLASS
Архітэктура падключэння да баз даных. BCLIP рэалізуе архітэктуру Replaceable Database Drivers (RDD), што забяспечвае незалежнасць ад канкрэтнай СУБД: PostgreSQL (асноўная), MySQL, SQLite, Firebird, Oracle, ODBC, а таксама сумяшчальнасць з фарматамі xBase (DBF, DBFNTX, DBFCDX).
Ліцэнзія і адкрытасць. BCLIP распаўсюджваецца пад ліцэнзіяй GPL (свабодны праект «АйтиК»). Гэта забяспечвае незалежнасць ад вендара, доступ да зыходнага кода і задакументаваны сінтаксіс, сумяшчальны з CA-Clipper.
| Характарыстыка | Значэнне |
|---|---|
| Сінтаксіс | Лаканічны, арыентаваны на работу з БД |
| Метапраграмаванне | Аператар макрасаў & (runtime-кампіляцыя) |
| Функцыянальныя магчымасці | CodeBlocks (замыканні, лямбды) |
| Парадыгма ААП | Класы, наследаванне, інкапсуляцыя |
| Мэтавая АС | Linux |
| Асноўная СУБД | PostgreSQL |
| Дадатковыя СУБД | MySQL, SQLite, Firebird, Oracle, ODBC |
| Ліцэнзія | GPL (свабодны праект «АйтиК», адкрыты зыходны код) |
| Год стварэння тэхналогіі | рубеж 1990–2000-х |
| Сумяшчальнасць з мовай | CA-Clipper 5.2/5.3 (xBase) |
Абгрунтаванне выбару. BCLIP абраны ў якасці выконваючай сістэмы платформы БІП па наступных прычынах:
Мал. 3. Тыпы табліц платформы і мадэль размежавання правоў доступу
У БД платформы прадугледжаны табліцы чатырох тыпаў (плюс кадыфікатары), што адрозніваюцца спосабам унясення, узроўнем доступу і правіламі захавання:
Аперацыі змянення даных адлюстроўваюцца ў журнале аперацый — магчымасць «разбору палётаў» пра прычыны з'яўлення няверных даных. Адказнасць за дакладнасць даных табліц першага тыпу вызначаецца пасадавымі абавязкамі супрацоўнікаў службы суправаджэння.
Мал. 4. Узроўні абароны і атэстацыя ААЦ
Розныя інфармацыйныя сістэмы, разгорнутыя на платформе БІП, неаднаразова праходзілі атэстацыю на адпаведнасць патрабаванням класаў абароны 3-ін, 3-юр, 3-спе і 3-ДСП. Атэстацыі падлягаюць канкрэтныя разгорнутыя ІС, а не аперацыйная сістэма і не платформа як такая: у працэсе атэстацыі вызначаюцца патрабаванні да работы ІС і спосабаў падключэння карыстальнікаў. Калі арганізацыя падключаецца да ўжо атаставанага рашэння, уласная атэстацыя ёй можа не спатрэбіцца; новае рашэнне, створанае на базе платформы, праходзіць палегчаную атэстацыю. У выніку ствараецца абароненая інфармацыйная прастора для апрацоўкі персанальных, медыцынскіх і спецыяльных даных.
Вопыт работы з беларускімі VPN-рашэннямі. Кампанія мае вопыт пабудовы абароненых каналаў сувязі на базе беларускіх VPN-рашэнняў: Bel VPN, itVPN, SCrypto. Аказваецца тэхнічная падтрымка па іх наладзе і суправаджэнні.
Патрабаванні па падключэнні: каналы сувязі, што праходзяць праз інтэрнэт, павінны быць абаронены ад старонняга ўздзеяння атаставаным спосабам; кожная лакальная сетка і кожнае рабочае месца — праз абаронены канал; па незаабароненым канале доступу да ІС няма.
Па законе карыстальнікі вызначаюць адказнага — «афіцэра бяспекі». У выніку прадпрыемства апрацоўвае персанальныя даныя сваіх кліентаў у абароненай ІС і вызваляецца ад неабходнасці самастойна выконваць мерапрыемствы па атэстацыі сваёй лакальнай ІС. Выконваюцца патрабаванні нарматыўнага дакумента ЗАГАД ААЦ ПРЫ ПРЭЗІДЭНЦЕ РБ ад 20 лютага 2020 г. N 66 «Аб мерах па рэалізацыі Указа Прэзідэнта РБ ад 9 снежня 2019 г. N 449».
Мал. 5. Паралельная рэплікацыя паміж двума ЦАДамі і пераключэнне пры адмове асноўнай пляцоўкі
Апаратныя збоі СБД (аж да разбурэння дыскавай падсістэмы):
Парушэнні работы ЦАДа: прычына больш рэдкая, але наступствы разбуральныя (прыклад — пажар ЦАДа ў Адэсе). Абарона — рэплікацыя БД: адна з рэплік у іншым ЦАДзе. Пры выхадзе з ладу асноўнага ЦАДа ІС пераразмяркоўваецца на запасныя пляцоўкі, пераналадка займае каля гадзіны. Карыстальнікам дастаткова зайсці з рэзервовага адрасу без дадатковых дзеянняў.
Памылкі супрацоўнікаў:
Памылкі ПЗ: часткова выкананая аперацыя прадухіляецца транзакцыйнасцю; некарэктна выкананая — выпраўляецца старнаваннем праз журнал аперацый з наступным заказам выпраўлення ў пастаўшчыка.
Работа 24/7: рэзервовыя СБД і рэзервовыя СП размешчаны ў розных ЦАДах; для СП — дынамічнае пераразмеркаванне нагрузкі; для СБД — пераразмеркаванне запытаў ужо на ўзроўні ПЗ у залежнасці ад іх тыпаў. У сукупнасці гэта дазваляе нарошчваць магутнасць даданнем колькасці і магутнасці камп'ютараў.
Файлавы абмен — выгрузка/укачка даных. Падтрымліваныя фарматы ўкачкі:
Акрамя гэтых фарматаў — прыём файлаў практычна любога фармату з прымацаваннем да аб'ектаў ІС. Тыя ж фарматы падтрымліваюцца і для перадачы даных у староннія ІС, плюс усе фарматы стандарту HTML, што падтрымліваюцца сучаснымі браўзерамі.
Поўны пералік пратаколаў і фарматаў прыведзены ў раздзеле 3 «Каналы сувязі» (падраздзел «Пратаколы ўзаемадзеяння»).