Connector for IBM® AS400
2
Connector for IBM® AS400
The IBM® AS/400® connector allows you to easily unlock the data in your
IBM® AS/400®, reducing the time to market, total cost of ownership and
integration complexity. The IBM® AS/400® connector works with native
IBM® AS/400® objects (data queues and commands). The IBM® AS/400®
connector is an operation-based connector, meaning when you add the
connector to your flow, you configure a specific operation the connector is
intended to perform.
3
Supports operations
4
IBM AS/400 Connector Demo - External process calls
AS/400
For this use case the external process needs to get product price from
Merchandizing system running on AS/400.
Mule demo code
Create Mule application that:
listens for HTTP requests with HTTP URL parameter productCode
http://localhost:8081/getProductPrice?productCode=CHAIR
sends request to AS/400 data queue
waits for response from AS/400 in the response data queue
returns the product price back to HTTP response
Status=OK;100.00
5
Providing an External HTTP or HTTPS Port
6
Mule XML
Providing an External HTTP or HTTPS Port
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:json="http://www.mulesoft.org/schema/mule/json"
xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking"
xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata"
xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper"
xmlns:ws="http://www.mulesoft.org/schema/mule/ws" xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:as400="http://www.mulesoft.org/schema/mule/as400"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/json
http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd
http://www.mulesoft.org/schema/mule/ws http://www.mulesoft.org/schema/mule/ws/current/mule-ws.xsd
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/as400 http://www.mulesoft.org/schema/mule/as400/current/mule-as400.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule-
data-mapper.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-
ee.xsd" version="EE-3.7.0">
7
Mule XML
Providing an External HTTP or HTTPS Port
<as400:config name="AS/400__Configuration_type_strategy"
endpoint="${endpoint}" userid="${userid}" password="${password}"
doc:name="AS/400: Configuration type strategy" libraryList="${libl}">
<reconnect-forever />
</as400:config>
<http:listener-config name="HTTP_Listener_Configuration"
host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration" />
<ws:consumer-config name="Web_Service_Consumer"
wsdlLocation="http://www.webservicex.net/CurrencyConvertor.asmx?wsdl"
service="CurrencyConvertor" port="CurrencyConvertorSoap"
serviceAddress="http://www.webservicex.net/CurrencyConvertor.asmx"
doc:name="Web Service Consumer" />
<flow name="externalProcessCallsAS/400Function">
<http:listener config-ref="HTTP_Listener_Configuration"
path="/getProductPrice" doc:name="HTTP" />
<set-variable variableName="key"
value="#[java.util.UUID.randomUUID().toString()]" doc:name="Variable" />
<logger
message="Product code
#[message.inboundProperties.'http.query.params'.productCode] Key #[flowVars['key']]"
level="INFO" doc:name="Logger" />
<as400:write-data-queue config-ref="AS/400__Configuration_type_strategy"
dtaq="${req.dtaq}" library="${library}"
dqEntry="#[message.inboundProperties.'http.query.params'.productCode]"
doc:name="AS/400" dtaqKey="#[flowVars['key']]" />
<as400:read-data-queue-processor
config-ref="AS/400__Configuration_type_strategy" doc:name="AS/400"
dtaq="${res.dtaq}" dtaqKey="#[flowVars['key']]" dtaqKeySearchType="EQUAL"
dtaqwaittime="15" library="${library}" />
<logger message="Response #[payload]" level="INFO" doc:name="Logger" />
</flow>
</mule>
8
Three common use cases cover the majority of IBM®
AS/400® integration requirements:
Providing an External HTTP or HTTPS Port
IBM® AS/400® process calls external function (i.e.) IBM® AS/400®
process requests to convert transaction amount from one currency to
another using real time exchange rate web service.
External function calls IBM® AS/400® (i.e.) External function requests to
retrieve product price from merchandizing system on IBM® AS/400®.
External function needs to execute an IBM® AS/400® command line
operation, for example create a new DB2 table, clear data queue, or call a
custom program.
The IBM® AS/400® Connector coupled with Infoview Systems IBM®
AS/400® Web Transaction Framework provides for a unified integration
experience.
Thank You
Thank You

