БІП ← На галоўную
RU EN BE

Апісанне платформы БІП

Дэталізаванае тэхнічнае апісанне

Агульнае апісанне

Беларуская інфармацыйная платформа (далей БІП) — набор праграмна-тэхнічных рашэнняў, прызначаны для пабудовы масштабавальных размеркаваных воблачных інфармацыйных сістэм розных узроўняў складанасці.

Кампаненты воблачнай інфармацыйнай сістэмы: для пабудовы ІС на платформе БІП патрабуецца пэўны набор камп'ютарнага абсталявання, сістэмнага ПЗ і арганізацыі ліній сувязі паміж яе кампанентамі. У залежнасці ад прызначэння і памеру сістэмы можна выбраць абсталяванне неабходнай магутнасці: пачаць практычна з аднаго камп'ютара і нарошчваць колькасць і характарыстыкі абсталявання па меры росту патрэбы ў вылічальнай магутнасці.

Воблачны прынцып пабудовы дазваляе перанесці платформу ў ЦАД аднаго з пастаўшчыкоў паслугі воблачнага захоўвання даных і атрымаць значную эканомію на пабудове ўласнага цэнтра апрацоўкі даных і абслугоўваючым яго персанале.

1. Інфармацыйны рэсурс замест «фіксаванага ТЗ»

У адрозненне ад заказнага праграмнага забеспячэння, якое рэалізуе пэўнае ТЗ і пасля пачатку эксплуатацыі выконвае толькі фіксаваную колькасць закладзеных у праекце магчымасцей, пабудаваныя на платформе ІС дазваляюць дапаўняць іх па меры росту новымі магчымасцямі.

Для гэтага распрацавана канцэпцыя «інфармацыйнага рэсурсу» (ІР) — праграмна-тэхнічнага модуля, што працуе ў рамках тэхналогій платформы. Усе службовыя аперацыі (бяспека, журнал аперацый, механізмы блокчэйна) выконваюцца службовымі кампанентамі платформы; у спецыялізаваны софт ІР выконвае патрэбную заказчыку бізнес-логіку.

2. Кампаненты воблачнай інфармацыйнай сістэмы

Размеркаваная воблачная ІС складаецца з наступных асноўных кампанент. Кожная разглядаецца асобна, але толькі разам яны складаюць цэласную сістэму апрацоўкі вялікіх масіваў даных вялікай колькасцю карыстальнікаў у рэжыме анлайн-доступу да актуальных даных.

Архітэктура воблачнай сістэмы БІП

Мал. 1. Архітэктура воблачнай сістэмы БІП: рабочыя месцы, серверы прыкладанняў, сервер БД і файлавы сервер

Любая воблачная сістэма складаецца з пералічаных вышэй кампанент і/або іх аналагаў.

Сістэмны стэк платформы: АС Linux + СУБД PostgreSQL + HTTP-серверы Apache/nginx + платформавая выконваючая сістэма BCLIP. Канкрэтны дыстрыбутыў Linux падбіраецца пад патрабаванні заказчыка — платформа не прывязана да аднаго дыстрыбутыва.

2.1. Сервер базы даных (СБД)

Прызначэнне. СБД — «сэрца» ІС, паколькі захаванне і апрацоўка даных — яе ключавая функцыя. Надзейнасць захавання і аператыўнасць работы з данымі — асноўныя паказчыкі паспяховасці сістэмы.

Патрабаванні да абсталявання. Выдзяленне СБД у асобны кампанент дае магчымасць выкарыстоўваць абсталяванне рознага ўзроўню магутнасці. Практычна любы сучасны камп'ютар можа быць ужыты як СБД пачатковага ўзроўню. Больш магутныя сістэмы ўключаюць выдзеленыя падсістэмы захавання даных, кластарызацыю і рэплікацыю, размеркаванне апрацоўкі паміж некалькімі камп'ютарамі ў тэрытарыяльна размеркаваных ЦАДах — захаванасць даных гарантуецца аж да разбурэння ЦАДа.

