Managing and optimizing workflows among computer applications
Abstract
Problem to be solved.To provide a middleware system, a method, and a program product for managing a workflow between computer applications. A middleware system includes a common configuration unit and a workflow export unit. The common configuration unit extracts the mapping between (i) the macro workflow component of the middleware system and the micro workflow component of the first computer application, and (ii) the first computer application and the first. Execute a macro workflow that organizes the micro workflow of two computer applications. The workflow export unit produces output that allows the second computer application to run the workflow that corresponds to the workflow of the first computer application. [Selection diagram] Fig. 2

Term
Projected expiry 19 July 2031.
- Priority
- Filed
- Published
- Today
- Projected expiry
21 claims: 5 independent, 16 dependent
- 1コンピュータ・アプリケーション間でワークフローを管理するための方法であって、 ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すステップであって、前記マクロ・ワークフローは、前記第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、取り出すステップと、 前記ミドルウェア・システムの共通構成が、前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーション上で前記マクロ・ワークフローを実行できるようにする、出力を生成するステップと、を含む、方法。
- 2前記出力を生成するステップが、 前記マッピングを参照するステップと、 前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素に対応する前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素を取り出すステップと、 前記出力を生成するために前記第1のコンピュータ・アプリケーションの前記取り出されたマイクロ・ワークフロー構成要素を使用するステップと、を含む、請求項1に記載の方法。
- 3前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素および前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素が、ビジネス・オブジェクトおよび機能呼び出しからなるグループから選択される、前記請求項のいずれか一項に記載の方法。
- 4前記出力が、標準言語ファイル、独自所有言語ファイル、テキスト・ファイル、およびAPI呼び出しを含むグループから選択される、請求項1に記載の方法。
- 5前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーションあるいはその両方がミドルウェア・システムである、前記請求項のいずれか一項に記載の方法。
- 6前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間の既存の接続をテストするステップ、または、前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間に新規の接続を作成するステップをさらに含み、前記既存または新規の接続は、前記生成された出力を前記ミドルウェア・システムが取り出すかまたは適用できるようにする、請求項1に記載の方法。
- 7前記マクロ・ワークフローまたは前記マイクロ・ワークフローを前記第1または第2のコンピュータ・アプリケーション上で実行するステップをさらに含む、請求項1に記載の方法。
- 8前記第1または第2のコンピュータ・アプリケーションの前記アプリケーション・ソフトウェア環境の状況を取り出すステップと、オプションで、 前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの実行の前記状況を取得するステップと、をさらに含む、請求項7に記載の方法。
- 9前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの前記実行の前記状況を取得するステップが、 前記ミドルウェア・システムの共通監視フォルダから前記出力を取り出すステップと、 前記ミドルウェア・システムの前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの前記構成要素に関するランタイム情報を生成するために前記出力を解析するステップと、を含む、請求項8に記載の方法。
- 10前記生成されたランタイム情報を表示するステップをさらに含む、請求項9に記載の方法。
- 11コンピュータ・アプリケーション間でワークフローを管理するためのミドルウェア・システムであって、 前記ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すため、および前記マクロ・ワークフローを実行するための、共通構成ユニットであって、前記マクロ・ワークフローは、前記第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、共通構成ユニットと、 前記共通構成が前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーション上で前記マクロ・ワークフローを実行できるようにする出力を生成するための、ワークフロー・エクスポート・ユニットと、を備える、システム。
- 12前記出力を生成することが、前記マッピングを参照すること、前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素に対応する前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素を取り出すこと、および、前記出力を生成するために前記第1のコンピュータ・アプリケーションの前記取り出されたマイクロ・ワークフロー構成要素を使用することによって実行される、請求項11に記載のシステム。
- 13前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素および前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素が、ビジネス・オブジェクトおよび機能呼び出しからなるグループから選択される、請求項11に記載のシステム。
- 14前記出力が、標準言語ファイル、独自所有言語ファイル、テキスト・ファイル、およびAPI呼び出しからなるグループから選択される、請求項11に記載のシステム。
- 15前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーションあるいはその両方がミドルウェア・コンピュータ・アプリケーションである、請求項11に記載のシステム。
- 16前記共通構成ユニットが、前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間の既存の接続をテストするため、あるいは、前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間に新規の接続を作成するための、サービス・マネージャ構成要素を備え、前記既存または新規の接続は、前記生成された出力を前記ミドルウェア・システムが取り出すかまたは適用できるようにするものである、請求項11に記載のシステム。
- 17前記第1または第2のコンピュータ・アプリケーション上で前記マクロ・ワークフローを実行するための実行ユニットをさらに備え、前記実行ユニットは、オプションで、前記第1または第2のコンピュータ・アプリケーションの前記アプリケーション・ソフトウェア環境の前記状況を取り出すためのエンジン状況ユニットを備える、請求項11に記載のシステム。
- 18前記マクロ・ワークフローの前記実行を監視するための監視ユニットをさらに備え、前記監視ユニットは、前記マクロ・ワークフローの前記実行の前記状況を取得するための警報エンジンを備える、請求項17に記載のシステム。
- 19前記マクロ・ワークフローの前記実行の前記状況を取得することが、前記警報エンジンの共通監視フォルダから前記出力を取り出すこと、および、前記ミドルウェア・システムの前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの前記構成要素に関するランタイム情報を生成するために前記出力を解析することによって実行される、請求項18に記載のシステム。
- 20前記警報エンジンが前記生成されたランタイム情報をさらに表示する、請求項19に記載のシステム。
- 21コンピュータ・システム内にロードされ、実行された場合、請求項1から10のいずれか一項に記載の方法のすべてのステップを実行するためのコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
Independent claims21
56 paragraphs, as filed
The present invention relates to application development and integration platforms. More specifically, the present invention relates to methods and systems for managing workflows between middleware and computer applications.
A business or organizational process is a collection of steps or workflows that are carried out in a defined manner and lead to the goals of the organization. The steps of the organizational process can be performed by the application server system or by the user. To support an organizational process, 1) Define-Allow an organizational analyst or developer to define or modify an organizational process workflow or step, 2) Run-Developer or system analyst a workflow or organization Allowing the execution of an application process engine or system of a process step to be initiated or started, 3) Monitoring-providing a view of which processes and steps were performed and their performance, 3) There are two types of components.
Given the service-oriented architecture (SOA) paradigm of application development, most application systems (Rhapsody, FileNet, Siebel, Curam, etc.) define, execute, and define workflows created within these application systems. In some cases, it provides a function for monitoring. Workflows that are specific to a particular application system or component of an application system are called microworkflows. In addition, business process management (BPM) software, such as IBM WebSphere Process Server or Oracle Business Process Management, enables the organization of steps or workflows to various application systems via web services. This organization allows processing and data integration between various application systems. Workflows that span multiple application systems are called macro workflows.
A typical SOA application runs both macro and micro workflows to achieve a particular function or goal. Usually, this definition of the workflow to support those of the SOA environment, execution, and there is monitoring, is performed using a variety of application server systems and middleware software.
A single middleware platform that can now be used to define and choreograph workflows at both macro and micro levels and export these workflows to third-party application server process engines. There is no. For example, existing application systems need to define definitions on multiple tools provided by that particular vendor. Similarly, there are no run-time tools that monitor workflow steps across various application servers.
Limitations arise from the inability to have a single platform perform the definition, execution, and monitoring of workflows across various application systems. Developers must master multiple workflow tools and create and maintain these workflow definitions in various tools. To run, you need to enable multiple workflow engines and perform steps for their application server environment. To monitor current systems, analysts or developers need to use a variety of application server tools to drive, debug, and monitor the performance of workflows and individual steps within workflows.
U.S. Patent Publication No. 2006008524 discloses methods for managing teams and tasks. In addition to managing teams and tasks, team space is used to enable partners and independent software vendors to collaborate on building industry-specific solutions. In this regard, team collaboration tools can provide in-house and inter-company solutions that allow company employees to interact with each other.
U.S. Patent Publication No. 20070143736 discloses a graphical workflow editing system that encloses common workflow tasks in independent components that are visually represented in the workflow diagram at design time. This is achieved through a system-provided API that allows each tool to be independent of all other tools. The platform easily accepts components provided by third parties and / or consumers without breaking a common code base. This allows consumers to have one platform perform the capture / acceptance of the various types of information needed for operation, the definition of their business processes, and the delivery of information to their optimal recipient destinations. Can be done.
<p><patcit num="1"><text>U.S. Patent Publication No. 2006008524</text></patcit><patcit num="2"><text>U.S. Patent Publication No. 20070143736</text></patcit></p>
<p> Therefore, there is a need for a single design platform or single middleware system that provides a central position for analysts or developers to create and maintain definitions for both macro and micro workflows.</p>
<p> According to one aspect of the invention, the middleware system for managing workflows between computer applications includes a common configuration unit and a workflow export unit.</p><p> The common configuration unit retrieves the mapping between the workflow components of the macro workflow of the middleware system and the micro workflow components of the first computer application. The common configuration runs a macro workflow that organizes the micro-workflow of the first computer application and the second computer application. The workflow export unit produces output that allows the common configuration unit to perform macro workflows that organize micro-workflows on a first or second computer application.</p><p> According to another aspect of the invention, the computer implementation method of managing workflows between computer applications is between the macro workflow components of the middleware system and the micro workflow components of the first computer application. By retrieving the mapping of, the macro workflow is capable of organizing the micro-workflow of the first computer application and the second computer application, retrieving, and common to middleware systems. The configuration involves producing output that allows macro workflows to organize micro-workflows on a first or second computer application.</p><p> Yet another aspect of the invention provides a computer program product for managing workflows between computer applications. Computer program products include computer program instructions stored on computer-readable storage media. When the instruction is executed, the computer will perform the steps of the method.</p><p> From the first aspect, the present invention provides a middleware system for managing workflows between computer applications, which is a component of the macro workflow of the middleware system and a first computer. A common configuration unit for retrieving mappings between application micro-workflow components and for performing macro workflows, macro workflows are the first computer application and the second computer. Generates a common configuration unit that allows you to organize a micro-workflow of your application and output that allows the common configuration to run macro workflows on a first or second computer application. It has a workflow export unit for this purpose.</p><p> Preferably, the present invention is capable of producing output, referencing a mapping, retrieving a micro-workflow component of a first computer application that corresponds to a macro workflow component of a middleware system, and Provides a system that is run by using the retrieved micro-workflow components of a first computer application to produce output.</p><p> Preferably, the present invention provides a system in which the micro-workflow components of a first computer application and the macro workflow components of a middleware system are selected from a group consisting of business objects and function calls.</p><p> Preferably, the invention provides a system in which the output is selected from a group consisting of standard language files, proprietary language files, text files, and API calls.</p><p> Preferably, the present invention provides a system in which the first computer application and / or the second computer application are middleware computer applications.</p><p> Preferably, the present invention allows the common configuration unit to test an existing connection between the middleware system and a first or second computer application, or to test the middleware system and a first or second computer. · Provides a service manager component to create a new connection to and from the application, and existing or new connections allow the middleware system to retrieve or apply the generated output. , Provide the system.</p><p> Preferably, the present invention provides a system further comprising an execution unit for executing a macro workflow on a first or second computer application, which is optionally a first or second execution unit. It has an engine status unit for retrieving the status of the application software environment of a computer application.</p><p> Preferably, the present invention provides a system further comprising a monitoring unit for monitoring the execution of the macro workflow, the monitoring unit including an alarm engine for acquiring the status of the execution of the macro workflow.</p><p> Preferably, the present invention captures the execution status of the macro workflow, retrieves the output from the common monitoring folder of the alarm engine, and is a component of the micro workflow corresponding to the macro workflow of the middleware system. Provides a system that is executed by parsing the output to generate run-time information about.</p><p> Preferably, the present invention further provides a system in which the alarm engine displays the generated run-time information.</p><p> In other aspects, the invention provides a way to manage workflows between computer applications, which are the macro workflow components of a middleware system and the micro-workflow of a first computer application. Retrieving the mapping to and from the components, the macro workflow can organize the micro-workflow of the first computer application and the second computer application, retrieving, and retrieving. A common configuration of middleware systems involves producing output that allows macro workflows to run on a first or second computer application.</p><p> Preferably, the present invention is capable of producing output, referencing a mapping, retrieving a micro-workflow component of a first computer application that corresponds to a macro workflow component of a middleware system, and Provides a method, including using the retrieved micro-workflow components of the first computer application to generate output.</p><p> Preferably, the present invention provides a method in which the micro-workflow component of a first computer application and the macro workflow component of a middleware system are selected from a group consisting of business objects and function calls.</p><p> Preferably, the invention provides a method in which the output is selected from a group consisting of standard language files, proprietary language files, text files, and API calls.</p><p> Preferably, the present invention provides a method in which a first computer application and / or a second computer application are middleware systems.</p><p> Preferably, the invention tests an existing connection between the middleware system and a first or second computer application, or between the middleware system and a first or second computer application. It provides a method that further includes creating a new connection to the existing or new connection that allows the middleware system to retrieve or apply the generated output.</p><p> Preferably, the invention provides a method further comprising performing a macro workflow or a micro workflow on a first or second computer application.</p><p> Preferably, the present invention retrieves the status of the application software environment of the first or second computer application and, optionally, the status of execution of the micro workflow corresponding to the macro workflow. Further including, methods are provided.</p><p> Preferably, the present invention corresponds to the acquisition of the execution status of the micro workflow corresponding to the macro workflow, the retrieval of the output from the common monitoring folder of the middleware system, and the macro workflow of the middleware system. Provides methods, including analyzing the output to generate run-time information about the components of a micro-workflow.</p><p> Preferably, the invention provides a method further comprising displaying the generated run-time information.</p><p> From another aspect, the present invention provides a computer program product for managing a workflow between computer applications, the computer program product being a component of a macro workflow of a middleware system and a first. A step in retrieving the mapping between the micro-workout components of a computer application in a computer application, the macro workflow can organize the micro-workflows of the first computer application and the second computer application. To perform the steps to retrieve and the steps to generate output that allow the common configuration of the middleware system to run macro workflows on the first or second computer application. Including computer program instructions, the computer program instructions are stored on a computer-readable storage medium.</p><p> Preferably, the present invention is capable of producing output, referencing a mapping, retrieving a micro-workflow component of a first computer application that corresponds to a macro workflow component of a middleware system, and Provided is the computer program product according to claim, which is executed by using the retrieved workflow component of the first computer application to generate output.</p><p> Preferably, the present invention is a step in which the computer program instruction tests an existing connection between the middleware system and a first or second computer application, or a first or second step with the middleware system. Provides a computer program product that further performs the steps of creating a new connection with a computer application, allowing the middleware system to retrieve or apply the generated output to the existing or new connection. Is what you want to do.</p><p> Preferably, the invention provides a computer program product in which the computer program instruction further performs a step of performing a macro workflow on a first or second computer application.</p><p> Preferably, the present invention includes a step in which the computer program instruction retrieves the status of the application software environment of the first or second computer application, and optionally a step of capturing the status of macro workflow execution. Provide computer program products that further execute.</p><p> Next, a preferred embodiment of the invention will be described as a mere example with reference to the accompanying drawings.</p>
<figref num="1">FIG. 6 is a block diagram showing a middleware system for managing workflows between computer applications according to a preferred embodiment of the present invention.</figref><figref num="2">FIG. 6 is a block diagram showing details of a middleware system according to a preferred embodiment of the present invention.</figref><figref num="3">It is a block diagram which shows the common constituent unit of the middleware system according to the preferable embodiment of this invention.</figref><figref num="4">An example of how a workflow export unit of a middleware system interacts with a computer application and uses information stored in a database to produce output, according to a preferred embodiment of the invention. It is a block diagram which shows.</figref><figref num="5">It is a block diagram which shows the execution unit of the middleware system according to the preferable embodiment of this invention.</figref><figref num="6">It is a block diagram which shows the monitoring unit of the middleware system according to the preferable embodiment of this invention.</figref><figref num="7">It is a flow chart which shows the computer implementation method for managing the workflow between computer applications according to the preferable embodiment of this invention.</figref><figref num="8">FIG. 6 is a block diagram illustrating an exemplary computing system in which preferred embodiments of the present invention can be implemented internally.</figref>
It will be readily appreciated that embodiments of the invention, as described and illustrated as a whole in the drawings herein, can be arranged and designed in a wide variety of different configurations in addition to the preferred embodiments described. Therefore, the following detailed description of embodiments of the invention shown in the drawings is not intended to limit the scope of the claimed invention and is merely representative of selected preferred embodiments of the invention. Is. The following description is intended as an example only and presents some selected preferred embodiments of the invention as claimed herein.
According to one embodiment of the present invention, a middleware system for managing workflows between computer applications is provided. Referring to FIG. 1, the block diagram shows a middleware system 100 for managing workflows among computer applications 200.
A single middleware system 100 provides a central position for users to create and maintain definitions for both macro and micro workflows. As mentioned above, a micro workflow is a step or sequence of steps that will be performed by the computer application 200, and a macro workflow will perform the connection between the middleware system 100 and the computer application 200. A step or sequence of steps to enable. An example of a micro workflow could be sending an email, an example of a macro workflow could be generating a report, sending an email using one computer application, another. It can include retrieving email using a computer application and printing the content of the email using a different computer application.
Workflows can be exported with the appropriate workflow components such as business objects or function calls and thus made available to the middleware server. The computer application 200 can be, for example, a third party application such as SAP, Siebel, Oracle, or any other middleware system.
The middleware system 100 can dynamically change workflow components and thus organize micro-workflow processes. This provides functionality from the middleware system macro workflow to easily modify which micro workflow and application system is used by the macro flow middleware system. As an example, for a file management system, content management can be swapped with FileNet. For CRM systems, Siebel can be swapped with SAP. The rules engine can be included as part of the middleware system 100 to enable intelligent execution of rules to select the appropriate micro-workflow application system. External rules or various computer applications for setting policies, changing macro or micro workflows to different runtimes, and making dynamic changes to the entire macro workflow using XML or other workflow languages. You can use 200 rules. The capabilities of the middleware system 100 for exporting workflows and the specific application server software environment targeted by the various computer application 200 are described in detail below.
The middleware system 100 includes a common configuration unit and a workflow export unit. With reference to FIG. 2, the block diagram shows the details of the middleware system 100 for including the common configuration unit 120 and the workflow export unit 130.
After the system 100 receives a request from the first computer application 201 to execute workflow 210, workflow export unit 130 enters workflow components 211-1, 211-2, ... , 211-n to determine which one is used. This decision can be made by referring to workflow component 211 that can be stored in database 300. In addition, a user or other external input can be provided as to how the workflow 210 is configured. The common component unit 120 is the macro workflow 600 component 161 of the middleware system 100 and the components 211-1, 211-, ..., 211-n of the micro workflow 210 of the first computer application 201. Take out the mapping 301 between and. As mentioned above, an example of a workflow component can be a business object or a function call. The macro workflow 600 is a micro of the first computer application 201 and any other computer application that can be connected to the middleware system 100, such as the second computer application 202 shown in FIG. It is possible to organize the workflow. When multiple computer applications are connected, System 100 can also receive requests to perform workflows from these other computer applications.
A business object is a code structure that corresponds to something in an actual organization or business. It contains the logic about the thing, as well as the data it needs. A business object can also include metadata, that is, information that describes, composes, contains, or is associated with, or all of them. Examples of business objects can be customers, customer contact information, customer service personnel, or business phone numbers. A function call is a call to code or a piece of code that performs a particular task. An example of a function call can be a call to send an email or a call to send a file to a printer.
The middleware system 100 and the first computer application 201 can support different application types, i.e., each application retrieves or recognizes input in a different language or format, or outputs. Can be generated, or both. In addition, if multiple computer applications, such as the second computer application 202, are connected to the middleware system and / or the first computer application, then the second computer application 202 is the middleware. It is also possible to support different application types from System 100 and / or first computer application 201. Therefore, a mapping is performed between the workflow components of one computer application or middleware system and the workflow components of another computer application. This mapping can be a 1: 1, 1: N, or N: 1 mapping. Examples of mapping are shown in the table below.<tables num="1"><img file="JP2013536498A_D0001.tif" /></tables>
In Table 1, the workflow components of the middleware server macro workflow are mapped to the respective workflow components of the first application. The business object, CSR, which is the workflow component of the middleware server, is mapped to the business object, service person, which is the workflow component of the first application. Other workflow components of the middleware server, feature calls, emails, can be either a single workflow component of the first application or another application server, or some workflow components. Mapped to possible steps 1-4.
Retrieving the mapping can be done by looking at the table, searching the software library, using a state machine, and so on. In FIG. 2, the mapping 301 can be stored in the database 300 connected to the middleware system 100. Workflows 210, 220 used by various computer applications, as well as workflow components 211-1, 211-2, ..., 211-n, 220-1, 220-2, ..., 220-n , It is also possible to store in this database 300. Existing techniques can be used to import new third-party application workflows and mappings between these workflows.
Referring to FIG. 3, common configuration unit 120 includes service manager unit 121. Service manager unit 121 tests the current connection 401 between the middleware system 100 and computer applications 201, 202, or creates a new connection 402 to computer applications 201, 202. The service manager unit 121 provides support for the connector unit to the servers of computer applications 201 and 202. There are various handlers associated with the connector. Different connectors are associated with different backend sources. The connector-to-connector relationship is a 1: N relationship. N connectors can be connected to external connectors. The handler can be a custom or data handler. The connector initializes and calls the back-end source and retrieves output 500 produced by workflow export unit 130 in middleware system 100. Existing or new connections 401, 402 allow the middleware system 100 to retrieve or apply the generated output 500. These connections can use any message protocol, such as TCP / IP, HTTP, SOAP.
The output 500 generated by the workflow export unit 130 is that the common configuration 120 of the middleware system 100 may include various micro workflow steps 601-1, 601-2, ..., 601-n. Allows you to run the possible macro workflow 600. These micro-workflow steps 601-1, 601-2, ..., 601-n are based on the mapped component 161 of macro workflow 600 (from Figure 2). After the mapping 301 is retrieved, workflow export unit 130 is either macro workflow component 161 (from Figure 2) of middleware server 100 and the first, second, or Nth computer application. Search or reference the mapping 301 with the workflow component. The workflow export unit 130 then retrieves the micro-workflow components from the mapping 301 that correspond to the micro-workflow in the first, second, or Nth application server. Output 500 can be a standard language file such as XML, a proprietary language file, a text file, or an API call. When this is sent to the application server software environment of the second computer application 202, the second computer application 202 has multiple workflow steps 600-1, 600-2, ..., 600-n. It is possible to execute the workflow 600 corresponding to. The workflow export unit 130 produces outputs 700, 800 for the first and second applications 201, 202, respectively, which allows the middleware system 100 to execute the micro-workflows of these applications 201, 202. It is also possible.
FIG. 4 shows an example of how the workflow export unit 130 interacts with the first computer application 201 and uses the information stored in the database 300 to generate output 500. If the workflow component x211 which is a component of the workflow 210 of the first computer application 201 is desirable in generating the output 500, the workflow export unit 130 is the macro workflow component corresponding to the workflow component x211. Search for mapping 301 with 161. The workflow export unit 130 then extracts the workflow component y161 from the mapping 301 and uses the workflow component y161 to generate output 500.
The following is an example of the output configured by the workflow export unit.<maths num="1"><img file="JP2013536498A_D0002.tif" /></maths>
Example 1 and Example 2 are examples of output in XML format. Example 1 shows a more general example of a workflow component, and Example 2 shows a more specific example. Example 3 is an example of pseudo-code for the email sending components shown in Table 1. The actual output for Example 3 is in a format recognizable by the first application.
In addition, database 300 can also include workflow export status, including workflow dates / timestamps and the computer application to which the workflow was distributed. The workflow export status can be retrieved by other units that support the middleware system 100.
With reference to FIG. 5, the middleware system 100 can include a macro workflow 600, or an execution unit 140 that executes the corresponding workflow on the first or second computer applications 201, 202. Referring to Example 3 above, if the generated output 500 is the code corresponding to the pseudo code above, the middleware system 100 will execute the code on the first application (see Table 1). Therefore, the email sending workflow (or the email sending component of the workflow) is executed.
The execution unit 140 of the middleware system 100 collaborates with the execution units 250 and 260 of the computer applications 201 and 202, that is, the execution units 250 and 260 of the computer applications 201 and 202 are the execution units 250 of the computer application. It has a function to notify the middleware system 100 whether the 260 is operating, and the execution unit 140 of the middleware system 100 tests the availability of the application server environment of the computer applications 201 and 202. Has the function of.
Execution unit 140 of the middleware system 100 can include engine status unit 141, which retrieves application software environment status information 302, 303 from execution units 250, 260 for computer applications 201, 202, respectively. Execution unit status information 302, 303 for computer applications 201, 202 can be stored in database 300. If you need to launch an execution unit for a particular computer application, you can also store commands in database 300 to run it.
Referring to FIG. 6, the middleware system 100 has a central monitoring unit 150 to monitor workflows that can be performed by both the middleware system 100 and computer applications 201, 202 at both macro and micro levels. It can also be included. The monitoring unit 150 can dramatically reduce time and expense in the implementation of the monitoring process and the ongoing maintenance of the implementation.
One of these implementation methods for this monitoring unit is the "watchdog" method. The monitoring unit 150 includes an alarm engine 151 that obtains information about the latest status of a particular workflow step. In the alarm engine 151, for example, the execution unit 140 of the middleware system 100 performs the workflow 600 to identify a specific workflow component or step to be executed and to indicate the current execution status of the workflow 600. It acts as a "watcher" that runs while it runs. Monitoring techniques such as checkpoint and grid computing can also be implemented by monitoring unit 150. The common monitoring folder 152 can be included as part of the alarm engine 151. This folder 152 can be used to store or access output 500. To get the execution status of the micro workflow corresponding to the macro workflow, take the output 500 from the folder 152, analyze this output, and execute the micro workflow 601-1, 601-2, ..., it can be done by generating the workflow information related to the components of 601-n.
Embodiments of the invention can use open standards such as the BPEL4WS and WS Choreography standards, or incorporate the use of open standards through third party applications.
Other embodiments of the present invention provide computer implementation methods for managing workflows between computer applications. With reference to FIG. 7, the flow diagram shows exemplary method 2000.
Method 2000 is initiated in block 2005 by retrieving the mapping between the macro workflow component of the middleware system and the micro workflow component of the first computer application. Mappings between the macro workflow components of the middleware system and the micro workflow components of the middleware system or other computer applications that can be connected to the first computer application can also be retrieved. Macro workflows can organize micro-workflows for first and other computer applications that can be connected to a middleware system. In block 2010, the common configuration of the middleware system produces output that allows macro workflows to run on the first or second computer application.
Details of the steps that generate the output are shown as substeps in blocks 2015, 2020, and 2025. This substep, in Block 2015, maps the mapping between the macro workflow components of a middleware system and the micro workflow components of the first, second, or N or all of those computer applications. See, in block 2020, retrieve the micro-workflow components of the first, second, or N or all of those computer applications that correspond to the macro workflow components of the middleware system, as well as block 2025. Includes using the retrieved micro-workflow components of the first, second, or N or all of those computer applications to produce output.
In block 2030, the method is to test the existing connection between the middleware system and the first, second, or N or all of those computer applications, or the middleware server and the first, second. , Or the step of creating a new connection to the Nth or all of those computer applications can be further included. Existing or new connections allow the middleware system to retrieve or apply the generated output.
At block 2035, the method can also include the step of performing the corresponding workflow of the first, second, or N or all of those computer applications.
Block 2040 retrieves the status of the application software environment for one or more computer applications.
At block 2045, the method can further include the step of getting the execution status of the micro workflow corresponding to the macro workflow of the first, second, or Nth application. Details of this step are shown as substeps within blocks 2050 and 2055. In block 2050, this substep retrieves output from the middleware system's common monitoring folder, and in block 2055, generates run-time information about the micro-workflow components that correspond to the middleware system's macro workflow. Includes analyzing the output for. At block 2060, the method can also include a step of displaying the generated runtime information.
With reference to FIG. 8, the block diagram shows an exemplary computing system 3000 that can include a middleware system for managing workflows between computer applications 3280. Computing system 3000 includes computer 3010. As you can see, the Computing System 3000 includes a variety of known computing devices, including but not limited to desktop computers, laptops, servers, portable handheld devices, or other electronic devices. Can include. In order to facilitate this consideration, the present embodiment of the present invention will be considered in the context of the computer 3010.
The computer 3010 is a processor 3020, a memory 3040 coupled to a memory controller 3060, and one or more input and / or output (I / O) devices communicatively coupled via a local input / output controller 3120. It appears to include the 3080, 3100 (or peripherals), as well as the display controller 3140 coupled to the display 3160. In an exemplary embodiment, the system 3000 may further include a network interface 3180 for coupling to the network 3200. Network 3200 sends and receives data between computer 3010 and an external system. In an exemplary embodiment, a conventional keyboard 3220 and mouse 3240 can be coupled to an input / output controller 3120.
Memory 3040 stores instructions that can be executed by processor 3020. The instructions stored in memory 3040 can contain one or more separate programs, each of which contains an ordered list of executable instructions for performing logical functions. In the example shown in Figure 8, the instructions stored in memory 3040 control the execution of other computer programs, scheduling, input / output control, file and data management, memory management, and communication control and related services. Includes Operating System (OS) 3260, suitable for providing.
Processor 3020 controls the execution of instructions stored in memory 3040, the communication of data to and from memory 3040, and the overall control of computer 3010 operations related to the instructions. Configured to run. The processor 3020 is a special order or generally available processor, a central processing unit (CPU), an auxiliary processor in several processors associated with the computer 3010, and a semiconductor-based micro (in the form of a microchip or chip set). It can be a processor, a microprocessor, or generally any device for executing instructions.
Processor 3020 executes middleware system instructions to manage workflows between computer applications 3280. In various embodiments, the system 3280 runs from a portable storage device (eg, CD-ROM, diskette, flash drive, etc.) (not shown) stored in memory 3040 (as shown), or , Run from a remote location such as a central server (not shown), or all of them.
According to yet another embodiment of the invention, computer program products are provided to manage workflows between computer applications. Computer program products include computer program instructions stored on a computer-readable storage medium. When the instruction is executed, the computer will perform the steps of the method for managing workflows between computer applications, which are described above.
As will be appreciated by those skilled in the art, embodiments of the present invention can be embodied as systems or methods (as described above) or as computer program products. Accordingly, embodiments of the present invention are entirely hardware embodiments, completely software embodiments (including firmware, resident software, microcode, etc.), or, as a whole, "circuits", "modules" herein. , Or can take the form of an embodiment that combines aspects of software and hardware, sometimes referred to as a "system." Further, embodiments of the present invention can take the form of computer program products embodied in one or more computer readable media on which computer readable program code is embodied. ..
A combination of one or more computer-readable media is available. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or devices, or any suitable combination thereof. .. More specific examples (non-exhaustive lists) of computer-readable storage media are electrical connections with one or more wires, portable computer diskettes, hard disks, random access memory (RAM), and reads. Dedicated memory (ROM), erasable programmable read-only memory (EPROM or flash memory), fiber optics, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any of these. Including combinations. The computer-readable storage medium can be a tangible medium that can contain or store programs for use with or with an instruction execution system, device, or device.
The computer-readable signal medium can include a propagated data signal in which the computer-readable program code is embodied, eg, in baseband or as part of a carrier wave. Such propagating signals can take various forms, including but not limited to electromagnetic, light, or suitable combinations thereof. A computer-readable signal medium is not a computer-readable storage medium, but a computer-readable, computer-readable, capable of communicating, propagating, or transporting programs for use by or with an instruction execution system, device, or device. It can be a medium.
Program code embodied on computer-readable media is transmitted using suitable media, including but not limited to wireless, wired, fiber optic cables, RF, etc., or any suitable combination thereof. be able to.
Computer program code for performing operations according to aspects of the invention can be object-oriented programming languages such as Java, Smalltalk, C ++, and traditional procedural programming languages such as the "C" programming language or similar programming languages. It can be created in one programming language, including, or two or more programming languages. The program code is entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on the remote computer, or completely. It can be run on a remote computer or server. In the latter scenario, the remote computer can connect to the user's computer over any type of network, including local area networks (LANs) or wide area networks (WANs), or You can make connections to external computers (eg, over the Internet using an Internet service provider).
It will be appreciated that each block of the flow diagram and / or block diagram, and the combination of blocks within the flow diagram and / or block diagram, can be implemented by computer program instructions. As a result, these computer program instructions can be provided to the processor of a general purpose computer, a purpose-built computer, or other programmable data processing device to manufacture a machine, resulting in a computer or other programmable data. Instructions executed through the processor of the processing device will create means for performing the specified function / operation within the block of the flow diagram and / or block diagram.
It is also possible to store these computer program instructions in a computer-readable medium that can command a computer, other programmable data processor, or other device to function in a particular manner. As a result, the instructions stored on the computer-readable medium produce a product containing instructions that perform the specified function / operation within the block diagram and / or block diagram.
A computer, other programmable data processor, or a computer to perform a series of operating steps on a computer, other programmable device, or other device to generate a computer program instruction to generate a computer implementation process. It can also be loaded onto other devices, so that instructions executed on a computer or other programmable device perform the functions / operations specified within the block diagram and / or block diagram. Will provide the process of.
18 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2002203086A | Cites | Japan | Search report |
| JP2004206694A | Cites | Japan | Search report |
| JP2006515942A | Cites | Japan | Search report |
| JP2008112393A | Cites | Japan | Examiner |
| JP2009271660A | Cites | Japan | Examiner |
12 members in 6 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 12839841 | United States of America | – | |
| 83984110 | United States of America | A | |
| 2011062358 | European Patent Office (EPO) | W |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| US2012023508A1 | United States of America | A1 | |
| WO2012010599A1 | World Intellectual Property Organization (WIPO) | A1 | |
| GB201301551D0 | United Kingdom | D0 | |
| CN103003830A | China | A | |
| GB2496072A | United Kingdom | A | |
| DE112011102394T5 | Germany | T5 | |
| US8458729B2 | United States of America | B2 | |
| US2013227590A1 | United States of America | A1 | |
| JP2013536498AThis record | Japan | A | |
| US8943518B2 | United States of America | B2 | |
| JP5756520B2 | Japan | B2 | |
| CN103003830B | China | B |
14 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A821A521 | A521 | |
| Notification of resignation of power of sub attorneyJAPANESE INTERMEDIATE CODE: A7434RD14 | RD14 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A821A521 | A521 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A821A521 | A521 | |
| Notification of acceptance of power of sub attorneyJAPANESE INTERMEDIATE CODE: A7432RD12 | RD12 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 2013536498
- Application
- 2013520128
Titles2
- Japanese
- コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム
- English
- Methods, systems, and computer programs for managing and optimizing workflows between computer applications
Classification
- CPC, 4
- G06Q10/06
- G06F9/46
- G06Q10/103
- G06Q10/0633
- IPC, 2
- G06Q10 06
- H04M1 725
Designated states4
- Regional, 4
- Zimbabwe
- Turkmenistan
- Türkiye
- Togo