Anypoint connectorfor ibm as 400

  • 1.
  • 2.
    2 Connector for IBM®AS400 The IBM® AS/400® connector allows you to easily unlock the data in your IBM® AS/400®, reducing the time to market, total cost of ownership and integration complexity. The IBM® AS/400® connector works with native IBM® AS/400® objects (data queues and commands). The IBM® AS/400® connector is an operation-based connector, meaning when you add the connector to your flow, you configure a specific operation the connector is intended to perform.
  • 3.
  • 4.
    4 IBM AS/400 ConnectorDemo - External process calls AS/400 For this use case the external process needs to get product price from Merchandizing system running on AS/400. Mule demo code Create Mule application that: listens for HTTP requests with HTTP URL parameter productCode http://localhost:8081/getProductPrice?productCode=CHAIR sends request to AS/400 data queue waits for response from AS/400 in the response data queue returns the product price back to HTTP response Status=OK;100.00
  • 5.
    5 Providing an ExternalHTTP or HTTPS Port
  • 6.
    6 Mule XML Providing anExternal HTTP or HTTPS Port <?xml version="1.0" encoding="UTF-8"?> <mule xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata" xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper" xmlns:ws="http://www.mulesoft.org/schema/mule/ws" xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:as400="http://www.mulesoft.org/schema/mule/as400" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd http://www.mulesoft.org/schema/mule/ws http://www.mulesoft.org/schema/mule/ws/current/mule-ws.xsd http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/as400 http://www.mulesoft.org/schema/mule/as400/current/mule-as400.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule- data-mapper.xsd http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking- ee.xsd" version="EE-3.7.0">
  • 7.
    7 Mule XML Providing anExternal HTTP or HTTPS Port <as400:config name="AS/400__Configuration_type_strategy" endpoint="${endpoint}" userid="${userid}" password="${password}" doc:name="AS/400: Configuration type strategy" libraryList="${libl}"> <reconnect-forever /> </as400:config> <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration" /> <ws:consumer-config name="Web_Service_Consumer" wsdlLocation="http://www.webservicex.net/CurrencyConvertor.asmx?wsdl" service="CurrencyConvertor" port="CurrencyConvertorSoap" serviceAddress="http://www.webservicex.net/CurrencyConvertor.asmx" doc:name="Web Service Consumer" /> <flow name="externalProcessCallsAS/400Function"> <http:listener config-ref="HTTP_Listener_Configuration" path="/getProductPrice" doc:name="HTTP" /> <set-variable variableName="key" value="#[java.util.UUID.randomUUID().toString()]" doc:name="Variable" /> <logger message="Product code #[message.inboundProperties.'http.query.params'.productCode] Key #[flowVars['key']]" level="INFO" doc:name="Logger" /> <as400:write-data-queue config-ref="AS/400__Configuration_type_strategy" dtaq="${req.dtaq}" library="${library}" dqEntry="#[message.inboundProperties.'http.query.params'.productCode]" doc:name="AS/400" dtaqKey="#[flowVars['key']]" /> <as400:read-data-queue-processor config-ref="AS/400__Configuration_type_strategy" doc:name="AS/400" dtaq="${res.dtaq}" dtaqKey="#[flowVars['key']]" dtaqKeySearchType="EQUAL" dtaqwaittime="15" library="${library}" /> <logger message="Response #[payload]" level="INFO" doc:name="Logger" /> </flow> </mule>
  • 8.
    8 Three common usecases cover the majority of IBM® AS/400® integration requirements: Providing an External HTTP or HTTPS Port IBM® AS/400® process calls external function (i.e.) IBM® AS/400® process requests to convert transaction amount from one currency to another using real time exchange rate web service. External function calls IBM® AS/400® (i.e.) External function requests to retrieve product price from merchandizing system on IBM® AS/400®. External function needs to execute an IBM® AS/400® command line operation, for example create a new DB2 table, clear data queue, or call a custom program. The IBM® AS/400® Connector coupled with Infoview Systems IBM® AS/400® Web Transaction Framework provides for a unified integration experience.
  • 9.
  • 10.