Azure is great, it’s becoming a great addition to solve a lot of integration problems, and BizTalk is has already proven that it is an awesome product. The logical intermediate phase of implementing hybrid solutions to take advantage of the current and new technology stack is fairly obvious. However, with the combination of technology, the possibilities of use cases grows and grows….with this, new problems arise and in my quest to solve integration problems, I try to understand the problem FIRST, and then determine which technology seems best.
While trying out and applying a lot of frameworks, tools, products, I tend to keep the ones in my tool belt that have proven to be useful. I had to make room for another product I am now aware of and am already enjoying as it solve problems in the BizTalk realm. The cool thing is that it has capabilities that are as well applicable in the hybrid scenarios and even extends the capabilities of Azure.
The tool Sentinet from Nevatech caught my interest after missing out on the Codit BizTalk 2013 Launch event, I couldn’t attend that event and thought I should look into it myself. After playing around I had some questions, and emailed them to the support department…it was literally within an hour in which I received an email, so detailed and helpful, i really was excited to try out more features.
After a presentation from Adrew Slivker onsite where he showed a moderate but compelling set of features, I was hooked .
Sentinet has the concepts of physical Nodes on which you can define ‘Virtual Services’ which can be placed in-front/behind a (web) service;
This looks incredibly simple, so what’s the main advantage? Lots and lots and lots of them…
We can for example, control, extend, enhance, monitor, govern, protect and more, all because of capabilities in the Virtual Service which are leveraged implicitly in the Business Service.
Some scenarios I see a direct advantage/usage;
1) A service exposes methods, of which some public, some for administrative purposes
- We can take the existing service, create 2 virtual services, select which methods are available per virtual service, apply security constraints (such as ‘only administrators’) etc., all from a common repository
2) A service is defined using a certain protocol such as SOAP, however, a consumer wants to expose the service as REST as well
- We can define a virtual service that takes care of the plumping to expose this as a REST service, just a matter of configuration
3) Messages go through Azure, on premise systems, so monitoring is not that easy how can we monitor in a uniform way, on a transport level and also message level and get insight in performance, SLA’s, outage etc
- Each service is monitored, view messages on a process level, transport and message level, it is possible to monitor certificate expiration etc
- We can define SLA’s, expected service usage and govern this
4) We need to prevent DDos attacks by measuring the amount of requests submitted
- A rule based access control system allows to define which criteria are supported rule supported by creating
5) We need to support a security model that has not been built in
- We can integrate the Virtual service with various and even custom security models, where we can implement models such as that claims based authentication, active directory integration without changing the implementation of the service
6) Extended capabilities
- Besides all of the scenarios that are available out of the box, Sentinet provides hooks with which you can write your own .Net assemblies, to perform custom rules, validations, etc.
So having this information, what can we do?
I will place additional posts on some of the aforementioned scenarios shortly, and I hope to be able to debate-discuss this concept with people working with Azure, BizTalk and other technologies. I personally like the possibilities this product brings to the table. As I’ve worked with it on some scenarios, I will definitely use this in my feature projects.
Hopefully sharing this helps you think about this concept, capabilities and ways of implementing SOA Architectures!
· Sentinet From NevaTech
· Microsoft Service Engine, a project which was based on the same concept, however was discontinued;
· AmberPoint (a tool which used to have support for BizTalk) http://www.oracle.com/us/corporate/Acquisitions/amberpoint/index.html