Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Integrating WebSphere DataPower XC10 and XI50 Appliances

Nidhi Nijhawan (nidhinijhawan@in.ibm.com), IBM Certified IT Specialist IT Specialist, WebSphere Worldwide Business Partner team, IBM
Photo of Nidhi Nijhawan
Nidhi Nijhawan works for the WebSphere Lab Services team in IBM India, and is an EAI consultant for WebSphere Transformation Extender, WebSphere Message Broker, WebSphere MQ, and WebSphere DataPower SOA Appliances. She has five years of industry experience. You can contact Nidhi at nidhinijhawan@in.ibm.com
Harish Shenoy (harish_shenoy@in.ibm.com), Solution Designer, WebSphere Worldwide Business Partner team, IBM
Photo of Harish S. Shenoy
Harish S. Shenoy is an IBM Certified SOA Solution Designer on the WebSphere Worldwide Business Partner team. He has 12 years of industry experience and is currently working as a Solution Architect providing technical consultancy in application connectivity and application infrastructure. Prior to this, he worked as a middleware architect on business integration projects for major telecom and financial sector customers in India. His expertise includes BPM, WebSphere Application Server, WebSphere Message Broker, and WebSphere Process Server, and he is certified on WebSphere Application Server, WebSphere Message Broker, and WebSphere Process Server. You can contact Harish at harish_shenoy@in.ibm.com.

Summary:  This article shows you how easy it is to integrate the DataPower XC10 and XI50 Appliances by using the XC10 as a side cache to greatly reduce response times in the XI50. The article also shows you how to create a multi-protocol gateway service in the DataPower XI50, and how to configure and monitor a data grid in the DataPower XC10.

Date:  09 Nov 2011
Level:  Intermediate

Activity:  9601 views
Comments:  

Introduction

The IBM® WebSphere® DataPower® XI50 Integration Appliance (hereafter called the DataPower XI50) is a complete, purpose-built hardware platform for delivering highly manageable, secure, and scalable SOA solutions. DataPower Appliances provide many core functions to SOA deployments in a hardened device, including integrated enterprise service bus (ESB) capabilities, data enablement and integration features, and improved Web services management and SOA governance. The DataPower XI50 adds integration capabilities to its accelerator and security functions.

The IBM WebSphere DataPower XC10 Appliance (hereafter called the DataPower XC10) is a purpose-built appliance designed for simplified deployment and hardened security at the caching tier of your enterprise application infrastructure. The large 240GB cache on the DataPower XC10 provides elastic caching functions that enable you to scale your business-critical applications cost effectively and with consistent performance. The DataPower XC10 enables business applications to process billions of transactions per day with efficiency and near-linear scalability. The DataPower XC10 lets you leverage the value of your existing infrastructure and provide significantly better performance, fault tolerance, and scalability in common distributed caching scenarios.

Using the new DataPower XC10 V2 REST Gateway, you can now integrate the elastic caching tier with the ESB. Traditionally, the elastic caching tier goes between the application server and database tiers, but in this configuration, integrated with the ESB, the elastic caching tier acts as a side cache for the ESB. A simple data grid hosted on an DataPower XC10 functions as a SOA results cache for the DataPower XI50 ESB. In an SOA, all application requests pass through the ESB before they are routed to the application. Therefore, if the result of an application request is retrieved from the elastic caching tier, the application processing latency for that request is eliminated, significantly speeding up the response time.

This article shows you how to implement a simple banking scenario. Customers can send requests with the bank account number and IFSC code. As incoming client application requests are received, the multi-protocol gateway (MPG) service configured on the DataPower XI50 schema validates the request message and uses the REST-based HTTP GET method to check whether the request is cached in the simple data grid. If the HTTP GET returns an HTTP 404 NOT FOUND indicating a cache miss, the MPG allows the request to pass through to the existing processing flow to the application hosted on the back-end system. The MPG then caches the response as it flows back through the MPG to the client application. The MPG uses the REST-based HTTP POST method to insert the response into the side cache. If the incoming request is found in the cache, then the result is retrieved from the cache, bypassing the back-end system, thus removing the latency introduced by the application and data layers.


