Интеграция корпоративных приложений с помощью esm-системы

Введение

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

Переходим к разработке

В итоге проведенного анализа формируется ряд проектных документов, по которым будет производиться разработка

Первое и самое важное требование, выдвигаемое к документации – четкое описание цели. Или, другими словами – постановка задачи

По мнению аналитика, все может быть описано предельно подробно, но для разработчика постановка была не очевидна. Подобные проблемы «перевода» возникают при недостаточной коммуникации с разработчиком.

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

Какими могут быть инструменты интеграции персонала

Интеграционный конструктор позволяет сочетать различные инструменты в зависимости от того контекста, к которому мы хотим адаптировать персонал

Это могут быть классические поддерживающие инструменты интеграции.

1
Книга нового сотрудника

2
Корпоративный кодекс

3
Навигатор стажера

4
Страница интеграционного процесса на портале

Но важно понять, что сами по себе они не будут работать и вам нужно продумать комбинацию инструментов для каждого значимого контекста:

организационные (должностные инструкции и памятки, стандарты по введению нового сотрудника в новую для него роль или должность, чек-лист готовности к работе в распределенном режиме и т. д.);

коммуникативные (геймификация, сторителлинг «Компания в лицах», бот-помощник, чат поддержки новичков и т

д.);

развивающие (наставничество, коучинг, менторинг, образовательное путешествие нового руководителя и т. д.).

Мы рекомендуем выстраивать программы интеграции таким образом, чтобы сотрудник, для которого многие процессы остаются скрытыми в силу его каждодневных задач, понимал всю цепочку создания ценности в новом контексте. В результате он смог бы осмыслить не только то, что от него требуется, а и свое место в бизнес-процессах. Такой развивающий трек важен с точки зрения:

понимания главных принципов формирования ценности для клиентов,

определения ценности своего вклада в рамках своего подразделения,

выстраивания карьерного пути,

выявления «белых пятен» своей профессиональной компетентности.

Цель каждой интеграционной программы – сохранить ресурсы компании и обеспечить высокий уровень производительности сотрудников. Развивая систему интеграции персонала, компания:

1
получает выгоду от быстрой встраиваемости сотрудника в бизнес-процессы,

2
расширяет область автономии сотрудников в разных контекстах их деятельности,

3
собирает данные для предиктивного анализа текучести,

4
выводит корпоративную культуру на новый уровень развития,

5
усиливает HR-бренд.

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

1Volatility (нестабильность), Uncertainty (неопределенность), Complexity (сложность) и Ambiguity (неоднозначность).

2Система адаптации персонала и новые вызовы // Штат. 10.08.2020.

Что такое интеграция корпоративных приложений

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

Результатом этого процесса является интегрированная среда, состоящая из набора технологий и сервисов, которые образуют промежуточное программное обеспечение. Задача интеграции — обеспечить эффективный, надёжный и безопасный обмен данными между различными программными продуктами, изначально не предназначенными для совместной работы.

Построение UML- моделей в RSA

В первой статье этого цикла мы описывали интегрированную среду разработки Rational  Software  Architect, обеспечивающую возможность визуального моделирования проектируемой информационной системы на языке UML, а также реализацию функций трансформации моделей и генерации кода на выбранном языке программирования, составляющих основу парадигмы «Разработка на основе моделей».

Rational Software Architect (RSA) это интегрированное средство проектирования и разработки, которое использует преимущества UML-разработки на основе моделей, позволяет создавать приложения и сервисы с практичной архитектурой. Данный инструмент поддерживает стандарт UML 2.0 и более.

Проектирование информационных систем с помощью RSA осуществляется путем построения UML моделей. Технология построения  моделей и диаграмм на языке UML  в RSA во многом схожа с методикой построения диаграмм в Rational Rose. Отличием является то, что RSA имеет несколько другой интерфейс и отличные от  Rational Rose представления.

Итак, разработка на основе моделей при проектировании информационных систем с помощью RSA осуществляется по следующей методике(технологии).

