After attending the UKCSUG and BTUG I have some answered questions to some challenges I faced during my implementation with BizTalk Services. Hereby my findings;
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 certificates as these would be used inside the BizTalk Service.
Q: Is this functionality possible within BizTalk Services?
A: In the custom inspector this functionality can be added, this however means that the certificate must be stored somewhere. This cannot be stored within the BizTalk Service, however could be stored in a BLOB storage container.
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 an OnEnterInspector in the Enrich stage? (Overruling the response by setting custom headers or something which triggers an different mapping than the happy flow)?
A: This could be done by ensuring that the correct MessageType is set on the response
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?
A: This could be done by implementing a custom WCF Service, which could then promote a MessageType based on the response. This would require some extensive testing / debugging as this is not readily available. It is at this moment not in preview, the AS/2 – EDI uses a mechanism ‘error queue’ which runs outside the BizTalk Service
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?
A: This could be done by implementing a custom WCF Service, which could retrieves the certificate from a BLOB store
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.
A: Not known publicly
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).
A: It is possible to purchase the premium subscription, this comes with a license of 1 year. Other than that, the licenses cannot be mixed.
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?
A: Not known publicly, however the prices are being evaluated.
· Top feature
· AS2/EDI Bridge
o Generated Bridge
o Errors to dedicated queue
· Bridge == Custom Code
· 1 Live ID is linked to 1 Trading management portal
· Everything is executed in memory
· MiniSAP (http://www.sdn.sap.com/irj/scn/nw-downloads)
· Yossih Dahan (WABS reflections)
o Separation of projects (maps / schemas)
o Complex Schemas (imports)
o Retrieve information / state using PowerShell
o Mapping (no XSLT)
o Routing (first match) like WCF-Routing
o Hopefully this year live
o From ServiceBus
o Settings in Code è Configurable (connection strings etc)
o Mapping (breaking change)
§ Mapper does not use XSLT (feature support JSON/Object2Object)
§ Migration tool available