Сістэмнае ПЗ:

Універсальная інтэграваная структура БД распрацавана кампаніяй спецыяльна для пабудовы размеркаваных ІС для сумеснай работы карыстальнікаў розных кампаній на падставе агульнай НДІ з глабальнымі аб'ектамі і магчымасцю выдзялення інфармацыйных блокаў толькі для супрацоўнікаў асобнага прадпрыемства. Гэта дазволіла:

Тэхналогіі гарантаванай захаванасці даных

Ва ўсіх ІС, што распрацоўваюцца кампаніяй, прадугледжаны ўсе варыянты гарантаванай захаванасці. Карыстальнікам воблачных ІС даецца 15-хвілінная гарантыя захаванасці даных: пры разбурэнні носьбітаў інфармацыі гарантуецца аднаўленне даных з стратай максімум 15 апошніх хвілін да «катастрофы».

2.2. Сервер прыкладанняў (СП)

Прызначэнне. СП — «мозг» ІС, апрацоўка запытаў карыстальнікаў. Разам з СБД забяспечвае аператыўнасць: унясенне інфармацыі, змяненне, фарміраванне справаздачнасці.

Абсталяванне. Любы сучасны камп'ютар як СП пачатковага ўзроўню. Магутныя сістэмы — кластарызацыя і размеркаванне нагрузкі паміж некалькімі камп'ютарамі ў размеркаваных ЦАДах, што гарантуе працаздольнасць пры DDOS-атаках на адзін з ЦАДаў.

ПЗ: АС Linux; HTTP-серверы Apache або nginx; выконваючая сістэма BCLIP для выканання CGI-модуляў.

2.3. Файлавы сервер (ФС)

Акрамя даных у табліцах, інфармацыя захоўваецца ў выглядзе файлаў, «прывязаных» да аб'ектаў ІС: тэксты дагавораў, ТТН, графічныя вобразы. Традыцыйна — палі тыпу BLOB, у якіх недахопы:

Платформа прадугледжвае асобны ІР «файлавы сервер»: табліца Т185 з данымі пра файлы + выдзеленая дыскавая прастора для саміх файлаў. Адмова ад BLOB-палёў дае:

2.4. АРМ карыстальніка

Асяроддзе распрацоўкі дазваляе ствараць прыкладанні з трыма варыянтамі інтэрфейсу:

ПЗ АРМ: АС Linux (адкрытая альтэрнатыва прапрыетарным АС). Для тэкставых прыкладанняў — мінімальныя патрабаванні да абсталявання.

3. Каналы сувязі

Для прыкладанняў з адзінай БД патрэбныя каналы сувязі з СБД і/або СП. Два асноўныя патокі даных: 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 «Арганізацыя ўзаемадзеяння са староннімі ІС».

4. Воблачная ІС як набор інфармацыйных рэсурсаў

Платформа БІП — набор ІР, кожны вырашае пэўную задачу апрацоўкі інфармацыі ў агульнай прасторы даных з вялікай колькасцю карыстальнікаў. Паняцце «ІР» уведзена замест паняцця «ІС»: ІС вырашае пэўнае кола задач пэўным колам карыстальнікаў, а БІП дазваляе ствараць набор інфармацыйных сэрвісаў з дапрацоўкай бягучых і стварэннем новых па меры патрэб. Тэхналогіі дазваляюць развіваць ІС па метадалогіі Agile; сэрвісы могуць стварацца, суправаджацца і развівацца рознымі камандамі распрацоўшчыкаў пад розныя класы карыстальнікаў.

Метады развіцця сэрвісу:

