This post will summarize some features of the Logic Apps features, and for which szenario it will be most commonly used.
What are logic apps?
In short: Logic Apps provide a way to simplify and implement scalable integrations and workflows in the cloud.
Logic Apps make it possible to quickly create workflows within a designer and combine with predefined connectors (e.g. to Dynamics CRM, REST Endpoints and many more), to integrate enterprise application and let’s communicate each other. Many think on this scenario “Hey but this sounds like BizTalk?!”, yes that’s right but Logic Apps has one big advantage. It is serverles (iPaaS – integration Platform as a Service), so this host not on a single server, so it can scale out automatically when it need more resources.
A logic app is not a self running application that has an on “heartbeat”, it react an a trigger action. For example a post on twitter, or an incident in jira. After a trigger has fired up a logic app, the process can do some complex processing.
So what are the big advantages?
I can quote here from the azure website because there will be the advantages mentioned.
- Saving time by designing complex processes using easy to understand design tools
- Implementing patterns and workflows seamlessly, that would otherwise be difficult to implement in code
- Getting started quickly from templates
- Customizing your logic app with your own custom APIs, code, and actions
- Connect and synchronise disparate systems across on-premises and the cloud
- Build off of BizTalk server, API Management, Azure Functions, and Azure Service Bus with first-class integration support
What is the difference to a Workflow?
The key difference betweent Logic Apps and Workflows (like Workflow Foundation, Skelta, K2….) is that you can modify the process on demand in Logic Apps with no downtime. It runs on alwasy on architecture and it do scale autmatically for you, so you didn’t worry about resource problems because you haven’t any. You didn’t need to compile complex assemblies to create a custom action, you can to it with C#-Script and the “Functions” in the online code editor of azure.
Is it possible to develop and deploy this from Visual Studio?
be able to select the Logic App node.
After the logic app was created and opened in Visual Studio, you will see a few files in the project explorer.
Yes, this is all you need. The logicApp.json contains the complete Logic App Process that will be later used for the Designer View. the LogicApp.parameters.json contains variables, that will be used in the LogicApp.json. You may have a parameter file for each stage (like testing.paramerters.json, production.parameters.json…). When you later deploy you Logic App you will be able to select the correct parameter file. This allows you to control the deployment later, so you can keep control for which system you will deploy it.
The Process can be written down by modifiing the json, pretty straight forward, or you can use the visual designer
So simple hm? When you want t0 deploy it, this will be the same procedure like the otehr deployments you used, just right klick on the project file and select deploy, after that you will see the dialog to sleect the logic app to deploy, which parameterfile to use and which resource group to use.
I think this will be a good alternative to workflow engines. You can simply create complex processes that everyone later can simply understand. The integration in Azure and Visual Studio helps both parts the busines unit and the developement unit to wirk together more on processes instead on documents and many discussions.