Figure 1. DataPower XI50 using DataPower XC10 for caching
DataPower XI50 using DataPower XC10 for caching

Prerequisites

The products required for working on this article are mentioned below:

  • WebSphere Application Server V7
  • DB2 Enterprise Server V9.5
  • Access to WebSphere DataPower Integration Appliance XI50
  • Access to WebSphere DataPower Caching Appliance XC10
  • The open-source CURL tool for interacting with DataPower. If you do not have the CURL tool, download it, install it on your workstation, and specify it in the system path.

You should have some understanding of installing an enterprise application, creating a datasource using the WebSphere Application Server Admin Console, using the caching feature in WebSphere Application Server, and using the DataPower XI50 and DataPower XC10 Appliances.

Setting up the environment

Setup on WebSphere Application Server

Before following the steps in later sections, you need to set up the environment. Deploy the DPBankService.war file, which you can download at the bottom of the article, on WebSphere Application Server by logging into the Admin Console. The Java™ code in this .war file will fetch the data from the DB2 table, so you need to create a datasource in the Admin Console. While creating the datasource, provide the name of database as BANKDB, and provide the username and password of your DB2 instance.

Setup on DB2

In the Command Editor of DB2, follow the commands in the SQLCommands.txt text file, which you can download at the bottom of the article. These commands will create a database and the table in DB2 for storing the bank user details. When a bank customer sends a request to fetch the user details, they will be fetched from this table and then cached in the data grid of the DataPower XC10.

Configuring DataPower XC10

Creating simple data grid

Next, you need to create a simple data grid named bankacc on the DataPower XC10 to cache the response data for the service. The DataPower XC10 provides a flexible interface to create the data grid, as shown below. Select Simple Data Grid from the Data Grid tab and click + to create a new data grid:


Figure 2. Creating simple data grid on DataPower XC10
Creating simple data grid on DataPower XC10

REST configuration files

DataPower XC10 and XI50 integration is achieved using the REST interfaces provided by the DataPower XC10. These configuration files are xsl files, which you can download at the bottom of the article. The cache-config.xml file specifies the name of the data grid to be used for caching, the data that needs to be cached, and the connection details for the DataPower XC10. The cache-get.xsl file is used to find if there is cache hit , and the cache-set.xsl file is used to set the data in the cache during a cache miss.

Monitoring the data grid in the DataPower XC10

The DataPower XC10 provides a flexible interface for monitoring data grids. Whenever the service response is stored in the cache, its usage pattern is depicted in the DataPower XC10 console. From the console Monitor tab, select Individual Data grid to view the usage of data grids.

