Message definition approach (XSD/XML/JSon/...) for integration

Hello,

I am new to Appian design, and was wondering if you could provide some guidance...

We have multiple external client applications to interact with our Appian application. The integration mechanism we are thinking for now is via messaging (Queue/PubSub/JMS). The question is: What would be the normal/optimal approach to define the message format for Appian to produce and consume? 

1. We are thinking the straight forward approach would be to export the Appian CDTs' XSD schemas, and ship the XSDs to those client applications Appian interacts with. Then it'd be XMLs conforming to the XSDs that flow between Appian and client applications via JMS. It'd probably be the same set of XSDs that we (Appian application) distribute to all those client applications. The CDTs in Appian would be the "super set" of data definitions that have "all" the possible fields. The concern is: some message/CDT fields are mandatory to some client applications while being optional to others; and some fields do/should not apply to some client applications, at all. Have you faced with similar issues, have they become a real issue? 

2. Alternatively, we could create custom XSDs (or even otherwise agreed format of JSon/XML) outside of Appian, and import into Appian CDTs. The concern on that would be we may end up with slightly different XSDs/CDTs for individual client applications, and we then would have to map/parse those different XSDs/CDTs to and from our Appian application's internal data format/storage.

Have you had experience on this kind of use case we have? Would you please share your thoughts and guidance if you have?

Thanks very much!

-Qingtian Wang

 

  Discussion posts and replies are publicly visible