{"id":789,"date":"2018-11-24T14:23:34","date_gmt":"2018-11-24T12:23:34","guid":{"rendered":"http:\/\/tointegrationandbeyond.com\/blogs\/?p=789"},"modified":"2018-11-24T14:23:34","modified_gmt":"2018-11-24T12:23:34","slug":"hybrid-integration-with-sentinet","status":"publish","type":"post","link":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/2018\/11\/24\/hybrid-integration-with-sentinet\/","title":{"rendered":"Hybrid Integration with Sentinet"},"content":{"rendered":"<p>I <a href=\"http:\/\/tointegrationandbeyond.com\/blogs\/index.php\/2018\/07\/22\/sentinet-5-review\/\" target=\"_blank\" rel=\"noopener\">previously explored Sentinet 5<\/a>, and demonstrated how you can easily wrap an on-premises unsecured SOAP\/HTTP service into a virtual REST\/HTTPs API with JSON message format and basic authentication security scheme. I also added a custom access control feature that governed the throughput of virtual service incoming requests to a maximum of (2) requests per minute.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/07\/NV2.png\" width=\"506\" height=\"218\" \/><\/p>\n<p>I was really fascinated with Sentinet powerful features and what it could provide as a robust on-premises API management platform using simple, intuitive configuration-based approach.\u00a0With the prevalence of hybrid integrations that span on-premises and cloud workloads, I decided to explore it further in that aspect.<\/p>\n<p>In this post I will show how you can easily extend the reach of an on-premises Sentinet virtual service beyond the organization&#8217;s network through Azure SB Relay, perhaps to use it as a resource for a cloud-based integration solution, or just externally publish it for a B2B integration.<\/p>\n<p>Using Azure SB Relay will avoid the need for requiring any changes on the organization&#8217;s firewall, while leveraging Sentinet will make sure to consistently enforce your organization&#8217;s governance rules across all of your internally and externally published assets, and most importantly,\u00a0without the need to write a single line of code.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-791\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-1.png\" alt=\"\" width=\"642\" height=\"211\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-1.png 1152w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-1-300x99.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-1-768x253.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-1-1024x337.png 1024w\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" \/><\/p>\n<h3>Provision Azure SB Relay<\/h3>\n<p>You only need to provision the SB relay in Azure portal.<\/p>\n<p>The WCF relays will be created dynamically by Sentinet, when you activate the corresponding virtual service SB endpoint from\u00a0Sentinet Management console.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-802\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M8.png\" alt=\"\" width=\"1160\" height=\"580\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M8.png 1160w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M8-300x150.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M8-768x384.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M8-1024x512.png 1024w\" sizes=\"auto, (max-width: 1160px) 100vw, 1160px\" \/><\/p>\n<h3>Configure Sentinet Node<\/h3>\n<p>The Sentinet node is a logical container that is hosting our virtual services, all of the heavy lifting that is abstracted away from us, is handled by this construct.\u00a0For increasing your solution scalability and availability levels, you can create another dedicated Sentinet node, and each node could be deployed on the same or different machines.<\/p>\n<p>If you have followed the steps in the <a href=\"http:\/\/tointegrationandbeyond.com\/blogs\/index.php\/2018\/07\/22\/sentinet-5-review\/\" target=\"_blank\" rel=\"noopener\">previous post<\/a>, you can configure another endpoint on the existing Sentinet node through the Sentinet Management console. Alternatively, you can have a dedicated node, to cater for a different protocol\/security binding, and\/or to increase scalability and availability levels of your solution, as mentioned above.<\/p>\n<p>Here I am using\u00a0the same virtual service I used in the previous post, to extend its reach to outside the organization&#8217;s network.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-792\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M2.png\" alt=\"\" width=\"1290\" height=\"489\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M2.png 1290w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M2-300x114.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M2-768x291.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M2-1024x388.png 1024w\" sizes=\"auto, (max-width: 1290px) 100vw, 1290px\" \/><\/p>\n<p>In the Sentinet Management console node configuration, you will add the SB relay address, and use\u00a0shared access signature (SAS) as the credential type, and then you will enter the shared access root key name and\u00a0shared access root key value; that is the default shared access policy created for you when SB Relay was created.\u00a0You then apply the binding for WebHTTPRelayBinding for this new endpoint.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-833\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-4.png\" alt=\"\" width=\"1360\" height=\"638\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-4.png 1360w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-4-300x141.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-4-768x360.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M1-4-1024x480.png 1024w\" sizes=\"auto, (max-width: 1360px) 100vw, 1360px\" \/><\/p>\n<p>What&#8217;s really awesome is that if you have any existing Sentinet virtual service, like I had in this scenario, it can quickly be extended to the outside world through Azure SB Relay with just these few configuration-based steps.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-797\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M5.png\" alt=\"\" width=\"1342\" height=\"634\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M5.png 1342w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M5-300x142.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M5-768x363.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M5-1024x484.png 1024w\" sizes=\"auto, (max-width: 1342px) 100vw, 1342px\" \/><\/p>\n<p>Not only are you extending the virtual service reach to consumers outside your organization boundaries, but you are also leveraging any existing\u00a0API management applied compliance and governance features such as: security, caching, access controls, message format mediation, communication protocol mediation, monitoring, and auditing.<\/p>\n<h3>Control over Azure Service Bus WCF Relays<\/h3>\n<p>Interestingly, as mentioned in <em>Provision Azure SB Relay<\/em> section, WCF relays are created and removed dynamically, it can be controlled by simply enabling and disabling respectively the SB endpoint from within the Sentinet Management console.<\/p>\n<p>This could be an excellent way to provide you with governance and cost control over the Azure WCF Relay endpoint from within\u00a0Sentinet, by making the endpoint temporarily, or permanently not available, if required.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-803\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M10.png\" alt=\"\" width=\"1097\" height=\"591\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M10.png 1097w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M10-300x162.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M10-768x414.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M10-1024x552.png 1024w\" sizes=\"auto, (max-width: 1097px) 100vw, 1097px\" \/><\/p>\n<h3>Testing<\/h3>\n<p>I was able to successfully consume my back-end physical service through SB relay endpoint using <a href=\"https:\/\/www.getpostman.com\/\">Postman<\/a>, with all the applied governance features. Moreover, the local endpoint is also still there for internal integrations.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-806\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K2.png\" alt=\"\" width=\"1340\" height=\"613\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K2.png 1340w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K2-300x137.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K2-768x351.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K2-1024x468.png 1024w\" sizes=\"auto, (max-width: 1340px) 100vw, 1340px\" \/><\/p>\n<h3>Monitoring<\/h3>\n<p>Sentinet provides real-time monitoring for all the transactions that spans across the endpoints of your virtual service, and all the way to the SOAP back-end physical service, with the necessary granularity level that you require to track and inspect the transaction and payload details in different stages.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-805\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M11.png\" alt=\"\" width=\"1075\" height=\"719\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M11.png 1075w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M11-300x201.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M11-768x514.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/M11-1024x685.png 1024w\" sizes=\"auto, (max-width: 1075px) 100vw, 1075px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-807\" src=\"http:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K3.png\" alt=\"\" width=\"1366\" height=\"768\" srcset=\"https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K3.png 1366w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K3-300x169.png 300w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K3-768x432.png 768w, https:\/\/tointegrationandbeyond.com\/blogs\/wp-content\/uploads\/2018\/11\/K3-1024x576.png 1024w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/p>\n<h3>Recap<\/h3>\n<p>In this post, you can see\u00a0how quickly I was able to provision an external endpoint through Azure SB relay, while leveraging all the existing message format mapping, throttling conditions, access control features provided by Sentinet.<\/p>\n<p>With the proliferation of B2B integrations, and cloud-based services adoption, the need for hybrid integrations arises to be able to integrate the cloud-based workloads with existing on-premises resources as well as securely publish on-premises assets for B2B integrations.<\/p>\n<p>Using Sentinet with Azure SB Relay will make it much easier to securely extend the reach of\u00a0on-premises assets to cloud-based workloads, and external business entities, while leveraging the organization&#8217;s applied governance and compliance requirements in a consistent manner across all of your external and internal published assets.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I previously explored Sentinet 5, and demonstrated how you can easily wrap an on-premises unsecured SOAP\/HTTP service into a virtual REST\/HTTPs API with JSON message format and basic authentication security scheme. I also added a custom access control feature that governed the throughput of virtual service incoming requests to a maximum of (2) requests per<\/p>\n","protected":false},"author":1,"featured_media":915,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[54,55,37,53,52],"tags":[58,59,38,51,10,57,56,714],"class_list":["post-789","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-gateway","category-api-governance","category-api-management","category-nevatech","category-sentinet","tag-api-gateway","tag-api-governance","tag-api-management","tag-azure","tag-monitoring","tag-nevatech","tag-sentinet","tag-service-bus-relay"],"_links":{"self":[{"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/posts\/789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/comments?post=789"}],"version-history":[{"count":38,"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/posts\/789\/revisions"}],"predecessor-version":[{"id":916,"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/posts\/789\/revisions\/916"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/media\/915"}],"wp:attachment":[{"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/media?parent=789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/categories?post=789"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tointegrationandbeyond.com\/blogs\/index.php\/wp-json\/wp\/v2\/tags?post=789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}