Bankir.Ru
24 мая, среда 20:39

Объявление

Свернуть

На Bankir.ru начался цикл публикаций, созданных по следам обсуждений на форуме

Показать больше
Показать меньше

Сравнение Web и Java технологий. Гибкость.

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Сравнение Web и Java технологий. Гибкость.

    И да простит меня all, в случае описания гибкости я приведу именно BS-Client. Уверен, что и остальным разработчикам "тонкого" клиента на web-технологии найдется что сказать. Дело не в этом, а в принципиальных ограничениях java-технологии, которых в web-технологии нет.

    Web-технология: BS-Client является абсолютно гибкой в смысле администрирования/построения/адаптированности. Действительно, вся логика системы, размещенная на стороне банка, имеет целый спектр инструментов настройки (все подробности в описании).
    Процесс создания нового документа выглядит следующим образом:
    1. Формирование структуры баз данных документа и справочников в специальном модуле системы ДБО BS-Client v.3 √ построителе баз данных;
    2. Изготовление HTML-шаблонов для представления диалогов и скроллеров, необходимых справочников и самого документа;
    3. Написание обработчиков на встроенном языке программирования BS-Script для каждого действия из HTML-шаблонов. (Димитрий, только не надо ругать BS-Script - Вы же его не знаете. А примеры удачных реализаций подобных предметно-ориентированных инструментов есть, например RSL - кто бы что не говорил про RS-Bank, а RSL хвалили всегда);
    4. Настройка порядка подписи полей, системы статусов документа и подключение исполнимых операций (контроль, выгрузка и т.д.).
    При этом
    ╥ Действия 1 и 4 не требуют программирования,
    ╥ Действие 2 может включать программирование на JavaScript,
    ╥ Действие 3 выполняется на специально предназначенном для написания обработчиков языке BS-Script: код одного обработчика не превышает 2-х страниц текста, да и то в случаях, когда явно перечисляются поля для заполнения.

    java-технология: гибкость системы не реализуется принципиально, поскольку вряд ли можно назвать гибким процесс исправления чужого java-кода. Ничего другого принципиально невозможно, поскольку ╚гибкий╩ java-апплет будет ╚весить╩ на порядки больше жесткого и закачка апплета к клиенту станет невозможной.

    Комментарий: Лишнее подтверждение того, что java-технология является ╚толстым╩ банк-клиентом. Исполнимый код гибкого ╚толстого╩ клиента всегда на порядок больше исполнимого кода жесткого ╚толстого╩ клиента, поэтому, ╚гибкий╩ код будет просто невозможно закачать к клиенту.

    С Уважением,
    Барсуков Дмитрий,
    начальник отдела продаж
    Компании "Банк'с Софт Системс".


  • #2
    О, опять идет цитирование документа "Главные отличительные особенности
    подсистемы ╚Интернет-клиент╩ комплексной системы ДБО BS-Client Компании ╚Банк▓c Cофт Системс╩ и системы iBank Компании ╚БИФИТ╩ ". Приводится прямо целая глава под названием "Гибкость системы".

    Что ж, разложим всё по полочкам.

    BLOCKQUOTE>font size="1" face="Verdana, Arial">цитата:/font>HR>отправил Барсуков Дмитрий (БСС)
    Web-технология: BS-Client является абсолютно гибкой в смысле администрирования/построения/адаптированности. Действительно, вся логика системы, размещенная на стороне банка, имеет целый спектр инструментов настройки (все подробности в описании).[/quote]

    Рассмотрим общий случай построения решения для Интернет-Банкинга, оформленного в виде Web-приложения, и исполняющегося в рамках Web-сервера. Гибкость такого решения возможна исключительно только при наличие исходных текстов этого Web-приложения, и знании языка программирования, на котором реализовано Web-приложение. Под гибкостью подразумевается дописание или модификация имеющегося Web-приложения. Интернет-Банкинг от БСС не исключение. Только язык BS-Script, на котором описано приложение тоже изобретен БСС. Уж лучше бы Perl - по нему хоть документации много и опытных программеров найти не проблема.

    Теперь прокомментирую конкретное решение, предлагаемое компанией БСС.

    BLOCKQUOTE>font size="1" face="Verdana, Arial">цитата:/font>HR>Процесс создания нового документа выглядит следующим образом:
    1. Формирование структуры баз данных документа и справочников в специальном модуле системы ДБО BS-Client v.3 √ построителе баз данных;[/quote]

    А разве мало ERwin-а? Бери, строй и перестраивай любые базы под проекты любой величины. А потом переноси на нужный Сервер БД √ Oracle, MS SQL, SyBASE, IBM DB/2, Progress и пр. Для управления же промышленными Серверами БД, для модификации таблиц БД есть Enterprise Manager▓ы с визардами для тупых и всевозможными навороченными визуальными инструментами для продвинутых. Для самых продвинутых - шелл для исполнения скриптов. Разве этого мало?! Зачем городить огород и изобретать очередной велосипед?! Или это желание впарить банку очередную красивую, но на поверку - совершенно бесполезную феньку?

    BLOCKQUOTE>font size="1" face="Verdana, Arial">цитата:/font>HR>2. Изготовление HTML-шаблонов для представления диалогов и скроллеров, необходимых справочников и самого документа;
    3. Написание обработчиков на встроенном языке программирования BS-Script для каждого действия из HTML-шаблонов.[/quote]

    Вот они, очередные изобретения велосипедов! Ну есть же мировые открытые стандарты, поддерживаемые всеми разработчиками практически на всех платформах. Ну взяли бы Perl для написания CGI-скриптов или Java для написания Java-сервлетов. Нет, надо обязательно изобретать что-то свои. Иначе по полной программе, со всеми билдерами и построителями, не впарить.

    Создание собственного, пусть даже скриптового языка программирования требует колосальной работы √ это как минимум год на вылизывания соответствующего инструментария! Есть масса уже проверенных временем решений, на порядок более гибких, многоплатформенных, и главное √ вылизанных, надежных! Мы не изобретаем очередной БСС-сркипт. Мы придерживаемся другого подхода. Например, для написания универсального конвертера для интеграции iBank▓а с АБСами через текстовые файлы, мы взяли JPython √ реализацию скриптового языка питон на Java. Решение, в результате, платформонезависимое, открытое, предоставляется в исходниках.

    BLOCKQUOTE>font size="1" face="Verdana, Arial">цитата:/font>HR>java-технология: гибкость системы не реализуется принципиально, поскольку вряд ли можно назвать гибким процесс исправления чужого java-кода. Ничего другого принципиально невозможно, поскольку ╚гибкий╩ java-апплет будет ╚весить╩ на порядки больше жесткого и закачка апплета к клиенту станет невозможной.[/quote]

    Создается впечатление, что все свои выводы о Java-технологии Барсуков Дмитрий делает исключительно из поверхностного знакомства с iBank 1.x. И дальше этого он ничего не хочет видеть!

    В iBank 1.х изменение формы документа действительно достигается только через модернизацию Java-апплетов, Сервера Приложения, модификации таблиц Сервера БД, модификации шлюза iBank-АБС. В тоже время, мы постоянно учитываем пожелания наших Заказчиков и в обновлениях постоянно добавляем функционала.

    Практически точно тоже самое требуется в Web-технологии - модификация html-страниц для создания экранных и печатных форм, соответственно модернизация бизнес-логики серверной компоненты - Web-приложения, модернизация таблиц на Сервере БД, модернизация шлюза для интеграции с АБС.

    В зависимости от способа исполнения той или иной части получается та или иная сложность модернизации. Вот и вся гибкость.

    Что касается перспектив. Работы по iBank 2 приближаются к завершающей стадии. Ситуацию с гибкостью форм документов в iBank 2 я уже описывал в другом письме. Но для полноты картины приведу и здесь.

    Клиентский Java-апплет в iBank 2 уже не содержит в себе форм представления документов (ни экранных, ни печатных). Формы документов, логика их работы (ключевание полей, форматы вводимых данных и пр.) полностью описываются на XML-е. iBank 2 позволит хоть каждому клиенту сделать свои формы документов. XML-описания документов, с которыми может работать пользователь, хранятся в профайле пользователя, который в свою очередь хранится на Сервере БД. При обращении пользователя к определенному типу документа клиентский Java-апплет запрашивает и закачивает в сжатом виде XML-описание типа документа. Делается это, естественно, только один раз (а не каждый раз, как в Web-технологии, когда перезагружаются html-страницы). Размер XML-описания в сжатом виде - 1..3 Кбайта, в зависимости от сложности документа. Фактически в Java-апплете встроен движок для парсинга XML-описаний документов, их отображения и печати. Размер Java-апплета в CAB-архиве около 80 Кбайт.

    С уважением, Репан Димитрий
    Компания "БИФИТ"
    С уважением, Репан Димитрий
    Компания "БИФИТ" - www.bifit.com

    Комментарий


    • #3
      > Формы документов, логика их работы (ключевание полей,
      > форматы вводимых данных и пр.) полностью описываются на XML-е...
      > ... и тд и тд

      То есть компания бифит решила открыть новое направление в технологии
      тонкого клиента. Создать свой язык разметки, создать свой протокол
      передачи, и создать свой браузер, который будет загружаться
      по сети. Чем в лучшую сторону все это будет отличаться от
      НТТР, HTML и web-браузера?

      WBR
      serg

      Комментарий


      • #4
        В какой-то степени, ты, Сергей, прав. Действительно написан движок, который умеет парсить XML-описания форм документов. Но мы не изобретаем велосипед, мы применяем промышленные стандарты - XML для описания объектов и логики их взаимодействия. И если посмотреть мировую практику, то практически все ведущие IT-компании давно уже используют XML именно в этой сфере, а не пишут очередной BS-Script

        В качестве прикладного протокола используется http (до этого в iBank 1.8 была контроллируемая сериализация объектов). Для апплета написан очень компактый http-движок.

        Для шифрования трафика может использоваться или стандартный SSL, или GSL с ГОСТами из iBank 1.8. Для независимости от корректности (органичений) Web-браузера в апплет встроены свои реализации протоколов. Для минимизации трафика между апплетом и Сервером в апплет встроен механизм сжатия данных (gzip).

        Кроме этого написаны и встроены в апплет набор компактных и очень гибких визуальных компонентов (таблица, дерево, внутренние фреймы, split panel, панель закладок и пр.). Есть даже поддержка Drag&Drop - сортировка столбцов при клике на название столбца, перетаскивание столбцов, изменение ширины столбцов, подсветка и пр.

        Естественно текущее состояние интерфейса запоминается и хранится в профайле пользователя, в банке, Сервере БД, в XML-формате. Есть поддержка push-канала для доставки клиенту данных с биржи по мере их поступления. Уже сделали поддержку смарт-карт GPK-8000 и PC/SC карт-ридеров. В общем действительно много всего нового.

        Серверная сторона также притерпела изменения. Можно сказать изменилось всё. Начиная от применения методов объектного проектирования, создания UML-моделей, и заканчивая реализацией всей бизнес-логики в виде EJB-компонент, исполняемых в рамках любого EJB-контейнера. Соответственно применимы практически все промышленные Сервера Приложений с поддержкой EJB 1.1.

        Серега, за прошедшие два с лишним года в БИФИТе очень многое поменялось Мы выросли и стали серьезней. То же произошло с технологиями и компанией. Так что приезжай в гости, звони - поговорим подробно.

        С уважением, Репан Димитрий
        Компания "БИФИТ" - www.bifit.com
        С уважением, Репан Димитрий
        Компания "БИФИТ" - www.bifit.com

        Комментарий


        • #5
          Что ж, Димитрий, начнем с азов.
          Есть решения гибкие и жесткие с точки зрения:
          - самостоятельной модернизации пользователем
          - простоты и СЕБЕСТОИМОСТИ сопровождения
          Если следовать Вашей точке зрения, то самым гибким решением является написание чего-либо на макроассемблере. Гибче не бывает - пиши что хочешь.

          А имел я в виду то, что макисмум 1 из 50 пользователей сможет самостоятельно изменить структуру документа в iBank (это как пример). Поскольку iBank (1.8) является ЖЕСТКИМ решением.
          BS-Client является гибким решением потому, что пользователь запросто может то же самое сделать. Например, один Молдавский банк самостоятельно адаптировал BS-Client под Молдавское законодательство (а там не только язык другой).
          Это происходит потому, что в BS-Client в общем (и BS-Script в частности) реализована, в отличие от java, ПРЕДМЕТНО ОРИЕНТИРОВАННАЯ гибкость. Необходимая и достаточная. Ни больше, ни меньше.
          Если оперировать жизненными примерами (BS-Script) все-таки относительно молод - давайте возьмем RSL. Его ВСЕ пользователи называли одним из ГЛАВНЫХ плюсов RS-Bank. Писали именно на нем, а не на BP 7.0 для DOS с библиотеками доступа к Btrieve. Почему? Да потому, что это проще, быстрее, понятнее и не заставляет "стрелять из пушки по воробьям" (цитирую).
          Не лукавьте, Вы же сами столкнулись с этой проблемой и начали изобретать iBank 2. И только действительно написав его (а гибкие решения, уж поверьте, на порядок сложнее жестких), Вы сможете говорить о гибкости.
          А сейчас уж о чем, а о гибкости, я думаю, Вам с нами спорить не стоит.

          И поделюсь немного опытом.
          Говорить о росте Компании БИФИТ можно будет только тогда, когда Вы вынуждены будете серьезно расширять коллектив за рамки "ядра" и не сможете уже лично сами заниматься демонстрацией, сопровождением и маркетингом системы. Это самый сложный период. Когда за 2000 год кол-во сотрудников БСС выросло втрое, при этом прибыльность возросла, только тогда стало можно говорить о продуманности политики и СУТИ существования Компании.
          Если Вам удасться пережить момент роста и делегирования полномочий "ядра", тогда можно будет говорить, что Вы выросли. Это истинная правда, многие Компании не могли пережить именно собственного роста.

          С Уважением,
          Барсуков Дмитрий,
          начальник отдела продаж
          Компании "Банк'с Софт Системс".

          Комментарий


          • #6
            Уважаемый Барсуков Дмитрий!

            Я позволю себе оставить Ваши сообщение о гибкости без комментариев. На самом деле я не стремлюсь убедить Вас в чем либо. Я только высказываю свою точку зрения. Могу только констатировать, что наши точки зрения о гибкости диаметрально противоположные. Пишите на здоровье и дальше всё на BS-Script'е, успехов Вам и Вашей компании в этом нелегком деле.

            Что касается обсуждения уже самих компаний. Я имел ценнейший опыт работы в компании РФК. Которая, уверен, всегда имела и имеет штат больше чем компания БСС. Я вырос вместе с РФК. От штата в 6 человек к штату за три десятка. Я на себе лично хорошо прочуствовал все плюсы и минусы роста. Я сделал выводы. И я четко определился со стратегией развития своей компании. Уверен, она отлична от стратегии и тактики компании БСС.

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

            Я надеюсь, что руководство компании БСС сможет всё-таки удержать штурвал своего бизнеса в своих руках, и решения Вашей компании будут достойно воспрриняты российским рынком.

            Успехов Вам!

            С уважением, Репан Димитрий
            Компания "БИФИТ"
            С уважением, Репан Димитрий
            Компания "БИФИТ" - www.bifit.com

            Комментарий


            • #7
              Я последнее время все больше и больше сравниваю развитие интернет программирования и "просто" програмирования. и споры "что лучше" смотрятся гораздо интересней через призму истории. Я возьму на себя смелость сравнивать тоже решение от БСС с 1С. Не вдаваясь в детали сравнения можно сказать "тоже придумали свой скрипт" - и ничего, живут, и как живут. А почему - поддержка хорошая, много пользователей и уже много специалистов по поддержке. Что касается Бифит - если честно - мне непонятся бравада по поводу java. для меня "платформонезависимость" - бред. Исходные коды - да, компилятор под конкретную систему - да , а java-машина - ну, необходимый этап развития, мы все помним, как начинался бейсик, и в каждой ос был свой транслятор. Я более склонен рассматривать решение от Бифит как законченое приложение "под Винды", т.е. есть "законченый" код, который работает, который работает, который имеет свои (в смысле - наперед заданные) протоколы работы и т.д., свой функционал. Т.е. мы имеем приложение, которое реально работает, используя интеренет как сеть, простое клиент-серверное приложение. Все остальное - от лукавого. То, что формы хранятся в XML или используется gzip - ну это реальный выбор, точно также можно было бы выбрать другой формат и тот же Rar. Я не думаю, что кто-то ручками будет править XML. А написать парсер в другой формат - ну опять же не проблема.

              Поэтому рассуждения о "гибкости" технологий в данном контексте - некорректо, т.к. сравнения перешли в область конкретных реализаций всего ДВУХ решений. поэтому может сначала определиться, что понимается под словом "гибкость" и потом уже обсуждать , не скатываясь к обсуждению решений БСС и Бифит (надоело ;( )

              P.S. - xml - это тоже веб технология.

              ------------------
              С уважением,
              Родион Вареников

              Комментарий


              • #8
                To Родион:

                Не согласен насчет того, что "никто не будет править XML". Будут. :-)Я работал в банке и знаю, какой там бардак. Валютные формы документов менялись каждый квартал как минимум, при этом были совершенно не похожи на формы других банков. Это неправильно, согласен. Но изменить ситуацию весьма сложно, приходится подстраиваться. Именно поэтому ЛЮБЫЕ средства для настройки систем автоматизации (в частности, Клиент-Банк) хотя бы в части изменения форм документов банками принимаются как очень важные преимущества продукта. Именно поэтому мы хотели купить решение от BSS, а не РФК или БИФИТ. Мы на эту тему с г. Репаном уже общались в свое время (кстати, Дима, ты меня, помнится, убеждал, что это лишнее - настройка форм документов :-). Я очень рад, что компания БИФИТ двигается в правильном направлении со своим iBank 2.0.

                To Димитрий.

                Дим, ну ты чего так бурно реагируешь (пусть даже на подколки сознательные)? Неужели ты не понимаешь, что тем самым ты портишь репутацию БИФИТа? Тебе уже многие люди указали на это.

                С уважением, Осинин Олег.
                Олег

                Комментарий


                • #9
                  to Димитрий:

                  > Действительно написан движок, который умеет парсить
                  > XML-описания форм документов. Но мы не изобретаем велосипед,
                  > мы применяем промышленные стандарты - XML...итд итд

                  Только одна ремарка: пользователи ибанка не на XML будут ездить,
                  а на велосипеде, который вы изобретете - на новом языке разметки.
                  Будет интересная тема сравнить возможности языков различных
                  производителей.

                  > В качестве прикладного протокола используется http ...итд итп

                  Осталось только добавить поддержку html и все будет ок.

                  > ..Можно сказать изменилось всё. Начиная от применения
                  > методов объектного проектирования, создания UML-моделей,
                  > и заканчивая реализацией всей бизнес-логики в виде
                  > EJB-компонент

                  Что банкам до ваших UML моделей и EJB компонет, если бизнес-логика
                  осталась та же.
                  WBR
                  serg

                  Комментарий

                  Пользователи, просматривающие эту тему

                  Свернуть

                  Присутствует 1. Участников: 0, гостей: 1.

                  Обработка...
                  X