Опубликовано пользователем JKey

Давным-давно в очень-очень далекой галактике...
...жил был.. Жил не тужил линукс админ, и все-то было прекрасно во вверенной ему части царства, но случилось непоправимое, указом царя, ввиду потери бойцов, админу было назначено новое звание "Администратор ДБО", которое звучало как-то не очень ободряюще, видимо, потому, что подразумевало под собой добавление новых обязанностей вне ореола обитания пингвина и не детской ответственности по обеспечению работоспособности некого комплекса C-300.. Кхм... нет... это из другой сказки..
Тут всего лишь спихнули BS-Client. Частный Клиент. И колесная база которого- windows. Загрустил тут наш гордый пингвин | ![]() |
Это ежик и теперь он будет жить здесь (с)
Пришлось вникать что ж это за пушной зверь такой. ДБО BS-Client Частный Клиент - это программный продук для банков по организации дистанционного обслуживания клиентов. Представляет собой двухзвенку:
- frontend, который ( о счастье!) может работать и на linux
- backend, который только под винду ( о горе, мне горе... )
В целях безопастности общение происходит только в одну сторону, инициатором выступает только бэкэнд. Он же отвечает за связь с внутренними системами банка, например, такими как АБС. Написано это все на Delphi, БД работает через ODBC и только, нативно ничего не может.
На фронте лежит (html js) статика и сервелет ( если это линукс), который прикручивается к томкату.
Осмотрелся админ во ввереном хозяйстве, ну вроде ничего, жить можно, вот только закрутить гайки в виндовс свинарнике.
Но не тут-то было, хелпдеск стал настойчиво требовать постоянного внимания админа. Все какие-то жалобы клиентов, то зайти немогут, то смс не приходит (и хрен знает какой у нее там статус), то еще какая оказия. И по каждому клиенту надо разбираться и смотреть. А где и как смотреть? Правильно в интерфейсе Частного Клиента, точнее в cbank. И вот тут стала брать тоска несусветная нашего админа, ну посудите сами, например, чтобы узнать блокирован или нет клиент необходимо:
- подключитсья по RDP к бэкэнду
- зайти в ЧК
- найти клиента
- дождаться пока загрузиться карточка клиента, которая может грузиться несколько минут ( привет ODBC), несмотря на то, что БД ORacle на железе энтерпрайз уровня. И нифига не нагружена.
Или, например, необходимо получить информацию ушла ли смс или нет. Идем и шаримся в логах. Мда...
API-? Управление через командную строку ? Не, не слышал...
Скоро рассвет, выхода нет...
Казалось бы, да, выхода нет. Но только не для нашего гордого пингвина. С таким положением дел мириться он отказался, и отрыл свой топор войны напильник, расчехлил бубен... Первичная постановка задачи звучала примерно так: сварганить некую сводную панель с быстрым поиском клиента и получения по нему нужной информации блокирова/ неблокирован, до какой даты блокирован, ушли/ не ушли смс. Все это должно работать через браузер, чтобы иметь возможность в любой момент с любого устройства получить первичный срез информации.
Дабы не изобретать велосипед берем инструменты, которыми владем, то бишь php + oci и пишем запросы напрямую в БД ЧК (axtung!! Select only!!), оборачиваем это все в легковесную форму запроса и выводим в нужном нам виде.
Первый блин получается примерно таким:
Данная форма решает поставленную задачу по быстрой диагностике клиента в ДБО BS-Client Частный Клиент по необходимым параметрам. Однако, это было решение на скорую руку, на коленке. В процессе эксплуатаци ( и по мере понимания где бывают косяки в ЧК), были выявлены недочеты, а также появились новые хотелки. К реализации следующих хотелок, был уже применен основательный подход, был проведен эксперемент по скрещиваню ужа и ежа. Но об этом в продолжении...