What is IBM DataPower? What is DataPower used for?
IBM DataPower is a family of hardware and software products that provides comprehensive security, mediation, and integration for IBM WebSphere environments.
DataPower appliances are used to provide secure access to the web and mobile applications, protect the enterprise from data leakage, and enforce compliance with government regulations.
DataPower also integrates with IBM’s other middleware products including IBM Business Process Manager (BPM), IBM Integration Bus (IIB), IBM Message Broker (MB), and IBM Operational Decision Manager (ODM).
What is DataPower used for?
DataPower is used for a variety of purposes in IBM WebSphere environments. DataPower can be used to protect the enterprise from data leakage, enforce compliance with government regulations, and provide secure access to the web and mobile applications.
DataPower is a popular solution for enterprise communications, and it can modify or route communications as well.
It also protects web service interfaces from any potential threats by masking them with security provisions that are unique to each interface type (such as SSL).
In addition, Datapowers’ platform-agnostic nature means you don’t have to be restricted to using only one system – instead they’re versatile enough in design so your business won’t ever suffer because of compatibility issues!
IBM DataPower Gateway
IBM DataPower Gateway is a security appliance that helps to protect and integrate your IT assets while reducing costs.
DataPower Gateway is DMZ-ready, providing easy deployment and optimized access to a full range of web, API, mobile, SOA, cloud, mobile, and B2B workloads.
DataPower also delivers a wide range of application security, integration, routing, and B2B integration capabilities.
IBM WebSphere DataPower Service
IBM WebSphere DataPower Service is a software product that provides comprehensive security, mediation, and integration for IBM WebSphere environments.
DataPower Service can be used to protect the enterprise from data leakage, enforce compliance with government regulations, and provide secure access to the web and mobile applications.
DataPower Service is a popular solution for enterprise communications, and it can modify or route communications as well.
It also protects web service interfaces from any potential threats by masking them with security provisions that are unique to each interface type (such as SSL).
In addition, DataPower Service’s platform-agnostic nature means you don’t have to be restricted to using only one system – instead they’re versatile enough in design so your business won’t ever suffer because of compatibility issues!
The Roles of IBM DataPower
- DataPower can serve as a hardened security gateway
- DataPower is versatile and can be easily added to a network
- DataPower speaks XML, making it a data-handling standardization powerhouse
- DataPower can function as an integration device or bridge for legacy applications
- DataPower is easy to use, making it a popular choice for enterprise communications
- DataPower installations are quick and easy to set up
- DataPower’s development cycle is quick and easy to use
The Benefits of IBM DataPower
- DataPower provides security for mobile, online, API, SOA, B2B, and cloud workloads.
- DataPower is a single “drop-in” gateway that simplifies the topology, lowers development costs, and streamlines operations.
- DataPower provides near real-time visibility of transactions and centralized operations.
- DataPower provides high-speed message transformation, transport protocol bridging, database connectivity, mainframe connectivity, and content-based routing to connect services quickly and securely.
- DataPower’s simplified integration allows for quick and easy connections between services.
- DataPower’s security features provide businesses with the highest level of security assurance certification.
How IBM DataPower Secures APIs, Mobile, Cloud, and More
IBM DataPower is a comprehensive security solution that can be used to protect APIs, mobile applications, and cloud-based workloads.
DataPower provides a variety of security features that can help businesses keep their data safe and secure. DataPower’s security features include:
- DataPower can serve as a hardened security gateway, providing a layer of protection between the enterprise and the outside world.
- DataPower is versatile and can be easily added to a network, making it a convenient and easy-to-use security solution.
- DataPower speaks XML, making it a data-handling standardization powerhouse. DataPower can be used to quickly and easily connect services together.
- DataPower is easy to use, making it a popular choice for enterprise communications. DataPower installations are quick and easy to set up.
- DataPower’s development cycle is quick and easy to use, allowing businesses to quickly deploy new security features.
DataPower’s comprehensive security features make it an ideal solution for businesses of all sizes.
DataPower provides the highest level of security assurance certification, ensuring that your data is safe and secure.
IBM DataPower Deployment
IBM DataPower is a secure gateway that provides a robust platform for deploying applications in a network.
DataPower can be used to deploy web applications, databases, and other network services.
DataPower provides a number of features that make it an ideal platform for deploying applications. These features include:
- Docker: DataPower can be used to deploy applications in a Docker container. This makes it easy to deploy applications in a secure and isolated environment.
- XML Firewall: DataPower provides an XML firewall that can be used to protect web applications from malicious attacks.
- Multi-Protocol Gateway: DataPower can be used as a multi-protocol gateway. This allows DataPower to act as a gateway between multiple protocols, such as HTTP and HTTPS.
- Encryption & Decryption: DataPower can be used to encrypt and decrypt data. This helps to protect sensitive data from being accessed by unauthorized users.
- Sign & Verify: DataPower can be used to sign and verify data. This helps to ensure that data has not been tampered with.
- AAA: DataPower provides AAA (Authentication, Authorization, and Accounting) support. This allows DataPower to authenticate users and authorize access to resources.
- Logging: DataPower provides logging capabilities. This allows administrators to track the activity on the DataPower server.
- Error Handling: DataPower provides error-handling capabilities. This helps to ensure that errors are handled in a consistent manner.
IBM DataPower pros and cons
While IBM DataPower is a comprehensive security solution that can be used to protect APIs, mobile applications, and cloud-based workloads, it does have some advantages and drawbacks.
Some of the pros of using IBM DataPower include:-
- It offers robust protection against DDoS attacks.
- DataPower can help you comply with regulatory requirements such as GDPR and HIPAA.
- It has a user-friendly interface that makes it easy to configure and use.
- DataPower is available on-premises or in the cloud.
Some of the cons of using IBM DataPower include:-
- IBM DataPower is a bit expensive compared to other security solutions. The pricing can be prohibitive for small businesses or startups.
- IBM DataPower can be difficult to use for novice users. It can be difficult to troubleshoot problems when they occur.
- IBM DataPower is not as widely used as some other security solutions.
- DataPower may not be the best solution for complex architectures or very large-scale deployments.
Conclusion:
DataPower is a secure gateway that provides a robust platform for deploying applications in a network. DataPower can be used to deploy web applications, databases, and other network services. DataPower’s comprehensive security features make it an ideal solution for businesses of all sizes.
When deploying IBM DataPower, there are a few things you should keep in mind.
First, DataPower can be used to deploy applications in a Docker container. This makes it easy to deploy applications in a secure and isolated environment.
Second, DataPower provides an XML firewall that can be used to protect web applications from malicious attacks.
Third, DataPower can be used as a multi-protocol gateway. This allows DataPower to act as a gateway between multiple protocols, such as HTTP and HTTPS.
Fourth, DataPower can be used to encrypt and decrypt data. This helps to protect sensitive data from being accessed by unauthorized users.
Fifth, DataPower can be used to sign and verify data. This helps to ensure that data has not been tampered with.
Sixth, DataPower provides AAA (Authentication, Authorization, and Accounting) support. This allows DataPower to authenticate users and authorize access to resources.
Seventh, DataPower provides logging capabilities. This allows administrators to track the activity on the DataPower server.
Eighth, DataPower provides error-handling capabilities. This helps to ensure that errors are handled in a consistent manner.
DataPower Tutorial
IBM DataPower is a purpose-built, easy-to-convey organizing tool that reorganizes, protects, and speeds up your XML and Web management setups. The majority of DataPower firmware is utilized to perform electronic informing functions. This DataPower Tutorial will teach you everything you need to know about DataPower and its features from the very beginning.
- What is Datapower?
- Why IBM Datapower?
- Benefits of Datapower
- DataPower Administration Overview
- XML firewall in DataPower
- Highlights of XA35, XS40, and XI50 Appliances
- DataPower XML Accelerator XA35
- DataPower XML Security Gateway XS40
- DataPower Integration Appliance XI50
What is Datapower?
DataPower is a device that collects data. The IBM WebSphere DataPower SOA Appliances are purpose-built, easy-to-convey arrangement gadgets that untangle, protect, and accelerate your XML and Web administrations companies while expanding your SOA framework. As you strengthen new commitments beyond the venture, IBM WebSphere DataPower SOA Appliances help protect, integrate, and improve access to online, mobile, and API outstanding duties.
IBM WebSphere DataPower SOA Appliances are a collection of pre-configured, pre-assembled, rack-mountable interface instruments (XML apparatuses) that can help you energize Web Services and XML while increasing your SOA foundation. IBM DataPower Gateway helps organizations fulfill a modern business’s security and mix needs in a single multi-channel journey. It provides security, control, integration, and improved access to a wide range of portable, web, application programming interface (API), situated organizational design (SOA), B2B, and cloud-based operations.
If you want to enrich your career and become a professional in IBM DataPower, then enroll in «IBM DataPower Training«. This course will help you to achieve excellence in this domain. |
Why IBM Datapower?
Most of the time, DataPower firmware is utilized to execute electronic messaging operations. As an enterprise service bus, it can modify and route communications and safeguard web services interfaces and the architecture behind them from threats. It assists in integrating any two apps by treating them as services. It’s platform and language agnostic.
Role of IBM DataPower
Unlike middleware used in typical application setups, DataPower may assign no single role. DataPower is unafraid to be labeled as generic. This is due to a variety of factors, including:
- Hardened security: It can operate solely as a security gateway due to its hardened security.
- Appliance versatility: It is simple to add to the network to accomplish multiple duties at various points.
- XML lingua franca: The promise of XML-speak is data handling standardization, simplicity, and transparency. DataPower’s ability to adapt to diverse roles is XML-centric from the ground up. The transformation from one thing to another can be used as an integrated device to convert any data format.
- Multi-protocol support: This enables it to function as an integration device or a bridge for legacy applications. The ease-of-use factor supports all of the preceding. DataPower’s main competency is consumability. DataPower can be consumed at many levels.
Installation: It takes only a few minutes to get up and running as a network appliance. - Development cycle: The develop-deploy round trip development methodology is eliminated with an on-board Web GUI-based solution to generating and managing apps.
- Development model: The application is developed using a set of elements stacked one on top of the other in a building-block method. The granularity of these items corresponds well to architectural elements seen in most applications.
According to all of the above, DataPower Appliances can be used in various ways, depending on the work at hand.
Benefits of Datapower
DataPower secures, integrates, and optimizes mobile, online, API, SOA, B2B, and cloud workloads. The advantages of DataPower are mentioned below:
- Security gateway for businesses of all sizes
- For mission-critical enterprise applications, enterprise-grade security with the highest level of security assurance certification is available.
- Simplified integration allows for high-speed any-to-any message transformation, transport protocol bridging, database connectivity, mainframe connectivity, and content-based routing to connect services quickly and securely.
- Cost and complexity are reduced.
- A single «drop-in» gateway simplifies the topology, lowers development costs, and streamlines operations, all of which save money and decrease risk.
- Troubleshooting and smart insights
- An improved operations console enables faster problem detection and operational robustness, providing near real-time visibility of transactions and centralized operations.
DataPower Administration Overview
In the default domain, administration refers to the activities that an administrator or developer can usually configure or maintain.
Your corporate environment may define several different types of administrators and developers. You might have the following categories of administrators, for example.
- The network administrators will define the DataPower Gateway’s operating environment.
- Firmware administrators are in charge of determining which firmware version a DataPower Gateway is running.
- Integration administrators and developers define connections to distant applications, files, storage, and web servers.
- Lifecycle administrators manage application domains during the development, test, and production service phases.
- User administrators can manage which developers have access to the DataPower Gateway to develop, maintain, and promote services.
XML firewall in DataPower
The single protocol is used by an XML Firewall, which has a processing policy including request, response, two-way, and error rules. Its settings determine the listening IP address-port pair and threat protection in general. An XML Firewall can admit unprocessed (text or binary) documents while processing XML documents of all types, including SOAP-formatted messages. The XML Firewall can use the processing policy to apply all of the different processing actions to the request and response message, regardless of format. AAA, transformations, schema validation, logging, and cryptographic procedures are all processing examples.
An XML Firewall can be used to proxy distant services. However, defining the configuration as a loopback service is a frequent feature of the XML Firewall. The remote server is undefined as a loopback service. In this scenario, the service responds to the client once it has processed the request. When the remote server is inaccessible, you can utilize this capability to create, test, and debug a service. Site-specific XML security principles are implemented through the XML Firewall. A primary XML Firewall can be set up in minutes, but you may also specify complicated security policies that maximize XSLT’s full potential.
Highlights of XA35, XS40, and XI50 Appliances
DataPower XML Accelerator XA35
- Arrangements for SOA and Web administrations are accelerated.
- Increases the speed of execution
- Reduces the amount of time it takes for an application to respond (dormancy)
- Costs and unpredictability are reduced.
DataPower XML Security Gateway XS40
- Ensures that SOA and Web administrations are secure.
- Provides a lot of XML security.
- The usefulness of advanced XML firewall and security method authorization point
- Most Web administrators’ requirements are met.
DataPower Integration Appliance XI50
- Arrangements for SOA and Web administrations are combined.
- Transforms between message designs that aren’t the same (double, inheritance, XML, and so on.)
- Transport-level conventions for bridges and wire lines (HTTP, MQ, FTP, JMS, Tibco EMS, and so forth.)
DataPower XML Accelerator XA35
- As XML becomes more widespread as a data exchange format, network administrators will have to deal with increased strain on Web servers, application servers, and database servers. The XA35 XML Accelerator from DataPower provides a single solution for improving the performance of several elements of XML data processing. Traffic sent as compressed binary data is now sent as plain text, resulting in files up to 20 times an equal database file size.
- DataPower’s XA35 XML Accelerator can help with these and other challenges, such as security. The product is a layer-seven appliance that evaluates data and provides various XML-related services. It can use XML to route traffic, screen incoming XML for validity to prevent malicious code from entering a network, and compress and decompress XML data.
- The XA35 is a UI appliance featuring four 10/100 Ethernet ports, a 10/100 management port, and a console serial port. XML acceleration is achieved using a combination of bespoke hardware and software. It compiles XSL stylesheets and generates code that parses or transforms XML directly on the hardware instead of using interpreted code that runs on top of the operating system as seen on a Web server or application server.
DataPower XML Security Gateway XS40
- Filter any material, metadata, or system factors with the XML/SOAP Firewall. Approve approaching/active XML and SOAP at wire speed with information validation.
- Individual fields get scrambled and signed using Field Level Security-WS-Security. Examples are SAML, LDAP, RADIUS, and other XML Web Services Access Control/AAA protocols.
- Multi-Step — Complex multi-organization pipeline HTTP , HTTPS, and SSL are examples of transport layer flexibility. Simple Configuration and Management — WebGUI, CLI, IDE, and Eclipse Configuration to meet a wide range of authority requirements.
DataPower Integration Appliance XI50
- The IBM WebSphere DataPower Integration Appliance XI50 is complete, purpose-built equipment for delivering extremely sensible, more secure, and flexible SOA arrangements. The WebSphere DataPower Integration Appliance XI50 is a rack-mountable system device that measures 1U (1.75-inch) and fits into industry-standard racks.
- The IBM WebSphere DataPower SOA Appliances help a corporation detangle, accelerate, and improve the security capabilities of its XML and Web administrations enterprises and expand the capabilities of its administration arranged design (SOA) foundation.
- The XI50 is a diskless apparatus that allows for «any-to-any» modifications in various parallel, content, and XML designs, including COBOL Copybook, CORBA, CICS, ISO 8583, ASN.1, and EDI. The XI50 has visual tools to assist business experts in organizing position descriptors, mappings, and message flow.
Conclusion
This DataPower Tutorial taught us its benefits, roles, administration, and various stylesheets. We hope that this DataPower Tutorial helps you understand the subject even better.
Ibm data power что это
With web application attacks making up 39% of all breaches in 2021¹, IBM® DataPower® Gateway helps businesses meet their security and integration needs. Enterprise-grade security, control and comprehensive transport and data protocol support include IBM MQ, Apache Kafka and traditional business critical data formats.
financial institutions worldwide use IBM DataPower.
different industries have companies that use IBM DataPower.
countries with DataPower deployments.
Enterprise-grade security with the highest level of assurance certification to protect your critical business applications.
High-speed message transformation and transport protocol bridging helps deploy news services rapidly.
A single, drop-in gateway helps simplify the topology and operations, resulting in cost savings and reduced risk.
Speed problem determination with near-real time visibility of transactions through centralized operations.
Enforce security across messaging protocols with a DMZ-ready gateway.
Enables message and protocol mediation by bridging modern and traditional application standards.
Ensure consistent application performance and service protection with traffic control and routing.
Authentication and authorization decision point for all standards, including OAuth and LDAP.
Allows customers to inspect DataPower transactions in full detail including payload and all metadata information
A flexible, configuration-driven experience that reduces the skills barrier and speeds time to value.
Use Cases
Product versions
IBM DataPower Gateway versions
Physical
Hardware offering for the DMZ with specialized security and message optimization.
Virtual
Physical appliance capabilities as containers or virtual machines across any deployment.
Physical
- Intrusion detection: hardware protection against malicious altering of physical system
- Secured boot process: Trusted Platform Module (TPM) chip decrypts firmware at startup
- Hardware Security Module (HSM): provides tamper-proof storage of private key material
- FIPS 140-2 Level 3 compliance through the use of HSM
- Purpose-built system providing hardware-accelerated operations
- Lower latency and higher throughput than virtual appliances
Virtual
- Deployed on commodity x86 hardware servers and supported cloud environments
- High elasticity—easily moved between servers with flexibility to increase capacity
- Flexible licensing and entitlement options
- Increased workload isolation
- Run multiple instances concurrently on a single physical server
- Provides lower-cost environment for application development and test validation
Federal Bank creates an API banking system to better integrate with other organizations and ecosystems
1LINK enables fast, affordable integration with API platform.
Q8 Italia leads an enterprise-wide move to IBM Cloud Pak for Integration.
Get a one-page summary of the key features and benefits of IBM DataPower Gateway.
Learn more about why IBM DataPower is the industry leading application gateway.
Evaluate IBM DataPower Gateway with a free container available in the IBM Entitled Registry.
Get this API management solution for your entire API lifecycle from creation to management.
Connect all of your apps and data with this simple, smart and scalable integration solution.
Enable business and IT teams to put events to work, detecting and responding to new trends, customer issues or competitive threats in real-time.
Take advantage of enterprise-grade messaging that skillfully and safely moves data between apps.
Extend your investment and scale with confidence by adding IBM DataPower Gateway.
Evaluate DataPower Gateway with a free container available in the IBM Entitled Registry.
Обучающий курс по DataPower
В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтрации, маршрутизации, обогащения или других преобразований проходящих через него сообщений (далее – запросов). Обучаться нужно было быстро, времени на раскачку не было, поэтому нам было предложено самостоятельно ознакомиться с ним, после чего были многочасовые конференции по скайпу с нашим коллегой из Москвы, который передавал нам свои знания и опыт работы с этим продуктом.
Самостоятельное обучение основывалось на изучении документации и просмотре обучающих видео из интернета – и тут меня ждал подвох. Мне практически не удалось найти информации на русском языке. К слову, мои знания английского языка на тот момент были не на высшем уровне, к тому же это был мой первый проект и, наверное, именно эти факторы усложнили мне жизнь. Это сподвигло меня написать обучающую статью на русском языке и в максимально простом изложении для начинающих разработчиков, которые столкнулись с этим продуктом и пытаются оперативно понять его азы. Статья не освободит вас от чтения документации, но облегчит жизнь на первых этапах понимания «как это работает».
Стоит также заметить, что приведенная в практике структура будет приближена к реальному проекту, что позволит вам использовать ее как базу, расширяя и дополняя под ваши требования. В заключение к разделам «Теория» будет приведено несколько слов об уже реализованном проекте, а также некоторые особенности, на которые стоит обратить внимание.
Часть 1. Установка DataPower средствами Docker Toolbox
Установите и запустите приложение Docker Toolbox. Сразу после запуска вы увидите IP адрес машины, по которому в дальнейшем будет доступен DataPower:
Для запуска образа необходимо изменить некоторые настройки виртуальной машины (актуально для версии IDG.2018.4.1.0) и перезапустить ее:
-
Останавливаем докер-машину командой:
Примечание. Если будет предложено перезапустить «docker-machine env» — выполните:
Часть 2. Домены
2.1. Теория
Домены в DataPower позволяют разделить средства администрирования и разработки, а также обеспечить безопасность.
После установки существует только домен default, из которого могут быть созданы домены приложений. Для каждого домена существует своя конфигурация параметров.
Некоторые общие ресурсы и параметры можно определить только в default домене, к ним относятся сетевые интерфейсы, пользователи и управление доступом, домены приложений и другие.
Домен приложений – это раздел разработки для служб, обрабатывающих запросы. Службы, определенные в нём, не могу быть общими с другим доменом приложений. Домены приложений могут перезапускаться отдельно и независимо друг от друга, без необходимости полного перезапуска DataPower.
Вы можете создавать, перезапускать, сбрасывать, приостанавливать, возобновлять или удалять домены. Более подробную информацию обо всех возможностях администрирования вы можете найти в официальной документации.
Немного о реализованном проекте. Мы использовали 3 домена:
- default – домен по умолчанию, содержащий общие ресурсы и параметры;
- trunk – основной домен, содержащий все необходимое для обработки запросов;
- settings – домен настроек и безопасности, в локальных файлах содержится информация о правилах маршрутизации сервисов и параметрах безопасности.
Необходимость перенести все настройки в отдельный домен возникла в связи с поиском более простого пути развертывания. Как и во многих проектах среды dev, test и prod у нас были разделены, а вынос в отдельный домен настроек позволил устанавливать все основные домены из dev среды в других средах посредством экспорта/импорта, без риска потерять настройки среды.
2.2. Практика
- В поле поиска введите «domain», выберите «Application Domain» и нажмите «Добавить»
- Здесь вам необходимо указать название домена, комментарий (при желании) и активировать auditing и logging. Заполните поля и примените изменения
- Аналогично добавьте еще один домен «trunk»
- Перейдите в Review changes
- и сохраните конфигурацию домена
- Проверить состояние созданных объектов вы можете, перейдя в default домене по дереву навигации в Status -> Main -> Object Status
- Выберите View by: types
- Найдите в списке Application Domain и проверьте состояние объектов: каждый из них должен быть сохранен, включен и в состоянии up. Если всё так – переходите к следующей главе
Часть 3. Менеджеры очередей
Менеджер очередей не является обязательным компонентом IBM DataPower, но именно на примере с MQ можно показать всю мощь этого продукта. MQ будем использовать от компании IBM. Во время тестирования, описанного в 6 главе, нам будет необходимо отправлять сообщение в локальный менеджер очередей. В данной статье я сделаю это с помощью утилиты rfhutil, но вы можете использовать любой доступный вам способ. Для тестирования необходимо будет создать коннект из DP к вашему локальному менеджеру очередей с помощью MQ Queue Manager.
3.1. Теория
Менеджер очередей обеспечивает обмен данными между шлюзом и удаленными администраторами очередей.
Вы также можете настроить MQ Queue Manager Group, что позволит повысить отказоустойчивость системы. Это может быть полезно, например, если вы хотите подключать клиента к любому из набора работающих администраторов очередей и еще в ряде случаев, с которыми вы можете ознакомиться в официальной документации.
Из опыта проекта стоит отметить только одну особенность: в свое время мы хотели попробовать реализовать балансировку нагрузки средствами DataPower, в частности, с использованием групп менеджеров очередей, но на практике не обнаружили такой возможности. Альтернативное решение – создание кластера менеджеров очередей.
3.2. Практика
3.2.1. Подготовка
- Установите WebSphere MQ;
- Создайте локальный менеджер очередей LOCAL_DP_QM, доступный по порту 3630;
- Настройте канал DP.SVRCONN;
При создании канала вам могут быть полезны следующие команды:
3.2.2. Создание IBM MQ Queue Manager
- Перейдите в домен trunk.
- В поиске наберите MQ, выберите IBM MQ Queue Manager и нажмите добавить.
- Вам необходимо указать название(TEST_QM), хостнейм менеджера очередей, имя менеджера очередей и имя канала, а также таймаут. Выполните настройку и сохраните изменения.
Проверьте состояние объекта менеджера очередей аналогично проверке статуса доменов. Для этого из домена trunk выберите Object Status и фильтр View by: types. В разделе «IBM MQ Queue Manager» отыщите соответствующий объект и проверьте его состояние.
Часть 4. Многопротокольные шлюзы
4.1. Теория
Multi-Protocol Gateway (MPG) – многопротокольный шлюз, позволяющий принимать запросы от клиентов по различным протоколам, а затем по различным протоколам передавать их на удаленный сервер. Протокол, используемый клиентом может не совпадать с протоколом, используемым сервером удаленного доступа.
В основных настройках MPG вы можете определить следующие компоненты:
- XML Manager – управляет компиляцией и кэшированием таблиц стилей(xsl,xslt), кэшированием документов.
- Policy – состоит из правил, каждое из которых определяет набор действий, применяемых к сообщению, проходящему через шлюз.
- Настройки front и back side (настройка url, типов входящего и исходящего сообщений, таймаутов и другого).
Пара слов о проекте:
В реализации проекта используется 4 многопротокольных шлюза (маршрутизирующий, 2 трансформационных для разных конечных систем и дополнительный, предназначенный для получения файлов из домена settings). На схеме ниже представлена общая схема взаимодействия:
Количество MPG может варьироваться в зависимости от архитектуры решения в целом. В нашем случае DataPower стоит перед интеграционной шиной (IIB) и микросервисами, которые имеют существенные различия в интерфейсах(json/http против xml/mq), поэтому трансформационные MPG было решено делать под каждый специфический бэкенд и называть его соответствующе. Для всех клиентов мы работаем по json/http, поэтому маршрутизирующий MPG – один. Основные MPG состоят из 3 правил обработки сообщений – запроса, ответа и ошибок. Каждое правило состоит из необходимых действий, таких как transformation, logging, routing и прочие.
Из особенностей – если в policy вы используете действие ConvertQueryParamToXML, то будьте внимательны к InputConversion. Если вы зададите Default Encoding значение JSON и попытаетесь отправить GET-запрос, то будете удивлены, обнаружив, что сообщение не претерпело никаких трансформаций, указанных вами и не обнаружите никаких его следов. Данную особенность поможет преодолеть создание отдельного правила для GET-запросов.
4.2. Практика
4.2.1. Подготовка
Все необходимые для работы файлы вы можете найти по ссылке https://github.com/EvgenyaVlasenko/IBM_DataPower.git
4.2.1.1. Домен trunk
- Перейдите в домен trunk.
- На панели управления выберите File Management.
- В каталоге local создайте следующую структуру каталогов и поместите в нее соответствующие файлы (в каждом файле содержится краткое описание того, какие функции он выполняет, а также более подробно остановимся на этом далее в статье).
4.2.1.2. Домен settings
- Перейдите в домен settings.
- На панели управления выберите File Management.
- В каталоге local создайте следующую структуру каталогов и поместите в нее соответствующие файлы (внутри файлов также содержится их краткое описание).
4.2.2. Создание GetFileMPG
Для начала создадим простой вспомогательный MPG, который будет возвращать файлы из домена settings.
- Перейдите в домен settings.
- На панели управления выберите Multi-Protocol Gateway и нажмите создать.
- Укажите имя (GetFileMPG), описание(по желанию) и тип бэкенда (dynamic). На самом деле, так как вызова бэкенда фактически не будет, а будет только возвращаться файл из локальной системы, то в данном примере тип бэкенда можно указать любой.
- Задайте типы запроса и ответа. Явное указание типов позволит сократить количество встроенных проверок. Указание типа Pass through позволит не создавать правило (в данном случае для трансформации ответа). В случае, если мы укажем Request Type тоже Pass through, то не сможем никак обработать сообщение. Этот вариант нам не подходит, поэтому ограничиваем тип запроса с помощью Non-XML.
4.2.3. Создание RoutingMPG
Теперь создадим RoutingMPG. На основании входного запроса и правил маршрутизации он определит, куда и с какими параметрами следует отправить запрос.
- Перейдите в домен trunk.
- Создайте новый Multi-Protocol Gateway в соответствии с пунктами 2-10 раздела 4.2.2, используя следующие значения:
- 3 – имя: RoutingMPG, тип бэкенда: Dynamic (для возможности маршрутизации запросов в разные MPG при необходимости).
- 4 – Rq: Non-xml, Rs: Non-xml.
- 6 – имя: RoutingHTTP_FSH, ip: 0.0.0.0, порт: 7170, + Get method.
- 8 – имя: RoutingPolicy.
- 9 – имя: RoutingPolicy_rule_req, направление: Client to Server.
- Добавьте еще одно действие для маршрутизации запроса, для этого перетащите на правило действие «Route», дважды щелкните на нем для настройки, заполните поля и примените изменения. Файл route.xsl получает файл настроек роутинга из домена settings через созданный ранее GetFileMPG. После этого на основании URI выделяются из файла уже те настройки, которые необходимы для данной операции. Часть из них используется для маршрутизации, а часть добавляется в хедеры для использования в других MPG. Параметры input и output определяют способ работы только с телом сообщения и никак не влияют на хедеры и переменные. Поэтому: вход из null – так как для роутинга не используется информация из тела сообщения. Вывод в null – так как результатом трансформации является только изменение служебной информации.
- Направление: Сервер-клиент, имя: RoutingPolicy_rule_resp;
Трансформация: Input INPUT, Output NULL, файл трансформации local:///RoutingMPG/transform/resp.xslt. Файл resp.xslt получает http-статус ответа трансформационного MPG и в явном виде устанавливает его в ответ RoutingMPG. Если этого не сделать, то по умолчанию будет выставлен код 200, даже если в трансформационном MPG возникла ошибка. - Направление: Error, имя: RoutingPolicy_rule_error;
Трансформация: Input INPUT, Output PIPE(согласно документации, использование PIPE между двумя смежными узлами действий в качестве INPUT и OUTPUT способно устранить дополнительную обработку и снизить объём используемой памяти), файл трансформации local:///RoutingMPG/transform/errors.xsl. Файл errors.xsl получает код и текст ошибки из ответа от трансформационного MPG и формирует JSON-сообщение об ошибке в ожидаемом клиентом формате.
4.2.4. Создание IIBMPG
Следующий шаг – создание трансформационного MPG. Предположим, внешняя система имеет формат запроса JSON, а внутренняя — XML. Нам необходимо преобразовать входное сообщение так, чтобы его смогла понять внутренняя система. Стоит заметить, что это не всегда простое преобразование сообщения целиком. Часто требуется передать усеченное или дополненное сообщение, иногда с полностью переработанной структурой.
- Перейдите в домен trunk.
- Создайте новый Multi-Protocol Gateway в соответствии с пунктами 2-10 раздела 4.2.2, используя следующие значения:
- 3 – имя: IIBMPG, тип бэкенда: Dynamic
- 4 – Rq: JSON, Rs: XML
- 6 – имя: IIBHTTP_FSH, ip: 127.0.0.1(только запросы с этого же DataPower), порт: 7172, + Get method
- 8 – имя: IIBPolicy
- 9 – имя: IIBPolicy_rule_req, направление: Client to Server
- Добавьте описание. Файл IIBRuleRoute.xsl на основании X-DP-Transform-Name в headers запроса получает из файла local:///IIB/route/IIBRouteRules.xml названия файлов трансформации запроса, ответа и ошибки для этого сервиса и устанавливает их значения в соответствующие контекстные переменные var://context/IIB/reqTransform, var://context/IIB/ansTransform, var://context/IIB/errTransform. Также в контекстные переменные помещаются другие значения из headers(url,uri,expire,timeout).
- Направление: Сервер-клиент, имя: IIBPolicy_rule_resp;
Трансформация: Input INPUT, Output PIPE, файл трансформации var://context/IIB/ansTransform(контекстная переменная для подстановки трансформации респонса «на лету»). - Направление: Error, имя: IIBPolicy_rule_error;
Трансформация: Input NULL, Output PIPE, файл трансформации var://context/IIB/errTransform(контекстная переменная для подстановки трансформации ошибки «на лету»).
Часть 5. Тестирование
5.1. Подготовка
- Скачайте, например, утилиту rfhutil для чтения и записи сообщений в очередь;
- Тестовые файлы находятся в папке tests той же директории, что и файлы проекта.
5.2. Проверка работоспособности
-
Отправьте запрос помощью утилиты curl (для запроса ниже текущая директория должна быть той же, где лежит example.json).
Часть 6. Логирование
6.1. Теория
Log Targets фиксируют различные сообщения, происходящие в системе и сохраняют их в указанном виде.
На проекте мы создали Log Targets для каждого шлюза отдельно. Логи хранятся в текстовом виде, для каждого шлюза отведено по 4 файла для логов объемом 1000Kb, при превышении лимита файлы перезаписываются циклически. При средней активности с такими параметрами информацию о запросе можно извлечь в течение 2-4 дней после его выполнения. В идеале лучше сделать внешние сборщики логов, так как при малейшем повышении нагрузки все перезапишется. Помимо этого, DataPower, как минимум, виртуальный, имеет тенденцию умирать, когда у него закончится место на жестком диске, что можно заметить далеко не сразу, а только когда заполнятся логи какого-нибудь тихого MPG, про который все давно забыли.
6.2. Практика
- Перейдите в домен trunk;
- В поиске наберите Log Target и нажмите добавить;
- На главной вкладке заполните следующие поля:
- Название(IIB_LOG);
- Тип(File);
- Формат (Text);
- Формат timestamp(zulu);
- Имя файла (logtemp:///IIB.log — для IIBMPG);
- Размер файла(1000).
- Добавьте фильтр объектов. В нашем случае мы хотим следить за MPG с именем IIBMPG.
-
В случае успеха вы ничего не увидите в логах или увидите следующие сообщения, означающие, что вы работаете в режиме отладки и вредите производительности.
Часть 7. Если что-то пошло не так
- Если вам удалось дойти до логирования – вы знаете, где искать логи. Если их недостаточно – логируйте тело, хедеры и все, что могло бы вам как-то указать на причину ошибки.
- Часто не обойтись без системных логов. Перейдите на панели управления в раздел View Logs. Здесь всегда можно найти системные ошибки, вроде «не найден файл», «не удалось распарсить ответ» и всякая всячина подобного рода.
- Для начинающих будет очень полезен режим дебага. Он позволяет пошагово проследить ваше сообщение при прохождении через каждое действие. Для активации перейдите в нужный вам MPG и в верхнем меню справа нажмите Show Probe -> Enable Probe. После отправки запроса обновите список и нажмите на лупу. Переходя через действия, вы можете наблюдать за всеми трансформациями вашего запроса.