February 26, 2016
Logic Apps Preview Refresh: Designer Improvements
Microsoft just released a refresh of the Azure Logic Apps Preview. Logic Apps allow API centric workflows to be automated and executed within the Azure Platform. The technology should be in general availability in Q2 2016, according to the Microsoft Integration Roadmap published last year. Here is an overview of the designer changes released with the refresh earlier this week.
The designer had a major revamp as part of the refresh, and now presents a cleaner interface and a more intuitive visual flow. It also brings a series of managed connectors that can be used out of the box, where previously every connector would need to be provisioned on a specific App Service before it could be used.
Cleaner, Simpler Interface
The designer now starts with a clear surface area, maximising the space. As a first step, it prompts the user to select the trigger for an logic app.
Logic apps can be initiated by an event triggered by the most common SaaS applications in the market, including file storage services, Facebook, Twitter, Yammer, Salesforce, Azure Service Bus and SharePoint Online.
There is also the ability to initiate logic apps manually via an HTTP post request, on a recurring period, or interacting with a custom API that has been implemented with polling or pushing capabilities.
Adding actions to a logic app is a similar experience, with developers selecting the possible actions from a list of available connectors. One of the big improvements from the previous version of the technology is the ability to use managed connectors.
Those connectors are managed by Azure and do not need to be provisioned on the user's subscription in order to be used by the logic app. Instead, they can just be configured. This makes the process of implementing logic apps much simpler.
Other big improvements on the surface designer include the ability to collapse actions, making the logic app flow easier to read, and the ability to move an action location within the workflow by drag and drop. This solves one of the usability problems of the previous preview, where actions could not be embedded between two existing actions in the designer view.
Improved Visual Flow
While the previous logic apps designer experience showed the actions in a left to right flow, the new designer uses a more intuitive top to bottom flow, with decision tree branches showing side by side.
The designer prompts the user to add the next step in the workflow, which can be an action or a condition, making conditions now "first class citizens" within the workflow.
This release of Logic Apps comes with a series of managed connectors. As discussed previously, those connectors are a big improvement compared to previous versions, since they do not need to be deployed to a resource group in order to be used by the logic app.
Since the connectors are now managed by Azure, only the connection settings need to be provided. Connection settings can be shared among logic apps within the same resource group, so once a connection is created for a connector in a logic app, it can be selected for other logic apps within the same resource group. This can make configuration of related logic apps simpler.
There is still the ability to use V1 version of connectors deployed to a resource group, by leveraging from the HTTP + Swagger action. This action allow you to point to the swagger definition of an API App and select one of the operations that the API allows.
This same technique allows developers to invoke their own custom API. One restriction at this stage is that the API needs to be set as public in order to get the API definition.
Some functionality that previously existed in the designer didn’t make it to the new designer yet. The most significant item is the ability to repeat actions over a list. This could be done previously in the designer, but is not available in the designer surface yet. Hopefully this is one of the items that will be fleshed out and become a core element, like the "condition" item. The logic app still accept the repeats, but the flow must be programmed in the code view.
Another missing function is the ability to access the language reference directly from the designer. This is a small issue, since the button simply links to a MSDN article, but because it is not available right now in the designer, it is a good idea to bookmark that link for reference.
The last visible difference I noticed in the designer is the lack of direct access to the custom APIs that are available in the same resource group. This also is a small issue, which can be overcome by the use of HTTP + Swagger, as demonstrated above.
Azure Logic Apps fills a gap in the Microsoft’s cloud integration offering. The ability to visually define and run workflows in the cloud, leveraging from managed and custom APIs, opens up the ability for many integration scenarios that before required a lot of bespoke code.
The preview refresh made available earlier this week, and in particular the changes in the designer experience that came with this refresh greatly improves the development experience for creation and maintenance of logic apps and will definitely increase the adoption of the technology.