Workflow Design and Implementation Challenges in Change Management

 
SDC Workflow Designer Solution for Change
Management Requirement
 
Huabing Zhao
 
Change Management Requirement
 
U
s
e
 
C
a
s
e
:
 
U
p
d
a
t
e
 
I
m
a
g
e
V
N
F
 
C
h
a
n
g
e
 
M
a
n
a
g
e
m
e
n
t
V
e
n
d
o
r
 
h
a
s
 
a
 
n
e
w
 
I
m
a
g
e
 
f
o
r
 
t
h
e
 
V
N
F
 
r
e
q
u
i
r
i
n
g
 
I
m
a
g
e
 
u
p
g
r
a
d
e
 
f
o
r
 
a
l
l
 
t
h
e
 
e
x
i
s
t
i
n
g
V
N
F
 
I
n
s
t
a
n
c
e
s
Vendor works with the VNF Owner to define the workflow for upgrading the VNF Image
New VNF version includes the updated image and the workflow to upgrade the image
from the previous VNF version to the current VNF version
Service is updated with the new VNF version and distributed
SO deploys the workflow
On SO receiving the VNF Upgrade request from a north
 bound system
. SO executes
the workflow previously deployed to Upgrade VNF
 
Change Management Requirement
 
Stop traffic
 is a API call to controller so controller can actually take the necessary steps to stop traffic
Drain traffic 
is an API call to controller to allow for controller to confirm completion of all the in-progress
activity in the VNF
Create VNF 
is an API call to Openstack to instantiate the VNF
All the steps are API calls from SO to various systems with inter-dependencies
 
Workflow Design Roles
Stop
traffic
Drain
traffic
Stop
VNF
….
APP-C
SDN-C
Open
Stack
….
 
Restful API
 
Business workflow design
 
Activity Definition
 
Business designers use the activities as building blocks to design a workflow
Developers define and implement the activities
 
 
Business designer
 
Developer
 
Developer
 
W
orkflow 
used 
in SO
Service
Task1
Service
Task2
Service
Task3
 
Workflow 
Execution Engine
 
SO Process
Implementation
1(java)
Implementa
tion 1(java)
Implementa
tion 1(java)
VF-C
SDN-C
APP-C
AAI
 
groovy
 
groovy
 
groovy
Workflow solution in SO:
 
Workflow execution engine is embed in SO.
The extended activities are done by BPMN service
tasks via groovy scripts.
Workflow execution engine uses groovy script to
invoke the service task implementation written in java.
The challenges:
Highly coupling between workflow design and SO, SO and other downstream modules.
      Have to add an implementation java class for every extended “activity” in SO, even workflow engine only need
to call a service of other modules.
Language restriction
      Microservices are multilingual, the implementation of activities could be python, go or other languages. So we
can’t assume all the implementation are written in java.
 
Workflow used in VF-C
 Standalone Workflow execution engine . Workflow engine can be scaled out on independently on heavy
workload.(Workflow engine cluster)
The extended activities are 
REST 
tasks.
Workflow execution engine has an generic R
EST task execution extension
.
(This approach has already been implemented in Amsterdam and leveraged by VF-C for network service instantiation
workflow, in which workflow engine is a standalone microservice)
SDN-C
APP-C
AAI
 
REST 
Interface
VF-C
SO
Standalone workflow engine.
Workflow engine can be 
deployed as a cluster to share
heavy work load.
Uses REST interface instead of in-process java call to avoid
coupling between the execution engine and the
implementation. So the workflow engine can be deployed
outside of the process in which the implementation resides.
This 
approach add more scalability to “activity”
implementation as well. The implementation can be
deployed as a cluster to share work load.
Current workflow Designer 
Architecture
BPMN
Converter
Storage
Adapter
SDC Catalog
Workflow 
Designer UI
Workflow 
Designer Server
REST
REST
 
UI:  Pure frontend codes including Js/html/css files, hosted in a
Tomcat server. Framework: Angular 4
Server: 
a small code base including:
Converter: convert 
json output of UI to BPMN standard workflow
Storage Adapter: Save the generated workflow into SDC
catalog/Get workflow form SDC catalog-WIP
Workflow designer supports generic REST Tasks
 
Choose a Restful service API
 
Set input/output parameters
 
The current 
workflow design process is difficult for business designer
Business designers have no technical background  about rest APIs.
Too many 
input/output parameters.
Enhance workflow designer to support pre-defined rest tasks
 
Customized workflow tasks in a model-driven approach
Stop
Traffic
Drain
Traffic
Stop
VNF
Create
VNF
Start
VNF
Start
Traffic
Copy
Snapshot
 
Tasks
Stop
Traffic
Drain
Traffic
Stop
VNF
 
ONAP 
Microservices
SO
SDN-C
APP-C
AAI
 
REST 
API
 
Workflow 
Engine with REST Task extension
Stop
Traffic
Drain
Traffic
Stop
VNF
 
Design
Time
 
Run
Time
Every task is a wrapper of a Restful API call,
which includes user-friendly name, description,
input/output definition, etc.
 
Task definitions can be imported to workflow
designer.
 
Any existing ONAP Restful API can be wrapped as
tasks.
 
Workflow Engine has an common extension
which can execute arbitrary REST Task.(Already
supported and used in  Amsterdam)
 
Don’t have to re-compile/re-deploy ONAP to add
new customized  restful API wrapper tasks.
 
Developer can opt to write new task(Rest service)
in ONAP  to extend existing ONAP
functionalities(need  to re-compile and release
ONAP).
REST Task Execution Extension
 
Additional requirements
 
Versioning
Template Storage for Draft
Shared workflow template which can be associated to multiple
VNFs/Services
 