Creating a multi-protocol gateway service in the DataPower XI50

  1. Log in to the DataPower XI50. The console panel opens, as shown below:

    Figure 3. Console panel of DataPower XI50
    Console panel of DataPower XI50

  2. Upload the files provided with this article: Click on the File Management icon as shown above and then click on Upload files against the local directory as shown below:

    Figure 4. Uploading files in DataPower XI50
     Uploading files in DataPower XI50

  3. Upload one-by-one the files cache-set.xsl, cache-get.xsl, cache-util.xsl, cache-config.xml, DPBankServiceService_schema1.xsd, and DPBankServiceService.wsdl provided with this article.
  4. In the DataPower XI50 console panel, click on the MPG service and configure it. Enter the name of the service as BankMPG, and keep the Type as static-backend. Do not select Dynamic-backend because you are not routing the request to the set of back-end systems dynamically.

    Figure 5 . Configuring MPG in DataPower XI50
    Configuring MPG in DataPower XI50

  5. For Propagate URI, select Off, and for all other settings, accept the defaults:

    Figure 6. Configuring MPG in DataPower XI50, continued
    Configuring MPG in DataPower XI50, continued

  6. Enter the back-end URL where your Web service will be deployed on WebSphere Application Server. You can use the following URL and change the IP address to the machine where WebSphere Application Server is installed and the DPBank service is hosted. Get this URL from the WSDL file available with this article: http://back-endURL:9080/DPBankService/ DPBankServiceService.

    Figure 7. Backside settings in MPG
    Backside settings in MPG

  7. Click on Plus icon in the Front Side Protocol Settings section. Select HTTP Front Side Handler from the drop down, as shown below:

    Figure 8. Configuring Front Side Handler in MPG
    Configuring Front Side Handler in MPG

  8. Enter the name of this FSH as Banking FSH. Accept all of the defaults and change the port number to any number, such as 4444, as shown below:

    Figure 9. Configuring Front Side Handler in MPG
    Configuring Front Side Handler in MPG

  9. Configure the processing policy for the MPG you just created: Click the Eclipse tab against the MPG policy section and a Policy Editor will open.
  10. Under the Policy section, enter the policy name as Banking policy, and under the Rule section, click on the New Rule tab. A default rule name will appear, which you can leave as-is or change as you wish. Change the Rule Direction to Client to Server, as you will configure this rule for incoming request messages:

    Figure 10. Configuring MPG processing policy
     Configuring MPG processing policy

  11. A policy defines how a service handles each request and response that arrives. In the middle portion of the Policy Editor is a processing rule, often referred to as a processing pipeline. The rule is read from left to right, and each action (represented by various icons) executes against the inbound message. By default, this processing policy has a Match action Match icon:

    Figure 11. Configuring MPG processing policy, continued
    Configuring MPG processing policy, continued

  12. The yellow box around the action means that it still needs to be configured. Configure the Match action Match icon to inspect the inbound message and determine whether it matches. In this scenario, this action matches any URL that arrives into the service, so specify the URL pattern that it matches as *.
  13. Double-click on this action and in the Configure a Match Action window, click on the Plus icon Plus icon against the Matching Rule field, as shown below:

    Figure 12. Configuring match action in MPG processing policy
    Configuring match action in MPG processing policy

  14. A new window opens. Enter the name of this Match action as MatchAll and click on the Matching Rule tab to enter the matching rule, as shown below. Click Add, enter the URL Match as *, and click Apply. The window closes and the rule appears in the previous window. Click Apply to close this window and then click Done.

    Figure 13. Configuring Match action in MPG processing policy
    Configuring Match action in MPG processing policy

  15. For schema validation, drag and drop the Validate action Validate icon from the Rule Pallet and then double-click this action to configure it. Keeping the defaults, click on Validate Document via WSDL URL, since you will validate the incoming request xml with the WSDL. A new window opens. Select the WSDL file DPBankServiceService.wsdl that you uploaded earlier, and then click Done to close the window:

    Figure 14. Configuring Validate action in MPG processing policy
    Configuring Validate action in MPG processing policy

  16. To store the data fetched from the back end in the DataPower XC10 cache data grid, configure a Transform action. Drag and drop a Transform action Transform icon on the Processing Policy rule bar after the Validate action. Double-click this action to configure it. Accept all of the defaults, select the config-set.xsl file uploaded earlier, and then click Done:

    Figure 15. Configuring Transform action in MPG processing policy
    Configuring Transform action in MPG processing policy

  17. Drag and drop the Results action Results icon from the Action Pallet to the Processing Rule bar. This action is used to specify details regarding the outbound message and where to forwarded it, but no need to configure this action. After configuring the rule for incoming request messages, the Processing Policy rule bar should look like this:

    Figure 16. Request rule in MPG processing policy
    Request rule in MPG processing policy

  18. Configure the Response rule: Click on the New Rule tab and accept the default name or change it as you wish. Select the Rule Direction as Server to Client. A new rule bar will appear with the default Match action. Double-click on the Match action to configure it. On the Configure Match action window, select the previously created MatchAll rule from the drop-down.
  19. Drag and drop the Transform action from the Action Pallet on the Response Rule Bar and double-click to configure it. Select the cache-get.xsl file uploaded earlier, and then click Done. Drag and drop the Result action on the Response Rule Bar, which should then look like this:

    Figure 17. Response rule in MPG processing policy
    Response rule in MPG processing policy

  20. Now that you have configured the processing policy rules for both requests and responses, you can test the configuration. Use the open-source CURL tool to send the request to DataPower. (If you do not have the CURL tool, download it, install it on your workstation, and specify it in the system path.)
  21. Open a command window. Use the cd command to navigate to the Artifacts directory and then enter the following command, changing the IP address for the DataPower Appliance and if necessary, the port number for your MPG service (4444 was suggested above): post BankUserDetails.xml http://datapowerIP:4444.
  22. The BankUserDetails.xml file has two parameters: IFSC Code and Account Number for the DPBankService Web service hosted on WebSphere Application Server. The request should fetch the user details from the back-end Web service, which in turn fetches the details from the database. The result should look like this:

    Figure 18. Using CURL tool to send request to DataPower
    Using CURL tool to send request to DataPower

  23. The first time you hit the DataPower MPG service, the response will take some time to be fetched. But the next time, response time will be greatly reduced, because the data will be fetched directly from the DataPower XC10 data grid cache, eliminating the need to fetch data from back end.
  24. You can monitor the usage of bankacc data grid in the DataPower XC10 console. From the Monitor tab in the console, select Individual Data grid, then select the bankacc data grid to view its usage by the DataPower XI50 as a side cache. You will have a view like this:

    Figure 19. Monitoring data grid in DataPower XC10
    Monitoring data grid in DataPower XC10