Запустите Rational Software Architect. Для этого в меню  Пуск выберите пункт > Программы > IBM Rational > IBM Rational Software Architect > Rational Software Architect;

В открывшемся диалоговом окне нажмите OK для выбора настроек по умолчанию.

Создайте UML-проект, для чего:

  •  в меню модуля выберите File > New > Project > Other(« Файл» > « Создать» > « Проект»);
  • далее выберите тип проекта, например,  UML Project и нажмите Next;
  • введите имя проекта, например, myModelProject и нажмите кнопку Next.

Вслед за созданием проекта проектирование информационных систем с RSA в соответствие с MDD осуществляется на основе UML моделей. Для создания модели выполните —  « Файл» > « Создать» > « Модель» . Появляется окно мастера создания моделей, показанное на рисунке.

Из данного окна можно:

  • создать новую модель по стандартному шаблону, нажмите Create a new model from stsndart  template (Создать новую модель по стандартному шаблону) и щелкните Next(Далее);
  • создать модель из существующей модели, выбрав эту модель в поле «Выбрать файл модели», задав ей имя в поле File name и местоположение  в поле Destination folder(или кнопка Browse) и нажав кнопку Next можно следующей  странице «Возможности модели»  выбрать  тип отображаемых возможностей модели, по завершении щелкните кнопку  Finish( «Готово») ;
  • создать модель из шаблона, для чего в разделе «Категории» выберите категорию шаблона, в разделе Templates «Шаблоны» выберите шаблон для использования, задайте новой модели имя, местоположение и щелкните кнопку Next(Далее), в зависимости от выбранного шаблона заполните информацию на следующих страницах мастера.

По завершению действий нажмите кнопку Finish(Готово). Вновь созданная модель добавляется в проект и отображается в представлении Project Explorer(Model Explorer). Один из возможных вариантов созданной модели типа Use Case Model показан на следующем рисунке.

Другой вариант модели тапа Use Case Model, созданный в процессе проектирования информационных систем с RSA,показан на следующем рисунке. Отличие состоит в наборе открытых окон интерфейса среды разработки.

Далее можно добавить элементы модели в UML — модель, чтобы они стали частью модели, но не были частью диаграммы, или можно добавить элементы в диаграмму, и в этом случае они будут добавлены в модель, а также в диаграмму.

Для этого щелкните правой кнопкой мыши на имени выбранной модели в представлении Project Explorer или диаграмму или элемент в редакторе диаграмм; затем нажмите «Добавить UML» и выберите тип элемента. Если в редакторе открыта диаграмма, вы можете перетаскивать элементы из палитры на диаграмму. Введите имя нового элемента и нажмите кнопку Enter. Для того, чтобы исследовать модель из диаграммы, можно использовать  вкладку палитры Узнать.

Таким образом, разработка на основе моделей с помощью Rational Software Architect позволяет создать любое число представлений о проектируемой информационной систенмы, что отличае ее от известного Rational Rose.

Четыре этапа жизненного цикла сервиса

Создание сервисов подразумевает как построение
бизнес-модели будущего приложения в SOA, так и непосредственную разработку
сервисов как многократно используемых компонентов с общими, публикуемыми
интерфейсами. Для этого разработчики должны иметь инструментарий,
обеспечивающий поддержку принципов SOA и необходимых стандартов для
проектирования модели приложения, разработки сервиса в целом и входящих в него
объектов, а также тестирования приложения в сервисно-ориентированной среде. Для
SOA необходима модель компонентной разработки, которая позволит создавать не
только новые сервисы, но и включать в единую сервисно-ориентированную среду уже
существующие на предприятии приложения и программные модели. Средства
разработки, предлагаемые IBM, обеспечивают интеграцию в SOA программных
компонентов, реализованных в архитектуре CORBA или в среде с промежуточным
слоем на базе WebSphere MQ, унаследованных приложений, управляемых с помощью
монитора транзакций CICS, и т.д.

