Hi Chamila,

Will this  workflow associated to all the life cycle status changes ? or we
can configure in such a way to associate the workflow to selected lifecycle
transition  , e.g initial->create ,create->publish

On Wed, Aug 24, 2016 at 2:35 PM, Chamila Adhikarinayake <[email protected]>
wrote:

> Hi all,
>
> Following is a rough flow diagram related to this feature.
>
>
> ​
>
>
>
>
> When user change the lifecycle from the publisher ui or through rest api,
> changeLifeCycleStatus() method gets invoked. From that method workflow
> executor's execute()  get called. workflow executor is selected based on
> the workflow-extensions.xml (same as workflows in store)
>
> workflow request is done to BPS using a WS Workflow Executor . API related
> information with the worklowreferenceid will be sent to the BPS. client id
> and client secret for an oauth application will be sent to the bps. these
> credentials will be used to generate token to access the callback rest api
> to complete the workflow. Other aditional parameters are shown in the
> image.
>
> A new rest api is deployed in AM publisher as the callback url. once the
> workflow resume response comes back to this api , it loads the workflow
> executor based on the workflow type. Tenant loading happens based on the
> tenant domain (these values are store in the AM_WORKFLOWS table. these
> information can be retrieve using the workflow reference id). From the
> complete() method, Lifecycle state change is happended based on the wf
> status inside the complete() method.  Lifecycle action will be used for the
> API lifecycle state change
>
> Oauth application credentials are passed with the wf request to the BPS.
> One alternative for this would be manually generating the oauth app and
> provide the client id and secret as pre-defined parameters in the business
> process archive file.
>
> In the default executor execte() method directly calls complete() method
>
>
> Any modifications and suggestions are highly appreciated.
>
> Thanks,
> Chamila
>
>
> On Mon, Aug 22, 2016 at 11:20 AM, Nuwan Dias <[email protected]> wrote:
>
>> Hi Chamila,
>>
>> I think its better to draw a diagram including API-M and BPS and describe
>> the parameters passed in-between :)
>>
>> Thanks,
>> NuwanD.
>>
>> On Mon, Aug 22, 2016 at 10:52 AM, Chamila Adhikarinayake <
>> [email protected]> wrote:
>>
>>> Hi All,
>>>
>>> This feature is to add workflow extension support to API lifecycle state
>>> changes. This feature will be similar to workflow extension support in API
>>> store.
>>>
>>> There will be two workflow extensions provided with this. WS Workflow
>>> Executor and Simple Workflow Executor. Simple Workflow Executor carries out
>>> an operation without any intervention by a workflow admin.  WS Workflow
>>> Executor will call external service (In this case service in BPS) for
>>> workflow tasks.
>>>
>>> For this we are planning to introduce BPMN process instead of using
>>> BPEL. A new rest api will be added to publisher rest apis for the BPMN
>>> process to use as the callback service. This new rest api will be protected
>>> with a scope for workflow.
>>>
>>> Since the REST api is protected with OAuth tokens, we need a method to
>>> provide Oauth application information to BPS service. Current plan is to
>>> generate oauth application from the APIM side using dcr endpoint and pass
>>> the client id and secret to BPS service when invoking the workflow's
>>> execute method. BPMN process will then use these application information to
>>> generate token and using that it will invoke the callback rest api to
>>> continue the workflow.
>>>
>>> Lifecycle executor will be called based on the status of the workflow.
>>>
>>> A new UI will be added to Admin Portal to handle human tasks (to approve
>>> or reject)
>>>
>>> Any suggestion is highly appreciated.
>>>
>>> Thanks,
>>> Chamila
>>>
>>> --
>>> Regards,
>>> Chamila Adhikarinayake
>>> Software Engineer
>>> WSO2, Inc.
>>> Mobile - +94712346437
>>> Email  - [email protected]
>>> Blog  -  http://helpfromadhi.blogspot.com/
>>>
>>
>>
>>
>> --
>> Nuwan Dias
>>
>> Software Architect - WSO2, Inc. http://wso2.com
>> email : [email protected]
>> Phone : +94 777 775 729
>>
>
>
>
> --
> Regards,
> Chamila Adhikarinayake
> Software Engineer
> WSO2, Inc.
> Mobile - +94712346437
> Email  - [email protected]
> Blog  -  http://helpfromadhi.blogspot.com/
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Jenananthan Yogendran
*Senior Software Engineer,*
*WSO2 inc., http://wso2.com <http://wso2.com>*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to