Design and Implementation of the micro-kernel Process Engine (IVR navigation)-General idea

Source: Internet
Author: User
Tags jbpm

Development Background

Our company is mainly engaged in the development of enterprise speech products, such as scheduling systems, command systems, teleconference systems, and call center systems. These systems share a common feature, that is, they involve calls, playing, sending and receiving buttons, and venue operations. Our business products are built on our softswitch system. The application servers of the softswitch system provide these services externally.

Problems

We found a problem during the development process. Each product will perform many repeated development on this interface, especially in IVR processing.

IVRInteractive Voice Response (Interactive Voice Response) can improve the quality of call service and save costs. IVR is a powerful automatic telephone service system.

Because our system is re-structured and the softswitch API interface is being developed, we try to solve this problem.

In order to facilitate upper-layer calls to underlying interfaces and reduce repeated development, the product can be rapidly changed to meet user needs, we propose the concept of transaction flow. That is, the upper-Layer Program sets a transaction stream. For example, when a call is initiated to the user 9092, the user is voiced after the user responds, and the user enters the password and the password verification is successfully added to the venue. The Upper Layer Program sets such a transaction stream and sends it to the lower layer for processing. After the lower-level processing is complete, the system replies to the processing result.

The concept of transaction stream is not implemented at the end. First, we have insufficient analysis on the Exception Processing of the transaction stream; second, we adopt the concept of transaction stream extensibility, And the maintainability is not very good.

Later, we introduced the concept of SOA on the basis of the transaction flow, which encapsulates the underlying interface as a series of loosely coupled services and implements the process editing function through service orchestration at the upper layer. However, it is very difficult to implement SOA. First, SOA has no large-scale application, less documentation, less experience, and more implementation risks. Second, it requires tools and investment to implement SOA. In this case, we would rather repeat development.

In the end, the process editing function is not complete, but we still implement a simple process editing in the API. This process editing is implemented by hard coding, it is quite different from our wishes.

New Ideas

Later, I came to the introduction of a platform software company, which is an enterprise application platform. A lot of enterprise applications are workflow. Their platform is integrated with an open-source workflow engine: jbpm. The first time I came into contact with jbpm, I felt that many ideas could be used for reference. Later, I found several articles about using the microkernel Process Engine when I searched for information on the Internet:

Demystifying jbpm Process Engine kernel design ideas and architecture

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.