Перспективной для SOA может быть новая архитектура
разработки на базе моделей
(Model-Driven Architecture, MDA), предложенная
консорциумом OMG. В этой архитектуре, которая поддерживается в ряде продуктов
семейства IBM/Rational, разработка приложений начинается с создания независимой
от специфики реализации модели приложения, на базе которой потом автоматически
генерируется модель для конкретной платформы и коды приложения. Высокий уровень
абстракции при проектировании приложений в MDA хорошо согласуется с подходами
SOA, представляющей приложения как сервисы, взаимодействующие для реализации
определенного бизнес-процесса.

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

Шаги проектирования процесса интеграции (обмена данными) бизнес-приложений

На этапе проектирования, консультанты по модулям ERP, в процессе обследования и описания бизнес-процессов, определяют возможные точки интеграции и заносят их в заявку на интеграцию с внешними системами (или в заявку на межмодульную интеграцию в случае определения таковой).
В заявке указывается: система источник, система приемник, контактное лицо, какими данными осуществляется обмен.

Например:

Модуль Внешняя система Эксплуати- рующая организация / Контактное лицо Направление интеграции (прием / передача) Описание передаваемых данных Требования модуля
SD АСУ Налива на эстакадах уточнить у ФИО SD -> АСУ Налива Приказы на отгрузку АСУ налива принимает приказ на отгрузку, формируется внутрисистемного документа приказа; передаются количество, продукт, грузополучатель, номера вагонов
АСУ Налива на эстакадах уточнить у ФИО АСУ Налива -> SD Ведомости налива/погрузки Формирование ведомостей налива/погрузки, передача фактических данных по налитому количеству

Также возможные точки интеграции могут быть определены из:

  • знаний функционального архитектора проекта;
  • могут быть определены ранее на этапах договора или предобследования.

Консультант по интеграции, для обследования возможной точки интеграции, контактирует с бизнес-пользователями и ИТ-специалистами по указанным в заявке системам. В ходе интервью более детально описывается бизнес-процесс работы с системой, с которой возможна интеграция (обмен данными). В частности:

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

Далее консультант по интеграции формирует рабочий документ «Концепция интеграции», в котором описываются следующие пункты в разрезе to-be (как это будет):

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

Далее данная «Концепция интеграции» в части общего описания потоков интеграции согласовывается с бизнес-пользователями в рамках документа «Эскизный проект / Технический проект» или «Концептуальный проект». А в части описания интерфейсов согласовывается с ИТ-специалистами информационных систем, с которыми будет осуществляться интеграции.

Виды архитектуры ПО

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

На самом деле такое деление не совсем верно, поскольку:

Наиболее популярное сейчас деление архитектур (по опыту собеседований и общения с коллегами), это деление на монолитную архитектуру и микросервисную. На самом деле такое деление не совсем верно, поскольку:

Во-первых, микросервисная архитектура является подтипом сервис-ориентированной архитектуры.

Во-вторых, во некоторых проектах сейчас используется бессерверная архитектура, но ее мы, в рамках этой статьи  рассматривать не будем. 

Итак, монолит – это иерархическая архитектура, т.е каждый слой приложения отвечает за свою часть функционала, например: работа с базой, логирование, интерфейс (простота E2E тестирования, простота развертки). Глубоко разбирать монолиты не будем. Отметим, что есть несколько видов наиболее популярных шаблонов монолита:

Model-View-Controller (MVC, «Модель-Представление-Контроллер», «Модель-Вид-Контроллер») — схема разделения данных приложения и управляющей логики на три отдельных компонента: модель, представление и контроллер — таким образом, что модификация каждого компонента может осуществляться независимо.

  • Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя своё состояние.

  • Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.

  • Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.

Model-View-Presenter (MVP) — шаблон проектирования, производный от MVC, который используется в основном для построения пользовательского интерфейса.

Элемент Presenter в данном шаблоне берёт на себя функциональность посредника (аналогично контроллеру в MVC) и отвечает за управление событиями пользовательского интерфейса (например, использование мыши) так же, как в других шаблонах обычно отвечает представление.

