tri_botinka (tri_botinka) wrote,
tri_botinka
tri_botinka

"Голем" с Единого портала

Утверждать, что разрабатывая информационную систему, можно жить в "чистом программировании" и не погружаться в особенности ее эксплуатации и правовую основу ее функционирования - несерьезное заявление.

Толковый аналитик всегда спросит про условия применения ИС, условия внесения изменений. Как минимум выяснит про "конечные ограничения", которые следует наложить на инфтерфейсы функций, типы данных в полях ввода, структуре данных.

И это "ограничение" - один из важнейших инструментов написания эффективного кода, что ежедневно доказывается практикой.
В 97 году в почившем ныне журнале "СУБД" описывался интересный пример написания сложной информационной системы "Экспресс-3" - которая продает железнодорожные билеты и осуществляет планирование железнодорожных перевозок. РЖД объявило тендер и на конкурс среагировало несколько команд достаточно амбициозных разработчиков 
www.lib.csu.ru/dl/bases/prg/dbms/1997/04/61.html  
Забавно - но результаты пробных тестов озадачили даже самих заказчиков. Система, которая была реализована экспертами от Oracle, обогнала прототип на Adabas от текущих разработчиков системы ... в миллион раз (!) Такое драматическое отличие нельзя объяснить только аппаратной платформой - была произведена глубокая оптимизация структур и типов данных.

Например - наложено ограничение в 255 вагонов в одном составе или 255 пассажиров в одном вагоне, что дало возможность применить тип данных не float, а smallint  ну и т.д. Также были приняты предположения - что один и тот же покупатель билета не может одновременно покупать билет на разных станциях с интервалом меньше 30 минут, что было заложено в параметры репликации и оценки реактивности системы.

Итог был ожидаем - РЖД обвинило "лидеров" в грубейшем отклонении от задания, а разработчики обиделись на РЖД, заявив что автоматизировать "все и везде" без разумного ограничения функциональности и типов данных бесмыссленно. Оптимизировать код можно только зная физику процессов, а настаивать на требовании использовать типы 2^16 для хранения номера вагона в составе глупо..   Дискуссия привлекла интересных экспертов и в журнале было достаточно живое и откровенное обсуждение как моментов программирования, так и этических аспектов "правильного консультанта".

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

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

Ну ладно штрафы, а ведь автоматизация может приводить к куда более серьезным драмам. Вспомните - с каким трудом гражданам приходилось доказывать - что они граждане Российской Федерации после 92-го года, собирая справки из сожженых и утерянных архивов. То же самое - и с легализацией дачных участков - да и много чего. Особенно когда происходит двоякое толкование смысла "найдена запись в БД, что человек - гражданин", "не найдена запись что человек - гражданин", "найдена запись что человек - негражданин".

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

Да - можно набраться терпения и доказать через суд - что имеешь право проживать в квартире, потому что ты там всю жизнь жил с бабушкой и платил коммуналку, и есть свидетели. Но вот в информационной системе (сделанной безвестным разработчиком по безвестному ТЗ) - это может оказаться сделать невозможно.  Помню - на заре автоматизации паспортных столов - один такой "страдалец" приносил многократные решения суда - о признании его собственником жилья, но ввести его в систему было невозможно, потому как требовался ввод данных о прописке с паспортом РФ, а прописки не было потому как у него был паспорт СССР, а выдать российский паспорт было трудно - потому что человек нигде не проживает (временно зарегистрирован), а временно не зарегистрирован - потому что нужно согласие собственника, а собственника  невозможно назначить - потому как квартира занята (им же !!!) . И обойти ИТ систему было невозможно.

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

Так тупой глиняный "Голем" автоматизации может оставить вас без мобильного телефона (с легкой руки спецслужб  и СОРМ при покупке сим-карты нужны паспортные данные) - хотя ни в одной статье Конституции или Гражданского кодекса не написано что такие действия - как покупка тупой звонящей железки за $100 должна сопровождаться таким сложным договорным оформлением.
А на телевизор еще паспорт не нужен ? А на радио ?  А на велосипед ? 

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

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

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

Думаю, что в процессе массового "порталописательства" неизбежно будут появляться такие "облегчители" своей жизни" и числа регионалов и федералов. И задача программистов-разработчиков - не забывать что они и сами могут попасть под такой ИТ каток. "Включать мозги" не отменялось.

Скажем использование в качестве идентификатора СНИЛС заманчиво - но как минимум "за бортом" остаются те у кого этого идентификатора нет, они его потеряли или не помнят.  Вы вот помните ? Я - нет. Но от этого я не исчезаю как гражданин, как член семьи, как наследник и водитель автомобиля.
А если на это идентификатор (не дай Бог !) сделать соединение полей базы данных (и межведомственных баз) - то человек без СНИЛС может вообще потеряться со своей жизнью в электронном мире (left outer join не все программеры знают) ..

То же самое и с другими суррогатными полями, слабо связанными с юридической значимостью результата и правами Гражданина Российской Федерации - ИНН, прописка, гражданство и пр..   - если это не нужно в реальном мире, не нужно вносить свое представление об обязательности в жесткие рамки кода - ведь это меняет полностью юридическую картину.  А значит - никаких идентификаторов-суррогатов - только естественные поля.  А проблемы ссылочной целостности решать другим способом - через денормализацию баз данных, дополнительные пост-проверки, асинхронность процессов обмена информацией.

Возвращаясь к теме поста - считаю что разработчики из "Армады" , сделавшие регистрацию Личного кабинета через ввод дополнительных _обязательных полей_ - СНИЛС, ИНН, да и мобильного телефона (на который придет SMS), почтового адреса (куда придет письмо) - существенно ужесточили фактическую значимость процесса, по сравнению с юридической значимостью.

Ведь это же "Я" - и никому ничего доказывать не обязан !!! У меня и паспорт есть. Ведь если человек захочет получить услугу традиционным образом - ничего этого, кроме паспорта, от него не потребуется. Так зачем же ограничивать его права - да еще в "демократическом" Интернете ? Наоборот - вычислительные средства позволяют облегчить коммуникации - достаточно просто представиться - и почему бы не поверить человеку "на слово" ?   А если нужен паспорт - так пусть его отсканирует и пошлет по электронной почте. Это будет достаточно, более чем достаточно. Это как 2 пальца  докажет любой студент юрфака

Так что простите господа чиновники и программисты, что мы такие нелогичные и свободолюбивые.

Но мы хотим чтобы наш голос - учитывался не как голос раба (то есть никак), и не нужно трястись за свой "Голем" - что мол так будет легче охранять нашу личную тайну и персональные данные. Оставьте эту скромную деятельность на нас самих и не нужно нас принудительно "осчастливливать".
Тем более что по легенде, когда Голем выполнил свою функцию, он рассыпался в мелкую пыль. Так и портал, возможно рассыпется или перейдет на новую версию - но то что при первом же шаге автоматизации нас пытались бесцеремонно лишать законных юридических прав - можем и не забыть, осадочек то остался...
Tags: информационное общество, электронная россия, электронное правительство
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 51 comments