Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Журнал ВРМ World

Спецификация открытого обмена финансовыми данными - Open Financial Exchange (OFX)

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

OFX была создана компаниями CheckFree, Intuit и Microsoft еще в начале 1997 для поддержки широкого спектра финансовых операций, включая банковское обслуживание, выставление и оплату счетов и инвестиции для физических лиц и малого бизнеса, в том числе акций, облигаций и взаимных фондов. Первоначально OFX была описана с помощью SGML, однако вскоре популярность XML заставила разработчиков сделать ее доступной для пользователей броузеров, основанных на XML. Поэтому будет справедливым назвать OFX предшественником XML. К весне 1999 года OXF и связанные с ней стандарты начали переноситься в спецификацию Интерактивного обмена финансовой информацией (Interactive Financial Exchange, IFX). Наконец, в декабре 1999 компании Microsoft, Intuit и CheckFree приняли решение о совместной разработке открытой спецификации для онлайновой передачи финансовых данных. Эта спецификация, названная Спецификацией открытого обмена финансовой информацией (Open Financial Exchange, OFE или, позднее, OFX) включила Microsoft Open Financial Connectivity, Intuit OpenExchange и протоколы электронного банковского обслуживания и платежей от компании CheckFree. OFE, обеспечила поддержку следующих операций:

  • выписки по счетам;
  • выписки по операциям по кредитным картам;
  • перевод средств;
  • потребительские платежи;
  • платежи юридических лиц;
  • выписки по брокерским операциям и взаимным фондам, включая историю транзакций, текущее состояние и балансы;
  • выставление и оплата счетов.

Сегодня на рынке представлена OFX спецификация 2.0, совместимая с XML 1.0 и дополненная возможностью загрузки налоговой информации. Ряд финансовых сервисов - например, финансовое планирование и страхование, - пока не включен в OFX, их поддержка планируется в будущем. Но уже сейчас финансовые организации могут использовать эту спецификацию для предоставления потребителям онлайновых финансовых услуг через транзакционные web-сайты, тонкие клиенты и популярные программные продукты в области финансового управления, поддерживающие Open Financial Exchange (открытую спецификацию для онлайновой передачи финансовых данных, предшественника OFX).

