Azure App Service allows developers to create business logic in the cloud that supports their new or existing web and mobile apps.
Building on the MicroServices announcement from last year's BizTalk Summit (in Redmond), there have been two major new technologies released:
- API Apps
These seem to be the same MicroServices that were mentioned at the BizTalk Summit in November 2014. API Apps are small web apps, which use REST/JSON to access them. There appears to be some sort of covering service (called a gateway) that coordinates security and data storage on top of them. I would imagine that API Apps scale much like any IIS web app. The gateway also handles the OAuth dance for apps.
API Apps can be created in Visual Studio, and it appears that Microsoft have been busy writing a whole slew of apps for connecting to various sources e.g. Facebook, Twitter, SFDC, etc.
One other interesting thing is that you go and get API Apps from the API Apps marketplace - it's mentioned in one of the videos that you can publish your own API Apps to the marketplace and that in the future you'll be able to charge for them - that opens up some interesting possibilities!
What's notable is the complete lack of WCF and SOAP - instead, everything is REST and JSON. And it appears you can publish APIs for custom apps using standard JSON publishing tools e.g. SWAGR, Swashbuckle, etc.).
Also Visual Studio can generate clients to call API Apps from within Visual Studio.
API Apps are created using a new SDK for App Service in Visual Studio, which adds a new project type: Azure API App. Once you've created your app, you right click the project and choose Publish - this brings up a new window where you can publish the APi App to Azure.
I don't know if that means it automatically appears in the API App marketplace.
I haven't seen a link to a new SDK for Visual Studio (yet) though.
- Logic Apps
These appear to be workflows - from what I've seen in the announcement, I would guess that Logic Apps will be a replacement for Windows Workflow at some point. You can orchestrate API Apps in a Logic App, and I'm guessing that a Logic App is just another type of API App, potentially allowing for 3rd party workflow apps in the future.
You add API Apps to a logic flow, and for each app you can set triggers and conditions - conditions are the way you link them together. The idea seeming to be that if you have no conditions, you'll end up with everything occurring in parallel.
A Logic app can be triggered by time (e.g. polling an http endpoint), or by another API App.
Logic apps are created in and edited in the browser, via the new Azure Portal. You can either see the flow in visual format, or switch to a JSON view. I'm assuming therefore that you could author a flow in JSON and then upload it (or paste it into the browser).
So far there is no information on a designer for Visual Studio - I'm assuming this will come, as otherwise it will make source control of flow apps tricky. But for now, you could author the flow in the portal, then switch to JSON view, and check that JSON code in.
In addition, the existing Azure Web Services have been renamed Web Apps, and the existing Mobile Apps have been brought in under the App Services banner - meaning tighter integration, and the ability to orchestration logic apps at the backend regardless of the type of front end app.
What does this mean to BizTalk Developers?
Well, what's interesting is the number of BizTalk-related API Apps that Microsoft have created - looking at Scott Gu's blog post I can count 11 BizTalk-related connectors, and 10 protocols we'd expect to connect to/from in BizTalk.
Connectors included in this list are:
- Extract (XPath)
- Convert (XML-FF)
- Rules Engine
It would seem to me that you could easily re-create some simple messaging-only scenarios in Logic Apps (similar to what BizTalk Services offers today) using those connectors.
We'll have to wait for the BizTalk Summit in London in April 2015 to find out more about the impact on BizTalk Server of the App Service platform - I guess for now it's wait and see.
Read more about the announcements here:
Bill Staples Announcement: http://blogs.microsoft.com/blog/2015/03/24/announcing-the-availability-of-azure-app-service/
Scott Gu's Announcement: https://weblogs.asp.net/scottgu/announcing-the-new-azure-app-service
Also there's a video with Josh Twist and Scot Hanselman introducing how to create a Logic App here:
And a video on creating an API App (with Scott Hunter and Scott Hanselman) here: http://channel9.msdn.com/Shows/Azure-Friday/Azure-App-Service-API-Apps-with-Scott-Hunter
If you have an Azure Subscription, you can access the goodies from the new portal here: http://portal.azure.com
Over the next few weeks I'm going to analyse all of the available API Apps and describe how they work, how you provision them, and how you call them.
Update: the Azure AppService SDK is now part of the latest Azure SDK v2.5.1 - available here: http://azure.microsoft.com/en-us/downloads/