ПРОЕКТЫ
Для представления и анализа рыночных данных банк разрабатывает приложение Onebench на основе Eclipse
Когда маклеры банка JPMorgan Chase подходят к своим терминалам, чтобы быстро получить доступ к рыночным данным, сведениям о ценах, результатам исследований и анализа, они скорее всего используют приложения, созданные на платформе Eclipse. Программисты из JPMorgan избрали Eclipse главным образом ради технологии RCP (Rich Client Platform - расширенная клиентская платформа), которая позволила этому крупному международному финансовому институту создать собственную, предназначенную для внутреннего использования систему для разработчиков под названием OneBench.
По словам Брюса Скингла, авторитетного инженера из созданной в JPMorgan и базирующейся в Лондоне группы "Технология инвестиционного банка", OneBench представляет собой платформу разработки приложений на базе RCP. В сущности это альтернатива клиентскому ПК при развертывании интегрированной среды разработки Eclipse, позволяющая запускать бизнес-приложения. Если совсем коротко, то OneBench - рабочее место пользователя, а Eclipse - рабочее место программиста, считает он.
Брюс Скингл рассказал, что специалисты JPMorgan изучили несколько технологий, которые могли бы быть положены в основу OneBench. В конечном итоге вопрос свелся к выбору между компонентами графического интерфейса пользователя Java Swing GUI и Eclipse RCP, а предпочтение было отдано RCP, поскольку в этой технологии предусматриваются подключаемые модули. Теперь OneBench на базе RCP рассматривается в JPMorgan как рекомендуемая платформа для разработчиков настольных приложений.
Многие программисты банка уже были знакомы с Eclipse и избрали ее в качестве основной платформы разработки. "Мы работали с Java с помощью инструментов IBM, и к тому времени, когда
JPMorgan обратился к Eclipse, у нас уже применялась среда WebSphere Application Developer Studio. Большинство пользователей переключилось на открытую версию, как только она стала доступна", - пояснил Брюс Скингл.
Технология RCP предоставила банку все необходимые возможности - в частности, она допускает многократное использование программного кода благодаря архитектуре подключаемых программ и позволяет снизить затраты на разработку и поддержку.
Сотрудники канадского фонда Eclipse Foundation описывают Eclipse RCP как открытую инструментальную платформу, содержащую самые различные компоненты или подключаемые программы, например Eclipse Runtime, SWT (Standard Widget Toolkit), пользовательский интерфейс JFace, Eclipse Workbench и механизм поддержки XML.
"Сейчас все большую силу набирает тенденция использования RCP для создания того, что мы называем корпоративными [domain-specific] платформами", - заявил исполнительный директор Eclipse Foundation Майк Милинкович.
А Брюс Скингл поясняет, что система OneBench банка JPMorgan в общих чертах представляет собой контейнер Eclipse RCP, благодаря которому пользователи могут развернуть приложение Eclipse RCP (набор подключаемых программ) без необходимости писать контейнер-оболочку.
Мало того, OneBench может быть интегрирован с платформой аутентификации банка JPMorgan, что обеспечивает однократную регистрацию при работе с OneBench и Web-приложениями. Иными словами, это платформа однократной регистрации, применяемая в банковском продукте Morgan Markets и других Web-приложениях инвестиционного банка JPMorgan, которые предназначены для работы с внешними пользователями.
Для создания решений на базе Eclipse банк JPMorgan использовал SWT и XML
Наряду с этим OneBench может интегрироваться с системой регистрации и другой стандартной инфраструктурой банка, а также с приспособленным под его нужды ПО Eclipse Update Manager.
Брюс Скингл рассказал, что хотя развертывание настольных приложений в JPMorgan осложняется большими размерами и географической распределенностью вычислительной среды, OneBench позволяет командам разработчиков быстро решать возникающие проблемы. В результате они могут сосредоточиться на совершенствовании бизнес-функций своих приложений.
Поскольку OneBench может работать с самыми разными приложениями, это ПО дает возможность по-новому организовать взаимодействие между ними. Как пояснил Брюс Скингл, если система торговли ценными бумагами и исследовательская система реализованы, например, в виде приложений OneBench, то когда первая публикует выборку по бумагам определенного вида, вторая может выводить на экраны результаты последних исследований по этим бумагам, проведенных с помощью Morgan Markets.
По заявлению представителей JPMorgan, хотя в банке еще не реализовано подобное взаимодействие, технология Eclipse предоставляет такую возможность.
Между тем разработчики из JPMorgan уже воспользовались OneBench для создания нескольких приложений, в том числе системы Fuse для торговли облигациями. Fuse представляет собой банковское ПО с расширенными клиентскими функциями, которое обрабатывает непрерывный поток рыночных данных по ценам покупки-продажи облигаций, что помогает анализировать информацию и выявлять тенденции.
В банке построен также пользовательский интерфейс под названием Snapper - коллективно используемый компонент, работающий в среде OneBench.
А еще одно новое приложение на базе OneBench - оно называется EIS - должно заменить собой целую группу систем, созданных в JPMorgan за последние десять лет. Эти системы, спроектированные банковской группой Investment Bank Technology Exotics and Hybrids, были написаны на языке C++ и использовались для ввода справочных данных.
И наконец, в JPMorgan построена платформа разработки QTrade, позволяющая легко и быстро создавать собственные финансовые приложения. Как свидетельствуют представители банка, преимущества QTrade и Eclipse позволили их программистам создавать приложения с помощью SWT и XML путем элементарного перетаскивания мышкой.
Среди причин, побудивших JPMorgan выбрать Eclipse, Брюс Скингл назвал повышение производительности и наглядности, поскольку при использовании таблиц и очень больших наборов данных быстродействие нередко очень сильно снижается.
Но технология RCP продемонстрировала высокую производительность и в графическом режиме. Проверка концепции на основе пользовательского интерфейса Snapper показала, что таблица SWT легко справляется с набором данных в 400 тыс. строк при тысяче обновлений в секунду.
Помимо прочего, как отметил Брюс Сингл, банку JPMorgan понравились возможности обновления технологии Eclipse: "Поскольку физическое развертывание настольных приложений сопряжено с определенными трудностями, для нас очень полезной оказалась возможность единожды установить ядро приложения, а в дальнейшем управлять обновлениями с помощью соответствующего механизма Eclipse". Более того, OneBench можно единовременно развернуть в качестве коллективно используемого контейнера RCP, а затем загружать в него множество RCP-приложений.
Тем не менее банк не стал переводить все свои приложения в среду Eclipse. "По мере возможности и в разумных пределах мы всегда стараемся использовать открытые стандарты", - пояснил Брюс Скингл.
Кстати, в начале нынешнего года банк JPMorgan представил открытый протокол обработки очередей сообщений AMQP (Advanced Message Queuing Protocol), в создании которого он принимал активное участие.
Как намекнул Брюс Скингл, получая неплохую прибыль, банк умеет экономить деньги: "На развитие технологий у нас отпускаются очень большие средства. Но лицензионные отчисления за использование, скажем, серверов приложений или интегрированных сред разработки быстро нарастают. Если же имеется подходящее альтернативное решение с открытым исходным кодом, оно позволяет высвободить значительные средства, которые используются в других проектах".
Зато растущая популярность платформы Eclipse и тот факт, что ее поддерживают крупные компании вроде IBM, по мнению Брюса Скингла, означают, что скорее всего она не исчезнет.
А Майк Милинкович из Eclipse Foundation, в свою очередь, считает, что использование Eclipse RCP на таких предприятиях, как JPMorgan, весьма благотворно отразится и на самой технологии, и на сообществе ее приверженцев. "Сегодня множество независимых производителей ПО используют Eclipse RCP для создания своих продуктов, - констатировал он. - Теперь же поддержка со стороны крупных компаний, среди которых JPMorgan и даже НАСА, показывает, что Eclipse является одним из главных претендентов на роль среды для создания платформенно-независимых приложений с расширенными клиентскими возможностями".
У вас появились замечания или предложения? Напишите нам по адресу: editorial@pcweek.ru.