Архитектура OFX построена по клиент-серверной технологии, позволяющей конечному пользователю связываться с сервером финансовой организации. Формой коммуникации является запрос клиента к северу и ответ сервера клиенту - так называемая модель "запрос-ответ". Один или более запросов могут объединяться в единый файл, обычно содержащий запрос на вход и один или несколько запросов на конкретный сервис. Сервер финансовой организации обрабатывает все эти запросы и возвращает единый файл отклика. И файл запросов и файл отклика представляют собой простые текстовые файлы, отформатированные согласно грамматике XML. Несмотря на то, что отклик (например, отклик в виде выписки) содержит все подробности каждой транзакции, каждая отдельная подробность выписки идентифицируется тэгами. Базовым принципом синтаксиса OFX является тот факт, что каждый тэг может быть либо элементом, либо агрегатом. За элементным тэгом следуют его данные. Агрегатный же тэг определяет начало сложной последовательности, обязательно заканчивающейся соответствующим конечным тэгом. Файл OFX не требует каких-либо пробелов между тэгами. Для обеспечения канала связи между клиентом и сервером OFX использует IP-пакет (Internet Protocol suite). Для коммуникации с сервером OFX клиенты используют HTTP (HyperText Transport Protocol). В принципе, для реализации поддержки OFX финансовая организация может использовать любой имеющийся web-сервер. Для коммуникации с помощью OFX через Интернет клиентам необходимо установить dial-up PPP-соединение (Point-to-Point Protocol connection) с ISP (Internet Service Provider) или соединение с локальной сетью, имеющий выход через шлюз в Интернет. Для направления запроса на URL финансовой организации клиенты используют команду HTTP POST. URL обычно определяет CGI или другой процесс на сервере финансовой организации, способный принять OFX-запрос и сгенерировать ответ. POST идентифицирует данные как имеющий тип application/x-ofx. Этот же тип используется и для отклика. Упрощенный пример OFX-файла запроса:


 <OFX> <!-Начать запрос данных -->
  <SIGNONMSGSRQV1>
   <SONRQ> <!-Начать регистрацию -->
    <DTCLIENT>19991029101000</DTCLIENT><!-- Октябрь 29, 1999, 10:10:00 -->
    <USERID>123-45-6789</USERID> <!-Пользовательский ID (т.е. SSN) -->
    <USERPASS>MyPassword</USERPASS> <!-- Пароль (SSL шифрует его весь) -->
    <LANGUAGE>ENG</LANGUAGE> <!-Язык, использованный для текста -->
    <FI> <!-- ID принимающей организации -->
     <ORG>NCH</ORG> <!-Имя владельца ID -->
     <FID>1001</FID> <!-Реальный ID -->
    </FI>
    <APPID>MyApp</APPID>
    <APPVER>0500</APPVER>
   </SONRQ> <!-Конец регистрации -->
  </SIGNONMSGSRQV1>

  <BANKMSGSRQV1>
   <STMTTRNRQ> <!-Первый запрос в файле -->
    <TRNUID>1001</TRNUID>
    <STMTRQ> <!-Начать запрос выписки -->
     <BANKACCTFROM> <!-Идентифицировать счет -->
      <BANKID>121099999</BANKID><!-МаршрутизирующийID передачи (routing transit ID) или другой ID финансовой организации -->

      <ACCTID>999988</ACCTID> <!-- Номер счета -->
      <ACCTTYPE>CHECKING</ACCTTYPE><!-Тип счета -->
     </BANKACCTFROM> <!-Конец ID счета -->
     <INCTRAN> <!-Начать включение транзакции -->
      <INCLUDE>Y</INCLUDE> <!-Включить транзакцию -->
     </INCTRAN> <!-Конец включения транзакции -->
    </STMTRQ> <!-Конец запроса выписки -->
   </STMTTRNRQ> <!-Конец первого запроса -->
  </BANKMSGSRQV1>
 </OFX>


Структура отклика аналогична структуре запроса. (подробнее см. Спецификацию OFX 2.0).

OFX может быть реализована любой финансовой организацией или поставщиком. Ее создатели используют OFX в качестве основного механизма поддержки обмена финансовыми данными в своих продуктах и услугах. К сентябрю 2001 OFX поддержало свыше 1400 банков и брокерских фирм, а также крупнейших компаний, специализирующихся на обработке платежей. Ряд лидеров финансового рынка - Bank of America, Chase Manhattan Bank, Citibank, First Technology Credit Union, KeyBank, Wells Fargo и Woodforest National Bank - объединились для поддержки этой спецификации в Комитет по управлению открытым обменом финансовой информацией в банковской сфере (Open Financial Exchange Banking Steering Committee), а брокерские компании (Fidelity Investments, Charles Schwab и Dean Witter) сформировали отдельное объединение - Комитет по управлению брокерской деятельностью (Brokerage Steering Committee). Область клиентского программного обеспечения представлена такими компаниями, как Home Financial Network, MECA, Peachtree и Vertigo. Поставщики технологических решений также активно используют OFX. Крупнейшие компании либо создают OFX-сервера, либо предлагают финансовым организациям поддержку в разработке их собственных решений. Среди этих компаний можно назвать такие известные фирмы, как Andersen Consulting, CFI ProServices, Edify, EDS, Intelidata, Logica, Microsoft и Sun Online Resources, Security First Technologies и др.

Способность OFX обеспечивать согласованность и единый стандарт передаваемой информации способствует упрощению и росту популярности предоставления услуг онлайнового банковского и финансового обслуживания, а независимый характер спецификации позволяет компаниям выбирать оптимальные для них платформы, процессоры и системы. Специалисты предсказывают, что такое расширение возможности выбора должно закономерно привести к падению цен на подобные продукты.

Спецификация имеет программу сертификации, поддерживаемую компанией Prosoft Engineering и позволяющую гарантировать правильную реализацию спецификации и полнофункциональную работу серверов. Кроме того, эта программа гарантирует определенный уровень достоверности, который финансовые организации могут обеспечить своим потребителям.