CN110276592B - Business process variability modeling method and system for micro-service system - Google Patents
Business process variability modeling method and system for micro-service system Download PDFInfo
- Publication number
- CN110276592B CN110276592B CN201910517942.XA CN201910517942A CN110276592B CN 110276592 B CN110276592 B CN 110276592B CN 201910517942 A CN201910517942 A CN 201910517942A CN 110276592 B CN110276592 B CN 110276592B
- Authority
- CN
- China
- Prior art keywords
- variation
- business process
- micro
- business
- variant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 232
- 230000008569 process Effects 0.000 title claims abstract description 185
- 230000008859 change Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 230000000007 visual effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 229910003460 diamond Inorganic materials 0.000 description 5
- 239000010432 diamond Substances 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention provides a micro-service system business process variability modeling method and a system, wherein the method comprises the following steps: grouping the service flows; for the business processes in the same group, identifying variation points and variants, and determining the selection relation between the variation points and the variants; establishing a variable business process model based on the selection relation between the variation points and the variations; and selecting variants for each variation point in the variable business process model based on business requirements corresponding to the business processes of the versions, and generating the business process models of different versions. The invention provides a visual modeling method for the business process of the micro-service system and the variability of the business process, the established variable business process model is easy to map to a code with actual execution semantics, the difficulty from business representation to technical realization is reduced, the development efficiency of the micro-service system is improved, the developed micro-service system has high flexibility and adaptability, and the dynamic operation environment and the business requirements can be quickly responded.
Description
Technical Field
The invention relates to the technical field of micro service systems, in particular to a micro service system business process variability modeling method and system.
Background
In recent years, with the rapid development of technologies such as cloud computing, container virtualization, devOps and the like, a micro service architecture is gradually emerging and becomes a preferred architecture for developing a large software system. Under the microservice architecture, a software system consists of a set of small services (microservices). These services run independently on different processes, interacting with each other through lightweight communication mechanisms (e.g., RESTful API). Compared with the traditional single architecture, the micro-service architecture has the following advantages: improving agility, productivity of developers, flexibility, scalability, reliability, maintainability, focus separation, and ease of deployment. Due to the significant advantages of microservice architectures, more and more internet companies (e.g., google, eBay, netflix) migrate their applications from monolithic to microservice architectures.
The functions implemented by a single microservice are usually very limited, and it is difficult to provide complex functions, so that actual business requirements are often not met. To provide more complex functionality, the microservices need to cooperate with each other. Multiple services are coordinated and organized in a manner to support complex business processes, a process known as service assembly. Services developed by different time and mechanisms can be integrated together through service assembly, and a business process with more complex functions and higher application value is realized.
In order to meet different business requirements, a business process of a microservice system usually has multiple versions. For example, different product types may have different sales flows. However, traditional business process modeling languages (UML activity diagrams, EPC, YAWL, BPMN, etc.) can only statically describe a business process, and two methods are usually employed to model different versions of the same business process: modeling separately and together. Modeling alone tends to produce a large number of similar business process models, resulting in a large amount of duplication and redundancy. Modeling together is prone to a sharp rise in complexity of the business process model, and is difficult to analyze and maintain. Because the above method does not support variable description, the software system implemented according to the business process description lacks flexibility and adaptability, and is difficult to respond to the continuously changing operating environment and business requirements quickly.
In recent years, people are oriented to various business process modeling languages to research business process variability modeling technologies. However, the existing business process variability modeling method is not suitable for describing the variability of the business process of the microservice system, for the following reasons:
1. the traditional business process modeling language describes the business process on a higher abstraction level, the business process of the micro-service system cannot be accurately described, the established model is difficult to be directly mapped to a code with actual execution semantics, and the difficulty from business representation to technical implementation is increased.
2. The business process of the micro-service system is formed by coordinating and organizing a plurality of micro-services according to a certain mode, and the existing method describes the business process from the perspective of a single participant and performs variability expansion, so that the interaction and the variability among the plurality of micro-services are difficult to describe.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a micro-service system business process variability modeling method and system; the method provides a visual modeling method for the business process of the micro-service system and the variability of the business process, reduces the difficulty from business representation to technical realization of a business process model, improves the development efficiency of the micro-service system, increases the flexibility and the adaptability of the developed micro-service system, and enables the developed micro-service system to quickly respond to the dynamic operation environment and the business requirements.
In order to solve the technical problem, the invention provides a micro service system business process variability modeling method, which comprises the following steps:
establishing a service flow of the micro service system to be developed based on the service requirement of the micro service system to be developed, and dividing the service flows of different versions corresponding to the same service into the same group;
for the business processes in the same group, analyzing the commonality and the difference among the business processes, identifying variation points, determining selectable variants under each variation point and the selection relation between the variation points and the variants;
determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation points and the variations, and establishing a variable business process model according to the type of each variation point;
and selecting a variant for each variation point in the variable business process model based on the business requirements corresponding to the business processes of the versions, and generating the business process models of different versions.
Further, based on the service requirement of the micro service system to be developed, establishing the service flow of the micro service system to be developed, and dividing the service flows of different versions corresponding to the same service into the same group, including:
analyzing the service requirement of the micro service system to be developed, and establishing a function requirement set of the micro service system to be developed based on the service requirement of the micro service system to be developed;
analyzing the corresponding micro-services and the operation thereof according to the function demand set, and organizing the micro-services and the operation thereof according to preset service logic to form a service flow of the micro-service system to be developed;
and analyzing the service corresponding to each service flow, grouping the service flows, and dividing the service flows of different versions corresponding to the same service into the same group.
Further, the variation point represents the position where the business process variation of different versions occurs; the variant represents an implementation of the variation, i.e. the operation of one microservice.
Further, the selection relation represents a selection number of variants associated with the variation point.
Further, the selecting relationship includes: selecting a variant, selecting one or more variants, not selecting a variant, or selecting a variant, not selecting a variant, or selecting one or more variants.
Further, the types of the variation points include: the optional single variation point, the optional multiple variation point, the optional single variation point and the optional multiple variation point; wherein,
the option-required variation point represents that a variation under the variation point is selected; the mandatory multiple variation points represent one or more variants under the variation points selected; an optional single variation point means that the variant under the variation point is not selected or one variant under the variation point is selected; the optional multiple variation points mean that the variant under the variation point is not selected or one or more variants under the variation point are selected.
Further, the establishing of the variable business process model according to the type of each variation point includes:
for the same business process segment, the original BPMN element is used for representing;
and for different business process segments, expressing the different types of variation point elements according to the types of the corresponding variation points, and associating the variation point elements with the variants by using the implementation relation elements.
Further, the generating a business process model of different versions by selecting a variant for each variation point in the variable business process model based on business requirements corresponding to business processes of each version includes:
for the necessary list item change point, a combination of a sending task and a receiving task is used for replacing;
for the necessary multiple variation points, replacing by one or more combination of sending task and receiving task;
for the selectable single variation point, if the variation under the variation point is not selected, ignoring the variation, otherwise, replacing the variation with a combination of a sending task and a receiving task;
for an optional plurality of variation points, if a variation under the variation point is not selected, it is ignored, otherwise it is replaced with a combination of one or more sending tasks and receiving tasks.
Further, the sending task represents initiating a request for invoking a microservice operation; the receive task represents receiving a response to the invoked microservice operation.
Accordingly, in order to solve the above technical problem, the present invention further provides a system for modeling variability of a service flow of a microservice system, where the system includes:
the business process grouping module is used for establishing the business process of the micro service system to be developed based on the business requirements of the micro service system to be developed and dividing the business processes of different versions corresponding to the same business into the same group;
the variation point and variant identification module is used for analyzing the commonality and the difference among the business processes in the same group, identifying variation points, and determining selectable variants under each variation point and the selection relation between the variation points and the variants;
the business process variability modeling module is used for determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation points and the variations, and establishing a variable business process model according to the type of each variation point;
and the variable business process model customizing module is used for selecting a variant for each variation point in the variable business process model based on business requirements corresponding to business processes of various versions, and generating business process models of different versions.
The technical scheme of the invention has the following beneficial effects:
the method comprises the steps of establishing a service flow of the micro service system to be developed based on the service requirement of the micro service system to be developed, and dividing the service flows of different versions corresponding to the same service into the same group; for the business processes in the same group, analyzing the commonality and the difference among the business processes, identifying variation points, determining selectable variants under each variation point and the selection relation between the variation points and the variants; determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation points and the variations, and establishing a variable business process model according to the type of each variation point; and selecting a variant for each variation point in the variable business process model based on the business requirements corresponding to the business processes of the versions, and generating the business process models of different versions.
Compared with the prior art, on one hand, the method can more accurately describe the business process of the micro-service system, and the established business process model is easy to map to codes with actual execution semantics, thereby reducing the difficulty from business representation to technical realization and improving the development efficiency of the micro-service system; on the other hand, the method can describe the variability of the service process of the micro-service system, and the micro-service system developed according to the variable service process model has better flexibility and adaptability and can quickly respond to the continuously changing operating environment and service requirements. The method has great significance for the development and maintenance of the large-scale software system based on the microservice architecture.
Drawings
Fig. 1 is a meta-model of a micro-service system business process variability modeling language VxBPMN4MS according to an embodiment of the present invention;
fig. 2 is a schematic flow chart of a method for modeling variability of a service flow of a microservice system according to an embodiment of the present invention;
FIG. 3 is a variable business process model for weather forecast queries provided by embodiments of the present invention;
fig. 4 is a concrete business process model one of weather forecast query provided in the embodiment of the present invention;
fig. 5 is a specific business process model two for weather forecast query according to the embodiment of the present invention.
Detailed Description
To make the technical problems, technical solutions and advantages of the present invention more apparent, the following detailed description is given with reference to the accompanying drawings and specific embodiments.
The invention provides a micro-service system business process variability modeling method and a micro-service system business process variability modeling system aiming at the problems that the traditional business process modeling method cannot accurately describe the business process of a micro-service system and describe the micro-service system business process variability; and the service process variability modeling of the micro-service system is realized by adopting a micro-service system service process variability modeling language VxBPMN4 MS.
The micro-service system business process variability modeling language VxBPMN4MS provided by the embodiment of the invention is the variability extension of the BPMN, the business process variability description is added on the basis of describing the micro-service system static business process, a meta-model of the micro-service system is shown in figure 1, and each element and the relationship among the elements are defined as follows:
1. collaboration (Collaboration): representing the interaction between two or more microservices, and completing a business process through the interaction. The micro-service system variable business process model has a necessary attribute id which represents a unique identifier of the micro-service system variable business process model; two or more participants representing the operation of the microservice; there are zero or more message flows, representing calls between microservices; there are zero or more implementation relationships that represent an association between a variation point and its variant.
2. Participant (Participant): representing the operation of the microservice. The micro service operation system is provided with a necessary attribute id which represents a unique identifier of the micro service operation; an optional attribute name is used for describing the operation of the micro service; an optional attribute application is provided, which represents a micro service name and can be bound with the existing micro service through the query service registration center; an optional attribute operation represents a micro service operation name and can be bound with the existing micro service operation through an inquiry service registration center; an optional attribute method for representing HTTP request method of micro service operation; an optional attribute path is arranged and represents the path of the microservice operation; an optional attribute request is provided, which represents parameters of the micro-service operation, and the values of the optional attribute request satisfy a regular expression "([ a-zA-Z ] [ a-zA-Z _0-9], [ a-zA-Z ] +, (query) | (path);", wherein "[ a-zA-Z ] [ a-zA-Z _0-9 ]" represents parameter names, "[ a-zA-Z ] +" represents parameter types, and "((query) | (path)" represents parameter styles; there is an optional attribute response, representing the return value of the microservice operation, whose value satisfies the regular expression "([ a-zA-Z ] [ a-zA-Z _0-9], [ a-zA-Z ] +)? ", wherein" [ a-zA-Z ] [ a-zA-Z _0-9] "represents a return value," [ a-zA-Z ] + "represents a return value type; there is a flow that represents the execution of the microservice operation.
3. Flow (Process): representing the execution of the microservice operation. The system has a necessary attribute id which represents a unique identifier of the execution process of the microservice operation; there are elements of message start event, message end event, gateway, task and sequence flow (there is and only one message start event and one message end event).
4. Sequential flow (sequence flow): indicating the order of execution between the two nodes. The method has a mandatory attribute id which represents a unique identifier of the sequential stream; an optional attribute name is used for describing the sequential flow; there is one input node and one output node.
5. Task (Task): representing the atomic activity of the microservice operation (except for microservice invocation). The system has a necessary attribute id which represents the unique identification of the task; an optional attribute name is used for describing the task; there is one input sequence stream and one output sequence stream. When a microservice call needs to be represented, the subclass of tasks is used: a sending task and a receiving task.
a) Send Task (Send Task): representing the initiation of a request to invoke a microservice operation. Which has an outgoing message stream.
b) Receive Task (Receive Task): indicating that a response to the invoked microservice operation is received. Which has one stream of incoming messages.
6. Message Start Event (Message Start Event): indicating the start of the microservice operation. The system has a necessary attribute id which represents the unique identifier of the message starting event; an optional attribute name is used for describing a message starting event; there is only one output sequential stream and no input sequential stream.
7. Message End Event (Message End Event): indicating the end of the microservice operation. The system has a necessary attribute id which represents the unique identifier of the message ending event; an optional attribute name is used for describing a message ending event; there is only one input sequential stream and no output sequential stream.
8. Gateway (Gateway): an execution path for controlling the flow. The gateway has a necessary attribute id which represents the unique identifier of the gateway; there is an optional attribute name that describes the gateway. According to the way of selecting the execution path, the gateway is divided into:
a) Exclusive Gateway (Exclusive Gateway): when the flow is executed to the exclusive gateway, the first path satisfying the condition is executed, and the other paths are not executed. An Exclusive branch Gateway (Exclusive Merge Gateway) is called when the Exclusive Gateway has one input sequential flow and a plurality of output sequential flows, and an Exclusive aggregation Gateway (Exclusive Merge Gateway) is called when the Exclusive Gateway has a plurality of input sequential flows and one output sequential flow. They occur in pairs, not allowing the presence of an exclusive gateway with multiple input sequential streams and multiple output sequential streams.
b) Parallel Gateway (parallell Gateway): when the flow is executed to the parallel gateway, all paths are executed simultaneously. A Parallel Gateway is called a Parallel Fork Gateway (Parallel Fork Gateway) when it has one input sequential stream and a plurality of output sequential streams, and is called a Parallel aggregation Gateway (Parallel Join Gateway) when it has a plurality of input sequential streams and one output sequential stream. They occur in pairs and do not allow for parallel gateways with multiple input sequential streams and multiple output sequential streams.
9. Variation Point (Variation Point): the method is used for indicating the position of the micro-service system where different versions of the same business process change, and at the position, the business processes of different versions call different micro-service operations. The method has a mandatory attribute id which represents the unique identifier of a variation point; an optional attribute name is used for describing a variation point; and a mandatory attribute async which represents the operation of asynchronously calling the micro service when the value is "true" and represents the operation of synchronously calling the micro service when the value is "false". Depending on the number of variants that can be selected at the variation points (each variant representing an implementation of the variation, i.e. the operation of one microservice), the variation points are divided into:
a) Optional single item variation point (MS): indicating an operation to select a variant under the change point, i.e. to invoke a microservice.
b) Mandatory multiple variation points (MM): indicating an operation to select one or more variants at the change point, i.e. to invoke one or more microservices.
c) Optional single item variation point (OS): meaning that no variant under the change point is selected or that a variant under the change point is selected, i.e. that no operation of the micro-service is invoked or that an operation of the micro-service is invoked.
d) Optional multiple variation points (OM): meaning that no variant under the variation point is selected or that one or more variants under the variation point are selected, i.e. that no operation of the microservice or an operation of one or more microservices is invoked.
10. Message Flow (Message Flow): indicating that a message is passed between two microservices. It has a necessary attribute id, which represents the unique identification of the message flow; there is an optional attribute name that describes the message flow. When invoking the operation of the microservice, the message flows exist in pairs, connecting the sending task of the microservice consumer to the message initiating event of the microservice provider and the message ending event of the microservice provider to the receiving task of the microservice consumer.
11. Implementation Relationship (IR): representing the association between a variation point and the corresponding variant. The system has a necessary attribute id which represents a unique identifier for realizing the relationship; there is an optional attribute name used to describe the implementation relationship. It links the change point to the message initiating event of the change.
In addition, the graphical representation of the indispensable single change point is a solid line diamond embedded in the "S", the graphical representation of the indispensable multiple change point is a solid line diamond embedded in the "M", the graphical representation of the optional single change point is a dotted line diamond embedded in the "S", the graphical representation of the optional multiple change point is a dotted line diamond embedded in the "M", and the graphical representation of the implementation relationship is a solid line starting with the solid diamond and ending with an arrow.
The scheme of the invention is further illustrated below by way of specific examples:
first embodiment
As shown in fig. 2, this embodiment provides a method for modeling variability of a business process of a microservice system, where the method includes:
s101, establishing a service flow of the micro service system to be developed based on the service requirement of the micro service system to be developed, and dividing the service flows of different versions corresponding to the same service into the same group;
it should be noted that the above steps specifically include:
analyzing the service requirement of the micro service system to be developed, and establishing a function requirement set of the micro service system to be developed based on the service requirement of the micro service system to be developed;
analyzing the micro-services and the operation thereof needed according to the function demand set, and organizing the micro-services and the operation thereof according to certain service logic to form a service flow of a micro-service system to be developed;
analyzing the service corresponding to each service flow, grouping the service flows, and dividing the service flows of different versions corresponding to the same service into the same group; similar business processes are divided into the same group; wherein similar business processes have similar business rules/goals.
S102, for the service flows in the same group, analyzing the commonality and the difference among the service flows, identifying variation points, and determining selectable variants under each variation point and the selection relation between the variation points and the variants;
the change point is an abstraction of the position where the change occurs. In different versions of the same business process of the microservice system, the microservice operation to be invoked changes. Variants are abstractions of variant alternatives. The variation point may contain a plurality of variants, each variant is an implementation of business logic under a specific scenario, and provides the same kind of functions. The selection relationship defines the number of choices of variants associated with a variation point, and includes four basic types: selecting a variant, selecting one or more variants, not selecting a variant, or selecting a variant, not selecting a variant, or selecting one or more variants.
S103, determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation points and the variations, and establishing a variable business process model according to the type of each variation point;
it should be noted that, the above steps are to express the service flows in the same group by VxBPMN4MS, and construct a variable service flow model. The same business process segment is represented by a native BPMN element, and different business process segments use different types of variation point elements and associate the variation points with the variation points according to the relationship between the variation points and the variation points by using an implementation relationship element.
And S104, selecting a variant for each variation point in the variable business process model based on the business requirements corresponding to the business processes of the versions, and generating the business process models of different versions.
It should be noted that, the above steps are to select a variant for each variation point under the variable business process model according to the specific requirements of the micro service system and the use preference of the user, and derive a specific business process model. Replacing the necessary list item variation point by a combination of a sending task and a receiving task; replacing the mandatory multiple change points by one or more combinations of sending tasks and receiving tasks; replacing or ignoring an optional single change point with a combination of a send task and a receive task; one or more combinations of sending and receiving tasks are substituted or omitted for the optional multiple variation points.
The method for modeling the variability of the business process of the microservice system provided by this embodiment is described in detail below with reference to fig. 3 to 5, taking a microservice system queried by weather forecast as an example.
Due to the diversity of users, weatherThere are multiple versions of the business process of the forecast query. For example, a version of the business process BP 1 Obtaining weather forecast data according to the input province/direct prefecture city name and city name of China, and the business process BP of another version 2 And obtaining English weather forecast data according to the input English foreign country name and city name, and the like. Therefore, two microservices, weather forecast and text translation, are needed. Weather forecast microservice MS 1 Four operations are provided: first operation OP 1 Obtaining supported Chinese provinces, directly-governed city names and corresponding id; second operation OP 2 Obtaining the supported foreign country names and the corresponding id; third operation OP 3 Obtaining a supported city name and an id corresponding to the supported city name according to the input Chinese province/direct prefecture city/foreign country name or id; fourth operation OP 4 And obtaining corresponding weather forecast data according to the input city name or id. Text translation microservice MS 2 Two operations are provided: first operation OP 1 Translating the input Chinese text into English text; second operation OP 2 The input English text is translated into Chinese text.
According to the above description, the functions implemented by the single microservice are very limited and cannot meet the actual business requirements, so that they need to be assembled to support complex business processes. For BP 1 It is necessary to sequentially place the MS 1 OP of 1 、OP 3 And OP 4 Assembled, and for BP 2 Then the MS needs to be sequentially combined 2 OP of 2 、MS 1 OP of 2 、OP 3 、OP 4 And MS 2 OP of 1 And (4) assembling.
For BP 1 And BP 2 Analysis was performed to identify three variation points and corresponding variants. At the change point, the MS may be invoked 2 OP of 2 Or may not invoke the operation of the microservice; at variance point two, the MS may be invoked 1 OP of 1 Possibly invoking MS as well 1 OP of 2 Or both; at the change point three, it is possible to invoke the MS 2 OP of 1 And may also notInvoking the operation of the microservice.
And according to the analysis result, performing variability modeling on the business process of the weather forecast query by using the VxBPMN4MS, and constructing a variable business process model of the weather forecast query, as shown in FIG. 3. Wherein, because MS is used 1 OP of 1 、OP 2 、OP 3 And OP 4 And MS 2 OP of 1 And OP 2 They are represented by pools, respectively. Because of BP 1 And BP 2 All use MS 1 OP of 3 And OP 4 The combination of sending and receiving tasks are used to represent calls to them and because the calls are synchronous, they are directly connected. In addition, because at the change point, the MS may be invoked 2 OP of 2 Or not calling the operation of the micro-service, so that an optional single variation point is used for representation; at variance point two, the MS may be invoked 1 OP of 1 Possibly invoking MS as well 1 OP of 2 Or both, so the mandatory multiple variation point representation is used; at the change point three, it is possible to invoke the MS 2 OP of 1 Alternatively, the operation of the microservice may not be invoked, so an optional single-item variation point representation is used.
According to BP 1 In the description, the MS is selected at the two points of variation without selecting the variant at the one point of variation 1 OP of 1 And selecting no variant at the three variation points to derive a specific business process model, as shown in FIG. 4.
According to BP 2 In the description of (1), MS is selected at the same point of variation 2 OP of 2 Selecting MS at the second change point 1 OP of 2 Selecting MS at three change points 2 OP of 1 A specific business process model is derived, as shown in fig. 5.
Second embodiment
The embodiment provides a micro service system business process variability modeling system, which includes:
the business process grouping module is used for establishing the business process of the micro service system to be developed based on the business requirements of the micro service system to be developed and dividing the business processes of different versions corresponding to the same business into the same group;
the variation point and variant identification module is used for analyzing the commonality and the difference among the business processes in the same group, identifying variation points, and determining selectable variants under each variation point and the selection relation between the variation points and the variants;
the business process variability modeling module is used for determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation point and the variation, and establishing a variable business process model according to the type of each variation point;
and the variable business process model customizing module is used for selecting a variant for each variation point in the variable business process model based on the business requirements corresponding to the business processes of all versions to generate business process models of different versions.
The micro service system business process variability modeling system in the embodiment corresponds to the micro service system business process variability modeling method in the first embodiment; the functions implemented by the modules in the micro service system business process variability modeling system correspond to the process steps of the method in the first embodiment one to one, and therefore are not described herein again.
The method comprises the steps of establishing a service flow of the micro service system to be developed based on the service requirement of the micro service system to be developed, and dividing the service flows of different versions corresponding to the same service into the same group; for the business processes in the same group, analyzing the commonality and the difference among the business processes, identifying variation points, determining selectable variants under each variation point and the selection relation between the variation points and the variants; determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation points and the variations, and establishing a variable business process model according to the type of each variation point; and selecting a variant for each variation point in the variable business process model based on the business requirements corresponding to the business processes of the versions, and generating the business process models of different versions.
Compared with the prior art, on one hand, the method can more accurately describe the business process of the micro-service system, the established business process model is easy to map to a code with actual execution semantics, the difficulty from business representation to technical realization is reduced, and the development efficiency of the micro-service system is improved; on the other hand, the method can describe the variability of the service process of the micro-service system, and the micro-service system developed according to the variable service process model has better flexibility and adaptability and can quickly respond to the continuously changing operating environment and service requirements. The method has very important significance for the development and maintenance of a large-scale software system based on the microservice architecture.
Furthermore, it should be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
It should also be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal apparatus. Without further limitation, an element defined by the phrases "comprising one of \ 8230; \8230;" does not exclude the presence of additional like elements in a process, method, article, or terminal device that comprises the element.
While the foregoing is directed to the preferred embodiment of the present invention, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the appended claims.
Claims (5)
1. A micro-service system business process variability modeling method is characterized by comprising the following steps:
establishing a service flow of the micro service system to be developed based on the service requirement of the micro service system to be developed, and dividing the service flows of different versions corresponding to the same service into the same group;
for the business processes in the same group, analyzing the commonality and the difference among the business processes, identifying variation points, determining selectable variants under each variation point and the selection relation between the variation points and the variants;
determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation points and the variations, and establishing a variable business process model according to the type of each variation point; the method comprises the following steps that a micro-service system business process variability modeling language VxBPMN4MS is adopted to realize micro-service system business process variability modeling, the micro-service system business process variability modeling language VxBPMN4MS is variability extension of BPMN, and business process variability description is added on the basis of describing micro-service system static business processes;
selecting a variant for each variation point in the variable business process model based on business requirements corresponding to business processes of various versions, and generating business process models of different versions;
the variation points represent positions where the business process variation of different versions occurs; the variant represents one implementation of the change, namely the operation of one microservice;
wherein the selection relation represents a selected number of variants associated with a variation point;
wherein the selection relationship comprises: selecting a variant, selecting one or more variants, not selecting a variant, or selecting a variant, not selecting a variant, or selecting one or more variants;
wherein, the establishing of the variable business process model according to the type of each variation point comprises the following steps:
for the same business process segment, the original BPMN element is used for representing;
for different business process segments, expressing the variant point elements of different types according to the types of the corresponding variant points, and associating the variant point elements with the variants by using an implementation relation element;
the generating of the business process models of different versions by selecting the variant for each variation point in the variable business process model based on the business requirement corresponding to the business process of each version comprises:
for the necessary list item variation point, a combination of a sending task and a receiving task is used for replacing;
for the necessary multiple variation points, one or more combination of sending task and receiving task are used for replacing;
for the selectable single variation point, if the variation under the variation point is not selected, ignoring the variation, otherwise, replacing the variation with a combination of a sending task and a receiving task;
for an optional plurality of variation points, if a variation under the variation point is not selected, it is ignored, otherwise it is replaced with a combination of one or more sending tasks and receiving tasks.
2. The method for modeling the variability of the business process of the microservice system according to claim 1, wherein the step of establishing the business process of the microservice system to be developed based on the business requirements of the microservice system to be developed, and dividing the business processes of different versions corresponding to the same business into the same group comprises:
analyzing the service requirement of the micro service system to be developed, and establishing a function requirement set of the micro service system to be developed based on the service requirement of the micro service system to be developed;
analyzing the corresponding micro-services and the operation thereof according to the function demand set, and organizing the micro-services and the operation thereof according to preset service logic to form a service flow of the micro-service system to be developed;
and analyzing the service corresponding to each service flow, grouping the service flows, and dividing the service flows of different versions corresponding to the same service into the same group.
3. The microservice system business process variability modeling method of claim 1, wherein the types of variation points include: the optional single variation point, the optional multiple variation point, the optional single variation point and the optional multiple variation point; wherein,
the option-required variation point represents that a variation under the variation point is selected; the mandatory multiple variation points represent one or more variants under the variation points selected; an optional single variation point means that the variant under the variation point is not selected or one variant under the variation point is selected; an optional plurality of variation points means that no variant under the variation point is selected or that one or more variants under the variation point are selected.
4. The microservice system business process variability modeling method of claim 1, wherein the send task represents a request to initiate a call to a microservice operation; the receive task represents receiving a response to the invoked microservice operation.
5. A micro-service system business process variability modeling system, comprising:
the business process grouping module is used for establishing the business process of the micro service system to be developed based on the business requirements of the micro service system to be developed and dividing the business processes of different versions corresponding to the same business into the same group;
the variation point and variant identification module is used for analyzing the commonality and the difference among the business processes in the same group, identifying variation points, determining selectable variants under each variation point and the selection relation between the variation points and the variants;
the business process variability modeling module is used for determining the type of each variation point based on the selectable variation under each variation point and the selection relation between the variation points and the variations, and establishing a variable business process model according to the type of each variation point; the method comprises the following steps that a micro-service system business process variability modeling language VxBPMN4MS is adopted to realize micro-service system business process variability modeling, the micro-service system business process variability modeling language VxBPMN4MS is variability extension of a BPMN, and business process variability description is added on the basis of describing a micro-service system static business process;
the variable business process model customizing module is used for selecting a variant for each variation point in the variable business process model based on business requirements corresponding to business processes of various versions, and generating business process models of different versions;
the change points represent positions where business process changes of different versions occur; the variant represents an implementation of the change, i.e. the operation of one microservice;
wherein the selection relation represents a selected number of variants associated with a variation point;
wherein the selection relationship comprises: selecting a variant, selecting one or more variants, not selecting a variant, or selecting a variant, not selecting a variant, or selecting one or more variants;
wherein, the establishing of the variable business process model according to the type of each variation point comprises the following steps:
for the same business process segment, the original BPMN element is used for representing;
for different business process segments, expressing the variant point elements of different types according to the types of the corresponding variant points, and associating the variant point elements with the variants by using an implementation relation element;
the variable business process model customizing module is specifically used for replacing a necessary option change point by a combination of a sending task and a receiving task; for the necessary multiple variation points, replacing by one or more combination of sending task and receiving task; for the selectable single variation point, if the variation under the variation point is not selected, ignoring, otherwise replacing by a combination of a sending task and a receiving task; for the optional multiple variation points, if the variation under the variation point is not selected, it is ignored, otherwise it is replaced by one or more combinations of sending tasks and receiving tasks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517942.XA CN110276592B (en) | 2019-06-14 | 2019-06-14 | Business process variability modeling method and system for micro-service system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517942.XA CN110276592B (en) | 2019-06-14 | 2019-06-14 | Business process variability modeling method and system for micro-service system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110276592A CN110276592A (en) | 2019-09-24 |
CN110276592B true CN110276592B (en) | 2022-12-06 |
Family
ID=67960826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910517942.XA Active CN110276592B (en) | 2019-06-14 | 2019-06-14 | Business process variability modeling method and system for micro-service system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276592B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489572B (en) * | 2020-11-13 | 2023-12-29 | 华为技术有限公司 | Service demand adjustment method and related equipment |
CN112667205B (en) * | 2020-12-19 | 2023-10-10 | 南方电网数字平台科技(广东)有限公司 | Development method and device for power outage arrangement micro-service and computer equipment |
CN113204331B (en) * | 2021-04-02 | 2022-04-15 | 武汉大学 | Business process model-based micro-service design method and system |
CN113420419B (en) * | 2021-05-28 | 2022-04-01 | 浙江大学 | Business process model analysis method under micro-service scene |
CN113506047A (en) * | 2021-09-09 | 2021-10-15 | 国网江苏省电力有限公司营销服务中心 | Electric power marketing business process modeling method and model capable of realizing self-adaptive reconstruction |
CN114356295B (en) * | 2021-12-24 | 2023-05-26 | 北京有竹居网络技术有限公司 | Three-dimensional model construction method and device and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593752A (en) * | 2013-11-29 | 2014-02-19 | 武汉大学 | Business process adaptability configuring method and system based on situation constraint |
CN105760991A (en) * | 2016-02-04 | 2016-07-13 | 北京慧友云商科技有限公司 | Workflow engine establishment method of changeable service flow |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229246A1 (en) * | 2007-03-16 | 2008-09-18 | Squilla John R | Digital system for plastic and cosmetic surgery |
-
2019
- 2019-06-14 CN CN201910517942.XA patent/CN110276592B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593752A (en) * | 2013-11-29 | 2014-02-19 | 武汉大学 | Business process adaptability configuring method and system based on situation constraint |
CN105760991A (en) * | 2016-02-04 | 2016-07-13 | 北京慧友云商科技有限公司 | Workflow engine establishment method of changeable service flow |
Also Published As
Publication number | Publication date |
---|---|
CN110276592A (en) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110276592B (en) | Business process variability modeling method and system for micro-service system | |
CN108667925B (en) | Method and system for seamless access of WEB application to distributed system | |
CN102325191B (en) | Fully automatic treatment method and frame without page refresh | |
CN111611357B (en) | Configuration method of man-machine conversation system, multi-round conversation configuration platform and electronic equipment | |
US20110231592A1 (en) | Mashup Infrastructure with Learning Mechanism | |
SG172622A1 (en) | System and method for building wireless applications with intelligent mapping between user interface and data components | |
US20130159062A1 (en) | Process-driven composite application architecture | |
WO2013101563A1 (en) | Cloud-edge topologies | |
CN105512162A (en) | Real-time intelligent processing framework based on storm streaming data | |
CN110764752A (en) | System and method for realizing graphical service arrangement of Restful service based on micro-service architecture | |
CN103577165A (en) | Form generation method and form generator | |
CN108920176B (en) | Transaction flow configuration method and device | |
CN103390018A (en) | Web service data modeling and searching method based on SDD (service data description) | |
CA2538561C (en) | System and method for conversion of web services applications into component based applications for devices | |
CN108108986A (en) | A kind of design method of CRM system, device and electronic equipment | |
CN114117190A (en) | Data processing method, data processing device, storage medium and electronic equipment | |
CN109857502A (en) | Realize the system architecture that the service logic method and service logic isolated with display are separated with display | |
Mahapatra et al. | Graphical spark programming in IoT mashup tools | |
CN112947900A (en) | Web application development method and device, server and development terminal | |
CN109063059A (en) | User behaviors log processing method, device and electronic equipment | |
CN112068879A (en) | Method and device for constructing client application development framework based on configuration | |
KR101414795B1 (en) | Instant Web App composing device and method | |
Sefid‐Dashti et al. | A reference architecture for mobile SOA | |
US20220100478A1 (en) | Catalog creation assistance system, catalog creation assistance method, and program | |
CN104053135B (en) | A kind of method and device for realizing unstructured supplementary data traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |