Using XSLT for messaging instead of marshalling/unmarshalling Java message objects
        Posted  
        
            by 
                Joost van Stuijvenberg
            
        on Programmers
        
        See other posts from Programmers
        
            or by Joost van Stuijvenberg
        
        
        
        Published on 2012-06-21T12:56:15Z
        Indexed on 
            2012/06/21
            15:23 UTC
        
        
        Read the original article
        Hit count: 417
        
So far I have been using either handmade or generated (e.g. JAXB) Java objects as 'carriers' for messages in message processing software such as protocol converters. This often leads to tedious programming, such as copying/converting data from one system's message object to an instance of another's system message object. And it sure brings in lots of Java code with getters and setters for each message attribute, validation code, etc.
I was wondering whether it would be a good idea to convert one system's XML message into another system's format - or even convert requests into responses from the same system - using XSLT. This would mean I would no longer have to unmarshall XML streams to Java objects, copy/convert data using Java and marshall the resulting message object to another XML stream.
Since each message may actually have a purpose I would 'link' the message (and the payload it contains in its properties or XML elements/attributes) to EXSLT functions. This would change my design approach from an imperative to a declarative style.
Has anyone done this before and, if so, what are your experiences? Does the reduced amount of Java 'boiler plate' code weigh up to the increased complexity of (E)XSLT?
© Programmers or respective owner