Asyn communication
Quickly fix of operation issues
Slide Note
Embed
Share

This content explores the workflow design and implementation challenges in change management requirements, focusing on activities like stopping and draining traffic, creating VNF instances, and using RESTful APIs. It discusses the use of BPMN service tasks with groovy scripts in executing workflows and the need for flexible language support due to multilingual microservices environments.

  • Workflow design
  • Change management
  • Implementation challenges
  • BPMN service tasks
  • Multilingual microservices

Uploaded on Jul 31, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. SDC Workflow Designer Solution for Change Management Requirement Huabing Zhao

  2. Change Management Requirement Use Case: Update Image VNF Change Management Vendor has a new Image for the VNF requiring Image upgrade for all the existing VNF Instances Vendor works with the VNF Owner to define the workflow for upgrading the VNF Image New VNF version includes the updated image and the workflow to upgrade the image from the previous VNF version to the current VNF version Service is updated with the new VNF version and distributed SO deploys the workflow On SO receiving the VNF Upgrade request from a north bound system. SO executes the workflow previously deployed to Upgrade VNF

  3. Change Management Requirement Stop traffic is a API call to controller so controller can actually take the necessary steps to stop traffic Drain traffic is an API call to controller to allow for controller to confirm completion of all the in-progress activity in the VNF Create VNF is an API call to Openstack to instantiate the VNF All the steps are API calls from SO to various systems with inter-dependencies

  4. Workflow Design Roles Business designer Business workflow design Developer Activity Definition Stop traffic Drain traffic Stop VNF . Restful API Open Stack Developer APP-C SDN-C . Business designers use the activities as building blocks to design a workflow Developers define and implement the activities

  5. Workflow used in SO Workflow solution in SO: SO Process Workflow Execution Engine Workflow execution engine is embed in SO. The extended activities are done by BPMN service tasks via groovy scripts. Workflow execution engine uses groovy script to invoke the service task implementation written in java. Service Task1 groovy Service Task2 groovy Service Task3 groovy Implementation 1(java) Implementa tion 1(java) Implementa tion 1(java) VF-C SDN-C APP-C AAI The challenges: Highly coupling between workflow design and SO, SO and other downstream modules. Have to add an implementation java class for every extended activity in SO, even workflow engine only need to call a service of other modules. Language restriction Microservices are multilingual, the implementation of activities could be python, go or other languages. So we can t assume all the implementation are written in java.

  6. Workflow used in VF-C Standalone workflow engine. Workflow engine can be deployed as a cluster to share heavy work load. Workflow Execution Engine Stop Traffic Stop Traffic Stop Traffic Drain Traffic Drain Traffic Drain Traffic Stop VNF Stop VNF Stop VNF Groovy Groovy Groovy Uses REST interface instead of in-process java call to avoid coupling between the execution engine and the implementation. So the workflow engine can be deployed outside of the process in which the implementation resides. BPMN BPMN BPMN REST Task Execution Extension REST Task Execution Extension REST Task Execution Extension REST Interface This approach add more scalability to activity implementation as well. The implementation can be deployed as a cluster to share work load. SO SDN-C APP-C AAI VF-C Standalone Workflow execution engine . Workflow engine can be scaled out on independently on heavy workload.(Workflow engine cluster) The extended activities are REST tasks. Workflow execution engine has an generic REST task execution extension. (This approach has already been implemented in Amsterdam and leveraged by VF-C for network service instantiation workflow, in which workflow engine is a standalone microservice)

  7. Current workflow Designer Architecture BPMN Converter SDC Catalog Storage Adapter REST REST Workflow Designer UI Workflow Designer Server UI: Pure frontend codes including Js/html/css files, hosted in a Tomcat server. Framework: Angular 4 Server: a small code base including: Converter: convert json output of UI to BPMN standard workflow Storage Adapter: Save the generated workflow into SDC catalog/Get workflow form SDC catalog-WIP

  8. Workflow designer supports generic REST Tasks Choose a Restful service API REST Task Setting Set input/output parameters The current workflow design process is difficult for business designer Business designers have no technical background about rest APIs. Too many input/output parameters.

  9. Enhance workflow designer to support pre-defined rest tasks Add pre-defined Rest tasks to designer as building blocks (Note: should also supports pre-defined groovy/java task) Task definition: Name: Create Snapshot Category: VNF Description: Create a snapshot of a VNF instance REST Service: Name: vnf service URL: / Input Parameter: -VNF ID: String . Designers just drag and drop tasks to design a business process Designer don t have to understand REST APIs Simplify the input parameter setting by default value configuration

  10. Customized workflow tasks in a model-driven approach Every task is a wrapper of a Restful API call, which includes user-friendly name, description, input/output definition, etc. Tasks Stop Traffic Drain Traffic Design Time Stop VNF Create VNF Task definitions can be imported to workflow designer. Stop Traffic Drain Traffic Stop VNF Start VNF Start Traffic Any existing ONAP Restful API can be wrapped as tasks. Copy Snapshot Workflow Engine has an common extension which can execute arbitrary REST Task.(Already supported and used in Amsterdam) Workflow Engine with REST Task extension Stop Traffic Drain Traffic Stop VNF Run Time Don t have to re-compile/re-deploy ONAP to add new customized restful API wrapper tasks. REST Task Execution Extension REST API Developer can opt to write new task(Rest service) in ONAP to extend existing ONAP functionalities(need to re-compile and release ONAP). ONAP Microservices SO SDN-C APP-C AAI

  11. Additional requirements Versioning Template Storage for Draft Shared workflow template which can be associated to multiple VNFs/Services Asyn communication Quickly fix of operation issues

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#