This blog post is based on my takes on today’s (24-March-2015) Microsfot announcement about new Azure App Service, this includes the version next for BizTalk Services. This blog focuses on integration-Logic App part of the App Service.
While developing a website, application’s internal logic may involve moving file from FTP to SQL database, for this simple integration scenario developer would have written their own bespoken integration code to achieve the same along with the code around manageability like exception handling, tracking the status of the file transfer etc. The same organisation would have used BizTalk for another simple integration requirement as part of a complex integration specific project. Think about the same case in cloud.
The main reasons for handling/implementing the different approaches for the “integration scenario” with in a same organisation is because:
- BizTalk facilities like adapters, XML Validator, Transformation services were very specific to BizTalk and were not available in the arsenal of non-BizTalk developers to implement a simple scenario like above.
- If a web site or mobile services developer were to use BizTalk services, challenges involved in learning a new product for implementing a simple integration case. Why a non-BizTalk developer need to undergo a steep learning curve while implementing a simple integration requirement.
Microsoft realised this problem and made the integration specific features accessible to Azure Web App (Azure website) and Mobile App (mobile Services) too making integration features available as part of the same platform. So in case a website / mobile developer wants to implement the simple scenario like moving file from FTP to SQL database, they can use the integration features like FTP and SQL connectors, BizTalk XML Validator to validate the transmitted files. The same platform can also be used by integration specialist to handle complex integration scenarios. This step/platform by Microsoft making BizTalk facilities to be part of boarder suite of facilities in Azure along with Webs Apps and Mobile Apps is called App Service.
Azure App Service is a single service that includes all of the existing capabilities from Azure Websites, Azure Mobile Services, and Azure BizTalk Services. It provides a common app hosting, runtime, cross-platform and extensibility model.
Microsoft Azure App Service = Web App (Azure Websites) + Mobile App (Mobile Services) + Logic App (BizTalk Services)+ API App
Microsoft also talked about Logic Apps. Logic Apps is part of App Services suite. Logic Apps is the new browser based workflow engine to automate the business process execution.
Business process could be as simple as get an order message from a FTP and update the internal order details database to complex scenario like get the order details from a SaaS based system, calculate the VAT and service charges based on internal company’s rules, send the cost for order fulfilment to a database and send a text (SMS) to manufacturing team manager.
Logic Apps is a browser based design tool enables us to orchestrate the workflow with the help of Connectors and BizTalk API Apps from resource group.
Following are some of the concepts we need to familiarize while working with Logic Apps:
These connectors are not specific to Logic Apps (workflow engine). These are API Apps which can be used from Web Apps, Mobile Apps or Logic Apps. This cross-platform usage means, we can use Connectors from code. For example, from Web Apps you can use these Connectors like calling a web APIs to connect to SAP or any data services for which Connectors are available. With RESTFul API Apps we can create our own API app to use as a connector. Build a new app just for private use, or share and monetize in the marketplace.
As the name suggests it triggers/starts a new instance of a workflow based on a specific event like a change in database table or arrival of a message in Service Bus queue etc. Some of the connectors also act as triggers. For example “Microsoft SQL Connector”, “Recurrence”, “FTP Connector” etc.
An Action is the result, the process which happens after receiving the trigger like update your SaaS when an order has received or send text alert when a data is changed in your database or validate the validate XML message.
BizTalk API Apps:
In a workflow or in any integration scenario, we know more than just providing connectivity between systems (using connectors), we need more feature like transformation, business process rules, support to EDI or AS2 message processing. These integration capabilities are handled/provided through BizTalk API Apps. Yes you heard it right, “BizTalk” API Apps. These BizTalk API Apps are based on the tools we used within BizTalk server and now they are available as part of App Service in cloud.
Following are the BizTalk API Apps available in Marketplace as of now:
Some of the publicly available Connectors and BizTalk API Apps are available in market place. If you want to use any of the available connector,
- Go to Marketplace
- Select “API Apps”
- Search for the App
- Create a connector (may be Twitter connector) by choosing the appropriate service plan and the Connector which we created in the marketplace will be added to Resource Group in your Logic App.
Marketplace as we know where publicly exposed place. Your own custom API Apps can be published in Marketplace where it can provide a partner ecosystem.
Resource groups act as containers for API Apps. Connector and BizTalk API Apps which we create in Marketplace are added to Resource groups from where we can use them in Logic Apps.
Let’s see some more features of Logic Apps:
- Logic Apps has some nice features. Logic Apps provides a way to see the history of instances and its statuses. As you can see in this image, I have a failure. You can drill deep in to this failure like at what action the failure has occurred, what were the inputs and the outputs for this failed connector. All are browser
To get started with Logic Apps:
To get started, we have been provided with collection of templates. For example a Logic App template for content based routing. I certainly see template as the place to start, get familiarise with the Connectors, BizTalk APIs and its configurations.
Goto –> Azure MarketPlace –> Search for “Logic App template”
Azure Documentation: A good article as of now on creating a twitter feed based Logic app here.
A simple Demo of using Logic Apps in Channel9: Azure App Service Logic Apps with Josh Twist
Also very good documentation is available on this new baby here. References to all the documentation are available in the “References” section of this blog.
I believe Logic Apps will be billed same as Web and Mobile Apps. My assumption looking the “App Service Plan”, which we chose while creating the Logic App, billing will be calculated based on “App Service Plan”. App Service Plan supports 5 pricing tiers Free, Shared, Basic, Standard and Premium.
It’s similar to how web hosting plans used to be for Azure Websites. More details about pricing the can be found here.
Azure App Service plans in-depth overview: http://azure.microsoft.com/en-gb/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview/
More information about the price details: http://azure.microsoft.com/en-us/pricing/details/app-service/
What’s going to happen for BizTalk?
BizTalk is going to stay, it’s going to grow even further, it’s going to solve even broader integration problems. Microsoft is going to invest even more resources and add broader capabilities to existing on-premise and could offerings.
In the next major version of BizTalk Server, keeping this big announcement in mind, I’m sure we can expect some bridges between BizTalk Server and App Service.
Is this App Service announced today fully packed with all the capabilities we need!! May be not. This is just the beginning a public preview. This shows the direction in which Microsoft is investing and moving forward. This step/direction will become more matured and fully capable solution for integration soon. What we know today is the first public preview and we all know the pace in which Microsoft release their products and updates. May be even in few weeks’ time you may see more nice features, filling even more gaps especially around the usability of this portal which will improve even better. So overall exciting and interesting times ahead.
Azure App Service Documentation: http://azure.microsoft.com/en-gb/documentation/services/app-service/
Create a new Logic App: http://azure.microsoft.com/en-us/documentation/articles/app-service-logic-create-a-logic-app/