Захаванне зыходнага кода і налад у абароненай БД. У абароненай базе даных захоўваецца не толькі інфармацыя, але і сама логіка работы сістэмы: зыходны код бізнес-логікі, а таксама асобныя канфігурацыі яе налады — асобна для розных прадпрыемстваў у адным воблаку і асобна для рабочых месцаў унутры аднаго прадпрыемства, шаблоны дакументаў з рознымі варыянтамі тэксту для розных прадпрыемстваў і налады інтэрфейсу рабочага месца. Зыходны код кампілюецца непасрэдна з базы даных. Паколькі на рабочых месцах выкарыстоўваецца звычайны браўзер, абнаўленне інтэрфейсу і бізнес-логікі ў кліента адбываецца «на ляту» — без якіх-небудзь дадатковых дзеянняў па ўкараненні абнаўленняў. Гэта забяспечвае цэнтралізаванае кіраванне версіямі і кантроль доступу.

Убудаваная сістэма дакументавання — інтэграваная ў платформу сістэма для захавання ўсёй дакументацыі ў адзінай БД з прадастаўленнем інфармацыі па правах доступу. Даныя арганізаваны дрэвападобна: раздзелы пранумараваны, маюць бацьку і падпарадкаваныя, укладзенасць не абмежавана. Праграма чытання атрымлівае нумар раздзела як параметр — каманды чытання размяшчаюцца ў патрэбных месцах. Кожнаму раздзелу прызначаецца свой узровень доступу (ніжні — «госць»). У тэкст акрамя CSS-фарматаванага HTML можна ўстаўляць спасылкі на ІР з файламі, спасылкі на графіку, відэа, аўдыё. Магчыма фарміраванне адзінага HTML-дакумента з усімі даччынымі раздзеламі для злітнага прагляду.

5. Прыклады праектаў на базе платформы

Варыянты пабудовы ІР:

6. Распрацоўка прыкладнога ПЗ

Базавыя мовы: 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) на АРМе: па канале перадаюцца змяненні графічнага вобраза (мае аналагі і ў іншых АС).

7. Выконваючая сістэма BCLIP: тэхнічныя магчымасці

Паходжанне і эвалюцыя. Выконваючая сістэма 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 абраны ў якасці выконваючай сістэмы платформы БІП па наступных прычынах:

  1. Правераная надзейнасць — тэхналогія эксплуатуецца з 1985 года, мільёны прыкладанняў у банкаўскай, страхавой і кіраўніцкай сферах.
  2. Высокая прадукцыйнасць — кампіляваны код з магчымасцю runtime-аптымізацыі.
  3. Масштабавальнасць — падтрымка мноства сервераў прыкладанняў.
  4. Адкрытасць — адсутнасць vendor lock-in, поўная адчужальнасць кода.
  5. Імпартанезалежнасць — адкрыты зыходны код, незалежнасць ад вендара.
  6. Сумяшчальнасць — магчымасць пераносу кода з іншых xBase-дыялектаў (Harbour, xHarbour, FlagShip, FoxPro).

8. Структура базы даных

Тыпы табліц і размежаванне правоў

Мал. 3. Тыпы табліц платформы і мадэль размежавання правоў доступу

У БД платформы прадугледжаны табліцы чатырох тыпаў (плюс кадыфікатары), што адрозніваюцца спосабам унясення, узроўнем доступу і правіламі захавання:

Аперацыі змянення даных адлюстроўваюцца ў журнале аперацый — магчымасць «разбору палётаў» пра прычыны з'яўлення няверных даных. Адказнасць за дакладнасць даных табліц першага тыпу вызначаецца пасадавымі абавязкамі супрацоўнікаў службы суправаджэння.

9. Адпаведнасць патрабаванням бяспекі інфармацыі

Мадэль бяспекі і атэстацыя ААЦ

Мал. 4. Узроўні абароны і атэстацыя ААЦ

Розныя інфармацыйныя сістэмы, разгорнутыя на платформе БІП, неаднаразова праходзілі атэстацыю на адпаведнасць патрабаванням класаў абароны 3-ін, 3-юр, 3-спе і 3-ДСП. Атэстацыі падлягаюць канкрэтныя разгорнутыя ІС, а не аперацыйная сістэма і не платформа як такая: у працэсе атэстацыі вызначаюцца патрабаванні да работы ІС і спосабаў падключэння карыстальнікаў. Калі арганізацыя падключаецца да ўжо атаставанага рашэння, уласная атэстацыя ёй можа не спатрэбіцца; новае рашэнне, створанае на базе платформы, праходзіць палегчаную атэстацыю. У выніку ствараецца абароненая інфармацыйная прастора для апрацоўкі персанальных, медыцынскіх і спецыяльных даных.

