How to setup camunda external task client - bpmn

I have a service tasks part of my bpmn file. I want to execute the service tasks asynchronously using camunda external task client. How to setup the external task client? Currently the service tasks execution are delegated to process engine itself.

for introduction see this Camunda blog post.
In short, you define the task implementation as "external" in your BPMN and define its topic.
Then, you create REST client with long polling which will fetch task execution info.
Luckily, you don't have to write the REST client by yourself, there are official implementations for Java and JS.
For a Java client, have a look at the examples on GitHub repo.
More official info here and here.

Related

How can I integrate activiti workflow engine with Vertx?

In our project, we are using Vertx and want to process our request with a workflow engine because we have different tasks in our request.
I went through activiti WFE but found only spring integration example.
How can I integrate it with Vertx?

Message Bus message documentation using Swashbuckle.AspNetCore?

I am looking into using the Swashbuckle.AspNetCore v4.0.1 NuGet package in my ASP.Net Core project to generate a SwaggerUI documentation endpoint for my web API that will be used by various teams internal to my company. My API consumes and emits a handful of message bus events and commands that I'd like to include as part of that documentation.
Are there any custom settings in Swashbuckle's middleware that would allow me to document input/output objects not associated with API endpoints?
That the endpoint emits a a service bus event is an internal implementation detail and should not need to be documented.
If you want to provide documentation for an endpoint you can write XML documentation and configure Swashbuckle to expose that documentation using the IncludeXmlComments method.
Microsoft explains how to configure Swagger this way in their Get started with Swashbuckle and ASP.NET Core article.

Can workday call an external webservice?

We are starting to implement workday and had a question regarding whether workday can call an external webservice.
Workday definitely can call external web services. Workday offers an integration platform with an Eclipse based IDE. It is a full ESB platform that can call http(s) SOAP and REST services. There are complex orchestrations with flow control and transformations. It is an extremely powerful integration platform that some of the world's largest firms use to integrate with third party systems.
The api's described previously are for inbound data flows from external systems.
Workday allows outbound calls using their "outbound subscription" service.
This integration pattern is described here:
https://community.boomi.com/docs/DOC-2614#jive_content_id_Outbound_Subscriptions
A more reliable integration pattern is to use message queuing:
https://community.boomi.com/docs/DOC-2614#jive_content_id_Message_Queuing
How should the external web device call be triggered?
I believe doing a soap or restful web service call from a Studio solution would be relatively simple .... As long as workday does not limit outgoing connections from a studio integration.
There are some security limits on what what an integration can do - such as they are not allowed to read local files (on the workday host) using Java IO routines , etc
It appears there is an API. https://community.workday.com/api
Hereis the web services documentation.
https://community.workday.com/custom/developer/API/index.html
Workday offers an open, standards-based SOAP API for programmatic access to our On-Demand Business Management Services. The following directory provide the API Documentation for our multi-tenant SOAP-based web services with corresponding WSDL and XML Schemas (XSD's).

Build subscription alerts for service changes

I am using Biztalk UDDI V3 (stand-alone install) on a windows 2008. I have configured all services (web, database and subscription):
I successfully published a couple of services
I successfully accessed and retrieved service information from my .net console application.
My issue at this point is with the subscription service. I tried to subscribe to one of the published services only to find out that I need to create my own listener.
I followed the steps listed here. Please take a look at the section entitled "Building subscription alerts for service changes". I am confused as to what the WCF service I create is supposed to look like. The instructions state the following:
Now we create a new WCF Service project and reference this existing service library. After making sure the .svc file points to our referenced library object, and adding a valid endpoint configuration file, view our service in the web browser to ensure that it's up and running.
I find this section confusing. Not sure what public methods would the WCF service expose(if any at all) or how to expose the functionality within the service library that I just referenced from within my WCF project.
Of course, if you know of a different way to achieve what I am trying to accomplish, that also would be much appreciated.
Thank you.
This may help. I actually just wrote a complete port for Apache jUDDI's client library using .NET C#. One of the use cases is actually what you are attempting to do. Here's the rough approach used.
Generate the code from wsdl (using wsdl.exe, because svcutil doesn't like the UDDI wsdls)
Alter the interface code to have WCF bindings for the Subscription Listener class
Create an implementation of the subscription listener and handle the callbacks
Fire up the implementation using WCF's embedded service
Register your sub listener endpoint with UDDI (using the correct annotations per the spec)
Setup the subscription using your sub listener's binding template
Wait for callbacks
Here's the code
http://svn.apache.org/repos/asf/juddi/trunk/juddi-client.net/
Example
http://svn.apache.org/repos/asf/juddi/trunk/juddi-client.net/juddi-client.net-sample/org.apache.juddi.client.samples/SubscriptionCallbackExample.cs
There's also a Java version that does the exact same thing.

Auto-generate an API Explorer for WCF services

If you have ever used the Flickr API, you'll be familiar with their API Explorer. It is an awesome tool, that allows you to view the documentation for each API method, and the killer feature, being the execution of that API method (with a form to populate any request parameters). It even picks up when you are logged in, and completes the authentication part on your behalf. Gowalla has a similar API Explorer that is also really good.
Are there are tools for WCF that will auto-generate such an API Explorer, free or commercial?
Currently, we use Fiddler to build the JSON requests, but I would like to publish these service contracts, and allow potential developers to play around with them via a web based API explorer.
I am aware of the WCF Web HTTP Service Help Page, which I am using (and is awesome), but it is the API Explorer part that I am interested in.
You may want to look at I/O Docs - an open-sourced interactive documentation system for RESTful web APIs that any API owner can use to deploy for their own documentation. It runs on Node.js and uses Redis as a data store.
https://github.com/mashery/iodocs
Example: developer.klout.com/iodocs, developer.rottentomatoes.com/iodocs
It uses JSON schema based files to define API endpoints, method and parameters. Based on these JSON files, it generates a client interface that developers can use to learn and explore your API. API calls can be executed directly from the documentation interface, producing formatted responses.
It's Open-sourced, so you can be assured of regular updates and improvements. In fact this past weekend, Brandon West from SendGrid (who use I/O docs to power their documentation), created and open sourced the UI to create/edit the JSON schema files for I/O Docs. So you don't have to manually create the JSON files anymore.
https://github.com/brandonmwest/iodoctor
Not exactly what you were looking for, but....
WCF provides something called the WCF Test Client, for this purpose.
If you install Visual Studio, you get it. For example, for VS2008, installed in the usual place, you can find the WCF Test Client (WcfTestClient.exe) in the following location:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
Take a look at Apigee: http://apigee.com/