This Wednesday I’m attending the CSUG – The Hybrid Organisation (sold out!). During my evaluation of several Integration products (BizTalk / BizTalk Services / Neuron ESB / MuleESB) I had some concerns/questions on BizTalk Services.
My goal is to get answers on the following scenario
- a) I receive a HTTP Post with an Xml Body payload
- b) This contains a signature which i need to validate
- c) Transform the Xml body payload to another Xml message
- d) Perform a HTTP Post with the new Xml message to an external HTTP url and sign the message
- e) Route the response back, similar to the aforementioned steps, where an error needs to be mapped to a dedicated error response
I'm wondering how to cope with some of the following challenges in this scenario, and would like to know resource information available which addresses some of these challenges;
Validating / Signing of messages
A requirement is to validate the incoming message by inspecting an signature in the message body, and signing the outgoing message. I now that a
custom inspector would help, however, i have no idea where to store these private certificates as these would be used inside the BizTalk Service (in the BizTalk Services portal I can only store public certificates).
Q: Is this functionality possible within BizTalk Services?
Handling errors when connecting to an Endpoint using BizTalk Services.
Detect an error and if one occurs, execute a mapping to return a custom Error message to the client.
Q: Is this possible by using a OnEnterInspector in the Enrich stage? (overruling the response by setting custom headers or something which triggers an different mapping than the happy flow)?
In case of a protocol error, i would like to be able to perform a retry
Send a POST request Using the HTTP protocol, handle technical errors gracefully by doing a retry. This means that the response for an endpoint needs to be evaluated,
Q: should this be implemented using custom bindings/behaviors for the endpoint, or will this be added as a feature in the future?
When communicating with the backend, what approach would be wise for managing certificates
My requirement is to place a call to an endpoint using TLS, this would mean i need to manage the certificate for the endpoint after the bridge. At this point, i'm only aware configuring a certificate to communicate with the bridge.
Q: Would this be possible by custom WCF behaviors?
As a reference i have found this blog on using inspects, which helps with some of my questions (http://blog.codit.eu/post/2013/06/03/wabs-part3.aspx)
Note: At the moment I'm using BizTalk, however, i am working on a platform and would like to migrate to BizTalk Services as soon as possible. Any insight in the roadmap would help a lot.
For now, we are evaluating BizTalk and would like to migrate to BizTalk Services at a later stage. For now, this would mean that we need to purchase a license and again purchase a subscription when we migrate.
Q: Are there any intermediate licensing options where we can use BizTalk for a certain period with the migration to BizTalk services in mind (e.g. 1 year license model + subscription).
At this moment the costs of BizTalk Services are discounted with 50%, that quite a lot and could make/brake a use case cost-wise, depending on when BizTalk Services is out of preview.
Q: Is there any way to provide use BizTalk Services with a transaction based subscription, where we pay for the amount of transaction done through BizTalk Services?
Hopefully, more answers at the end of this week!