Вопыт работы з беларускімі VPN-рашэннямі. Кампанія мае вопыт пабудовы абароненых каналаў сувязі на базе беларускіх VPN-рашэнняў: Bel VPN, itVPN, SCrypto. Аказваецца тэхнічная падтрымка па іх наладзе і суправаджэнні.

Патрабаванні па падключэнні: каналы сувязі, што праходзяць праз інтэрнэт, павінны быць абаронены ад старонняга ўздзеяння атаставаным спосабам; кожная лакальная сетка і кожнае рабочае месца — праз абаронены канал; па незаабароненым канале доступу да ІС няма.

Па законе карыстальнікі вызначаюць адказнага — «афіцэра бяспекі». У выніку прадпрыемства апрацоўвае персанальныя даныя сваіх кліентаў у абароненай ІС і вызваляецца ад неабходнасці самастойна выконваць мерапрыемствы па атэстацыі сваёй лакальнай ІС. Выконваюцца патрабаванні нарматыўнага дакумента ЗАГАД ААЦ ПРЫ ПРЭЗІДЭНЦЕ РБ ад 20 лютага 2020 г. N 66 «Аб мерах па рэалізацыі Указа Прэзідэнта РБ ад 9 снежня 2019 г. N 449».

10. Забеспячэнне захаванасці інфармацыі і працаздольнасці

Рэплікацыя і пераключэнне паміж ЦАД

Мал. 5. Паралельная рэплікацыя паміж двума ЦАДамі і пераключэнне пры адмове асноўнай пляцоўкі

Апаратныя збоі СБД (аж да разбурэння дыскавай падсістэмы):

Парушэнні работы ЦАДа: прычына больш рэдкая, але наступствы разбуральныя (прыклад — пажар ЦАДа ў Адэсе). Абарона — рэплікацыя БД: адна з рэплік у іншым ЦАДзе. Пры выхадзе з ладу асноўнага ЦАДа ІС пераразмяркоўваецца на запасныя пляцоўкі, пераналадка займае каля гадзіны. Карыстальнікам дастаткова зайсці з рэзервовага адрасу без дадатковых дзеянняў.

Памылкі супрацоўнікаў:

Памылкі ПЗ: часткова выкананая аперацыя прадухіляецца транзакцыйнасцю; некарэктна выкананая — выпраўляецца старнаваннем праз журнал аперацый з наступным заказам выпраўлення ў пастаўшчыка.

Работа 24/7: рэзервовыя СБД і рэзервовыя СП размешчаны ў розных ЦАДах; для СП — дынамічнае пераразмеркаванне нагрузкі; для СБД — пераразмеркаванне запытаў ужо на ўзроўні ПЗ у залежнасці ад іх тыпаў. У сукупнасці гэта дазваляе нарошчваць магутнасць даданнем колькасці і магутнасці камп'ютараў.

11. Размежаванне правоў доступу

12. Арганізацыя ўзаемадзеяння са староннімі ІС

Файлавы абмен — выгрузка/укачка даных. Падтрымліваныя фарматы ўкачкі:

Акрамя гэтых фарматаў — прыём файлаў практычна любога фармату з прымацаваннем да аб'ектаў ІС. Тыя ж фарматы падтрымліваюцца і для перадачы даных у староннія ІС, плюс усе фарматы стандарту HTML, што падтрымліваюцца сучаснымі браўзерамі.

Поўны пералік пратаколаў і фарматаў прыведзены ў раздзеле 3 «Каналы сувязі» (падраздзел «Пратаколы ўзаемадзеяння»).

Палітыка апрацоўкі персанальных даных

← На галоўную