Model-View-ViewModel (MVVM) — шаблон проектирования архитектуры приложения, представленный в 2005 году Джоном Госсманом (John Gossman) как модификация шаблона Presentation Model. Ориентирован на современные платформы разработки, такие как Windows Presentation Foundation, Silverlight от компании Microsoft, ZK framework.

Микросервис – симметричная архитектура. Каждый сервис имеет свою базу и отвечает именно за бизнес-функцию (независимость от стека, масштабируемость, простота модульного тестирования).

Про масштабируемость:

  • Монолит —  масштабируется не рационально(поднимаем всё) + не всегда возможно, если монолит изначально не писался с учетом масштабируемости

  • Микросервисы масштабируются рационально (увеличиваем количество экземпляров только нужных сервисов.)

Вывод: если ваше приложении не разрастется (и Вы в этом уверены), у вас маленькая команда и сильно ограниченные ресурсы  — смело выбирайте монолит.

Лайфхак: никто не догадается о том, что монолит, это монолит, если не допускать людей к кодовой базе! :)

Типы интеграции

В зависимости от поставленных задач интеграция может осуществляться на четырёх уровнях: на уровне платформ, данных, приложений и бизнес-процессов.

Интеграция платформ

Этот тип интеграции обеспечивает взаимодействие между приложениями на разных программных платформах, а также работу этих приложений на сторонней платформе. При интеграции платформ используются такие технологии, как виртуализация, ПО промежуточного слоя и удалённый вызов процедур.

Интеграция данных

Интеграция на уровне данных предполагает совместное использование данных различных систем. Интеграция данных может оказаться проще, чем интеграция приложений, так как СУБД имеют развитые возможности программного доступа к данным из других приложений. Наиболее распространённые технологии этого класса — ODBC, JDBC, ADO.NET. Кроме того, на сегодняшний день широко распространены технологии ORM, которые позволяют абстрагироваться от деталей взаимодействия с конкретными СУБД.

Интеграция приложений

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

Интеграция бизнес-процессов

Наиболее целостным подходом к интеграции систем является интеграция бизнес-процессов

В рамках интеграции бизнес-процессов происходит интеграция и приложений, и данных, и, что не менее важно, людей, вовлечённых в этот бизнес-процесс

Что такое архитектура и для чего она нужна

Архитекту́ра или зодчество, согласно википедии, это искусство и наука строить, проектировать здания и сооружения (включая их комплексы), а также сама совокупность зданий и сооружений, создающих пространственную среду для жизни и деятельности человека.

В той же википедии есть определения того, что такое программная архитектура

Архитектура программного обеспечения (англ. software architecture) — совокупность важнейших решений об организации программной системы, включающая в себя:

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

  • соединение выбранных элементов структуры и поведения во всё более крупные системы;

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

Наиболее понятным, на мой взгляд, кажется определение, которое объединит эти два понятия:

Архитектура ПО (разработка архитектуры ПО), это искусство и наука строить и проектировать программное обеспечение таким образом, чтобы оно удовлетворяло всем заявленным к нему требованиям, а также обеспечивало максимальную простоту доработки, развертывания и масштабирования приложения.

Проще говоря, если мы решили использовать HEAD-FIRST подход (сначала думай, потом делай), то без проработки архитектуры нам не обойтись. Да и в ситуации, когда мы сначала всё сделали, а потом начали думать – к вопросу архитектуры мы тоже придем, только теперь с большим объемом кода, который надо переписывать.

Преимущества интеграции API

Есть несколько заметных преимуществ интеграции API. К наиболее примечательным относятся:

1. Автоматизация

Интеграция API позволяет автоматически передавать информацию и данные от одного приложения к другому. Успешная автоматизация помогает устранить ручной (человеческий) компонент, что экономит время и значительно снижает количество ошибок.

2. Масштабируемость

Интеграция API позволяет компаниям расти, поскольку им не нужно начинать с нуля при создании подключенных систем и приложений.

3. Оптимизированная прозрачность/коммуникация/отчетность

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: