IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

How to handle large XML in webmethods 9.9

  • 1.  How to handle large XML in webmethods 9.9

    Posted Thu July 28, 2016 09:28 AM

    Hello guys,

    I have around 20MB of XML to be processed in webMethods9.9. Please let me now what is the best approach.

    I tried using below logic.

    1. xmlStringToXMLNode
    2. getXMLNodeIterator (criteria=)
    3. Repeat (count not sure what to set Repeat on=success)
      3.1 getNextXMLNode
      3.2 xmlNodeToDocument

    Used the above logic but I don’t know what count should I set in repeat.

    Regards,
    Nikhil Pardeshi


    #Integration-Server-and-ESB
    #webMethods-General
    #webMethods
    #webMethods-Architecture


  • 2.  RE: How to handle large XML in webmethods 9.9



  • 3.  RE: How to handle large XML in webmethods 9.9

    Posted Thu July 28, 2016 10:47 AM


  • 4.  RE: How to handle large XML in webmethods 9.9

    Posted Thu July 28, 2016 11:09 AM

    Hello,

    I tried that as well but want to know what should be the basic configuration set at IS page for Enhanced XML parsing.

    Checked in guide but still not sure how to put in numbers. I have set MAX HEAP size to 2gb.
    For time being i am using default settings and implemented below logic.

    1. xmlStringToEnhancedXMLNode
    2. xmlNodeToDocument

    My MAX HEAP size is set to 2gb.


    #webMethods
    #Integration-Server-and-ESB
    #webMethods-Architecture
    #webMethods-General


  • 5.  RE: How to handle large XML in webmethods 9.9

    Posted Mon August 08, 2016 07:34 PM

    Use of Repeat generally means you know how many iteration it should loops. Other use Loop and then break out with Exit step.

    Of course Repeat can work the same way and I think this is where you don’t set any count value.

    I built solution before that handled 100mb+ xml and its not that much different than processing large flat file by stream.

    HTH.


    #webMethods-Architecture
    #webMethods
    #webMethods-General
    #Integration-Server-and-ESB


  • 6.  RE: How to handle large XML in webmethods 9.9

    Posted Tue August 09, 2016 09:56 AM

    Thank you guys–from code point of view this is great—I would also like to know more from infrastructure side as well – would it be better to save the data to local disk on IS or some other server, or terracotta server which is loading to memory and reading it from there–what is the best strategy.

    Thank you


    #Integration-Server-and-ESB
    #webMethods-Architecture
    #webMethods-General
    #webMethods


  • 7.  RE: How to handle large XML in webmethods 9.9

    Posted Wed August 10, 2016 02:46 AM

    Hello Guys, I already developed a code using repeat step. Below is the reference for that.

    1. xmlStringToXMLNode
    2. getXMLNodeIterator(criteria=multiple occurring doc name)
    3. repeat(label=largeXML repeat on=success)
      3.1 getNextXMLNode(output=next)
      3.2 Branch on next
      3.2.1 exit(label=null exit from=largeXML signal=success)
      3.3 xmlNodeToDocuement(write your logic)

    From the infrastructure point of view, you can use tspace present in extended settings.
    tpsace specifies the maximum number of bytes that can be stored at any one time in the hard
    disk drive space that you defined using the watt.server.tspace.location property.

    Extended settings in IS page:
    watt.server.tspace.location=…/IntegrationServer/Largefiletemplocation
    watt.server.tspace.max=52428800

    The default value is 52,428,800 bytes (50 MB).

    You can also try below settings:

    set JAVA_MIN_MEM=1024M
    set JAVA_MAX_MEM=4096M
    set JAVA_MAX_PERM_SIZE=4096M


    #webMethods
    #webMethods-General
    #Integration-Server-and-ESB
    #webMethods-Architecture


  • 8.  RE: How to handle large XML in webmethods 9.9

    Posted Tue August 23, 2016 08:06 PM

    If the failure occurs in the middle of large file processing, how would you process the failed chunk–or you would have to start reprocessing the entire file again from beginning?


    #webMethods
    #webMethods-General
    #Integration-Server-and-ESB
    #webMethods-Architecture


  • 9.  RE: How to handle large XML in webmethods 9.9

    Posted Tue August 23, 2016 08:39 PM

    This is entirely up to the solution design. For example, you could fail the process, if it is a batch file from external and it was due to data integrity issue.

    Same situation again and you could partially fail the process and response back the last successful location/index, so that the retry will start from failure point.

    Generally you can restart processing from failure point if the solution keep track of processing status “reliably” even if it is to do with temporary technical issue.

    There’s no point to reprocess the same data over and over again if the failure reason was not resolved. Eg: data issue, capacity issue and infrastructure issue etc.

    HTH


    #webMethods-Architecture
    #Integration-Server-and-ESB
    #webMethods
    #webMethods-General


  • 10.  RE: How to handle large XML in webmethods 9.9

    Posted Wed August 24, 2016 10:14 AM

    Yes, it depends upon your design.

    Suppose if your target is DB, then you can make your connection as local and explicitly commit or rollback partial transactions.


    #webMethods
    #Integration-Server-and-ESB
    #webMethods-General
    #webMethods-Architecture