Статьи

Spring и C24 iO — Часть 1 C24 Spring Core

На самых ранних стадиях потоков программного обеспечения для обработки данных часто необходимо взять какой-либо необработанный тип данных и проанализировать его в конкретной языковой конструкции прикладного программного обеспечения, чтобы приложение могло продвигать эти необработанные данные через бизнес к завершению. Поскольку XML широко используется в программных приложениях и Java является очень популярным языком программирования, хорошим примером этого может служить процесс, который приводит к тому, что XML становится доступным как объекты Java. Этот процесс часто называют связыванием, но иногда его называют преобразованием . В попытке сохранить общий язык и сохранить ясность, этот процесс будет упоминаться в этих статьях как обязательное преобразование .


Интересным примером является связывание-преобразование XML / Java, популярными технологиями для выполнения таких действий являются JAXB & Castor; среди большого состава других. Однако конкретное значение, которое C24 iO добавляет в этом отношении, заключается в том, что он не привязан к какому-либо конкретному типу входных данных, например XML, — фактически модели iO строго отделены от типов входных и выходных данных, чтобы вы могли свободно выбирать или обмениваться между ними. их при необходимости. 

Модели C24 iO представляют бизнес-объекты. Как разработчик, вы можете выбрать несколько типов входных данных, которые будут использоваться для заполнения этих объектов бизнес-данными, CSV, XML, SWIFT, JSON, FpML, Columnar и т. Д. То же самое верно и для вывода, вы можете выбрать формат данных для эти бизнес-объекты, когда вы будете готовы выполнить обратное преобразование связывания, если вам нужно отправить данные в определенном формате. Возможность сделать это связывание-преобразование, и наоборот, обеспечивается C24 iO, из коробки — никаких дополнительных разработок не требуется.


Для построения модели C24 iO необходимо понимание вашего бизнес-объекта. Модель iO может быть построена автоматически из образца сообщения во многих форматах или из внешней модели, такой как XSD. В качестве альтернативы, если вы хотите поддерживать свою бизнес-модель с помощью C24 iO, вы можете использовать iO Studio для ее создания с нуля. Терминология построения моделей должна казаться знакомой и интуитивно понятной, поскольку в основном благодаря языку, который используется для составных частей, большинство людей понимают элементы, атрибуты, простые и сложные типы или быстро узнают разницу при использовании этого графического инструмента.


Один оставшийся фрагмент головоломки — это механизм, который позволяет использовать эти модели в прикладном программном обеспечении во время выполнения. После того, как модели созданы и протестированы в iO Studio, при генерации кода создается файл Jar, содержащий все необходимое для считывания данных в бизнес-модель (из различных типов исходных данных), взаимодействия с ней с помощью интуитивно названных методов и их записи. снова (в различные целевые форматы данных). 


Каждый бизнес-объект, сгенерированный из модели iO, автоматически является частью иерархии типов, известной как сложный объект данных (CDO). Любая стандартная или пользовательская модель, которую вы используете или создаете в C24 iO Studio, будет генерировать код, который будет реализовывать тип CDO.


Пространство имен c24-spring-core предоставляет возможность использовать CDO в качестве bean-компонентов Spring либо внутри приложений, использующих среду Spring, либо в качестве bean-компонентов Spring внутри приложений, использующих инфраструктуру Spring Integration.


Пространство имен http://schema.c24.biz/spring-core , XSD находится по адресу http://schema.c24.biz/spring-core.xsdИспользование пространства имен c24-spring-core в приложении Spring означает определение интереса к этому пространству имен и расположению с использованием чего-то вроде следующей конфигурации:


xmlns:c24="http://schema.c24.biz/spring-core"
xsi:schemaLocation="http://schema.c24.biz/spring-core 
http://schema.c24.biz/spring-core.xsd"

Как только конфигурации пространства имен завершены, можно использовать конструкцию пространства имен для генерации bean-компонента C24 iO и использования его в приложении Spring. Те читатели, которые знакомы с сообщениями SWIFT FIN, распознают этот пример как модель сообщения, представляющую сообщение о торговле ценными бумагами, MT541.


<c24:model id="mt541Model" base-element="biz.c24.io.swift2011.MT541Element"/>

Как только контейнер Spring загружается с этим bean-компонентом, разработчик может взаимодействовать с этим бизнес-объектом так же, как и при его использовании вне контейнера Spring. Преимущество, полученное здесь, заключается в том, что теперь он имеет жизненный цикл, управляемый контейнером Spring, и может использоваться другими компонентами в том же контексте, что будет подробно рассмотрено в следующей части серии.

Мотивация для части 1 этой серии — введение в C24 iO, краткое объяснение некоторых его основных возможностей и введение в модели iO, используемые в качестве бобов Spring.