Conclusion

This article has shown you how easy it is to integrate the DataPower XC10 and XI50 Appliances, using the DataPower XC10 as a side cache by the DataPower XI50 to greatly reduce response times. The articles also showed you how to create a multi-protocol gateway service in the DataPower XI50, and configure and monitor a data grid in the DataPower XC10.



Download

DescriptionNameSizeDownload method
Code sampledownload.zip335 KBHTTP

Information about download methods


Resources

  • WebSphere DataPower resources
    • WebSphere DataPower information centers
      A single Web portal to all WebSphere DataPower documentation, with conceptual, task, and reference information on installing, configuring, and using the various WebSphere Appliances.
    • WebSphere DataPower developer resources page
      Technical resources to help you use WebSphere DataPower SOA Appliances to simplify, secure, and accelerate XML and Web services deployments within an SOA.
    • WebSphere DataPower product page
      Product descriptions, product news, training information, support information, and more for all DataPower Appliances.
    • WebSphere DataPower product library
      Product announcements, case studies, white papers, and more.
    • WebSphere DataPower support
      A searchable database of support problems and their solutions, plus downloads, fixes, and problem tracking.
    • WebSphere DataPower forum
      Get answers to your technical questions and share your expertise with other WebSphere DataPower users.
    • WebSphere DataPower Appliances Handbook
      This retail book shows you how to use DataPower Appliances from the network, security, and ESB perspectives. The book describes installation, configuration, management, monitoring, configuration, build, deployment, DataPower as a network device, and DataPower services, especially the "big three" of XML firewall, Web service proxy, and multi-protocol gateway.
    • IBM Redbook: WebSphere DataPower Appliances, Part I: Overview and getting started
      DataPower SOA appliances are purpose-built, easy-to-deploy network devices that simplify, secure, and accelerate your XML and Web services deployments while extending your SOA infrastructure. This IBM Redbook describes DataPower architecture, use cases, deployment scenarios, and implementation details, as well as best practices for SOA message-oriented architecture in a production ESB environment.
    • WebSphere DataPower XC10 information center
      A single Web portal to all documentation for the WebSphere DataPower XC10 Caching Appliance, with conceptual, task, and reference information on installing, configuring, and using the XC10.

  • WebSphere resources
    • developerWorks WebSphere developer resources
      Technical information and resources for developers who use WebSphere products. developerWorks WebSphere provides product downloads, how-to information, support resources, and a free technical library of more than 2000 technical articles, tutorials, best practices, IBM Redbooks, and online product manuals.
    • developerWorks WebSphere application integration developer resources
      How-to articles, downloads, tutorials, education, product info, and other resources to help you build WebSphere application integration and business integration solutions.
    • developerWorks WebSphere business process management developer resources
      WebSphere BPM how-to articles, downloads, tutorials, education, product info, and other resources to help you model, assemble, deploy, and manage business processes.
    • Most popular WebSphere trial downloads
      No-charge trial downloads for key WebSphere products.
    • WebSphere forums
      Product-specific forums where you can get answers to your technical questions and share your expertise with other WebSphere users.
    • WebSphere on-demand demos
      Download and watch these self-running demos, and learn how WebSphere products and technologies can help your company respond to the rapidly changing and increasingly complex business environment.
    • developerWorks WebSphere weekly newsletter
      The developerWorks newsletter gives you the latest articles and information only on those topics that interest you. In addition to WebSphere, you can select from Java, Linux, Open source, Rational, SOA, Web services, and other topics. Subscribe now and design your custom mailing.
    • WebSphere-related books from IBM Press
      Convenient online ordering through Barnes & Noble.
    • WebSphere-related events
      Conferences, trade shows, Webcasts, and other events around the world of interest to WebSphere developers.

  • developerWorks resources
    • Trial downloads for IBM software products
      No-charge trial downloads for selected IBM® DB2®, Lotus®, Rational®, Tivoli®, and WebSphere® products.
    • developerWorks blogs
      Join a conversation with developerWorks users and authors, and IBM editors and developers.
    • developerWorks cloud computing resources
      Access the IBM or Amazon EC2 cloud, test an IBM cloud computing product in a sandbox, see demos of cloud computing products and services, read cloud articles, and access other cloud resources.
    • developerWorks tech briefings
      Free technical sessions by IBM experts to accelerate your learning curve and help you succeed in your most challenging software projects. Sessions range from one-hour virtual briefings to half-day and full-day live sessions in cities worldwide.
    • developerWorks podcasts
      Listen to interesting and offbeat interviews and discussions with software innovators.
    • developerWorks on Twitter
      Check out recent Twitter messages and URLs.
    • IBM Education Assistant
      A collection of multimedia educational modules that will help you better understand IBM software products and use them more effectively to meet your business requirements.

About the authors

Photo of Nidhi Nijhawan

Nidhi Nijhawan works for the WebSphere Lab Services team in IBM India, and is an EAI consultant for WebSphere Transformation Extender, WebSphere Message Broker, WebSphere MQ, and WebSphere DataPower SOA Appliances. She has five years of industry experience. You can contact Nidhi at nidhinijhawan@in.ibm.com

Photo of Harish S. Shenoy

Harish S. Shenoy is an IBM Certified SOA Solution Designer on the WebSphere Worldwide Business Partner team. He has 12 years of industry experience and is currently working as a Solution Architect providing technical consultancy in application connectivity and application infrastructure. Prior to this, he worked as a middleware architect on business integration projects for major telecom and financial sector customers in India. His expertise includes BPM, WebSphere Application Server, WebSphere Message Broker, and WebSphere Process Server, and he is certified on WebSphere Application Server, WebSphere Message Broker, and WebSphere Process Server. You can contact Harish at harish_shenoy@in.ibm.com.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=773113
ArticleTitle=Integrating WebSphere DataPower XC10 and XI50 Appliances
publish-date=11092011

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers