[go: up one dir, main page]

KR20070083786A - Business process management system and method - Google Patents

Business process management system and method Download PDF

Info

Publication number
KR20070083786A
KR20070083786A KR1020077009332A KR20077009332A KR20070083786A KR 20070083786 A KR20070083786 A KR 20070083786A KR 1020077009332 A KR1020077009332 A KR 1020077009332A KR 20077009332 A KR20077009332 A KR 20077009332A KR 20070083786 A KR20070083786 A KR 20070083786A
Authority
KR
South Korea
Prior art keywords
business process
data
business
enterprise
management system
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.)
Withdrawn
Application number
KR1020077009332A
Other languages
Korean (ko)
Inventor
존 지. 월시
제레미 월시
Original Assignee
데이타 퀄리티 솔루션즈 인코포레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US11/141,710 external-priority patent/US20060020641A1/en
Application filed by 데이타 퀄리티 솔루션즈 인코포레이티드 filed Critical 데이타 퀄리티 솔루션즈 인코포레이티드
Publication of KR20070083786A publication Critical patent/KR20070083786A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

다수 제품들 또는 비즈니스 어플리케이션들을 이용하는 비즈니스 프로세스 관리 시스템 및 방법이 개시된다. 비즈니스 프로세스 관리 시스템은 비즈니스 프로세스를 디자인하는 정보를 수신하도록 구성된 프로세스 디자이너 인터랙티브 부분 및 프로세스 디자이너 인터랙티브 부분에 의해 수신된 정보에 기초하여 비즈니스 프로세스를 생성하거나 수정하도록 구성된 프로세스 형성 부분을 포함한다. 프로세스 형성 부분은 비즈니스 프로세스를 생성하거나 수정하기 위해, 복수의 제품 또는 비즈니스 어플리케이션을 선택하도록 구성된다. 비즈니스 프로세스 관리 시스템 및 방법은 다수 버전의 제품들을 다루는 인터페이스를 제공한다.Disclosed are a business process management system and method that uses multiple products or business applications. The business process management system includes a process designer interactive portion configured to receive information designing a business process and a process formation portion configured to create or modify a business process based on information received by the process designer interactive portion. The process forming portion is configured to select a plurality of products or business applications to create or modify a business process. Business process management systems and methods provide an interface for handling multiple versions of a product.

Description

비즈니스 프로세스 관리 시스템 및 방법{BUSINESS PROCESS MANAGEMENT SYSTEM AND METHOD}BUSINESS PROCESS MANAGEMENT SYSTEM AND METHOD}

이 PCT 출원은 2005 년 6 월 1 일에 제출된 미국 정규 출원 제 11/141,710호 및 2004 년 9 월 24 일에 제출된 미국 가출원 제 60/612,615호의 우선권에 의존한다. 두 출원의 내용들은 본 명세서에서 그 전문이 인용참조된다.This PCT application relies on the priority of U.S. Regular Application No. 11 / 141,710 filed June 1, 2005 and U.S. Provisional Application No. 60 / 612,615 filed September 24, 2004. The contents of both applications are hereby incorporated by reference in their entirety.

2005 년 6 월 1 일에 제출된 미국 정규 출원 제 11/141,710호는, 현재 미국 특허 제 6,920,474호로 등록된 2003 년 3 월 25 일에 제출된 출원 일련번호 제 10/396,134호의 일부 계속 출원이며, 이는 2002 년 3 월 25 일에 제출된 미국 가출원 제 60/366,547호를 우선권 주장하고, 또한 그 내용들은 본 명세서에서 그 전문이 인용참조된다. 이 PCT 출원은 현재 미국 특허 제 6,920,474호로서 2003 년 3 월 25 일에 제출된 미국 정규 특허 출원 일련번호 제 10/396,134호, 또는 2002 년 3 월 25 일에 제출된 미국 가출원 제 60/366,547호의 우선권에 의존하지 않는다.United States Regular Application No. 11 / 141,710, filed on June 1, 2005, is part of the ongoing application of Application Serial No. 10 / 396,134, filed on March 25, 2003, now registered with US Patent No. 6,920,474, which is incorporated herein by reference. Priority is claimed to US Provisional Application No. 60 / 366,547, filed March 25, 2002, the contents of which are hereby incorporated by reference in their entirety. This PCT application is currently a U.S. Pat. Does not depend on

이 기재내용은 저작권 보호를 받는 정보를 포함한다. 저작권 소유자는 특허의 기재내용 또는 미국 특허청 파일 또는 기록에 나타나 있는 특허에 있어서 어느 누구의 복제 재생산에도 반대하지 않는다. 하지만, 소유자는 본 발명을 이해하기 위해 본 명세서에 제공된 스크린 디스플레이들에서의 모든 저작권을 포함하여, 본 명세서에서 설명된 본 발명과 연계되는 나머지 저작권 모두를 갖는다.This entry contains copyrighted information. The copyright owner does not object to any reproduction of any patent in the description of the patent or in any patent appearing in any US Patent Office file or record. However, the owner has all the remaining copyrights associated with the invention described herein, including all copyrights in the screen displays provided herein for the purpose of understanding the invention.

본 발명의 실시예들은, 일반적으로 비즈니스 프로세스 관리에 관한 것이며, 특히 컴퓨터 기반 비즈니스 프로세스 관리를 위한 시스템 및 방법에 관한 것이다.Embodiments of the present invention generally relate to business process management, and in particular, to systems and methods for computer-based business process management.

정보의 자동화 프로세싱은 소정 작업들의 비용을 크게 감소시켰기 때문에 비즈니스에서 엄청난 이득이 되었다. 모든 기업(enterprise)들은 정부, 상업적 비즈니스 또는 비영리 조직에 상관없이 정보를 관리할 작업상의 필요성을 갖는다.Automated processing of information has been a tremendous benefit to the business because it has significantly reduced the cost of certain tasks. Every enterprise has an operational need to manage information, regardless of government, commercial business or nonprofit.

이 정보는 예를 들어 상업적 비즈니스의 경우에, 고객을 얻고, 주문들을 입력하고, 제품들을 하송(ship)하고, 고객들에게 청구(bill)하고, 송장을 수집(collect)하고, 고용인 및 공급자(vendor)에게 지불(pay)하고, 제품을 주문하고, 목록을 감사(audit)하고, 고용인, 고객 및 공급자들 간의 거래 기록을 유지하는데 사용된다.This information can, for example, in the case of a commercial business, obtain customers, enter orders, ship products, bill customers, collect invoices, employees and suppliers. ), To order products, to audit listings, and to keep records of transactions between employees, customers and suppliers.

사건들의 일반적인 코스에서, 각 조직들의 내부 작업 모델에 따라 정보가 얻어지고 처리되며 소프트웨어, 컴퓨터 하드웨어 및 디지털 네트워크들을 이용하여 정리통합(consolidate)된다.In a general course of events, information is obtained and processed according to the internal working model of each organization and consolidated using software, computer hardware and digital networks.

또한 불행하게도, 정보의 자동화 프로세싱은 비즈니스들에 대해, 특히 회사의 데이터 저장 장치 내의 정보가 틀린 경우에 몇몇 문제점들을 발생시켰다. 틀린 정보의 자동화 프로세싱은 그것 자체로 비즈니스들에 대해 높은 비용을 가져온다. 또한, 원하지 않은 결과들을 보정하는데 필요한 시간, 노력 및 비용이 조직의 자원에 상당히 영향을 줄 수 있다.Also unfortunately, the automated processing of information has caused some problems for businesses, especially if the information in the company's data storage is wrong. Automated processing of wrong information is itself a high cost for businesses. In addition, the time, effort, and cost required to correct unwanted results can significantly impact an organization's resources.

조직에서의 오류들의 영향의 전형적인 예시는 다음을 포함한다:Typical examples of the effects of errors in an organization include:

(1) 수취인들은 동일한 오퍼(offer)를 메일로 여러 부 수신하며, 이는:(1) Recipients receive multiple copies of the same offer in the mail, which:

(a) 발송인이 우송료와 인쇄 용지를 소모하게 하고, (b) 수취인이 낭비에 의해 부정적인 영향을 받아, 이에 따라 제품들을 주문하지 않게 할 수 있다;(a) the sender consumes postage and printing paper, and (b) the recipient is negatively impacted by waste, thus preventing ordering products;

(2) 우편 시스템 및 다른 메시지 및 소포 하송인(shipper)들은 그 재료들의 상당한 비율을 의도된 수취인들에게 전달할 수 없으며, 이는:(2) The postal system and other messages and parcel shippers cannot deliver a significant proportion of the materials to the intended recipients, which:

(a) 정확하지 않은 주소로 인해 제품이 제시간에 전달되지 않고 하송인에게 반송되게 하며, (b) 올바른 주소를 결정하고 제품을 다시 포장해서 다시 하송하는데 노력이 많이 들게 하고, (c) 송장들이 반환되고 제시간에 지불되지 않거나 전혀 지불되지 않게 하며, (d) 올바른 주소를 결정하고 송장을 다시 보내는데 많은 노력이 들게 하며, (e) 고객들이 형편없는 서비스로 짜증나서, 가능하면 다른 공급자로 바꾸게 하고, (f) 고객 서비스, 청구, 수집, 하송 모두는 그 기능들을 수행하기 위해 추가 자원들을 필요하게 할 수 있다;(a) the incorrect address ensures that the product is returned to the consignor without being delivered on time; (b) the determination of the correct address, repackaging and re-shipping the product, and (c) invoices Returned, not paid in time or not paid at all, (d) it takes a lot of effort to determine the correct address and resend the invoice, (e) the customer is annoyed by poor service and, if possible, switches to another supplier (f) customer service, billing, collection, and shipping may all require additional resources to perform their functions;

(3) 또한, 개인 작업 유닛들이 고객에 대해 정확하지 않은 정보를 포함하며, 이는:(3) In addition, personal work units contain inaccurate information about the customer, which:

(a) 정리통합한 정보에서 기업 노력들이 불충분하고 비용이 많이 들며 장시간 지속되게 하고, (b) 개인 작업 유닛들에서의 오류들이 정리통합된 경우에 전체 오류율을 악화(compound)시키며 의미있는 분석 능력을 저해하게 할 수 있다;(a) Ensuring that corporate efforts are insufficient, costly, and sustained for a long time in consolidated information; and (b) compounding overall error rates when errors in individual work units are consolidated, and have meaningful analytical capabilities. Can inhibit;

(4) CRM, ERP, SCM 및 다른 중앙 프로세스에 대해 불충분하고 정확하지 않은 정보가 데이터 웨어하우스(data warehouse), 데이터 마트(data mart), 작업 데이터 저장 장치, 고객 정보 파일 및 중앙 데이터 저장 장치 내에 정리통합되고, 이는:(4) Insufficient and inaccurate information about CRM, ERP, SCM, and other central processes is contained within the data warehouse, data mart, work data storage, customer information files, and central data storage. Integrated, which:

(a) 마케팅이 개별적인 고객들 및 고객 세그먼트(client segment)들의 가치 및 잠재력을 정확하게 예상할 수 없게 되고 귀중한 시장 기회(market opportunity)를 잃게 하며, (b) 고객 서비스가 적절한 서비스를 제공할 수 없게 하여, 서비스 불만족으로 인해 고객을 잃게 하고, (c) 시간에 맞춰 사기(fraud)를 검출하지 못하여 기업이 많은 돈을 사기당하게 할 수 있다;(a) marketing cannot accurately predict the value and potential of individual customers and client segments, and loses valuable market opportunities; (b) prevents customer service from providing adequate services; This could lead to loss of customers due to service dissatisfaction, and (c) failure to detect fraud on time, causing the company to be scammed;

(5) 작업 유닛들은 올바른 세금 관할(tax jurisdiction) 및 세금 할당(tax assignment)을 결정할 수 없으며, 이는:(5) Work units cannot determine the correct tax jurisdiction and tax assignment, which:

(a) 기업이 고객에게 정당한 세금을 청구하지 않고 정당한 기관(right authority)에 정당한 금액을 지불하지 않게 하며, (b) 그것 때문에 세금 기관(taxing authority)들이 모든 적절한 세금을 수집하지 않게 하고, (c) 소비자들이 지불해야 하는 것보다 더 많은 세금을 지불하게 하며, (d) 회사가 세금 관할 및 고객들에 대한 책임(liability)으로 고민하게 한다;(a) the entity does not charge its customers a fair tax and does not pay the right authority to the right authority; (b) it prevents the taxing authorities from collecting all appropriate taxes; c) allow consumers to pay more taxes than they have to pay, and (d) cause the company to worry about tax jurisdiction and liability to customers;

(6) 고객들은 불만스러워 경쟁 서비스로 이동한다.(6) Customers are dissatisfied and move to competitive services.

회사의 수익(revenue)에서의 잘못된 정보의 영향은 일 예시로서 전형적인 대량 우편(mass mailing)을 이용하여 쉽게 설명된다. 당연히, 이것은 일 예시지만 앞서 제시된 리스트가 회사의 수익에 대한 다수의 다른 잠재적 영향들을 확인한다.The impact of misinformation on a company's revenue is easily illustrated using typical mass mailing as an example. Naturally, this is one example but the list presented above identifies a number of other potential effects on the company's profits.

회사들은 여러 가지 방식으로 고객 리스트들을 생성한다. 기업의 한 파트(part)에 의해 수집된 정보는 흔히 그 기능들을 수행하는 조직의 다들 파트들에 의해 사용된다. 회사가 리테일 컴포넌트(retail componet) 및 카탈로그 컴포넌트(catalog component)를 갖는 경우, 고객 정보는 리테일 위치에서, 카탈로그 위치 에서, 또는 심지어 인터넷을 통해 회사의 데이터 저장 장치 내에 입력(enter)될 수 있다. 이 3 개의 입력 위치들 각각은 상기 정보가 이전부터 존재한 정보와 중복이거나 잘못될 수 있는 장소를 나타낸다. 수집되고, 처리되고, 정리통합되는 정보의 정확성에서의 여하한의 오류는 기업 내에서 다수 기능들의 유효성에 영향을 줄 수 있다.Companies generate customer lists in several ways. Information gathered by one part of the enterprise is often used by all parts of the organization that perform their functions. If a company has a retail component and a catalog component, customer information can be entered in the company's data storage at the retail location, at the catalog location, or even over the Internet. Each of these three input locations represents a place where the information may overlap or go wrong with previously existing information. Any error in the accuracy of the information that is collected, processed and consolidated can affect the effectiveness of multiple functions within the enterprise.

고객은 리테일 레벨에서 올바르게 입력된 고객 정보를 가질 수 있는 것이 가능하다. 후속하여, 고객은 카탈로그 부서(catalog division)를 통해 물건을 살 수 있다. 그 때, 데이터 입력 전문가가 예를 들어 데이터 저장 장치에 (그 사람의 성(last name)의 철자를 오기(misspell)함으로써) 고객의 이름을 틀리게 입력할 수 있다. 또 다른 경우에, 동일한 고객이 인터넷을 통해 물건을 살 수 있다. 그 때, 고객은 그 또는 그녀의 성을 기입하도록 세번째 요구될 것이다. 이 상황에서, 고객이 그 또는 그녀의 성을 틀리게 타이핑했다고 가정하자. 그러므로, 이 시나리오에서 고객 정보는 3 번 입력되었고 이 중 2 번은 틀렸다.It is possible for a customer to have customer information entered correctly at the retail level. Subsequently, the customer can buy the goods through the catalog division. At that time, the data entry specialist may incorrectly enter the customer's name, for example, by spelling the person's last name into the data storage device. In another case, the same customer can buy things over the Internet. Then, the customer will be asked a third time to fill in his or her last name. In this situation, suppose the customer has typed his or her last name incorrectly. Therefore, in this scenario, customer information was entered three times, two of which were incorrect.

그 저장된 데이터에 의지하여, 회사는 업데이트된 카탈로그를 프린트하고 그 고객들에게 보낸다. 상기 고객은 비즈니스 데이터 저장 장치에서 3 개의 별도의 엔트리(entry)를 가지기 때문에, 고객은 동일한 카탈로그를 3 부 받는다. 쉽게 이해할 수 있는 바와 같이, 단지 회사의 데이터 저장 장치에서의 오류 때문에, 회사가 카탈로그를 프린트하고 우송하는 비용이 3 배가 되었다.Relying on the stored data, the company prints the updated catalog and sends it to its customers. Because the customer has three separate entries in the business data store, the customer receives three copies of the same catalog. As can be easily understood, the cost of printing and mailing a catalog has tripled, just because of errors in the company's data storage.

데이터 퀄리티의 문제점은 많은 비즈니스와 함께 존재한다. 종래 기술에서는, 데이터 퀄리티 문제점을 최소화하도록 제공된 몇몇 접근법들이 존재하였다.Problems with data quality exist with many businesses. In the prior art, there have been several approaches provided to minimize data quality problems.

데이터 퀄리티에 대한 이전 접근법들은 여러 가지 공급자-특정 기능(specific function) 또는 어플리케이션-특정 기능을 비즈니스에 제공하는 것을 포함한다. 데이터 퀄리티 기능들은 자동으로 회사의 데이터를 검토(review)하고, 오류를 식별하고, 몇몇 경우에는 그 오류들을 보정하도록 명확하게 디자인된다. 상이한 비즈니스들에 유연한 방식으로 이를 위해, 데이터 퀄리티 기능들은 전형적으로 그 개별적인 요구들을 대처하도록 비즈니스들에 의해 조정될 수 있는 몇몇 설정을 제공한다.Previous approaches to data quality include providing the business with various provider-specific or application-specific functions. Data quality features are specifically designed to automatically review company data, identify errors, and in some cases correct those errors. To do this in a flexible manner to different businesses, data quality functions typically provide some setup that can be adjusted by businesses to meet their individual needs.

전형적으로, 비즈니스들은 비즈니스가 가장 유리하다고 발견한 특정 데이터 퀄리티 기능에 대한 설정들의 규격 세트(standardized set)를 선택한다. 설정들은 예를 들어 (매우 훌륭한 결과라고 간주되는) 데이터가 95 % 정확한 지점으로 데이터 저장 장치를 "클리닝(clean)"하도록 데이터 저장 장치 내의 오류들을 제거할 수 있다.Typically, businesses select a standardized set of settings for a particular data quality function that the business finds most advantageous. The settings can eliminate errors in the data storage, for example, to "clean" the data storage to a point where the data (which is considered a very good result) is 95% accurate.

데이터 퀄리티의 문제점은 회사가 다수 유닛들을 포함하고, 그 각각이 중복된 정보(overlapping information)를 포함하는 별도의 데이터 저장 장치를 가지며, 회사가 정리통합된 데이터 저장 장치를 생성하려고 하는 경우에 악화된다.The problem of data quality is exacerbated when a company has a number of units, each of which has a separate data storage device containing overlapping information, and the company tries to create a consolidated data storage device. .

앞서 제시된 예시에서, 회사는 3 개의 비즈니스 컴포너트, 리테일 컴포넌트, 카탈로그 컴포넌트 및 인터넷 컴포넌트를 가졌으며, 그 각각은 별도의 고객 정보 데이터 저장 장치를 포함하였다. 전형적으로, 각 컴포넌트가 그 데이터를 "클리닝"하기 원하는 경우, 각 컴포넌트는 데이터 퀄리티 솔루션(solution)을 구입하고 내부적으로 상기 솔루션을 적용할 것이다. 각 컴포넌트가 95 % 정확한 데이터 저장 장치를 생성하는 경우, 그 결과는 아주 훌륭하다고 간주될 것이다.In the example presented above, the company had three business components, a retail component, a catalog component and an internet component, each of which included a separate customer information data storage device. Typically, if each component wants to "clean" its data, each component will purchase a data quality solution and apply the solution internally. If each component produces 95% accurate data storage, the result will be considered very good.

회사가 정리통합된 데이터 저장 장치를 생성하려고 하는 경우, 각 데이터 저장 장치 내의 오류들이 악화되는 또 다른 문제점이 발생한다. 제시된 경우에 각 데이터 저장 장치는 동일한 오류를 갖는다. 조합된 데이터 저장 장치는 0.95 x 0.95 x 0.95 = 0.857375 오류율을 가질 것이다. 이는 결과적인 데이터 저장 장치가 조합된 각각의 데이터 저장 장치들보다 3 배 높은 약 15 %의 오류율을 갖는다는 것을 의미한다. 이해할 수 있는 바와 같이, 이 문제점은 특히 4 개 이상의 데이터 저장 장치가 함께 조합되는 경우에 두드러진다.If a company attempts to create a consolidated data storage device, another problem arises where the errors in each data storage device are exacerbated. In the case presented, each data storage device has the same error. The combined data storage device will have an error rate of 0.95 x 0.95 x 0.95 = 0.857375. This means that the resulting data storage device has an error rate of about 15%, three times higher than the respective data storage devices combined. As can be appreciated, this problem is especially noticeable when four or more data storage devices are combined together.

또한, 공급자-특정 데이터 퀄리티 기능 및 어플리케이션-특정 데이터 퀄리티 기능들은 오류들을 검출하고 및/또는 보정하는데 있어서 유일한 강점 및 약점을 갖기 때문에, 어플리케이션들이 데이터를 여기저기 통과시킬 때 상기 오류들이 기업 전체에 부주의하게 파급될 수 있다. 이는 전체적으로 기업에 대한 전체 오류율의 배가적인 증가(multiplicative increase)를 야기하는 바람직하지 않은 결과를 가질 수 있다.In addition, since supplier-specific data quality functions and application-specific data quality functions have unique strengths and weaknesses in detecting and / or correcting errors, the errors are inadvertent throughout the enterprise when applications pass data around. Can be rippled. This may have the undesirable consequence of causing a multiplicative increase in the overall error rate for the enterprise as a whole.

데이터 퀄리티 솔루션들은 비즈니스의 작업에 유리한 한편, 그 능력이 특히 회사가 기업 내의 다수 비즈니스 개체들 또는 개체들의 그룹에 대한 중앙 데이터 저장 장치들을 생성하려고 하는 경우에 제한된다.Data quality solutions are advantageous for the work of the business, while the ability is limited, particularly if the company wants to create central data storage devices for multiple business entities or groups of entities in the enterprise.

또한, 비즈니스가 그 중앙 데이터 저장 장치를 "클린업"하는 프로그램을 개발하기 원하는 경우, 현재 견해는 적절한 소프트웨어를 개발하기 위해 비즈니스가 펌(firm)을 보유해야 한다고 지시한다. 소프트웨어의 개발은 통상적으로 SDLC(Software Development Life Cycle)라고 언급되는 것을 수반한다.In addition, if a business wants to develop a program that "cleans up" its central data storage device, the current view indicates that the business must have a firm to develop the appropriate software. The development of software usually involves what is referred to as the Software Development Life Cycle (SDLC).

예를 들어, 데이터 퀄리티 프로세스와 같은 비즈니스 프로세스의 개발자에 의해 고수되는 알려진 SDLC는, 시간 및 자원이 많이 소비되는 고정된 방식(lock-step)의 순차적인 단계 접근법을 유도한다. 예를 들어, 알려진 SDLC는 연속하여 수행되는 다음 단계들: 요구사항 정의, 전반적 디자인, 세부적 디자인, 개발, 테스트(testing), 퀄리티 보증 점검(quality assurance checking), 시행(trial), 구현 및 유지/수정(modification)을 포함한다. 또한, 프로젝트가 단계마다 이동할 때 상이한 기술을 갖는 상이한 직원(personnel) 또는 서비스 제공자들이 필요할 수 있다. 예를 들어, 시스템 엔지니어 또는 비즈니스 분석가는 요구사항 분석/정의 및 테스트 단계시 필요할 수 있지만, 소프트웨어 엔지니어는 디자인 단계에 대해 필요할 수 있다. 단계들 간의 프로젝트 핸드오프(handoff)는 최종 제품에 오류를 도입하고, 증가된 프로젝트 시간, 증가된 오버헤드(overhead) 및 더 높은 프로젝트 인원수(headcount)로 인해 비용을 추가한다.For example, known SDLCs adhered to by developers of business processes, such as data quality processes, lead to a lock-step sequential step approach that is time consuming and resource intensive. For example, a known SDLC may be a series of following steps: requirements definition, overall design, detailed design, development, testing, quality assurance checking, trial, implementation and maintenance / Includes modifications. In addition, different personnel or service providers with different skills may be needed as the project moves from step to step. For example, a system engineer or business analyst may be needed during the requirements analysis / definition and test phases, while a software engineer may be needed for the design phase. Project handoffs between stages introduce errors into the final product and add cost due to increased project time, increased overhead, and higher project headcount.

또한, 요구사항 정의 단계는 디자인 활동(design activity)들을 시작하게 하기 위해 임의로 중지될 수 있기 때문에(즉, 요구사항들의 "동결(frozen)"), 알려진 SDLC는 소프트웨어 제품들에 대한 고객들의 발전적 요구(evolving need)들에 유연하지 않고 융통성이 없다.In addition, because the requirements definition phase can be arbitrarily stopped (ie, "frozen" of requirements) to begin design activities, the known SDLC is a customer's evolving needs for software products. It is not flexible and flexible to evolving needs.

또한, 종래 기술의 또 다른 단점은 비즈니스 내에서 상이한 소프트웨어 업그레이트를 관리할 능력과 일치한다. 현재는 소프트웨어가 업그레이드되는 경우, 비즈니스가 업그레이드를 간단히 설치한다.In addition, another disadvantage of the prior art is consistent with the ability to manage different software upgrades within the business. Currently, when software is upgraded, the business simply installs the upgrade.

이러한 업그레이드는 2 이상의 레벨에 대해 문제가 많을 수 있다. 먼저, 업그레이드가 비즈니스의 네트워크의 일부분에서만 일어날 수 있다. 따라서, 몇몇 비즈니스 유닛들은 업그레이드로 유리해질 수 있지만 다른 것들은 그렇지 않다. 두번째로 업그레이드가 바람직하지 않고 시간 이변적인(time catastrophic) 영향들을 갖는 것이 드문 일이 아니다.This upgrade can be problematic for more than one level. First, upgrades can only occur in part of a business's network. Thus, some business units may be advantageous to upgrade while others are not. Second, it is not uncommon for upgrades to be undesirable and to have time catastrophic effects.

종래 기술에 대해 앞서 확인되는 단점들은 해결책을 몹시 필요로 한다.The disadvantages identified above for the prior art are in great need of a solution.

그러므로, 종래 기술에서의 다수의 결함을 해결하는 방법 및 비즈니스 프로세스 관리 시스템을 제공하는 것이 본 발명의 일 실시형태이다.Therefore, it is one embodiment of the present invention to provide a method and business process management system that resolves a number of deficiencies in the prior art.

기업 비즈니스 프로세스 관리 시스템은 1 이상의 클라이언트(client)에 커플링(couple)된 기업 비즈니스 프로세스 서버, 라우터(router) 및 인터페이스 모듈(interface module)을 포함할 수 있다. 특히, 본 발명에 따른 기업 비즈니스 프로세스 관리 시스템의 1 이상의 실시예는 1 이상의 클라이언트로부터 데이터를 수신할 수 있는 기업 비즈니스 프로세스 서버, 기업 비즈니스 프로세스 서버에 의해 액세스가능한(accessible) 1 이상의 라우터 및 1 이상의 라우터에 의해 액세스 가능한 1 이상의 비즈니스 프로세스를 포함할 수 있다. 기업 비즈니스 프로세스 서버는 라우터를 통해 1 이상의 비즈니스 프로세스에 액세스하고, 클라이언트 데이터의 전체 또는 일부분으로 1 이상의 비즈니스 프로세스를 실행하며, 1 이상의 비즈니스 프로세스의 기능으로서 비즈니스 프로세스 출력 데이터를 생성하도록 구성될 수 있다. 또한, 기업 비즈니스 프로세스 관리 시스템은 프로세스 디자이너 인터랙티브 페이지(process designer interactive page)를 출력하도록 기업 비즈니스 프로세스 서버와 작동하고, 기업 비즈니스 프로세스 서버에 의해 액세스가능한 인터페이스를 포함할 수 있다. 프로세스 디자이너 인터랙티브 페이지는 1 이상의 비즈니스 프로세스에 관한 명령어들을 받아들이고, 프로세스 정보 데이터를 생성하며, 상기 프로세스 정보 데이터를 기업 비즈니스 프로세스 서버에 제공하도록 구성될 수 있다. 또한, 기업 비즈니스 프로세스 서버는 상기 프로세스 정보 데이터에 기초하여 비즈니스 프로세스에 대한 명령어 세트를 형성할 수 있다.The enterprise business process management system may include an enterprise business process server, a router, and an interface module coupled to one or more clients. In particular, one or more embodiments of an enterprise business process management system according to the present invention comprise an enterprise business process server capable of receiving data from one or more clients, one or more routers accessible by the enterprise business process server, and one or more routers. It may include one or more business processes accessible by. The enterprise business process server may be configured to access one or more business processes through a router, execute one or more business processes as part or all of the client data, and generate business process output data as a function of the one or more business processes. In addition, the enterprise business process management system may operate with the enterprise business process server to output a process designer interactive page and include an interface accessible by the enterprise business process server. The process designer interactive page may be configured to accept instructions regarding one or more business processes, generate process information data, and provide the process information data to an enterprise business process server. In addition, the enterprise business process server may form an instruction set for the business process based on the process information data.

본 발명의 1 이상의 실시예에 따르면, 기업 내에 존재하는 질적 및 양적 측면의 어플리케이션 데이터(application data) 및 업무적 데이터를 결정하고, 분석하며, 향상시키고, 기록하는 기업 데이터 퀄리티 관리 시스템(enterprise data quality management system) 및 방법이 제공된다.In accordance with one or more embodiments of the present invention, an enterprise data quality management system that determines, analyzes, enhances, and records application data and business data of qualitative and quantitative aspects existing within an enterprise. management systems) and methods are provided.

본 발명의 다른 실시형태들에 따르면, 데이터 오류들이 발생하는 경우를 식별하기 위해 데이터 프로세싱의 다양한 레벨에서 오류 리포트(error report)들이 제공될 수 있다.According to other embodiments of the present invention, error reports may be provided at various levels of data processing to identify when data errors occur.

또한, 비즈니스가 앞으로 그러한 오류들을 회피하고 보정할 수 있도록 (또는 적어도 최소화시키도록) 오류들이 발생하는 경우에 대한 정보를 제시하는 여러 가지 그래픽 뷰(graphical view)에 대한 시스템 및 방법이 제공된다.Also provided are systems and methods for various graphical views that present information about when errors occur so that a business can avoid and correct (or at least minimize) such errors in the future.

또한, 본 발명의 실시예들은 프로젝트 개발 시간이 단축되도록 알려진 SDLC 단계들 몇몇이 조합되는 단축화(shortened) SDLC 및 간소화한 프로세스에 대해 제공되어, 시간 및 비용을 상당히 절감할 수 있다.In addition, embodiments of the present invention are provided for a shortened SDLC and simplified process in which some of the known SDLC steps are combined to shorten project development time, thereby significantly reducing time and cost.

예를 들어, 일 실시예에서 요구사항 정의, 전반적 디자인, 세부적 디자인 및 개발 단계들은 인터랙티브 프로세스 디자이너를 이용하는 단일 단계에서 동시에 성취될 수 있다.For example, in one embodiment the requirements definition, overall design, detailed design and development steps can be accomplished simultaneously in a single step using an interactive process designer.

또한, 본 발명의 일 실시예에서는, 본 명세서에서 설명된 바와 같이 정의되고 구현된 비즈니스 프로세스에 테스트 데이터를 적용함으로써, 알려진 SDLC 테스트, 퀄리티 보증 및 시행 단계들이 단일 단계에서 성취될 수 있다.In addition, in one embodiment of the present invention, by applying test data to a business process defined and implemented as described herein, known SDLC test, quality assurance and enforcement steps can be accomplished in a single step.

또한, 본 발명의 일 실시예에서 각각의 SDLC 활동들은 단일 제품에 의해 제공된 하나의 프로세스 디자이너 인터페이스와의 사용자 인터랙션(user interaction)을 통해 성취될 수 있다.In addition, in one embodiment of the present invention, each of the SDLC activities may be accomplished through user interaction with one process designer interface provided by a single product.

또한, 본 발명의 일 실시예에서 소프트웨어 엔지니어(software engineer)는 프로젝트시 코딩하는데 필요하지 않을 수도 있다.In addition, in one embodiment of the present invention, a software engineer may not be required to code in a project.

또한, 본 발명의 실시예들은 다수 소프트웨어 어플리케이션들로부터의 기능들을 재사용하게 할 뿐만 아니라, 사용자가 비즈니스 프로세스의 새로운 기능 또는 수정된 기능을 정의할 자격(capability)을 제공하게 할 수 있다. 1 이상의 실시예에서, 이러한 각각의 기능은 기능 레지스트리(function registry) 또는 기능 라이브러리(function library) 내에 유지되고, 추가 비즈니스 프로세스 또는 수정된 비즈니스 프로세스를 정의하는데 있어서 후속한 사용에 대해 비즈니스 프로세스 서버에 이용가능하게 수행될 수 있다.In addition, embodiments of the present invention may not only allow reuse of functions from multiple software applications, but also allow a user to provide the capability to define new or modified functionality of a business process. In one or more embodiments, each of these functions is maintained in a function registry or function library and used by the business process server for subsequent use in defining additional or modified business processes. It can possibly be done.

또한, 본 발명의 실시예들은 전체 프로세스에 대해 증가한 유효성(effectiveness)을 달성하도록 조합하여 "최상의 소프트웨어를 사용한(best of breed)" 비즈니스 프로세스들을 사용할 계획(enterprise)을 제공한다. 상이한 다수 비즈니스 어플리케이션들의 부분들은, 전체 유효성을 증가시키는 특정한 효과 또는 이러한 다른 기준(criteria)에 대해 부분들이 선택되는 새로운 비즈니스 프로세스 또는 수정된 비즈니스 프로세스를 형성하도록 조합될 수 있다. 예를 들어, 그 각각이 동일한 비즈니스 어플리케이션들 또는 다수의 상이한 비즈니스 어플리케이션들로부터 얻어질 수 있는 몇몇 데이터 퀄리티 프로세스들은, 다수 데이터 퀄리티 비즈니스 어플리케이션들 각각을 단독으로 적용하여 가능한 것보다 높은 전체 데이터 정확율(accuracy percentage)을 달성하는 단일 데이터 퀄리티 비즈니스 프로세스를 포함하도록 정의될 수 있다.Embodiments of the present invention also provide an enterprise to use "best of breed" business processes in combination to achieve increased effectiveness over the entire process. The parts of the different multiple business applications can be combined to form a new or modified business process in which the parts are selected for a particular effect that increases the overall effectiveness or for such other criteria. For example, some data quality processes, each of which may be obtained from the same business applications or from a number of different business applications, may have higher overall data accuracy than would be possible by applying each of the multiple data quality business applications alone. It can be defined to include a single data quality business process that achieves a percentage.

본 발명의 실시예들의 또 다른 실시형태는 인터페이스의 관리, 릴리즈(release) 및 특정한 공급자들의 제품(vendors' product), 개별적인 기능, 및 시스템 및 사용자 설정(user setting)들의 수행을 용이하게 하는 버전 그래픽 디스플레이(version graphical display) 부분이다.Yet another embodiment of embodiments of the present invention is a version graphic that facilitates management of the interface, release and implementation of specific vendors' products, individual functions, and system and user settings. This is the version graphical display.

본 발명의 다른 실시형태들은 뒤이은 설명 및 본 명세서에 첨부된 도면들로부터 나타낼 것이다.Other embodiments of the invention will appear from the description which follows and the figures appended hereto.

첨부된 도면들과 함께 본 발명의 1 이상의 예시적인 실시예에 있어서 다음의 상세한 설명을 고려하여, 본 발명의 장점들을 쉽게 이해하고 알게 될 것이다:In view of the following detailed description of one or more exemplary embodiments of the present invention in conjunction with the accompanying drawings, the advantages of the present invention will be readily understood and appreciated:

도 1은 본 발명의 1 이상의 예시적인 실시예에 따른 기업 비즈니스 프로세스 관리 시스템에 의해 채택되거나 구현되는 시스템의 예시적인 다이어그램;1 is an exemplary diagram of a system adopted or implemented by an enterprise business process management system in accordance with one or more illustrative embodiments of the present invention;

도 2는 본 발명의 1 이상의 실시예에 따라 디자인된 서버를 구현하는데 사용될 수 있는 장비의 개략적인 블록도;2 is a schematic block diagram of equipment that may be used to implement a server designed according to one or more embodiments of the present invention;

도 3은 본 발명의 1 이상의 실시예에 따른 기업 비즈니스 프로세스 서버의 기업 데이터 퀄리티 어플리케이션의 기능적인 블록도;3 is a functional block diagram of an enterprise data quality application of an enterprise business process server in accordance with one or more embodiments of the present invention;

도 4는 본 발명의 일 실시예에서의 데이터 송신부(data source)/수신지(destination), 제품 및 프로세스들 간의 관계를 예시하는 기능적인 블록도;4 is a functional block diagram illustrating the relationship between data source / destination, product, and processes in one embodiment of the present invention;

도 5는 본 발명의 1 이상의 실시예에 따른 시스템을 구현하는데 사용될 수 있는 장비를 예시한 기능적인 블록도;5 is a functional block diagram illustrating equipment that may be used to implement a system in accordance with one or more embodiments of the present invention.

도 6은 본 발명의 1 이상의 예시적인 실시예에 따른 기업 비즈니스 프로세스 관리 시스템에 의해 사용된 방법을 예시하는 흐름도;6 is a flow diagram illustrating a method used by an enterprise business process management system in accordance with one or more illustrative embodiments of the invention.

도 7은 본 발명의 1 이상의 실시예에 따른 경영진 뷰(executive view)에 대한 오류 리포트의 일 예시;7 is an illustration of an error report for an executive view in accordance with one or more embodiments of the present invention;

도 8은 본 발명의 1 이상의 실시예에 따른 고객 지원 뷰(customer support view)에 대한 오류 리포트의 일 예시;8 is an example of an error report for a customer support view in accordance with one or more embodiments of the present invention;

도 9는 본 발명의 1 이상의 실시예에 따른 개인 뷰(individual view)에 대한 오류 리포트의 일 예시;9 is an illustration of an error report for an individual view in accordance with one or more embodiments of the present invention;

도 10은 본 발명의 1 이상의 실시예에 따른 관리자 뷰(manager view)에 대한 오류 리포트의 일 예시;10 is an illustration of an error report for a manager view in accordance with one or more embodiments of the present invention;

도 11은 본 발명의 1 이상의 예시적인 실시예에 따른 기업 비즈니스 프로세스 관리 시스템에 대한 비즈니스 프로세스를 확립하는 방법의 순서도;11 is a flowchart of a method for establishing a business process for an enterprise business process management system in accordance with one or more illustrative embodiments of the present invention.

도 12는 본 발명의 1 이상의 실시예에 따른 비즈니스 프로세스를 생성하는 그래픽 사용자 인터페이스(graphical user interface)의 예시적인 사용자 인터랙션 페이지;12 is an exemplary user interaction page of a graphical user interface for creating a business process in accordance with one or more embodiments of the present invention;

도 13은 본 발명의 1 이상의 실시예에 따른 프로세스에 대한 데이터 송신부를 추가하는 그래픽 사용자 인터페이스의 예시적인 사용자 인터랙션 페이지;13 is an exemplary user interaction page of a graphical user interface adding a data transmitter for a process in accordance with one or more embodiments of the present invention;

도 14는 본 발명의 1 이상의 실시예에 따른 프로세스에 대한 입력 패킷(input packet)을 정의하는 그래픽 사용자 인터페이스의 예시적인 사용자 인터랙션 페이지;14 is an exemplary user interaction page of a graphical user interface defining an input packet for a process according to one or more embodiments of the present invention;

도 15는 본 발명의 1 이상의 실시예에 따른 프로세스에 대한 출력 패킷(output packet)을 정의하는 그래픽 사용자 인터페이스의 예시적인 사용자 인터랙션 페이지;15 is an exemplary user interaction page of a graphical user interface defining an output packet for a process according to one or more embodiments of the present invention;

도 16은 본 발명의 1 이상의 실시예에 따른 프로세스에 대한 제품을 선택하는 그래픽 사용자 인터페이스의 예시적인 사용자 인터랙션 페이지;16 is an exemplary user interaction page of a graphical user interface for selecting a product for a process in accordance with one or more embodiments of the present invention;

도 17은 본 발명의 1 이상의 실시예에 따른 프로세스와 사용하는 제품을 추가하는 그래픽 사용자 인터페이스의 예시적인 사용자 인터랙션 페이지;FIG. 17 is an exemplary user interaction page of a graphical user interface for adding a process and a product for use in accordance with one or more embodiments of the present invention; FIG.

도 18은 본 발명의 1 이상의 실시예에 따른 프로세스에 대한 데이터 수신지를 선택하는 그래픽 사용자 인터페이스의 예시적인 사용자 인터랙션 페이지;18 is an exemplary user interaction page of a graphical user interface for selecting a data destination for a process in accordance with one or more embodiments of the present invention;

도 19는 본 발명의 1 이상의 실시예에 따른 프로세스를 확립하는 그래픽 사용자 인터페이스의 예시적인 사용자 인터랙션 페이지;19 is an exemplary user interaction page of a graphical user interface for establishing a process in accordance with one or more embodiments of the present invention;

도 20은 본 발명의 1 이상의 실시예에 따라 제공된 그래픽 사용자 인터페이 스에 대한 예시적인 프로세스 디자이너 인터페이스 인터랙티브 디스플레이(process designer interface interactive display);20 is an exemplary process designer interface interactive display for a graphical user interface provided in accordance with one or more embodiments of the present invention;

도 21은 비즈니스 프로세스의 코드 구현을 형성하도록 기업 비즈니스 프로세스 서버에 의해 본 발명의 일 실시예에서 이용되는 빌드 파일(build file)의 시리즈를 나타내는 도면;FIG. 21 illustrates a series of build files used in one embodiment of the present invention by an enterprise business process server to form a code implementation of a business process; FIG.

도 22는 본 발명의 일 실시예에서 새로운 라우터 동적 링크 라이브러리(dynamic link library)를 형성하는 방법을 예시하는 도면;FIG. 22 illustrates a method of forming a new router dynamic link library in one embodiment of the present invention; FIG.

도 23a 내지 도 23d는 본 발명의 1 이상의 실시예에 따른 비즈니스 프로세스를 구현하는 방법을 예시하는 순서도;23A-23D are flowcharts illustrating a method of implementing a business process in accordance with one or more embodiments of the present invention;

도 24는 본 발명의 일 실시예에서 비즈니스 프로세스에 관련된 기능, 프로세스 및 제품(예를 들어, 툴)들 간의 관계를 나타낸 기능적인 블록도;FIG. 24 is a functional block diagram illustrating relationships between functions, processes, and products (eg, tools) related to a business process in one embodiment of the present invention; FIG.

도 25는 본 발명의 일 실시예에서 제공된 기능 오버뷰 인터랙티브 페이지(functions overview interactive page)의 일 예시를 나타내는 도면;FIG. 25 illustrates an example of a functions overview interactive page provided in one embodiment of the present invention; FIG.

도 26은 본 발명의 일 실시예에서 제공된 프로세스 디자이너 인터랙티브 페이지의 프로세스 정의 영역부(process definition area portion)의 일 예시를 나타내는 도면;FIG. 26 illustrates an example of a process definition area portion of a process designer interactive page provided in one embodiment of the present invention; FIG.

도 27은 본 발명의 일 실시예에서의 기능 라이브러리로부터 프로세스 단계의 요소를 추가하여 예시한 인터랙티브 페이지의 일 예시를 나타내는 도면;FIG. 27 illustrates an example of an interactive page illustrated by adding elements of a process step from a functional library in one embodiment of the present invention; FIG.

도 28은 본 발명의 일 실시에에서의 프로세스 디자이너 인터랙티브 페이지의 프로세스 정의 영역 내의 프로세스 단계들을 링크하여 예시한 인터랙티브 페이지의 일 예시를 나타내는 도면;FIG. 28 illustrates an example of an interactive page illustrated by linking process steps in a process definition area of a process designer interactive page in one embodiment of the present invention; FIG.

도 29는 본 발명의 1 이상의 실시예에 따른 프로세스 단계의 요소에 대해 조건문(conditional statement)이 정의될 수 있는 인터랙티브 페이지의 일 예시를 나타내는 도면;FIG. 29 illustrates an example of an interactive page in which conditional statements may be defined for elements of a process step according to one or more embodiments of the present invention; FIG.

도 30은 본 발명의 일 실시예에서 제공된 제품 정의 인터랙티브 페이지의 일 예시를 나타내는 도면;30 illustrates an example of a product defined interactive page provided in an embodiment of the present invention;

도 31은 본 발명의 일 실시예에서 제공된 데이터 수신지 정의 인터랙티브 페이지의 일 예시를 나타내는 도면;FIG. 31 illustrates an example of a data destination definition interactive page provided in one embodiment of the present invention; FIG.

도 32는 본 발명의 일 실시예에서 제공된 제품 선택 인터랙티브 페이지의 일 예시를 나타내는 도면;32 illustrates an example of a product selection interactive page provided in an embodiment of the present invention;

도 33은 본 발명의 일 실시예에서 제공된 기능 템플릿 파일 페이지(function template file page)의 콘텐츠의 일 예시를 나타내는 도면;FIG. 33 illustrates an example of content of a function template file page provided in an embodiment of the present invention; FIG.

도 34는 본 발명의 일 실시예에서 제공된 기능 설정 인터랙티브 페이지의 일 예시를 나타내는 도면;34 illustrates an example of a function setting interactive page provided in an embodiment of the present invention;

도 35는 본 발명의 일 실시예에 따른 프로세스 테스터 인터랙티브 페이지의 일 예시를 나타내는 도면;35 illustrates an example of a process tester interactive page according to an embodiment of the present invention;

도 36은 본 발명의 일 실시예에서의 프로세스 테스터 인터랙티브 페이지의 데이터가 차지한 디자인 영역(data-populated design area)을 예시하는 도면;FIG. 36 illustrates a data-populated design area occupied by data in a process tester interactive page in one embodiment of the present invention; FIG.

도 37은 본 발명의 1 이상의 실시예에 따른 연결 정의 인터랙티브 페이지의 일 예시를 나타내는 도면;FIG. 37 illustrates an example of a connection definition interactive page according to one or more embodiments of the present invention; FIG.

도 38은 본 발명의 일 실시예에 따른 비교 비즈니스 프로세스를 예시하는 도면;38 illustrates a comparative business process according to an embodiment of the present invention;

도 39는 본 발명의 일 실시예에서의 인터페이스 모듈, 기업 비즈니스 프로세스 서버 및 라우터 간의 관계를 나타내는 도면;FIG. 39 illustrates a relationship between an interface module, an enterprise business process server, and a router in one embodiment of the present invention; FIG.

도 40은 본 발명의 1 이상의 실시예에 따른 기업 비즈니스 프로세스 관리 시스템의 블록도;40 is a block diagram of an enterprise business process management system in accordance with one or more embodiments of the present invention.

도 41은 본 발명의 1 이상의 실시예에 따른 기업 비즈니스 프로세스 관리 시스템에 의해 다수 제품의 사용을 예시한 블록도;41 is a block diagram illustrating the use of multiple products by an enterprise business process management system in accordance with one or more embodiments of the present invention.

도 42는 본 발명의 1 이상의 실시예에 따른 기업 비즈니스 프로세스 관리 시스템에 의해 다수 비즈니스 어플리케이션의 사용을 예시한 블록도;42 is a block diagram illustrating the use of multiple business applications by an enterprise business process management system in accordance with one or more embodiments of the present invention.

도 43은 본 발명의 1 이상의 실시예에 따른 버전 디스플레이 페이지의 일 예시를 나타내는 도면;43 illustrates an example of a version display page in accordance with one or more embodiments of the present invention;

도 44는 본 발명의 1 이상의 실시예에 따른 버전 디스플레이 페이지의 또 다른 예시를 나타내는 도면; 및44 illustrates another example of a version display page in accordance with one or more embodiments of the present invention; And

도 45는 본 발명의 1 이상의 실시예에 따른 기업 비즈니스 프로세스 관리 시스템에 의한 상이한 버전들을 갖는 다수 제품의 사용을 예시한 블록도이다.45 is a block diagram illustrating the use of multiple products with different versions by an enterprise business process management system in accordance with one or more embodiments of the present invention.

이 출원은 2002 년 3 월 25일에 제출된 "Method and System for Enterprise Data Quality Management"라는 제목의 미국 가출원 제 60/366,547호에 대한 우선권을 주장하며, 그 전체 기재내용은 본 명세서를 전부 설명하는 바와 같이 본 명세서 에서 인용참조된다.This application claims priority to US Provisional Application No. 60 / 366,547, filed March 25, 2002, entitled "Method and System for Enterprise Data Quality Management," the entire disclosure of which is incorporated herein in its entirety. As incorporated herein by reference.

본 발명은 그 예시적인 실시예들과 관련하여 설명될 것이지만, 예시적인 실시예들은 본 발명을 제한하는 것으로 의도되지는 않는다. 이와 반대로, 설명된 예시들의 대안예, 변형예 및 동등한 예시들은 본 발명의 의도 및 범위 내에 포함되도록 의도되며, 이는 본 명세서에 첨부된 청구항에 의해 부분적으로 정의된다.The present invention will be described in connection with the exemplary embodiments, but the exemplary embodiments are not intended to limit the present invention. On the contrary, alternatives, modifications, and equivalent examples of the described examples are intended to be included within the spirit and scope of the present invention, which is defined in part by the claims appended hereto.

본 발명의 1 이상의 실시예에 따르면, 기업 비즈니스 프로세스 관리 시스템 및 방법이 제공된다. 1 이상의 실시예는 기업 데이터 퀄리티 관리 시스템의 일 실시예의 형태로 본 명세서에 제시되지만, 본 명세서에서 가르치는 것은 데이터 퀄리티 관리에 관련된 비즈니스 프로세스들을 포함하거나 추가하여 여하한의 기업 비즈니스 프로세스 관리 시스템에 더 일반적으로 적용될 수 있다는 것을 이해하여야 한다. 상기 시스템 및 방법은, 예를 들어 기업 전반에서의 다양한 어플리케이션들에 제시된 데이터 오류들을 검출하고 보정하며 보고하는 단계들을 포함하여, 비즈니스 프로세스들에서 단계들을 정의하고 형성하며 실행하는 교환가능한 라우터 및 서버를 이용할 수 있다. 기업은 비즈니스 조직을 포함하는 상이한 지리학적 또는 물리적 위치 내에 위치된 다수 연산 노드(computing node)를 포함할 수 있다. 다양한 연산 노드들이 인터넷, 전용 전화(leased telephone) 또는 데이터 라인, 무선 네트워크 또는 여하한의 그 조합과 같지만 그에 제한되지는 않은 네트워크를 이용하는 기업 전반에 인터-노드 통신(inter-node communication)을 위해 서로 연결될 수 있다. 이러한 여하한의 방식으로 연결되어, 그 중에서도 기업과 연계된 사용자들은 어플리케이션, 프로세스 및 기능이 존재하는 노드 또는 노드들의 물리적 위치에 관 계없이 기업 어플리케이션, 프로세스 및 기능들에 대한 투과성(transparent)의 가상 액세스(virtual access) 얻을 수 있다.In accordance with one or more embodiments of the present invention, an enterprise business process management system and method are provided. While one or more embodiments are presented herein in the form of one embodiment of an enterprise data quality management system, what is taught herein is more general to any enterprise business process management system by including or adding business processes related to data quality management. It should be understood that it can be applied to. The system and method provide for a switchable router and server that defines, forms, and executes steps in business processes, including, for example, detecting, correcting, and reporting data errors presented to various applications throughout the enterprise. It is available. An enterprise may include multiple computing nodes located within different geographic or physical locations that include a business organization. The various compute nodes are connected to each other for inter-node communication across the enterprise using networks such as, but not limited to, the Internet, leased telephones or data lines, wireless networks, or any combination thereof. Can be connected. Connected in any of these ways, inter alia, users associated with the enterprise are virtually transparent to the enterprise applications, processes and functions, regardless of the node or nodes where the applications, processes and functions reside. You can get virtual access.

도 1은 본 발명의 1 이상의 예시적인 실시예에 따른 기업 비즈니스 프로세스 관리 시스템에 의해 채택되거나 구현되는 시스템의 예시적인 다이어그램이다. 도 1을 참조하면, 기업 비즈니스 프로세스 관리 시스템(100)은 추출 변환 로딩(Extract, Transform and Load: ETL) 클라이언트(102), 기업 어플리케이션 통합(Enterprise Application Integration: EAI) 클라이언트(103), 기업 자원 관리(Enterprise Resource Planning: ERP) 클라이언트(104) 및 고객 관계 관리 (Customer Relationship Management: CRM) 클라이언트(105)와 같지만 그에 제한되지는 않은 1 이상의 추가 클라이언트에 커플링된 기업 비즈니스 프로세스 서버(101)를 포함할 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 공급 사슬 관리자(Supply Chain Manager: SCM) 클라이언트(도시되지 않음)와 같은 또 다른 추가 클라이언트에 커플링될 수 있다. 추가 클라이언트들 각각은 1 이상의 비즈니스 어플리케이션을 포함할 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 정보 데이터 저장 장치(106) 및 단층 파일 데이터 저장 장치(flat files data store: 107), 1 이상의 메인 프레임(mainframe: 108) 및 인터넷(109)에 커플링될 수도 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 콜센터 단말기(call center terminal: 110)(들), 데이터 입력 단말기(data entry terminal: 111)들, 로컬 사용자 단말기(local user terminal: 112)(들) 및 원격 사용자 단말기(remote user terminal: 113)(들)와 같은 1 이상의 단말기에 커플링될 수도 있 다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 기업 데이터 퀄리티 관리의 정의 및 실행을 허용하도록 구성된 기업 비즈니스 프로세스 서버 또는 기업 데이터 퀄리티 서버일 수 있다.1 is an exemplary diagram of a system adopted or implemented by an enterprise business process management system in accordance with one or more illustrative embodiments of the present invention. Referring to FIG. 1, an enterprise business process management system 100 includes an extract transform transform (ETL) client 102, an enterprise application integration (EAI) client 103, and enterprise resource management. Includes an enterprise business process server 101 coupled to one or more additional clients, such as, but not limited to, Enterprise Resource Planning (ERP) client 104 and Customer Relationship Management (CRM) client 105 can do. In addition, corporate business process server 101 may be coupled to another additional client, such as a Supply Chain Manager (SCM) client (not shown). Each of the additional clients may include one or more business applications. In addition, corporate business process server 101 may be coupled to information data storage 106 and flat files data store 107, one or more mainframes 108, and the Internet 109. It may be. In one or more embodiments, enterprise business process server 101 may comprise a call center terminal 110 (s), data entry terminals 111, local user terminal 112 ( And one or more terminals, such as remote user terminal 113 (s). In one or more embodiments, enterprise business process server 101 may be an enterprise business process server or an enterprise data quality server configured to allow definition and execution of enterprise data quality management.

기업 비즈니스 프로세스 서버(101)는 인터넷(Internet), 근거리 통신망(Local Area Network: LAN), 광역 통신망(Wide area Network: WAN), 이러한 여하한의 것들을 포함한 인터네트워크(internet) 및/또는 PSTN과 같이 서로 연결된 네트워크들의 네트워크, 무선 네트워크 또는 여하한의 그 조합을 포함하지만 그에 제한되지는 않은 여러 가지 통신 네트워크들을 이용하여, 추가 클라이언트(102 내지 105), 데이터 저장 장치(106 및 107), 메인 프레임들(108), 인터넷(109) 및 단말기들(110 내지 113)을 포함한 기업 노드들과 통신할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 트랜잭션 관련 데이터(transaction related data)뿐만 아니라, 최소한 오류 리포트들을 수신하고 전송하는 이 기업 노드들 중 1 이상과 통신할 수 있다.The enterprise business process server 101 may be connected to the Internet, a local area network (LAN), a wide area network (WAN), an internet including any of these, and / or a PSTN. Additional clients 102-105, data storage devices 106 and 107, mainframes, using various communication networks, including but not limited to a network of interconnected networks, a wireless network, or any combination thereof. Communications with enterprise nodes, including 108, the Internet 109, and terminals 110-113. In one or more embodiments, enterprise business process server 101 may communicate with one or more of these enterprise nodes that receive and transmit error reports, as well as transaction related data.

일반적으로, 클라이언트들 102 내지 105는 클라이언트-서버 어플리케이션의 서버 또는 클라이언트 부분과 같지만 그에 제한되지는 않은 데이터를 송신하거나 수신할 수 있는 여하한의 데이터 송신부일 수 있다. 예를 들어, 클라이언트는 호스트(host), 1 이상의 비즈니스 어플리케이션 프로세스 또는 기업의 기능들일 수 있다. 클라이언트들은 기업 방화벽(firewall)의 내부 또는 외부에 위치될 수 있다.In general, clients 102-105 may be any data transmitter capable of transmitting or receiving data such as, but not limited to, the server or client portion of a client-server application. For example, a client may be a host, one or more business application processes or functions of an enterprise. Clients can be located inside or outside the corporate firewall.

ETL 클라이언트(102)는 조직이 하나의 데이터 송신부로부터 데이터 세트들을 추출하고, 또 다른 데이터 송신부에 상기 데이터를 맵핑하며, 필요에 따라 상기 데 이터를 변환하고, 데이터 송신부들을 통합정리하며, 수신지 송신부 또는 송신부들로 상기 데이터를 로딩하게 할 수 있도록 구성될 수 있다. 이러한 ETL 클라이언트(102)는 주로 일괄 처리 지향형(batch processing oriented)일 수 있고, 상기 데이터가 그 송신부에서 그 수신지로 통과될 때 변환 및 맵핑들이 수행되는 허브 구조(hub architecture)를 이용할 수 있다.ETL client 102 allows an organization to extract data sets from one data sender, map the data to another data sender, convert the data as needed, consolidate the data senders, and send the destination sender. Or may be configured to allow the transmitter to load the data. This ETL client 102 may be primarily batch processing oriented and may use a hub architecture where transformations and mappings are performed when the data is passed from its transmitter to its destination.

EAI 클라이언트(103)는 기업 트랜잭션이 하나의 어플리케이션으로부터 조직/기업 내의 또 다른 어플리케이션으로, 그리고 하나의 조직으로부터 EAI 네트워크 상에 존재하는 파트너 조직으로 통과할 수 있도록 구성될 수 있다. 이러한 EAI 클라이언트(103)는 허브 구조를 사용할 수 있으며, 기업 트랜잭션들과 연계된 데이터를 맵핑하고 변환하는 자격들을 포함할 수 있다.The EAI client 103 may be configured to allow corporate transactions to pass from one application to another application within an organization / enterprise and from one organization to a partner organization residing on the EAI network. Such an EAI client 103 may use a hub structure and may include entitlements to map and transform data associated with enterprise transactions.

ERP 클라이언트(104)는 기획, 제조, 판매 및 마케팅 활동들을 포함하여 비즈니스 또는 기업의 다수 패싯(facet)을 통합하도록 구성될 수 있다. 이러한 ERP 클라이언트(104)는 허브 구조를 사용할 수 있으며, 이 활동들과 연계된 데이터를 맵핑하고 변환하는 자격들을 포함할 수 있다.ERP client 104 may be configured to integrate multiple facets of a business or enterprise, including planning, manufacturing, sales, and marketing activities. Such ERP client 104 may use a hub structure and may include entitlements to map and transform data associated with these activities.

CRM 클라이언트(105)는 헬프-데스크 소프트웨어, 판매, 마케팅, 이메일 오거나이저(organizer) 및 웹 개발 어플리케이션을 포함하는 여러 가지 전자 기반 툴들을 이용하여 조직/엔티티(entity)와 그 고객들 사이의 인터랙션의 여러 측면들을 관리하도록 구성될 수 있다. 이러한 CRM 클라이언트(104)는 허브 구조를 사용할 수 있으며, 그와 연계된 데이터를 맵핑하고 변환하는 자격들을 포함할 수 있다.The CRM client 105 utilizes several electronic-based tools, including help-desk software, sales, marketing, email organizers, and web development applications, to enable various aspects of interaction between the organization / entity and its customers. Can be configured to manage them. Such CRM client 104 may use a hub structure and may include entitlements to map and transform data associated therewith.

ETL 클라이언트(102), EAI 클라이언트(103), ERP 클라이언트(104) 및 CRM 클 라이언트(105)를 포함한 추가 기업 클라이언트는 각각 개별적인 서버 어플리케이션들 각각에서 내부적으로 작동하는 공급자-특정 어플리케이션 퀄리티 점검 프로세스를 포함할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 ETL 클라이언트(102), EAI 클라이언트(103), ERP 클라이언트(104) 및 CRM 클라이언트(105)를 포함한 추가 기업 서버들과 정보를 교환하는 전송 제어 프로토콜(Transmission Control Protocol: TCP)/인터넷 프로토콜(Internet Protocol: IP) 인터페이스를 포함할 수 있다. 기업 비즈니스 프로세스 서버(101)와 추가 클라이언트들 간에 교환된 정보는, 예를 들어 데이터 퀄리티를 점검하는 프로세스들과 같은 1 이상의 특정 프로세스 또는 프로세스(또는 프로세스들)의 기능들을 수행하기 위해 기업 비즈니스 프로세스 서버(101)로부터의 명령(command) 또는 요구(request)를 포함할 수 있다. 또한, 교환된 정보는 어플리케이션 퀄리티 점검 프로세스들 또는 기능들에 의해 출력된 데이터를 포함할 수 있다. TCP/IP 통신 인터페이스는 기업 비즈니스 프로세스 서버(101)가 기업 네트워크 상의 여하한의 어플리케이션에 직접 연결하게 할 수 있다. 대안적으로 TCP/IP 통신 인터페이스는 기업 비즈니스 프로세스 서버가 예를 들어 인터넷을 이용하여 외부 어플리케이션들에 연결하게 할 수 있다.Additional enterprise clients, including ETL client 102, EAI client 103, ERP client 104, and CRM client 105 each include a provider-specific application quality checking process that operates internally in each of the individual server applications. can do. In one or more embodiments, enterprise business process server 101 transfer control to exchange information with additional enterprise servers, including ETL client 102, EAI client 103, ERP client 104, and CRM client 105. It may include a Transmission Control Protocol (TCP) / Internet Protocol (IP) interface. The information exchanged between the enterprise business process server 101 and additional clients may, for example, perform an enterprise business process server to perform the functions of one or more specific processes or processes (or processes), such as processes for checking data quality. It may include a command or request from 101. In addition, the exchanged information may include data output by application quality checking processes or functions. The TCP / IP communication interface may allow the enterprise business process server 101 to connect directly to any application on the enterprise network. Alternatively, the TCP / IP communication interface may allow an enterprise business process server to connect to external applications, for example using the Internet.

1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 정보 데이터 저장 장치(106) 및 단층 파일 데이터 저장 장치(107)로부터 정보를 얻을 수 있다. 특히, 기업 비즈니스 프로세스 서버(101)는 정보 데이터 저장 장치(106) 및 단층 파일 데이터 저장 장치(107) 내에 포함된 정보를 액세스하거나 저장하거나 선택적으 로 회수하는 데이터 저장 장치 스크립트(script)들과 같은 어플리케이션 명령어들을 포함할 수 있다. 데이터 저장 장치 스크립트는, 예를 들어 SQL 버전 7.0 데이터 저장 장치 관리 시스템 쿼리 언어(query language)뿐만 아니라, (ColdFusion® 데이터 저장 장치 관리 시스템에 따른) Transact® SQL에 따라 제공된 프로그래밍 문 형태로 구현될 수 있다. Oracle® 또는 IBM DB2®로부터 이용가능한 것들을 포함하지만 그에 제한되지는 않은 다른 데이터 저장 장치 구현들이 가능하다.In one or more embodiments, enterprise business process server 101 may obtain information from information data storage 106 and tomographic file data storage 107. In particular, the enterprise business process server 101 may be capable of accessing, storing, or selectively retrieving information contained within the information data storage 106 and the fault file data storage 107, such as data storage scripts. May include application instructions. Data storage scripts can be implemented in the form of programming statements provided according to Transact® SQL (according to ColdFusion® data storage management system), as well as, for example, the SQL version 7.0 data storage management system query language. have. Other data storage implementations are possible, including but not limited to those available from Oracle® or IBM DB2®.

대안적인 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 기업 비즈니스 프로세스 서버(101) 및 그 안에 저장된 정보를 액세스하기 위한 정보 데이터 저장 장치(106) 및 단층 파일 데이터 저장 장치(107)에 커플링된 기업 데이터베이스 서버(도시되지 않음)를 포함할 수 있다. 정보 데이터 저장 장치(106)는, 예를 들어 SQL과 같은 계층적(hierarchical) 데이터 저장 장치 관리 시스템 포맷에 따라 배치된 트랜잭션 데이터(transactional data) 또는 기업 어플리케이션을 포함할 수 있다. 단층 파일 데이터 저장 장치(107)는 기업 어플리케이션 또는 트랜잭션 비-계층적 데이터를 포함할 수 있다.In an alternative embodiment, the enterprise business process management system 100 couples to the enterprise business process server 101 and the information data storage 106 and the tom file file storage 107 for accessing information stored therein. Corporate database server (not shown). The information data storage 106 may include transactional data or enterprise applications arranged in accordance with a hierarchical data storage management system format such as, for example, SQL. The flat file data storage device 107 may include enterprise application or transactional non-hierarchical data.

또한, 기업 비즈니스 프로세스 서버(101)는 기업 내에서 1 이상의 메인 프레임(108)에 커플링될 수 있다. 메인 프레임(들)(108)은, 예를 들어 레거시 페이롤(legacy payroll) 또는 회계 시스템(accounting system)과 같은 조직 또는 기업 어플리케이션들을 포함할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 그 중에서도 근거리 통신망(LAN), 광역 통신망(WAN), 전용 전화선(dedicated landline) 또는 그 조합을 이용하여 메인 프레임(들)(108)과 통신할 수 있다.In addition, corporate business process server 101 may be coupled to one or more mainframes 108 within an enterprise. Main frame (s) 108 may include organizational or corporate applications, such as, for example, legacy payroll or accounting system. In one or more embodiments, enterprise business process server 101 communicates with mainframe (s) 108 using a local area network (LAN), a wide area network (WAN), a dedicated landline, or a combination thereof, among others. can do.

또한, 1 이상의 실시예에서 기업 비즈니스 프로세스 서버(101)는 LAN, WAN, 전용 전화선, 인터네트워크, 인터넷, 무선 네트워크 또는 그 조합을 통해 콜센터 단말기(들)(110), 데이터 입력 단말기들(111), 로컬 사용자 단말기(들)(112) 및 원격 사용자 단말기(들)(113)와 같은 1 이상의 단말기들에 커플링될 수도 있다. 그로 인해, 기업 비즈니스 프로세스 서버(101)는 단말기들(110 내지 113) 중 1 이상으로부터 트랜잭션 데이터를 수신할 수 있다.Further, in one or more embodiments, the enterprise business process server 101 may include call center terminal (s) 110 and data input terminals 111 via a LAN, WAN, dedicated telephone line, internetwork, internet, wireless network, or a combination thereof. May be coupled to one or more terminals, such as local user terminal (s) 112 and remote user terminal (s) 113. As such, corporate business process server 101 may receive transaction data from one or more of terminals 110-113.

또한, 기업 비즈니스 프로세스 서버(101)는 예를 들어 인터넷(109)을 이용하여 1 이상의 원격 단말기(113)에서 사용자들과 통신할 수 있다. 또한 이를 위해, 1 이상의 실시예에서 기업 비즈니스 프로세스 서버(101)는 웹 브라우저(web browser) 또는 신 클라이언트(thin client)를 포함할 수도 있다. 웹 브라우저는 데이터를 보여주며(display), 예를 들어 인터넷 또는 인터네트워크와 같은 네트워크를 통해 다른 컴퓨터들과 통신할 수 있다. 웹 브라우저는 사용자에게, 예를 들어 사용자에 의해 타이핑하여 삽입되거나 (컴퓨터 마우스와 같은) 포인팅 디바이스(pointing device)에 의해 선택되는 하이퍼링크(hyperlink)를 통해 항해(navigate)하는 방식을 제공할 수 있다. 웹 브라우저는 디스플레이를 통해 사용자에게 제시하도록, 예를 들어 HTML 포맷 문서(formatted document), 플레인 텍스트 문서(plain text document), 그래픽 이미지 및 XML 문서들과 같은 다양한 콘텐츠의 데이터를 전송하기 위해, 예를 들어 하이퍼텍스트 전송 규약(HyperText Transfer Protocol: HTTP) 또는 파일 전송 규약(File Transfer Protocol: FTP)과 같은 프로토콜을 사용할 수 있다.In addition, corporate business process server 101 may communicate with users at one or more remote terminals 113, for example, using the Internet 109. Also for this purpose, in one or more embodiments the enterprise business process server 101 may comprise a web browser or a thin client. The web browser displays the data and can communicate with other computers via a network such as the Internet or an internetwork, for example. The web browser may provide a way for the user to navigate through a hyperlink that is inserted by, for example, typed by the user or selected by a pointing device (such as a computer mouse). . The web browser may, for example, transmit data of various contents, such as an HTML formatted document, plain text document, graphic image and XML documents, to present to the user on a display. For example, protocols such as HyperText Transfer Protocol (HTTP) or File Transfer Protocol (FTP) can be used.

도 2는 본 발명의 1 이상의 실시예에 따른 기업 비즈니스 프로세스 서버(101)를 구현하는데 사용될 수 있는 컴퓨팅 플랫폼(computing platform)을 예시한다. 도 2에 예시된 바와 같이, 장비(200)는 프로세서(210), 메모리(220), 시스템 인터페이스(230), 사용자 인터페이스(240), 및 요소들(210 내지 240)을 함께 커플링하고 그 요소들 사이에서 협력 및 통신하게 하는 통신/데이터/제어 버스(250)를 포함할 수 있다.2 illustrates a computing platform that may be used to implement an enterprise business process server 101 in accordance with one or more embodiments of the present invention. As illustrated in FIG. 2, the equipment 200 couples the processor 210, the memory 220, the system interface 230, the user interface 240, and the elements 210-240 together and the elements thereof. Communication / data / control bus 250 to facilitate cooperation and communication between the two.

메모리(220)는 기업 비즈니스 프로세스 관리 시스템과 연계된 시스템 또는 사용자의 요구들에 따라 대안적인 구성들을 이용하여 구현될 수 있다. 시스템 인터페이스(230)는 장비(200)가 기업 비즈니스 프로세스 관리 시스템에 의해 이용된 데이터를 제공하는 컴포넌트들, 예를 들어 추가 기업 서버들로부터의 트랜잭션 데이터 공급들과 통신하게 하는 하드웨어 및 소프트웨어를 모두 포함할 수 있다.The memory 220 may be implemented using alternative configurations in accordance with the needs of a user or system associated with an enterprise business process management system. System interface 230 includes both hardware and software that allows equipment 200 to communicate with components that provide data used by an enterprise business process management system, such as transactional data supplies from additional enterprise servers. can do.

프로세서(210)는 메모리(220)로부터 인출(fetch)된 명령어들에 기초하여, 다른 요소들(220 내지 250)의 작동을 제어한다. 명령어들은 본 명세서에서 설명된 기업 비즈니스 프로세스 관리 시스템(100) 및 방법의 몇몇 또는 모든 작동을 지시하는 소프트웨어 코드를 포함하거나 그로서 구현될 수 있다. 메모리(220)는 이 코드를 포함할 수 있으며, 기업 비즈니스 프로세스 관리 시스템(100)에 의해 생성되거나 이용되는 데이터에 대한 스토리지 영역(storage area)을 포함할 수도 있다. 프로세서(210)는, 예를 들어 메모리(220)로 또는 메모리로부터 데이터를 전송하거나 (예를 들어, 정보를 입력 또는 출력하도록) 시스템 인터페이스(230) 또는 사용자 인터페이스(240)와 조합하여 동작하는 등을 위해, 명령어들을 인출하고, 그것들을 디코딩(decode)하며, 다른 요소들(120 내지 150)에 작용하거나 명령할 수 있다.The processor 210 controls the operation of the other elements 220-250 based on instructions fetched from the memory 220. The instructions may include or be implemented as software code that directs some or all of the operations of the enterprise business process management system 100 and methods described herein. The memory 220 may include this code and may include storage area for data generated or used by the enterprise business process management system 100. The processor 210 operates in combination with the system interface 230 or the user interface 240, for example to transfer data to or from the memory 220 (eg, to input or output information), or the like. Can retrieve instructions, decode them, and act on or command other elements 120-150.

프로세서(210)는 실제로 1 이상의 프로세서로서 구현될 수 있다. 프로세서(210)는 메모리(220)로부터 인출된 명령어들에 기초하여, 다른 요소들(220 내지 250)의 작동을 제어하도록 작동할 수 있다. 제어는, 예를 들어 중앙처리장치(central processing unit) 또는 다른 유사한 디바이스 내에서 프로세서(210)로 구현될 수 있다는 것을 이해하여야 한다. 이와 유사하게, 프로세서(210) 및 메모리(220)는 사용자 인터페이스(240)가 로컬 단말기(112) 및 원격 단말기(113)와 같은 사용자 단말기에서 구현되고 단말 스크린(terminal screen) 상에 그래픽 사용자 인터페이스(GUI)를 포함하게 하는 네트워크에 커플링된 1 이상의 서버를 통해 구현될 수 있다.Processor 210 may actually be implemented as one or more processors. The processor 210 may operate to control the operation of the other elements 220-250 based on instructions fetched from the memory 220. It is to be understood that the control may be implemented with the processor 210, for example, in a central processing unit or other similar device. Similarly, processor 210 and memory 220 may have a user interface 240 implemented in a user terminal, such as local terminal 112 and remote terminal 113, and on a terminal screen. GUI) can be implemented via one or more servers coupled to the network.

사용자 인터페이스(240)는, 예를 들어 단말 디스플레이, 키보드 및 마우스, 프린터 등과 함께 작동하는 하드웨어 및 소프트웨어를 포함할 수 있다. 또한, 사용자 인터페이스(240)는 사용자에게 정보를 출력하고 사용자로부터 정보를 입력하는 스피커 및 마이크로폰(도시되지 않음)을 포함할 수 있다. 사용자 인터페이스(240)는, 아래 설명되는 작업들을 수행하도록 사용자가 메모리(220) 내에 저장되고 프로세서(210)에 의해 사용되는 소프트웨어 프로그램들과 상호작용하게 하는 프로세서(210)와 관련하여 작동할 수 있다.User interface 240 may include, for example, hardware and software that works with a terminal display, keyboard and mouse, printer, and the like. In addition, the user interface 240 may include a speaker and a microphone (not shown) for outputting information to and inputting information from the user. User interface 240 may operate in conjunction with processor 210 to allow a user to interact with software programs stored in memory 220 and used by processor 210 to perform the tasks described below. .

기업 비즈니스 프로세스 서버(101)는, 예를 들어 적절하게 프로그램된 범용 컴퓨터의 부분들로서 구현될 수 있다. 시스템은, 예를 들어 ASIC 내에서 물리적으 로 별개인 하드웨어 회로들로서 구현될 수 있다. 따라서, 시스템(100)의 특정 형태가 본 명세서에서 설명된 실시예(들)와 다를 수 있다는 것을 이해하여야 한다. 예를 들어, 기업 비즈니스 관리 시스템(100)은 범용 컴퓨터, 예를 들어 개인용 컴퓨터 상에서 구현가능한 것으로 설명되었지만, 시스템을 구현하는 소프트웨어가 1 이상의 서브 상에 저장되는 네트워크 환경에서 상기 시스템이 구현될 수 있다는 것을 예상할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 서버(101)를 내리지(take down) 않고 사용자(예를 들어, 관리 사용자)가 비즈니스 프로세스 또는 단계들을 추가, 수정 또는 삭제하게 할 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 서버 어레이 또는 클러스터(cluster) 환경들 내에서 쉽게 기능하기 위해, 그리고 대용량 데이터의 처리를 위해 측정가능(scalable)할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 예를 들어 Microsoft Windows™ NT 인에이블 개인용 컴퓨팅 플랫폼을 포함할 수 있다.Corporate business process server 101 may be implemented, for example, as parts of a suitably programmed general purpose computer. The system can be implemented, for example, as physically separate hardware circuits within an ASIC. Accordingly, it should be understood that the specific form of system 100 may differ from the embodiment (s) described herein. For example, although enterprise business management system 100 has been described as implementable on a general purpose computer, for example a personal computer, it may be implemented in a network environment in which the software implementing the system is stored on one or more subs. You can expect that. In one or more embodiments, corporate business process server 101 may allow a user (eg, an administrative user) to add, modify or delete business processes or steps without taking down server 101. In addition, the enterprise business process server 101 may be scalable to easily function within server array or cluster environments and for processing of large amounts of data. In one or more embodiments, enterprise business process server 101 may include, for example, a Microsoft Windows ™ NT enabled personal computing platform.

1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 기업 비즈니스 프로세스 서버(101)가 본 명세서에서 설명된 비즈니스 프로세스 작업을 수행하도록 구성되게 하는 프로그램된 명령어들의 시리즈를 포함한 1 이상의 어플리케이션 프로그램을 포함할 수 있다. 특히, 1 이상의 실시예에서 도 3은 기업 비즈니스 프로세스 서버(101)의 기업 데이터 퀄리티 어플리케이션(300)의 기능적인 블록도를 예시한다. 도 3을 참조하면, 기업 데이터 퀄리티 어플리케이션(300)은 코어 구조(core architecure: 301), 사전정의된 뷰 툴(view tool)의 일 세트(302), 개발자의 키트(developer's kit: 303) 및 인터페이스 모듈(304)을 포함할 수 있으며, 이 는 비즈니스 분석가 인터페이스일 수 있다. 코어 구조(301)는 요구되는 특정 뷰에 따라 1 이상의 데이터 송신부로부터 어플리케이션 데이터 또는 트랜잭션 데이터를 얻고, 오류들에 대해 얻어진 데이터를 분석하며, 검출된 오류들을 로그(log)하고, 1 이상의 오류 리포트를 생성하는 프로그램된 명령어들의 시리즈를 포함할 수 있다. 기업 데이터 퀄리티 어플리케이션(300)은 어플리케이션 데이터에 존재하는 1 이상 타입의 오류들의 발생에 대해, 1 이상의 데이터 송신부로부터 얻을 수 있는 특정 타입의 어플리케이션 데이터를 분석하도록 디자인된 1 이상의 기능을 포함할 수 있다. 또한, 기업 데이터 퀄리티 어플리케이션(300)은 특정 어플리케이션의 내부 퀄리티 점검 프로세스들 또는 1 이상의 어플리케이션의 내부 프로세스의 기능들의 특정 세트의 실행을 요구하여, ETL 서버(102), EAI 서버(103), ERP 서버(104) 및 CRM 서버(105)를 포함하는 1 이상의 추가 기업 서버로 요구가 전송되게 하는 명령어들을 포함할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 명령/요구(예를 들어, 기능 호출(function call) 또는 절차 호출(procedure call)/RPC(Remote Procedure Call))를 전송할 수 있으며, TCP/IP 인터페이스를 통해 연계된 서버로부터 응답을 수신할 수 있다. 코어 구조(301)는 멀티-스레드(multi-threaded)가 아닌 여하한의 레거시 어플리케이션을 멀티-스레드 자격으로 자동으로 전환(convert)하는 멀티-스레드 관리층을 포함할 수 있다.In one or more embodiments, enterprise business process server 101 may include one or more application programs including a series of programmed instructions that cause enterprise business process server 101 to be configured to perform business process tasks described herein. Can be. In particular, in one or more embodiments, FIG. 3 illustrates a functional block diagram of an enterprise data quality application 300 of an enterprise business process server 101. Referring to FIG. 3, enterprise data quality application 300 includes a core architecure 301, a set of predefined view tools 302, a developer's kit 303 and an interface. Module 304, which may be a business analyst interface. The core structure 301 obtains application data or transaction data from one or more data transmitters according to the particular view required, analyzes the data obtained for errors, logs detected errors, and reports one or more error reports. It may include a series of programmed instructions to generate. The enterprise data quality application 300 may include one or more functions designed to analyze a particular type of application data obtainable from one or more data transmitters for the occurrence of one or more types of errors present in the application data. In addition, enterprise data quality application 300 may require the execution of a specific set of functions of internal quality checking processes of a particular application or internal processes of one or more applications, such that ETL server 102, EAI server 103, ERP server. Instructions can be sent to one or more additional enterprise servers, including 104 and CRM server 105. In one or more embodiments, enterprise business process server 101 may send commands / requests (eg, function calls or procedure calls / Remote Procedure Calls), and TCP / A response can be received from the associated server via the IP interface. The core structure 301 may include a multi-threaded management layer that automatically converts any legacy application that is not multi-threaded into a multi-threaded entitlement.

일 실시예에서, 비즈니스 분석가 모듈(304)은 본 명세서에서 설명된 인터페이스 모듈(예를 들어, 비즈니스 분석가 인터페이스 또는 BAI)을 구현하는 프로그램된 명령어들의 시퀀스를 포함할 수 있다. 이 명령어들은 기업 비즈니스 프로세스 관리 서버(101)에 의한 실행 중에, 기업 비즈니스 프로세스 관리 서버(101)가 사용자 언터랙션을 용이하게 하는 인터랙티브 수단들에 기업 비즈니스 프로세스 관리 시스템(100)을 제공하도록 유도할 수 있다. 특히, 비즈니스 분석가 모듈(304)은 예를 들어 디스플레이를 이용하여 프로세스 단계들이 그래픽으로 나타나게 하고, 비즈니스 프로세스의 1 이상의 프로세스 단계를 실행하는 경우에 기업 비즈니스 프로세스 서버에 의해 특정한 작동의 인터랙티브가 성취되게 하도록 작동가능한 명령어들을 포함할 수 있다. 이러한 것으로서, 비즈니스 분석가 모듈(304)이 개발자의 키트(303)에 대한 오버레이 어플리케이션(overay application)일 수 있다. 또한, 비즈니스 분석가 모듈(304)은 기업 비즈니스 프로세스 서버(101)가 예를 들어 데이터 저장 장치(106)와 같은 데이터 저장 장치로부터 인터페이스 모듈과 상호작용하는 사용자에 의해 정의된 비즈니스 프로세스를 구현하는 명령어들의 시퀀스를 회수하고, 형성하며, 컴파일(compile)하게 하도록 작동가능한 명령어들을 포함할 수 있다.In one embodiment, business analyst module 304 may include a sequence of programmed instructions that implement the interface module (eg, business analyst interface or BAI) described herein. These instructions may, during execution by the enterprise business process management server 101, cause the enterprise business process management server 101 to provide the enterprise business process management system 100 to interactive means that facilitate user interaction. have. In particular, the business analyst module 304 allows the process steps to be graphically represented using a display, for example, and allows the interaction of certain operations to be accomplished by the enterprise business process server when executing one or more process steps of the business process. It may include operable instructions. As such, business analyst module 304 may be an overlay application to developer's kit 303. In addition, the business analyst module 304 may include instructions for implementing a business process defined by a user whose corporate business process server 101 interacts with an interface module from a data storage device, such as, for example, the data storage device 106. It may include instructions operable to retrieve, form, and compile the sequence.

1 이상의 실시예에서, 기업 비즈니스 프로세스 시스템(100)은 1 이상의 오류 리포트의 형태로 오류 정보를 출력할 수 있다. 오류 리포트들은 여러가지 뷰에 따라 제시될 수 있다. 사전정의된 뷰 툴(302)은 뷰들의 사전정의된 세트에 따라 제공된 1 이상의 오류 리포트에 연계된 프로그래밍 명령어들을 포함할 수 있다. 예를 들어, 사전정의된 뷰 툴들은 기업 비즈니스 프로세스 서버(101)가 관리자의 뷰에 대한 데이터 송신부에서의 오류들의 숫자상 카운트(numeric count)를 포함한 오류 리포트를 출력하게 하는 명령어들을 제공할 수 있다. 또한, 본 명세서의 아래에서 예시적인 뷰들 및 리포트들이 설명된다.In one or more embodiments, enterprise business process system 100 may output error information in the form of one or more error reports. Error reports can be presented according to various views. The predefined view tool 302 may include programming instructions associated with one or more error reports provided according to a predefined set of views. For example, the predefined view tools may provide instructions that cause the enterprise business process server 101 to output an error report including a numeric count of errors in the data transmission for the manager's view. . Also, example views and reports are described below herein.

개발자의 키트(303)는, 특정 데이터, 소스(source), 오류 징후(error syndrome)를 분석하거나 사전정의된 뷰 툴(302)의 세트 외에 주문형 리포트들을 제공하는 주문형 뷰 툴들을 생성하고 사용하기 위해, 기업 비즈니스 프로세스 시스템(100)의 사용자들 또는 그 지명된 제 3 자에게 유용한 어플리케이션 프로그래밍 인터페이스(Application Programming Interface: API)를 포함할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)에 의해 지원되는 뷰들의 개수는 제한되지 않는다.The developer's kit 303 is for creating and using custom view tools that analyze specific data, sources, error syndromes, or provide custom reports in addition to a set of predefined view tools 302. It may include an application programming interface (API) useful to users of the enterprise business process system 100 or its designated third party. The number of views supported by the enterprise business process management system 100 is not limited.

1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 클라이언트-서버 구조에 따라 구현될 수 있다. 기업 데이터 퀄리티 어플리케이션(300)을 포함한 프로그램된 명령어들은 일반적인 Microsoft®C와 같지만 그에 제한되지는 않은 포터블 소스 코드(portable source code)로 구현될 수 있다. 기업 비즈니스 프로세스 서버(101)는 클러스터 및 서버 어레이들을 지원하기 위해 캡슐화(encapsulate)된 서버 디자인에 따라 구현될 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 대용량 데이터를 다루는 측정 가능성 및 신뢰성을 제공하기 위해, 로드 밸런싱(load balancing) 및 높은 가용성(availability)에 대한 제 3 자 기술의 사용을 허용하는 무상태 구조 접근법(stateless architecture approach)에 따라 구현될 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 멀티-스레드 또는 스레드-세이프(thread-safe)조차 아니었던 레거시 기술이 실시간, 병렬 처리(parallel processing) 환경에 빠르고 확실하게 추가될 것을 허용하도록 "샌드박스 기 술(sandbox technology)"(즉, 예를 들어 별도의 스레드를 통해 각각의 세션(session)을 다루는 것과 같은 프로세스 동기화 및 격리 기술들의 조합의 사용)을 이용할 수 있다.In one or more embodiments, enterprise business process server 101 may be implemented in accordance with a client-server architecture. Programmed instructions including enterprise data quality application 300 may be implemented in portable source code, such as, but not limited to, general Microsoft®C. Enterprise business process server 101 may be implemented according to a server design encapsulated to support clusters and server arrays. In addition, the enterprise business process server 101 is a stateless architecture approach that allows the use of third party technologies for load balancing and high availability to provide measurability and reliability for handling large amounts of data. It can be implemented according to a stateless architecture approach. In addition, the enterprise business process server 101 is a " sandbox device " to allow fast and reliable addition of legacy technology that was not multi-threaded or thread-safe to real-time, parallel processing environments. A "sandbox technology" (ie, the use of a combination of process synchronization and isolation techniques, such as, for example, handling each session through a separate thread).

도 4는 본 발명의 1 이상의 실시예에 따른 데이터 송신부/수신지, 제품들 및 프로세스들 간의 관찰(contemplate)된 하나의 관계를 예시한 기능적인 블록도이다. 도 4에 나타낸 바와 같이, 기업 비즈니스 프로세스 서버(101)는 1 이상의 데이터 송신부/수신지(305)로부터 기업 어플리케이션 또는 트랜잭션 데이터를 수신하고 1 이상의 데이터 송신부/수신지(305)로 전송할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 데이터 송신부/수신지(305)(예를 들어, 데이터 송신부/수신지 1에서 K까지)에 대한 오류를 검출한 이후에 보정된 데이터를 제공할 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 1 이상의 제품(315)(예를 들어, 제품 1에서 M까지)으로부터 프로세스 입력을 수신할 수 있다. 제품(315)은 기능 또는 기능들의 세트를 포함할 수 있다. 1 이상의 실시예에서, 기능은 값 또는 값들의 세트를 리턴(return)하는 라이브러리 내의 루틴(routine)일 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 예를 들어 본 명세서에서 설명된 데이터 퀄리티 보증 기능들(예를 들어, 프로세스 1에서 N까지)을 수행하기 위해, 1 이상의 프로세스(310)를 포함하거나 액세스할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 각 프로세스(310)에 대해 개별적인 오류 로그(325)를 제공할 수 있다. 생성된 여하한의 오류 로그(325)를 포함한 각 프로세스(310)로부터의 결과들은 (도 5에 대해 설명된 데이터 저장 장치(160)일 수 있는) 로그 데이터 저장 장치(320)를 이용하여 저장되고 유지될 수 있다.4 is a functional block diagram illustrating one observed relationship between data transmitters / destinations, products, and processes in accordance with one or more embodiments of the present invention. As shown in FIG. 4, enterprise business process server 101 may receive corporate application or transactional data from one or more data transmitters / destinations 305 and transmit to one or more data transmitters / destinations 305. In one or more embodiments, enterprise business process server 101 provides corrected data after detecting an error for data sender / destination 305 (eg, data sender / destination 1 through K). can do. In addition, corporate business process server 101 may receive process input from one or more products 315 (eg, products 1 through M). Product 315 may comprise a function or set of functions. In one or more embodiments, the function may be a routine in a library that returns a value or set of values. In addition, corporate business process server 101 may include or access one or more processes 310, for example, to perform data quality assurance functions (eg, processes 1 through N) described herein. Can be. In one or more embodiments, enterprise business process server 101 may provide a separate error log 325 for each process 310. The results from each process 310, including any error log 325 generated, are stored using log data storage 320 (which may be data storage 160 described with respect to FIG. 5). Can be maintained.

기업 비즈니스 프로세스 관리 시스템(100)은 어플리케이션 내에서 각각의 어플리케이션(데이터 송신부) 또는 데이터 세트에 대해 유일한 프로세스에서 제한되지 않은 개수의 상이한 공급자들의 제품을 이용하도록 디자인된 구조를 포함할 수 있다. 특히, 기업 비즈니스 프로세스 관리 시스템(100)은 다양한 플랫폼 상에서 상이한 공급자들의 제품들을 이용하고 이 제품들이 전체 기업에 걸쳐 이용되게 하는 비즈니스 프로세스에서 개별적인 프로세스 단계들을 생성하고, 실행하며, 관리하고, 보고하는 유일한 프로세스에 대해 프레임워크(framework)를 제공할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 다수-공급자 환경에 있어서 각 단계에서 처리되는 데이터의 퀄리티를 보존(archive)하거나 로그하는 단계를 제공할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 어플리케이션 내에서의 여하한의 어플리케이션(데이터 송신부) 또는 데이터 세트에 대한 유일한 프로세스에서, 다수 공급자들의 제품의 사용을 관리하고 트래킹(tracking)하며 보고하는 단계를 고려할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 프로세스 내의 상이한 설정들을 이용하여 동일한 공급자 또는 다수 공급자들로부터 동일한 기능들을 이용하도록 제공될 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은, 예를 들어 데이터 퀄리티와 같은 비즈니스 프로세스의 특정 측면들에 관한 기업 및 조직 내에서의 개별적인 성능, 비즈니스 유닛 또는 특별한 구매자(constituency)에 대한 상이한 뷰들을 제공할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은, 예를 들어 데이터 퀄리티 이슈와 같은 특정한 기업 이슈를 다루는데 가장 효과적인 기능 들 및 설정들의 선택에 대해 상이한 공급자들로부터 다양한 기능들 및 설정들의 유효성을 비교하기 위해 제공될 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 데이터 퀄리티 툴 및 데이터 퀄리티 프로세스와 같은 다수-공급자 어플리케이션들의 가장 빠른 구현을 위해 제공될 수 있다.The enterprise business process management system 100 may include a structure designed to use an unlimited number of products from different suppliers in a unique process for each application (data transmitter) or data set within the application. In particular, enterprise business process management system 100 is unique to creating, executing, managing, and reporting individual process steps in a business process that uses products from different suppliers on various platforms and makes these products available across the enterprise. You can provide a framework for your process. The enterprise business process management system 100 may provide for archiving or logging the quality of data processed at each stage in a multi-provider environment. The enterprise business process management system 100 may consider managing, tracking and reporting the use of products from multiple suppliers in a unique process for any application (data transmitter) or data set within the application. have. The enterprise business process management system 100 may be provided to use the same functions from the same provider or multiple suppliers using different settings within the process. Corporate business process management system 100 may provide different views of individual performance, business units or particular constituency within an enterprise and organization with respect to certain aspects of the business process, such as, for example, data quality. have. The enterprise business process management system 100 may be provided to compare the effectiveness of various functions and settings from different suppliers for the selection of the most effective functions and settings for dealing with a particular corporate issue such as, for example, a data quality issue. Can be. The enterprise business process management system 100 may be provided for the fastest implementation of multi-vendor applications such as data quality tools and data quality processes.

특히, 기업 비즈니스 프로세스 서버(101)는 비즈니스 프로세스 툴들이 기업 비즈니스 프로세스 서버(101)의 호스트인 그것들의 현재 컴퓨터 플랫폼 또는 동일한 플랫폼 상에서 사용되게 하는 공급자 독립 구조(vendor independent architecture)를 이용할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 비즈니스 프로세스가 정의된 시스템(100)에서 다수 비즈니스 어플리케이션들의 기능들을 재사용하기 위해 제공된다.In particular, enterprise business process server 101 may utilize a vendor independent architecture that allows business process tools to be used on their current computer platform or the same platform that is a host of enterprise business process server 101. In one or more embodiments, enterprise business process management system 100 is provided for reusing functions of multiple business applications in system 100 in which a business process is defined.

도 5는 1 이상의 실시예에 따른 시스템을 구현하는데 사용될 수 있는 장비를 예시한다. 특히, 기업 비즈니스 프로세스 시스템(100)은 기업 비즈니스 프로세스 서버(101)를 포함할 뿐만 아니라, 데이터 저장 장치(160) 및 뷰 엔진(view engine: 170)도 포함할 수 있다. 데이터 저장 장치(160)는 단일 데이터 저장 장치일 필요가 없고, 몇몇 데이터 저장 장치들을 함께 포함할 수 있다. 예를 들어, 데이터 저장 장치(160)는 OLAP(On-Line Analytical Processing Database) 또는 서머리 데이터베이스(Summary Database)일 수 있지만, 그에 제한되지는 않는다. 데이터 저장 장치(160)는 몇몇 뷰들(400) 중 하나에 따른 오류 리포트를 생성하도록 뷰 엔진(170)에 의해 사용되는 명령어들 및 규칙(rule)들을 포맷하는 단계를 포함할 수 있지만, 그에 제한되지는 않는다. 예를 들어, 뷰 엔진(170)은 데이터 저장 장치(160)로부터 포맷한 명령어들의 시퀀스를 얻을 수 있으며, 이에 따라 얻어진 명령어들을 연계된 뷰(400)에 따른 오류 리포트를 생성하는 단계에 적용할 수 있다. 1 이상의 실시예에서, 각각의 뷰(400)는 포맷한 명령어들의 특정 세트와 연계될 수 있다. 포맷한 명령어들은, 뷰 엔진(170)이 원하는 뷰에 따라 요구된 오류 리포트를 포함하는 인터랙티브 페이지를 렌더링(render)하게 하도록 디자인된 하이퍼텍스트 생성 언어(HyperText Markup Language: HTML) 또는 확장성 생성 언어(Extensible Markup Language: XML) 명령어들의 형태로 구현될 수 있다. 인터랙티브 페이지는, 예를 들어 월드 와이드 웹(world wide web) 페이지 또는 웹 브라우저 어플리케이션을 이용한 단말기(112 또는 113)에 보여줄 수 있는 페이지일 수 있다.5 illustrates equipment that may be used to implement a system in accordance with one or more embodiments. In particular, the enterprise business process system 100 may include not only the enterprise business process server 101 but also a data storage device 160 and a view engine 170. The data storage device 160 does not need to be a single data storage device, but may include several data storage devices together. For example, the data storage device 160 may be, but is not limited to, an On-Line Analytical Processing Database (OLAP) or a Summary Database. Data storage device 160 may include, but is not limited to, formatting instructions and rules used by view engine 170 to generate an error report in accordance with one of several views 400. Does not. For example, the view engine 170 may obtain a sequence of formatted instructions from the data storage device 160 and apply the resulting instructions to generating an error report according to the associated view 400. have. In one or more embodiments, each view 400 may be associated with a particular set of formatted instructions. The formatted instructions may be a HyperText Markup Language (HTML) or Extensible Generation Language (HTML) designed to allow the view engine 170 to render an interactive page containing the requested error report according to the desired view. Extensible Markup Language (XML) may be implemented in the form of instructions. The interactive page may be, for example, a world wide web page or a page that can be displayed on the terminal 112 or 113 using a web browser application.

도 5에서 알 수 있는 바와 같이, 기업 비즈니스 프로세스 관리 시스템(100)은 최종 사용자 뷰, 개발자 뷰, 관리자 뷰 및 경영진 뷰를 포함하지만 그에 제한되지는 않은 몇몇 상이한 뷰(400)를 제공할 수 있다. 아래에서, 도 7 내지 도 10에 대해 예시적인 뷰들(400)이 더 상세히 설명된다.As can be seen in FIG. 5, enterprise business process management system 100 can provide several different views 400, including, but not limited to, end user views, developer views, administrator views, and executive views. In the following, exemplary views 400 are described in more detail with respect to FIGS. 7 to 10.

기업 비즈니스 프로세스 관리 시스템(100)은 조직의 비즈니스 프로세스들의 유효성의 측정 및 관리를 허가하기 위해, 조직의 상이한 레벨들에 대한 프로세스 내의 각 단계의 결과들의 상이한 뷰(400)를 생성할 능력을 제공한다. 기업 비즈니스 프로세스 관리 시스템(100)은 상이한 뷰(400)에 대한 그래픽 정보를 생성하는 가시화 소프트웨어(visualization software)를 포함할 수 있다. 이 그래픽 정보는 분석 툴(analytical tool)들, 통계적 정보, 데이터 트래킹, 비용 분석, 및 1 이상의 실시예에서 데이터 퀄리티 내의 오류들을 감소시키는데 있어서 조직의 상이한 레벨들의 결과들의 영향의 표시를 포함할 수 있다.The enterprise business process management system 100 provides the ability to create different views 400 of the results of each step in the process for different levels of the organization to permit measurement and management of the effectiveness of the organization's business processes. . Corporate business process management system 100 may include visualization software that generates graphical information for different views 400. This graphical information may include analytical tools, statistical information, data tracking, cost analysis, and an indication of the impact of the results of different levels of organization on reducing errors in data quality in one or more embodiments. .

여러 가지 뷰(400)에 따른 오류 리포트들의 생성을 지원하기 위해, (온라인 어플리케이션 프로세싱 데이터베이스 또는 서머리 데이터베이스일 수 있는) 데이터 저장 장치(160)는, 데이터 송신부/수신지(305), 제품(315) 또는 데이터가 얻어졌던 프로세스(310)에 상관없이, 데이터 저장 장치(160) 내에 포함된 정보가 여하한의 뷰(400)의 생성에 대해 뷰 엔진(170)에 의해 동일하게 액세스가능한 일정 방식으로 포맷되고 배치되는 "단일 뷰"에 따른 오류 리포트 정보를 유지할 수 있다.To support the generation of error reports according to the various views 400, the data storage device 160 (which may be an online application processing database or a summary database) may include a data transmitter / destination 305, a product 315. Or regardless of the process 310 from which data was obtained, the information contained within the data storage device 160 is formatted in a manner that is equally accessible by the view engine 170 for the creation of any view 400. And maintain error report information according to a "single view".

기업 비즈니스 프로세스 관리 시스템(100)은 모든 데이터 송신부로부터 프로세스 내의 각 단계의 결과들을 로그할 수 있다. 이 로그는 데이터를 누가 보냈는지, 프로세스의 각 단계 동안 무엇이 일어났는지, 프로세스가 완료된 이후에 데이터가 어디로 보내졌는지에 관한 정보를 제공할 수 있다. 이 로그는 다수 뷰의 렌더링을 위해 그래픽 리포팅 시스템일 수 있는 뷰 엔진(170)으로 직접 공급할 수 있다.The enterprise business process management system 100 may log the results of each step in the process from all data transmitters. This log can provide information about who sent the data, what happened during each step of the process, and where the data was sent after the process was completed. This log can be fed directly to view engine 170, which can be a graphical reporting system for rendering multiple views.

1 이상의 실시예에서, 뷰 엔진(170)은 그들, 그 부서, 조직 또는 프로세스들이 수행하는 방식에 관한 정보를 전달하는 경영진, 관리자, 최종 사용자 및 프로세스 개발자들을 포함한 다양한 사용자에게 그래픽 리포트들을 제공할 수 있다. 특히, 1 이상의 실시예에서 뷰 엔진(170)은 다음의 뷰들(400), 예를 들어 경영진, 관리자, 사용자 및 개발자들에 대한 뷰들을 제공할 수 있다. 경영진 뷰는 전체 조직에 대한 데이터의 퀄리티 상의 그래픽 리포트들을 제공한다. 경영진들은 데이터 퀄리티 이슈들의 원인들 및 성능들을 비교하도록 조직 내에서의 모든 세그먼트의 성 능으로 하향 전개(drill down)할 수 있다. 또한, 경영진들은 관리자 및 사용자 리포팅 모듈에 대한 액세스를 갖는다. 관리자 뷰는 관리자의 조직(들) 및 부서(들) 내의 데이터의 퀄리티에 대한 그래픽 리포트들을 제공한다. 관리자들은 그들의 비즈니스 유닛 및 부서들의 성능으로 하향 전개하고, 예를 들어 데이터 퀄리티와 같은 이슈들의 원인들 및 성능들을 비교할 수 있다. 사용자 뷰는 사용자에 의해 시스템 내에 입력된 데이터의 퀄리티에 대한 그래픽 리포트들을 제공한다. 사용자들은 특정한 문제들을 하향 전개하고, 프로세스 내의 각 단계의 입력 및 출력 데이터 및 결과 코드들을 리뷰할 수 있다. 개발자 뷰는 개발자들이 결과들을 분석하고 결과들을 개선하는 프로세스로 변화시킬 수 있도록 모든 프로세스 및 단계의 결과들에 대한 그래픽 리포트들을 제공한다. 개발자들은 기능들의 시퀀스를 다시 조정하고, 기능들을 제거하며, 다른 공급자로부터의 기능들을 이용하고, 상이한 공급자들로부터의 새로운 기능들을 추가하며, 자체로 새로운 기능들을 생성할 수 있다.In one or more embodiments, view engine 170 may provide graphical reports to a variety of users, including executives, managers, end users, and process developers who communicate information about how they, their departments, organizations, or processes perform. have. In particular, in one or more embodiments, view engine 170 may provide the following views 400, for example, views for executives, managers, users, and developers. Executive views provide graphical reports on the quality of the data for the entire organization. Executives can drill down to the performance of every segment in the organization to compare the causes and capabilities of data quality issues. In addition, executives have access to administrator and user reporting modules. The manager view provides graphical reports on the quality of the data in the manager's organization (s) and department (s). Managers can roll down to the performance of their business units and departments and compare the causes and capabilities of issues such as, for example, data quality. The user view provides graphical reports on the quality of the data entered into the system by the user. Users can further develop specific problems and review the input and output data and result codes of each step in the process. The developer view provides graphical reports of the results of all processes and steps so that developers can transform them into a process of analyzing and improving the results. Developers can rearrange the sequence of features, remove features, use features from other providers, add new features from different providers, and create new features by themselves.

뷰 엔진(170)은 검증(validate)/보정되고 검증/보정되지 않는 데이터의 재정적 영향(financial impact)을 추가하는데 사용될 수 있는 통계적 모델링 패키지(statistical modeling package)들을 포함할 수 있다. 1 이상의 실시예에서, 뷰 엔진(170)은 예를 들어 Illumitek™Corp.ofDulles, Virginia로부터 이용가능한 그래픽 모델링 기술을 이용하여 구현될 수 있다.View engine 170 may include statistical modeling packages that may be used to add a financial impact of data that is validated / corrected and not verified / corrected. In one or more embodiments, view engine 170 may be implemented using, for example, graphical modeling techniques available from Illumitek ™ Corp. of Dulles, Virginia.

도 6은 기업 비즈니스 프로세스 관리 시스템(100)에 의해 수행될 수 있는 분석의 구현에 관한 또 다른 상세한 설명을 제공한다. 기업 데이터 퀄리티 관리 시스템(100)은, 기업 네트워크 내에 존재하는 모든 비즈니스 프로세스 제품들 내에서 이용가능한, 그리고 외부적으로 이용가능한 기능들 및 설정들의 전부 또는 서브세트를 이용하는 어플리케이션으로부터 각 어플리케이션 또는 데이터 세트에 대한 유일한 프로세스를 생성하기 위해 제공될 수 있다. 어플리케이션 내의 각각의 어플리케이션 또는 데이터 세트는 유일한 요구들을 충족시키기에 적절한 시퀀스 내의 모든 기능들 및 설정들을 이용할 수 있다. 이러한 비즈니스 프로세스들은 제한되지 않은 개수의 단계들로 구성될 수 있다. 각 단계는 기능 및 설정, 또는 특정 공급자로부터의 기능들 및 설정들의 시리즈들에 대응할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 다수-공급자 프로세스 내의 모든 단계의 결과들을 보존하고 로그할 수 있다. 로그 파일들은 텍스트 파일 또는 데이터 저장 장치에 자동으로 로그될 수 있다. 특히, 오류들이 결정되고 프로세스 레벨로 로그될 수 있다.6 provides another detailed description of an implementation of an analysis that may be performed by an enterprise business process management system 100. The enterprise data quality management system 100 is adapted from each application or data set to an application using all or a subset of the functions and settings that are available and externally available within all business process products residing within the enterprise network. Can be provided to create a unique process. Each application or data set in an application may use all the functions and settings in the sequence appropriate to meet unique needs. These business processes can consist of any number of steps. Each step may correspond to a function and setting, or a series of functions and settings from a particular provider. The enterprise business process management system 100 may preserve and log the results of all steps in the multi-provider process. Log files can be automatically logged to a text file or data storage device. In particular, errors can be determined and logged at the process level.

기업 비즈니스 프로세스 관리 시스템(100)은 다수-공급자, 다단계 프로세스 내의 공급자 기능들 및 설정들 각각의 강점 및 약점을 비교할 능력을 포함할 수 있다. 또한, 기업 비즈니스 프로세스 관리 시스템(100)은 비즈니스 프로세스 프로젝트들의 구현을 진척시키기 위해, 다수 공급자들로부터의 제품들 및 기능들을 설치하는 방법론을 사용하기에 빠르고 쉽게 제공될 수 있다. 따라서, 1 이상의 실시예에서 기업 비즈니스 프로세스 관리 시스템(100)은 공급자 독립일 수 있는 한편, 기존 비즈니스 프로세스 공급자 제품들, 고객 코드들 또는 서비스들을 포함하여, 추가 기업 서버 또는 어플리케이션 내에 포함된 모든 기능들에 대한 사용자 액세스를 허용할 수 있다. 본 명세서에서 설명된 기능 지향형 접근법의 사용을 통해, 사용자는 예를 들어 각 데이터 세트 및 데이터 송신부의 요구들에 적합하게 결정된 여하 한의 오더 내에서 상이한 공급자들로부터의 데이터 퀄리티 기능들과 같은 비즈니스 프로세스 기능들을 차례로 나열(sequence)할 수 있다. 또한, 사용자는 도 11에 대해 설명된 데이터 송신부 내에서의 각각의 데이터 세트에 대한 유일한 프로세스(310) 및 단계들을 확립할 수 있다.Enterprise business process management system 100 may include the ability to compare strengths and weaknesses of each of a multi-supplier, supplier functions and settings in a multi-step process. In addition, enterprise business process management system 100 may be provided quickly and easily to use a methodology of installing products and functions from multiple suppliers to advance the implementation of business process projects. Thus, in one or more embodiments the enterprise business process management system 100 may be supplier independent, while all functions contained within an additional enterprise server or application, including existing business process provider products, customer codes or services. Allow user access to. Through the use of the feature-oriented approach described herein, a user can use a business process function, such as data quality functions from different suppliers, within any order determined to suit the needs of each data set and data transmitter. You can sequence them. In addition, the user may establish a unique process 310 and steps for each data set within the data transmitter described with respect to FIG. 11.

공급자는 예를 들어 비즈니스 및 고객명의 요소들을 식별하고 별개의 필드(distinct field)로 분리하는 기능성; 주소의 각 요소들을 식별하고, 분리하며, 검증하고, 보정하는 기능성; 온라인 트랜잭션 및 일괄 처리에 대한 무기명(non-name) 및 주소 정보를 식별하고, 분리하며, 검증하고, 보정하며, 변한하는 기능성; 상이한 기록들 및 상이한 데이터 송신부들로부터 데이터를 통합정리하는 기능성; 추가 데이터를 갖는 근원 데이터를 증가(augment)시키는 기능성; 및 개인 또는 클라이언트의 단일 기록 또는 뷰를 생성하는 기능성을 제공하는 소프트웨어 회사일 수 있다.The supplier may, for example, have the ability to identify elements of business and customer names and separate them into distinct fields; Functionality to identify, separate, verify, and correct each element of an address; Functionality to identify, separate, verify, correct, and change non-name and address information for online transactions and batches; Functionality to organize data from different records and from different data transmitters; Functionality to augment the source data with additional data; And software companies that provide the functionality to create a single record or view of an individual or client.

기업 비즈니스 프로세스 관리 시스템(100)은 사용자가 어플리케이션으로부터 어플리케이션 또는 데이터 세트에 대한 프로세스를 생성하게 할 수 있는 그래픽 사용자 인터페이스(GUI)를 포함할 수 있다. 사용자는 데이터에 대한 포맷을 지정(specify)할 수 있으며, 각 단계에 대해 이용가능한 툴로부터 특정한 기능(들) 및 설정(들)을 호출함으로써 프로세스 내에 개별적인 단계들을 생성할 수도 있다. GUI는, 예를 들어 Java® 명령어들을 이용하여 구현될 수 있다. 사용자는 비즈니스 프로세스 프로세스가 완전히 정의되고 완료될 때까지 생성한 단계들의 수행을 반복할 수 있다. 프로세스는 단일 단계가 다단계 서브 프로세스를 나타낼 수 있는 계층 적 방식으로 나타내고, 보여주며, 항해할 수 있다. 프로세스 묘사 및 설명은 프린터와 같은 다른 출력 디바이스 상에서 제시될 수 있다. 프로세스 묘사 및 설명은 워드 프로세서, 순서도 어플리케이션 또는 웹 브라우저와 같은 외부 어플리케이션들에 의해 보여주고 조작하기 위해 이출(export)될 수 있다. 그 후, 사용자는 프로세스의 결과들에 대한 수신지(들)을 식별하고, 각 수신지로 송신될 정보가 무엇인지 결정할 수 있다. 프로세스 내에서 각 단계의 결과들은 텍스트 파일 또는 데이터 저장 장치로 로그될 수 있다. 텍스트 파일 또는 데이터 저장 장치 내에 저장되는 데이터는 그래픽 리포트들을 생성하는 가시화 소프트웨어를 포함할 수 있는 뷰 엔진에 의해 사용될 수 있으며, 이는 분석 정보, 통계적 정보, 데이터 트래킹, 비용 분석 및 조직 내의 상이한 레벨에 대한 데이터의 영향을 포함한다. 이 정보는, 예를 들어 데이터 퀄리티 프로그램과 같은 기업 비즈니스 프로세스의 유효성을 측정하고 모니터하는데 사용될 수 있다.The enterprise business process management system 100 may include a graphical user interface (GUI) that allows a user to create a process for an application or data set from an application. The user can specify the format for the data and create individual steps within the process by invoking specific function (s) and setting (s) from the tools available for each step. The GUI can be implemented using Java® commands, for example. The user can repeat the execution of the steps created until the business process process is fully defined and completed. Processes can be represented, shown, and navigated in a hierarchical manner, where a single step can represent a multi-step subprocess. Process descriptions and descriptions may be presented on other output devices, such as printers. Process descriptions and descriptions can be exported for viewing and manipulation by external applications such as word processors, flowchart applications or web browsers. The user can then identify the destination (s) for the results of the process and determine what information will be sent to each destination. The results of each step in the process can be logged to a text file or data storage device. The data stored in a text file or data storage device can be used by a view engine that can include visualization software to generate graphical reports, which can be used for analysis information, statistical information, data tracking, cost analysis and different levels within an organization. Include the impact of the data. This information can be used to measure and monitor the effectiveness of corporate business processes such as, for example, data quality programs.

도 39는 일 실시예에서 인터페이스 모듈(304), 기업 비즈니스 프로세스 서버(101) 및 라우터(3905) 간의 관계를 나타낸다. 도 39를 참조하면, 예를 들어 비즈니스 어플리케이션과 같은 데이터 송신부로부터의 입력 데이터(605)는 기업 비즈니스 프로세스 서버(101)에 의해 수신될 수 있다. 일 실시예에서, 입력 데이터(605)는 입력 데이터(605)가 적용될 특정 비즈니스 프로세스를 지정하는 프로세스 식별자(identifier)를 포함할 수 있다. 기업 비즈니스 프로세스 서버(101)는 입력 데이터(605) 프로세스 식별자를 삭제하고, 라우터(3905)의 지정된 비즈니스 프로세스에 입력 데이터(605)를 제공하도록 구성될 수 있다. 일 실시예에서, 라우 터(3905)는 1 이상의 비즈니스 프로세스(예를 들어, 프로세스 1, 2 및 3이 도 39에 도시되어 있음)를 구현하는 통합된 명령어 세트를 포함할 수 있다. 각각의 비즈니스 프로세스에 대한 명령어들은 프로세스 단계들을 수행하는 라우터(3905)의 외부에 있는 툴들(3910)(즉, 기능들)뿐만 아니라, 라우터(3905)의 외부의 비즈니스 어플리케이션들로부터 얻어지지만 라우터(3905) 상에 있는 툴들(3910)에 대한 호출을 포함할 수 있다.39 illustrates a relationship between an interface module 304, an enterprise business process server 101, and a router 3905 in one embodiment. Referring to FIG. 39, input data 605 from a data transmitter, such as, for example, a business application, may be received by the enterprise business process server 101. In one embodiment, input data 605 may include a process identifier that specifies a particular business process to which input data 605 is to be applied. The enterprise business process server 101 may be configured to delete the input data 605 process identifier and provide the input data 605 to the designated business process of the router 3905. In one embodiment, the router 3905 may include an integrated instruction set that implements one or more business processes (eg, processes 1, 2, and 3 are shown in FIG. 39). Instructions for each business process are obtained from business applications external to the router 3905, as well as tools 3910 (ie, functions) external to the router 3905 that perform the process steps, but the router 3905. May include calls to tools 3910 on the.

1 이상의 실시예에서, 라우터(3905)는 라우터(3905)에 대한 새로운 버전 또는 로드들이 서버(101)를 내릴 필요(즉, 서비스 불능)없이 현재 라우터(3905) 버전과 교체되고, 서비스 내에 배치되고 데이터 트래픽을 다룰 수 있는 호환성(interchangeable) 라우터일 수 있다. 라우터(3905)는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 제공된 현재 활동적인 비즈니스 프로세스들에 대한 명령어 세트를 포함할 수 있다. 새로운 라우터(3905) 버전은 새로운 비즈니스 프로세스 또는 수정된 비즈니스 프로세스에 따른 데이터 트래픽 핸들링을 시작하도록 형성되고 서비스 내로 배치될 수 있다. 일 실시예에서, 인터페이스 모듈(304)은 사용자 입력 기능 정보에 응답하여 새로운 비즈니스 프로세스 또는 수정된 비즈니스 프로세스를 구현하는 명령어 세트를 생성할 수 있다. 사용자는 예를 들어 인터페이스 모듈(304)에 의해 제공된 프로세스 디자이너 인터랙티브 페이지를 이용하여 기능 정보를 입력할 수 있다. 현재 라우터 버전을 새로운 라우터 버전으로 교체한 이후에, 입력 데이터(605)는 새로운 라우터 버전에 따라 다루어질 수 있다. 또한, 본 명세서에서 도 23a 내지 도 23d를 참조하여, 현재 라우터 버전을 새로운 라우터 버 전으로 교체하는 것에 관한 상세한 설명들이 서술된다.In one or more embodiments, the router 3905 is replaced with the current router 3905 version and placed in service without a new version or loads of the router 3905 having to unload (ie, out of service) the server 101. It may be an interchangeable router capable of handling data traffic. Router 3905 may include a set of instructions for currently active business processes provided by enterprise business process management system 100. The new router 3905 version may be formed and deployed into a service to begin handling data traffic according to a new or modified business process. In one embodiment, the interface module 304 may generate a set of instructions for implementing a new or modified business process in response to user input function information. A user may enter function information using, for example, a process designer interactive page provided by interface module 304. After replacing the current router version with a new router version, the input data 605 can be handled according to the new router version. Also described herein with reference to FIGS. 23A-23D are detailed descriptions of replacing the current router version with a new router version.

도 6을 참조하면, 방법(600)은 605에서 입력 데이터를 수신하는 기업 비즈니스 프로세스 서버(101)부터 시작할 수 있다. 입력 데이터(605)는 데이터 송신부/수신지(305)로부터 수신될 수 있다.Referring to FIG. 6, the method 600 may begin with an enterprise business process server 101 receiving input data at 605. The input data 605 may be received from the data transmitter / destination 305.

그 후, 입력 데이터가 프로세스 라우터로 통과될 수 있는 610에서 제어가 진행될 수 있다. 프로세스 식별자에 기초하여, 프로세스 라우터는 입력 데이터를 특정한 프로세스(310)(예를 들어, 프로세스 X)로 지향할 수 있다. 1 이상의 실시예에서, 프로세스 라우터는 서버(101)를 내리지 않고 프로세스들 및 단계들이 쉽고 빠르게 수정되게 할 수 있다(즉, 호환성 또는 쉽게 교체가능한(hot swappable) 라우터).Control may then proceed at 610 where input data may be passed to the process router. Based on the process identifier, the process router may direct the input data to a particular process 310 (eg, process X). In one or more embodiments, the process router may allow processes and steps to be easily and quickly modified (ie compatible or hot swappable router) without having to lower the server 101.

그 후, 프로세스(310)(예를 들어, 프로세스 X)가 입력 테이터를 수신하고 그것을 다단계 프로세스 내의 각 단계들로 통과시킬 수 있는 615에서 제어가 진행될 수 있다. 비즈니스 프로세스의 일 예시는, (특정 기업 어플리케이션과 연계된 데이터 송신부/수신지(305)로부터 얻어진) 트랜잭션 데이터가 예를 들어 미국 체신부(United States Postal Service) 데이터베이스와 같은 믿을만한 송신부(trusted source)에 비교되는 주소 검증 작업과 같은 데이터 퀄리티 프로세스이다. 그 후, 620의 제 2 단계에서 제어가 진행된 후에 635에서 후속 단계들(예를 들어, 단계 N)에서 제어가 진행될 수 있다. 프로세스(310) 내의 각 단계 이후에, 단계의 결과들은 예를 들어 오류 로그(325)와 같은 로그(630)로 입력될 수 있으며, 데이터는 다음 단계로 통과된다. 프로세스(310)의 각 단계의 결과들 및 오류 로그(325)는 데이 터 저장 장치 160과 같은 데이터 저장 장치 625 내에 저장될 수 있다. 앞서 언급된 바와 같이, 데이터 저장 장치(625)(및 데이터 저장 장치(160))는 OLAP(온라인 분석 처리 데이터베이스) 또는 서머리 데이터베이스일 수 있지만, 그에 제한되지는 않는다. 로깅은 서버 로깅(server Logging)(예를 들어, 서버에 의해 수신되는 모든 트랜잭션의 로깅, 서버 통계의 로깅)뿐만 아니라 프로세스 로깅(예를 들어, 트랜잭션 데이터 및 제품 능력들에 대한 분석을 위해 사용될 수 있는 프로세스 내의 각 단계의 상세한 로깅)을 포함할 수 있다.Control may then proceed at 615 where process 310 (eg, process X) may receive input data and pass it to each step in the multistep process. One example of a business process is that transaction data (obtained from a data sender / destination 305 associated with a particular enterprise application) is compared to a trusted source such as, for example, the United States Postal Service database. This is a data quality process such as address verification. Thereafter, after the control proceeds to the second step of 620, control may proceed to subsequent steps (eg, step N) at 635. After each step in process 310, the results of the step can be entered into a log 630, such as, for example, error log 325, and the data passed to the next step. The results of each step of the process 310 and the error log 325 may be stored in a data storage device 625 such as data storage device 160. As mentioned above, data storage device 625 (and data storage device 160) may be, but is not limited to, an OLAP (Online Analytical Processing Database) or summary database. Logging can be used for server logging (eg, logging of all transactions received by the server, logging of server statistics) as well as process logging (eg for analysis of transaction data and product capabilities). Detailed logging of each step in the process).

프로세스(310) 내의 최종 단계가 완료된 이후에, 프로세스 결과들이 출력 데이터 구조체에 적용될 수 있는 640으로 제어가 진행할 수 있다. 그 후, 출력 데이터는 데이터 송신부/수신지(305)에 제공될 수 있으며, 이에 따라 방법(600)에 대해 프로세싱이 종료될 수 있다.After the last step in process 310 is complete, control may proceed to 640 where the process results may be applied to the output data structure. The output data may then be provided to the data transmitter / destination 305, whereby processing may end for method 600.

1 이상의 실시예에서, 프로세스(310)는 ROME_ID, ROME_TIME, SECT_CODE, SOURCE_DEST, SUB_SOURCE_DEST, RETURN_CODE 및 INPUT COMPONENT 1-N과 같은 필드들을 포함할 수 있지만, 그에 제한되지는 않는다. 프로세스(310) 내의 각 단계는 ROME_UID, ROME_TIME, PRODUCT_ID, PRODUCT_RC, STEP_ID 및 OUTPUT COMPONENT 1-M과 같은 필드들을 포함할 수 있지만, 그에 제한되지는 않는다. 각각의 데이터 패킷은 동일한 데이터 패킷의 다수 제출(submission)의 결과들을 트래킹하는데 사용될 수 있는 유일한 식별자(예를 들어, "ROME_ID")를 가질 수 있다.In one or more embodiments, process 310 may include, but is not limited to, fields such as ROME_ID, ROME_TIME, SECT_CODE, SOURCE_DEST, SUB_SOURCE_DEST, RETURN_CODE, and INPUT COMPONENT 1-N. Each step within process 310 may include, but is not limited to, fields such as ROME_UID, ROME_TIME, PRODUCT_ID, PRODUCT_RC, STEP_ID, and OUTPUT COMPONENT 1-M. Each data packet may have a unique identifier (eg, "ROME_ID") that can be used to track the results of multiple submissions of the same data packet.

도 5를 참조하여 본 명세서에서 사전에 언급된 바와 같이, 예를 들어 1 D상의 실시예에서 기업 비즈니스 프로세스 서버(101)는 1 이상의 뷰(400)에 따른 오류 리포트들을 제공할 수 있다. 도 7은 본 발명의 1 이상의 실시예에 따른 경영진 뷰에 대한 오류 리포트의 일 예시이다. 도 7에 나타낸 바와 같이, 경영진 뷰(700)는 기업의 여러 가지 부서(705)에 대한 데이터 오류 정보를 제공하는 1 이상의 오류 리포트를 포함할 수 있다. 예를 들어, 도 7에 나타낸 예시적인 경영진 뷰(700)는 예를 들어 올바른 동작이 수행될 수 있도록 데이터 퀄리티와 같은 기업의 측면으로 요구하는 사용자(예를 들어, 기업 경영진) 가시성(visibility)을 제공하여, 마케팅, 재정, 판매, 개발, 웹 및 고객 지원 부서들을 포함한 부서들(705)에 대한 오류 리포트를 제시할 수 있다. 1 이상의 실시예에서, 정확하지 않고 오류가 있는 기록들은 올바르지 않았음과 이러한 이유를 나타내도록 표시된다.As previously mentioned herein with reference to FIG. 5, for example, in an embodiment on ID, enterprise business process server 101 may provide error reports according to one or more views 400. 7 is an illustration of an error report for an executive view in accordance with one or more embodiments of the present invention. As shown in FIG. 7, executive view 700 may include one or more error reports that provide data error information for various departments 705 of the enterprise. For example, the example executive view 700 depicted in FIG. 7 provides visibility to users (eg, corporate executives) that require aspects of the enterprise, such as data quality, for example so that correct actions can be performed. Provide error reports for departments 705 including marketing, finance, sales, development, web and customer support departments. In one or more embodiments, inaccurate and erroneous records are marked to indicate that they are incorrect and for this reason.

특히, 오류 리포트는 차트들(715 및 720), 순위(ranking), 또는 기업 어플리케이션 데이터 또는 트랜잭션 데이터의 주어진 세트에서 검출된 오류들의 통계적 분석과 같은 툴들을 이용하여, 숫자 형태뿐만 아니라 그래픽 형태로 제공할 수 있다. 예를 들어, 1 이상의 실시예에서 기업 비즈니스 프로세스 관리 시스템(100)은 상이한 부서들(705) 내의 어플리케이션들에 대해 검출된 데이터 오류들의 순위(720), 부서(705) 안팎으로 흐르는 데이터 트랜잭션들에 대한 트래픽 세기 표시기, 시간에 걸쳐 각 부서(705)에 대한 생산성의 변화를 나타낸 생산성 차트(715), 및 부서들(705)에 대한 데이터 퀄리티와 연계된 강점, 약점, 비용 및 이득의 프로세스 오류 분류(725)와 같지만 그에 제한되지는 않은 정보를 요구하는 사용자에게 제공하는 분석 프로세스를 수행할 수 있다.In particular, error reports are provided in graphical as well as numerical form, using tools such as charts 715 and 720, ranking, or statistical analysis of errors detected in a given set of enterprise application data or transaction data. can do. For example, in one or more embodiments, the enterprise business process management system 100 may include a ranking 720 of data errors detected for applications in different departments 705, data transactions flowing into and out of department 705. Traffic strength indicators, productivity charts 715 showing changes in productivity for each department 705 over time, and process error classification of strengths, weaknesses, costs, and benefits associated with data quality for departments 705. As in 725, an analysis process may be provided that provides the user with the information request.

이와 유사하게, 도 8 내지 도 10은 각각 1 이상의 실시예에 따른 고객 지원 뷰(800), 개인 뷰(900), 및 관리자 뷰(1000)에 대한 오류 리포트의 예시들이다. 도 7에 나타낸 것들과 동일한 참조 부호들을 포함한 아이템들은 그에 대해 사전에 설명된 바와 같다.Similarly, FIGS. 8-10 are examples of error reports for customer support view 800, personal view 900, and administrator view 1000, respectively, according to one or more embodiments. Items containing the same reference signs as those shown in FIG. 7 are as previously described for it.

특히, 개인 뷰(900)에 대해 기업 비즈니스 프로세스 관리 시스템(100)은, 예를 들어 특정 개인에 기인(attributable)하는 데이터 오류들로 요구하는 사용자에게 가시성을 제공할 수 있다. 예를 들어, 도 9는 특정 개인(905)과 연계된 강점, 약점, 비용 및 이득의 프로세스 오류 분류(725)뿐만 아니라, 개인(905)이 범한 오류 타입(910) 및 개인(905)에 기인하는 시간에 걸쳐 분포된 오류들의 개수를 나타낸다. 도 9의 오류 리포트의 예시적인 오류 분류(725)는, 개인(905)이 주소 정보를 입력하는데 강하고(즉, 오류를 거의 범하지 않음), 이름을 입력하는데 약하며(즉, 오류가 많음), 상이한 시간 주기에 80, 74 및 22 개의 오류들을 범하였고, 데이터 오류들의 결과로서 기업이 $800를 소비하게 했다.In particular, for personal view 900, enterprise business process management system 100 may provide visibility to a user who requires, for example, data errors that are attributed to a particular individual. For example, FIG. 9 is due to the process error classification 725 of the strengths, weaknesses, costs, and benefits associated with a particular person 905, as well as the error type 910 and person 905 committed by the person 905. It represents the number of errors distributed over time. An exemplary error classification 725 of the error report of FIG. 9 is that an individual 905 is strong at entering address information (i.e., seldom makes an error), weak at entering a name (i.e., has many errors), 80, 74, and 22 errors were committed in different time periods, causing the company to spend $ 800 as a result of data errors.

또한, 관리자 뷰(1000)에 대해 기업 비즈니스 프로세스 관리 시스템(100)은 요구하는 사용자(예를 들어, 기업 관리자)에게 특정 개인들(905) 및 그룹으로서 개인들에 기인하는 데이터 오류들로 가시성을 제공할 수 있다. 예를 들어, 도 10은 다수 개인들(905)과 연계된 강점, 약점, 비용 및 이득의 프로세스 오류 분류(725)뿐만 아니라, 각각의 개인들(905)이 범한 오류 타입(910) 및 그룹에 기인하는 시간에 걸쳐(예를 들어, 현재 시각) 분포된 오류들의 개수(915)를 나타낸다. 또한, 각 개인(905)에 기인된 데이터 오류들에 대해 기업에 의해 초래된 일간 비용을 나타내는 시간 주기당 비용 차트(1005)가 제공될 수도 있다.In addition, for the manager view 1000, the enterprise business process management system 100 provides visibility to data requests due to individuals as a group of individuals (905) and a group to the requesting user (eg, a corporate administrator). Can provide. For example, FIG. 10 illustrates the process error classification 725 of strengths, weaknesses, costs, and benefits associated with multiple individuals 905, as well as the type of error 910 and group each individual 905 has committed. Represents the number 915 of errors distributed over time (eg, current time) attributable. In addition, a cost per time period chart 1005 may be provided that represents the daily cost incurred by the enterprise for data errors caused by each individual 905.

1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 사용자(예를 들어, 관리상의 사용자)가 기업 비즈니스 프로세스 서버(101)에 의해 실행하는 비즈니스 프로세스(310)를 생성하고 확립할 자격을 제공할 수 있다. 도 11은 1 이상의 실시예에 따른 기업 비즈니스 프로세스 관리 시스템(100)에 대한 예시적인 데이터 퀄리티 프로세스를 확립하는 방법(1100)의 순서도이다. 상기 방법(1100)은 프로세스(310)를 생성하도록 사용자 요구를 수신하는 기업 비즈니스 프로세스 서버(101)에 대해 1105에서 시작할 수 있다. 사용자는, 예를 들어 기업 데이터 퀄리티 어플리케이션(300)의 그래픽 사용자 인터페이스 부분에 의해 제공된 인터랙티브 페이지 상에 포함되는 연계된 하이퍼링크를 선택하는 포인팅 디바이스를 이용함으로써, 프로세스(310)를 생성하는 요구를 입력할 수 있다.In one or more embodiments, corporate business process management system 100 provides a user (eg, an administrative user) with the ability to create and establish a business process 310 that is executed by corporate business process server 101. can do. 11 is a flowchart of a method 1100 of establishing an exemplary data quality process for an enterprise business process management system 100 in accordance with one or more embodiments. The method 1100 may begin at 1105 for an enterprise business process server 101 that receives a user request to create a process 310. The user inputs a request to create a process 310, for example by using a pointing device to select the associated hyperlink included on the interactive page provided by the graphical user interface portion of the enterprise data quality application 300. can do.

그 후, 1110으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스 명을 생성하고 프로세스(310)에 대한 데이터 송신부를 선택하게 한다. 도 12는 사용자가 프로세스 명, 설명 및 연계된 데이터 송신부(305)를 입력할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1200)의 일 예시이다.Control may then proceed to 1110 where the enterprise business process server 101 allows the user to create a process name and select a data transmitter for process 310. 12 is an example of an interactive page 1200 provided by an enterprise business process server 101 through which a user may enter a process name, description, and associated data transmitter 305.

그 후, 1115로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 필요에 따라 사용자가 새로운 데이터 송신부(305)를 입력하게 한다. 사용자가 새로운 데이터 송신부(305)를 추가하도록 요구함으로써 응답하는 경우, 1120으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 데이터 송신부(305)를 추가하도록 인터랙티브 페이지(1300)를 생성하고 출력할 수 있다. 도 13은 사용자가 데이터 송신부 이름, 설명, IP 주소, 포트 넘버(Port Number) 및 플랫폼 식별자와 같지만 그에 제한되지는 않은 정보를 입력함으로써 데이터 송신부(305)를 추가할 수 있는, 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1300)의 일 예시이다.Control may then proceed to 1115 where the enterprise business process server 101 allows the user to enter a new data transmitter 305 as needed. If the user responds by requesting to add a new data sender 305, control may proceed to 1120, where the enterprise business process server 101 provides an interactive page 1300 for the user to add a data sender 305. You can create and print FIG. 13 illustrates an enterprise business process server, in which a user may add a data transmitter 305 by inputting information such as, but not limited to, a data transmitter name, description, IP address, port number, and platform identifier. An example of the interactive page 1300 provided by 101 is an example.

그 후, 1125로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)에 대한 입력 패킷을 생성하게 할 수 있다. 도 14는, 입력 요소 이름, 타입, 길이 및 설명과 같지만 그에 제한되지는 않은 속성(attribute) 정보를 입력함으로써 사용자가 입력 패킷을 생성하는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1400)의 일 예시이다. 입력 요소 타입은 불(boolean), 문자(character), 이중 문자(double character), 확장 문자(wide character)(UNICODE), 부동 소수(floating point), 십진수(decimal), 정수(integer), 긴 정수(long integer) 또는 짧은 정수(short integer)와 같지만 그에 제한되지는 않은 입력 패킷에 대한 데이터 타입을 지정할 수 있다.Control may then proceed to 1125 where the enterprise business process server 101 may allow the user to generate an input packet for the process 310. 14 shows an interactive page 1400 provided by an enterprise business process server 101 where a user generates an input packet by entering attribute information such as, but not limited to, input element name, type, length, and description. Is one example. Input element types are boolean, character, double character, wide character (UNICODE), floating point, decimal, integer, long integer You can specify the data type for an input packet, such as, but not limited to, long integer or short integer.

그 후, 1130으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)에 대한 출력 패킷을 생성하게 할 수 있다. 도 15는, 출력 요소 이름, 타입, 길이 및 설명과 같지만 그에 제한되지는 않은 속성 정보를 입력함으로써 사용자가 출력 패킷을 생성할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1500)의 일 예시이다. 출력 요소 타입은 불, 문자, 이중 문자, 확장 문자(UNICODE), 부동 소수, 십진수, 정수, 긴 정수 또는 짧은 정수와 같지만 그에 제한되지는 않은 출력 패킷에 대한 데이터 타 입을 지정할 수 있다.Control may then proceed to 1130 where the enterprise business process server 101 may allow the user to generate an output packet for the process 310. 15 illustrates an interactive page 1500 provided by an enterprise business process server 101 that allows a user to generate an output packet by inputting attribute information such as, but not limited to, output element name, type, length, and description. One example. The output element type can specify data types for output packets, such as, but not limited to, Boolean, character, double character, extended character (UNICODE), floating point, decimal, integer, long integer, or short integer.

그 후, 1135로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)와 연계될 제품(315)(또는 그 경우일 때의 기능 또는 기능들의 세트)을 선택하게 할 수 있다. 제품(315)은 기능 또는 기능들의 세트를 포함할 수 있다. 도 16은, 최소로서 예를 들어 풀-다운 리스트(pull-down list)로부터의 제품(315)의 선택 및 제품 설명을 입력함으로써 사용자가 제품(315)을 선택할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1600)의 일 예시이다.Control may then proceed to 1135 where the enterprise business process server 101 allows the user to select the product 315 (or function or set of functions at that time) to be associated with the process 310. can do. Product 315 may comprise a function or set of functions. FIG. 16 illustrates, as minimum, an enterprise business process server 101 that allows a user to select a product 315 by entering a product description and selection of a product 315 from a pull-down list, for example. One example of an interactive page 1600 provided by.

그 후, 1140으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 필요에 따라 제품(315)을 추가하게 할 수 있다. 사용자가 제품(315)을 추가하도록 요구함으로써 응답하는 경우, 1145로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 제품(315)을 추가하도록 인터랙티브 페이지(1700)를 생성하고 출력할 수 있다. 도 17은, 제품명, 제품 타입, 버전 및 제품 템플릿과 같지만 그에 제한되지는 않은 정보를 입력함으로써 사용자가 제품(315)을 추가할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1700)의 일 예시이다. 본 명세서의 APPENDIX A는 제품 템플릿을 생성하는 슈도코드(pseudocode) 명령어들의 예시적인 시퀀스를 제공한다.Control may then proceed to 1140 where the enterprise business process server 101 may allow the user to add product 315 as needed. If the user responds by requesting to add product 315, control may proceed to 1145, where enterprise business process server 101 generates interactive page 1700 for the user to add product 315 and You can print 17 illustrates an interactive page 1700 provided by an enterprise business process server 101 through which a user may add a product 315 by entering information such as, but not limited to, product name, product type, version, and product template. Is one example. APPENDIX A herein provides an exemplary sequence of pseudocode instructions for generating a product template.

그 후, 1150으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)에 대한 데이터 수신지(305)를 선택하게 할 수 있다. 도 18은 사용자가 데이터 수신지 이름 및 설명을 입력할 수 있는, 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1800)의 일 예시이다.Control may then proceed to 1150, where the enterprise business process server 101 may allow the user to select a data destination 305 for the process 310. 18 is an example of an interactive page 1800 provided by an enterprise business process server 101 through which a user may enter a data destination name and description.

그 후, 1155로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 필요에 따라 새로운 데이터 수신지(305)를 입력하게 할 수 있다. 사용자가 새로운 데이터 수신지(305)를 추가하도록 요구함으로써 응답하는 경우, 1160으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 데이터 수신지 이름, IP 주소, 포트 넘버 및 설명과 같지만 그에 제한되지는 않은 정보를 입력함으로써 사용자가 데이터 수신지(305)를 추가하도록 인터랙티브 페이지(도시되지 않음)를 생성하고 출력할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)에 의한 데이터 출력의 전체 또는 일부분은 1 이상의 데이터 수신지(305)로 향할 수 있다.Control may then proceed to 1155 where the enterprise business process server 101 may allow the user to enter a new data destination 305 as needed. If the user responds by requesting to add a new data destination 305, control may proceed to 1160 where the enterprise business process server 101 is the same as the data destination name, IP address, port number, and description. By inputting information that is not limited thereto, an interactive page (not shown) may be generated and output for the user to add a data destination 305. In one or more embodiments, all or part of the data output by enterprise business process server 101 may be directed to one or more data destinations 305.

그 후, 1165로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)를 확립하게 할 수 있다. 도 19는 사용자가 앞서 설명된 프로세스(310)와 연계된 정보를 리뷰하고 확증할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1900)의 일 예시이다. 페이지(1900)에 의해 서머리 프로세스 정보는 프로세스 명, 그 데이터 송신부(305), 입출력 데이터 명세(specification), 연계된 제품(315) 리스트 및 프로세스 출력에 대한 데이터 수신지(들)(305)를 포함할 수 있지만, 그에 제한되지는 않는다. 프로세스(310)가 생성된 이후에, 그것은 편집될 수 있다(즉, 소스 코드 편집). 1 이상의 실시예에서, 명령어들은 소스 코드 명령어들일 수 있다.Control may then proceed to 1165, where the enterprise business process server 101 may allow the user to establish a process 310. 19 is an example of an interactive page 1900 provided by an enterprise business process server 101 through which a user can review and confirm information associated with the process 310 described above. The summary process information by page 1900 includes the process name, its data transmitter 305, input / output data specification, associated product 315 list, and data destination (s) 305 for process output. You can, but are not limited to that. After process 310 is created, it can be edited (ie, source code editing). In one or more embodiments, the instructions may be source code instructions.

상기 방법(1100)에 대한 프로세싱은 1170에서 종료될 수 있다.Processing for the method 1100 may end at 1170.

설명된 시스템 및 방법으로부터의 데이터 출력은 1 이상의 수신지(305)에 전체적으로 또는 부분적으로 제공될 수 있다는 것을 유의하여야 한다. 다시 말하면, 모든 출력 데이터가 단일 수신지(305)로 지향될 수 있다. 대안적으로, 출력 데이터의 부분들이 다수 수신지들(305)로 송신될 수 있다.It should be noted that data output from the described systems and methods may be provided in whole or in part to one or more destinations 305. In other words, all output data can be directed to a single destination 305. Alternatively, portions of the output data may be sent to multiple destinations 305.

도 24는 일 실시예에서 데이터 퀄리티 비즈니스 프로세스들의 수신지에 관련하여 기능들, 프로세스들 및 제품들(예를 들어, 툴) 간의 관계를 나타내는 기능적인 블록도를 제공한다.FIG. 24 provides a functional block diagram illustrating a relationship between functions, processes, and products (eg, a tool) with respect to a destination of data quality business processes in one embodiment.

1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 인터페이스 모듈을 포함할 수 있으며, 그것의 일 예시는 아래에서 더 상세히 설명된다. 또한, 인터페이스 모듈은 본 명세서에서 사전에 설명된 사용자 인터페이스의 측면들을 포함할 수 있다. 일 실시예에서, 인터페이스 모듈(304)은 도 3에 나타낸 기업 데이터 퀄리티 어플리케이션(300)의 컴포넌트로서 구현될 수 있다. 인터페이스 모듈은 기업 비즈니스 프로세스 관리 시스템(100)을 이용하여, 사용자가 비즈니스 프로세스에 대한 기능 단계들의 시퀀스를 정의하고, 생성하며, 수정하고, 테스트하며, 실행할 자격을 제공할 수 있다. 특히, 인터페이스 모듈은 예를 들어 특정한 프로세스 단계를 나타내는 디스플레이 위치에서 프로세스 기능들에 관한 기호들을 선택하고 이동시킴으로써(예를 들어, 드래그(drag)하고 드롭(drop)함으로써) 사용자가 비즈니스 프로세스를 정의하거나 수정하게 하는 인터랙티브 그래픽-지향형 프로세스 명세화 툴(interactive graphically-oriented process specification tool)을 포함할 수 있다. 각각의 프로세스 단계들은, 일반적으로 도 20에 나타낸 바와 같이, 예를 들어 함께 그룹화된 1 이상의 기능 아이콘들로서 나타낼 수 있다. 도 20은 1 이상의 실시예에 따라 제공된 예시적인 프로세스 디자이너 인터페이스 인터랙티브 디스플레이(2000)를 나타낸다. 따라서, 인터페이스 모듈 프로세스 디자이너는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 수행될 비즈니스 프로세스를 정의하거나 지정하는데 사용될 수 있다. 개발자의 툴키트(303)에 대한 오버레이 어플리케이션으로서, 인터페이스 모듈(304)은 본 명세서에서 사전에 설명된 도 12 내지 도 19와 유사하거나 그에 추가하여 인터랙티브 페이지를 제공할 수 있다.In one or more embodiments, enterprise business process management system 100 may include an interface module, one example of which is described in more detail below. In addition, the interface module may include aspects of the user interface previously described herein. In one embodiment, the interface module 304 may be implemented as a component of the enterprise data quality application 300 shown in FIG. 3. The interface module may use the enterprise business process management system 100 to provide a user with the ability to define, create, modify, test, and execute a sequence of functional steps for a business process. In particular, the interface module allows the user to define a business process, for example by selecting and moving symbols (e.g., dragging and dropping) about process functions at a display location representing a particular process step. It may include an interactive graphically-oriented process specification tool for making modifications. Each process step may be represented, for example, as one or more functional icons grouped together, as shown in FIG. 20. 20 illustrates an example process designer interface interactive display 2000 provided in accordance with one or more embodiments. Thus, the interface module process designer can be used to define or specify a business process to be performed by the enterprise business process management system 100. As an overlay application for the developer's toolkit 303, the interface module 304 may provide an interactive page similar to or in addition to FIGS. 12-19 previously described herein.

기능들은 특정 작업을 수행하는 프로그램의 지명된 섹션(named section)일 수 있다. 이러한 의미에서, 기능은 절차 또는 루틴의 형태일 수 있다. 몇몇 프로그래밍 언어들은 값을 리턴하는 기능과 몇몇 작업들을 수행하지만 값을 리턴하지 않는 절차를 분명히 구별한다. 대부분의 프로그래밍 언어들은 라이브러리 내에 유지되어 있는 사전기록된(prewritten) 기능들의 세트가 수반된다. 또한, 특수화된 작업들을 수행하는 커스텀 기능(custom function)들이 개발될 수도 있다. 예를 들어, C 언어 및 소정의 다른 프로그래밍 언어들에서, 기능은 별개의 서비스를 수행하는 지명된 절차이다. 상기 기능을 요구하는 언어문은 기능 호출이라고 불려진다.Functions may be named sections of a program that perform a particular task. In this sense, the function may be in the form of a procedure or routine. Some programming languages make a clear distinction between a function that returns a value and a procedure that does some work but does not return a value. Most programming languages involve a set of prewritten functions that are maintained in a library. In addition, custom functions may be developed that perform specialized tasks. For example, in the C language and certain other programming languages, a function is a named procedure for performing a separate service. Language statements that require the function are called function calls.

도 20을 참조하면, 프로세스 디자이너 인터랙티브 디스플레이(2000)는 기능 라이브러리(2005), 프로세스 입력 영역(2010), 프로세스 단계 정의 영역(2015) 및 프로세스 출력 영역(2020)을 포함할 수 있다. 각각의 프로세스 단계(2025)는 프로세스 단계 정의 영역(2015) 내에서, 예를 들어 기능 입력(2030), 기능 출력(2040) 및 기능 식별자(2035) 중 하나 또는 그룹으로서 나타낼 수 있다. 각각의 기능 입력(2030)은, 예를 들어 링크(2045)를 이용하여 프로세스 입력 영역(2010) 내의 입력 요소(2075)에 링크될 수(링크되지 않을 수) 있다. 또한, 링크(2045)는 연결 또는 "로드(road)"라고 언급될 수도 있다. 이와 유사하게, 각각의 기능 출력(2040)은, 예를 들어 링크(2045)를 이용하여 프로세스 출력 영역(2020) 내의 출력 요소(2080)에 링크될 수(링크되지 않을 수) 있다. 일 실시예에서, 링크들(2045)은 예를 들어 입력 요소(2075)로부터 기능 입력(2030)까지와 같이, 송신부로부터 수신지까지 정보의 흐름 방향을 나타내도록 사용될 수 있다. 정보의 흐름은 수신지 또는 타겟을 결정하도록 패킷 헤더 정보 및 라우팅 테이블(routing table)을 이용하는 1 이상의 라우터에 의해 제어될 수 있다. 또한, 프로세스 단계들(2025)은 예를 들어 비즈니스 프로세스에서 실질적으로 성취될 계속적인 프로세스 단계들(2025)의 체인(chain)을 형성하도록 링크될 수 있다.Referring to FIG. 20, the process designer interactive display 2000 may include a function library 2005, a process input area 2010, a process step definition area 2015, and a process output area 2020. Each process step 2025 may be represented within process step definition area 2015 as, for example, one or a group of function input 2030, function output 2040, and function identifier 2035. Each functional input 2030 may be linked (not linked) to an input element 2075 in the process input area 2010 using, for example, a link 2045. Link 2045 may also be referred to as a connection or “road”. Similarly, each functional output 2040 may be linked (not linked) to an output element 2080 in the process output region 2020, for example using a link 2045. In one embodiment, links 2045 may be used to indicate the direction of flow of information from a transmitter to a destination, such as, for example, from input element 2075 to function input 2030. The flow of information may be controlled by one or more routers using packet header information and routing tables to determine a destination or target. In addition, process steps 2025 may be linked, for example, to form a chain of continuous process steps 2025 to be substantially accomplished in a business process.

도 25는 일 실시예에서 제공된 기능 오버뷰 인터랙티브 페이지의 일 예시를 나타낸다. 도 25를 참조하면, 기능 오버뷰 페이지(2500)는 기능 라이브러리(2005) 내에 현재 포함된 모든 기능들의 리스트 출력(listing)을 제공할 수 있다. 그 안의 기능들은, 예를 들어 생성 명령에 의해서 연대기적으로와 같이 여러 가지 기준에 따라 명령될 수 있다.25 illustrates an example of a functional overview interactive page provided in an embodiment. Referring to FIG. 25, the function overview page 2500 may provide a list of all functions currently included in the function library 2005. The functions therein can be ordered according to various criteria, for example chronologically by means of a creation command.

도 26은 일 실시예에서 제공된 프로세스 디자이너 인터랙티브 페이지(2000)의 프로세스 정의 영역부의 일 예시를 나타낸다.FIG. 26 illustrates an example of a process definition area portion of the process designer interactive page 2000 provided in one embodiment.

각각의 프로세스 단계(2025)는, 그 프로세스 단계(2025)를 실행하는 경우 기 업 비즈니스 프로세스 서버에 의해 성취될 특정 작업을 나타낼 수 있다. 특히, 프로세스 단계(2025)는 1 이상의 기능 입력(2030) 및 기능 출력(2040)을 포함할 수 있다. 또한, 기능 식별자(2035)는 기능 출력(들)(2040)을 생성하도록 기능 입력(들)(2030)을 이용하여 수행될 특정 작업을 나타낼 수 있다. 일 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 단일 비즈니스 프로세스 내에서 다수 어플리케이션 제공자들로부터 얻어진 많은 상이한 프로세스 단계들(2025)을 수행할 수 있다. 1 이상의 실시예에서, 기능 식별자(2035)는 기업에 의해 어플리케이션(들)이 사용되는 특정 어플리케이션 제공자의 기능들 및 기능 요소들을 지정하는데 도움이 된다. 또한, 다수 비즈니스 프로세스는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 지원될 수 있다.Each process step 2025 may represent a particular task to be accomplished by an enterprise business process server when executing that process step 2025. In particular, process step 2025 may include one or more function inputs 2030 and function outputs 2040. In addition, the function identifier 2035 may indicate a particular task to be performed using the function input (s) 2030 to generate the function output (s) 2040. In one embodiment, enterprise business process management system 100 may perform many different process steps 2025 obtained from multiple application providers within a single business process. In one or more embodiments, the function identifier 2035 helps to specify the functions and functional elements of the particular application provider for which the application (s) are used by the enterprise. In addition, multiple business processes may be supported by the enterprise business process management system 100.

1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(10)의 사용자는 비스니스 프로세스를 구성하는 프로세스 단계들(2025)을 생성하고 수정하기 위해 프로세스 디자이너 인터랙티브 디스플레이(2000)와 상호작용할 수 있다. 특히, 사용자는 예를 들어 단말기들(110 내지 113)의 포인팅 디바이스를 이용하여, 기능 입력들(2030), 기능 출력들(2040), 기능 식별자(2035), 입력 요소들(2075), 출력 요소들(2080) 및 링크들(2045)을 나타내는 디스플레이 아이콘 또는 기호들을 조작하고, 이동시키며, 링크할 수 있다. 대안적으로, 이를 위해 키보드 디바이스가 사용될 수 있다. 예를 들어, 새로운 기능 입력(2030)은 기능 라이브러리(2005)로부터 프로세스 단계 정의 영역(2015)의 원하는 프로세스 단계(2025)로 새로운 기능 입력(2030)을 드래그하고 드롭(예를 들어, 선택)함으로써 프로세스 단계(2025)에 추 가될 수 있다. 도 27은 일 실시예에서 기능 라이브러리(2005)로부터 프로세스 단계(2025)의 요소를 추가하여 예시한 프로세스 디자이너(2000)의 예시적인 인터랙티브 페이지를 나타낸다. 새로운 기능 입력(2030)이 입력 요소(2075)를 요구하는 경우, 사용자는 예를 들어 기능 라이브러리(2005)로부터 입력 영역(2010)으로 원하는 입력 요소(2075)를 드래그하고 드롭하며, 새로운 입력 요소(2075)로부터 새로운 입력 기능 입력(2030)으로 링크(2045)를 추가할 수 있다. 도 28은 일 실시예에서 프로세스 디자이너 인터랙티브 페이지의 프로세스 정의 영역 내에 프로세스 단계들(2025)의 링크를 예시한 프로세스 디자이너(2000)의 예시적인 인터랙티브 페이지를 나타낸다.In one or more embodiments, a user of enterprise business process management system 10 may interact with process designer interactive display 2000 to create and modify process steps 2025 that make up a business process. In particular, the user can use the pointing device of the terminals 110-113, for example, to function inputs 2030, function outputs 2040, function identifier 2035, input elements 2075, output elements. Manipulate, move, and link display icons or symbols representing the 2020 and the links 2045. Alternatively, a keyboard device can be used for this. For example, the new function input 2030 can be dragged and dropped (eg, selected) from the function library 2005 to the desired process step 2025 in the process step definition area 2015. May be added to process step 2025. FIG. 27 illustrates an exemplary interactive page of the process designer 2000 illustrated by adding elements of process step 2025 from the functional library 2005 in one embodiment. If the new function input 2030 requires an input element 2075, the user may drag and drop the desired input element 2075 from the function library 2005 to the input area 2010, for example, and the new input element ( Link 2045 may be added from 2075 to a new input function input 2030. 28 illustrates an example interactive page of process designer 2000 illustrating a link of process steps 2025 within a process definition area of a process designer interactive page in one embodiment.

일 실시예에서, 기능 입력(2030)은 지정된 사건의 발생(발생 여부)에 대해 수행될 대안적인 동작을 지정하는 조건문을 포함할 수 있다. 도 29는 조건문이 1 이상의 실시예에 따른 프로세스 단계의 요소에 대해 정의될 수 있는 예시적인 인터랙티브 페이지 부분(2900)을 나타낸다.In one embodiment, the function input 2030 may include conditional statements that specify alternative actions to be performed on the occurrence (whether occurrence) of the specified event. 29 illustrates an example interactive page portion 2900 where conditional statements may be defined for elements of process steps in accordance with one or more embodiments.

도 30은 도 17과 유사한, 일 실시예 내에 제공된 제품 정의 인터랙티브 페이지(3000)의 일 예시를 나타낸다. 도 31은 도 18과 유사한, 일 실시예 내에 제공된 데이터 수신지 정의 인터랙티브 페이지(3100)의 일 예시를 나타낸다. 도 32는 도 16과 유사한, 일 실시예 내에 제공된 제품 선택 인터랙티브 페이지(3200)의 일 예시를 나타낸다.30 illustrates an example of a product definition interactive page 3000 provided within one embodiment, similar to FIG. 17. FIG. 31 illustrates an example of a data destination definition interactive page 3100 provided within one embodiment, similar to FIG. 18. FIG. 32 illustrates an example of a product selection interactive page 3200 provided within one embodiment, similar to FIG. 16.

1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 예를 들어 데이터 저장 장치(106)와 같은 데이터 저장 장치로부터 인터페이스 모듈 프로세 스 디자이너에 의해 정의된 비즈니스 프로세스를 구현하는 명령어들의 시퀀스를 회수하고, 형성하며, 컴파일할 수 있다. 일 실시예에서, 기업 비즈니스 프로세스 서버(101)의 인터페이스 모듈(304)은 기업 비즈니스 프로세스 서버(101)에 의한 실행을 위해 데이터 저장 장치(106)로부터, 예를 들어 인터페이스 모듈을 이용하여 정의된 1 이상의 비즈니스 프로세스를 구현하는 명령어들의 시퀀스를 얻을 수 있다.In one or more embodiments, enterprise business process management system 100 retrieves a sequence of instructions for implementing a business process defined by an interface module process designer, for example, from a data storage device, such as data storage device 106. You can build, build, and compile. In one embodiment, the interface module 304 of the enterprise business process server 101 is defined from the data storage device 106 for execution by the enterprise business process server 101, for example using an interface module. A sequence of instructions for implementing the above business process can be obtained.

1 이상의 실시예에서, 인터페이스 모듈(304)은 다수의 빌드 파일을 이용하는 형성 단계들의 시리즈 내에 인터페이스 모듈 프로세스 디자이너 정의된 프로세스 단계들(2025)을 구현하는 명령어들의 시퀀스를 조립(즉, 형성)할 수 있다. 도 21은 비즈니스 프로세스의 코드 구현을 형성하도록 기업 비즈니스 프로세스 서버에 의해 일 실시예에서 이용되는 빌드 파일들의 시리즈를 나타낸다. 도 21을 참조하면, 비즈니스 프로세스에 대한 빌드 파일들의 일 세트는, 일 실시예에서 1 이상의 임시(temporary) 단계 빌드 파일(들)(2050), 프로세스 단계 파일(2055), 1 이상의 기능 속성 파일(들)(2060), 1 이상의 연계된 기능 임시 파일(들)(2065) 및 프로세스 파일(2070)을 포함할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 예를 들어 다음의 방식으로 인터페이스 모듈 프로세스 디자이너를 이용하여, 비즈니스 분석가에 의해 정의된 비즈니스 프로세스를 구현하도록 일 실시예에서 이 파일들을 사용할 수 있다.In one or more embodiments, the interface module 304 may assemble (ie, form) a sequence of instructions that implements the interface module process designer defined process steps 2025 within a series of formation steps using multiple build files. have. 21 illustrates a series of build files used in one embodiment by an enterprise business process server to form a code implementation of a business process. Referring to FIG. 21, one set of build files for a business process is, in one embodiment, one or more temporary step build file (s) 2050, process step file 2055, one or more functional property files ( S) 2060, one or more associated functional temporary file (s) 2065, and process file 2070. The enterprise business process management system 100 may use these files in one embodiment to implement a business process defined by a business analyst, for example using an interface module process designer in the following manner.

일 실시예에서, 기업 비즈니스 프로세스 관리 시스템에 추가된 모든 기능들은 기능 라이브러리(2005) 내에 나타날 수 있다(도 20). 예를 들어, 각각의 기능은 기능 이름 및 아이콘에 의해 기능 라이브러리(2005) 내에서 식별될 수 있다. 기능 속성 파일(2060)은, 예를 들어 이 기능이 프로세스 내에 단계로서 추가되는 경우, 상기 기능이 정확한 수의 기능 입력들(2030), 기능 출력들(2040)로 인터페이스 모듈 프로세스 디자이너(2000) 상에 디스플레이되고, 기능에 의해 사용되거나 생성되는 데이터 필드들의 콘텐츠 파라미터들에 의해 정의되는 연계된 설정들을 가질 수 있도록, XML 포맷으로 필요한 정보 모두를 포함할 수 있다. 일 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100) 내의 모든 기능은 그 자체의 기능 속성 파일(2060)을 갖는다. 기능 단계(2025)는 단계로서 비즈니스 프로세스에 추가되는 경우에 인터페이스 모듈 프로세스 디자이너(2000)를 이용하여 나타나는 기능의 일 예시를 나타낸다. 기능이 비즈니스 프로세스에 추가되는 경우, 인터페이스 모듈(304)은 먼저 그 기능에 대한 기능 속성 파일(2060)을 판독한다. 기능 속성 파일(2060)을 판독한 이후에, 인터페이스 모듈(304)은 기능이 기능 속성 파일(2060) 내에 정의되므로 그 기능에 대해 필요한 입출력 요소들을 형성한다.In one embodiment, all the functions added to the enterprise business process management system may appear in the functional library 2005 (FIG. 20). For example, each function may be identified within the function library 2005 by the function name and icon. The function property file 2060 is placed on the interface module process designer 2000 with the correct number of function inputs 2030, function outputs 2040, for example, if this function is added as a step in the process. It may contain all of the necessary information in an XML format so that it may have associated settings defined by the content parameters of the data fields that are displayed at and used or generated by the function. In one embodiment, every function in enterprise business process management system 100 has its own function attribute file 2060. Function step 2025 represents an example of a function that appears using interface module process designer 2000 when added to a business process as a step. When a function is added to a business process, the interface module 304 first reads a function attribute file 2060 for that function. After reading the function attribute file 2060, the interface module 304 forms the input / output elements required for that function since the function is defined within the function attribute file 2060.

일 실시예에서, 인터페이스 모듈(304)은 라이브러리 내에 사전-형성된 기능을 이입(import)하고 기존 기능을 수정하는데 있어서 사용자를 돕도록 작동가능한, 사용자에게 인터랙티브 페이지의 시퀀스를 제공하는 기능 마법사(function wizard)를 포함할 수 있다. 기능 마법사는 사용자가 기능 이름을 입력하고, 기능 아이콘을 선택하며, 연계된 제품명을 입력하고, 기능 타입을 입력하며, 기능 설명을 추가할 수 있는 1 이상의 인터랙티브 페이지의 인터랙티브 필드들을 포함할 수 있다. 기능 마법사는 사용자 입력 정보에 응답하여 기능 템플릿을 제공할 수 있다. 기능 템플릿들은, 예를 들어 기능 템플릿 파일들(2065)을 이용하여 유지될 수 있다. 기능 템 플릿은 기능의 다양한 측면들을 정의하는 명령어들의 시퀀스(예를 들어, 변수들)를 포함할 수 있다. 각각의 기능 변수들에 대한 실제 값들은 각각의 기능 변수들에 대응하는 기능 설정들에 의해 결정될 수 있다. 도 33은 일 실시예에 제공된 기능 템플릿 파일 페이지(3300)의 콘텐츠의 일 예시를 나타낸다.In one embodiment, the interface module 304 is a function wizard that provides the user with a sequence of interactive pages that is operable to assist the user in importing pre-formed functions into the library and modifying existing functions. ) May be included. The function wizard may include interactive fields of one or more interactive pages where a user may enter a function name, select a function icon, enter an associated product name, enter a function type, and add a description of the function. The function wizard may provide a function template in response to user input information. Functional templates may be maintained using, for example, functional template files 2065. The function template may include a sequence of instructions (eg, variables) that define various aspects of the function. Actual values for each function variable may be determined by function settings corresponding to the respective function variable. 33 illustrates an example of content of a function template file page 3300 provided in an embodiment.

비즈니스 프로세스에 기능이 추가된 이후에, 임시 단계 파일(2050)이 생성될 수 있다. 일 실시예에서, 임시 단계 파일(2050)은 XML 포맷으로 제공될 수 있다. 임시 단계 파일(2050)은 비즈니스 프로세스 내에서 이 단계에 부속(pertain)하는 경우 기능에 대한 모든 정보를 포함할 수 있다. 동일한 기능으로부터 발생한 것이라도 모든 단계에 대해 임시 단계 파일이 상이할 수 있음에 유의하는 것이 중요하다.After the functionality is added to the business process, a temporary step file 2050 may be created. In one embodiment, the temporary step file 2050 may be provided in XML format. The temporary step file 2050 may contain all the information about the function when it is contained in this step within the business process. It is important to note that temporary steps files may be different for all steps, even if they originate from the same function.

또한, 도 21에 예시된 바와 같이 인터페이스 모듈(304)은 비즈니스 프로세스가 형성될 경우에 프로세스 단계 파일(2005)을 생성할 수 있다. 일 실시예에서, 프로세스 단계 파일(2055)은 이 비즈니스 프로세스와 연계된 임시 단계 파일(들)(2050)의 결합된 그룹(joined group)일 수 있다.In addition, as illustrated in FIG. 21, the interface module 304 may generate a process step file 2005 when a business process is formed. In one embodiment, process step file 2055 may be a joined group of temporary step file (s) 2050 associated with this business process.

최종적으로, 인터페이스 모듈(304)은 다음과 같은 프로세스 명령어 세트 파일(2070)을 생성할 수 있다. 먼저, 인터페이스 모듈(304)은 프로세스 단계 파일(2055)을 판독할 수 있다. 각각의 단계는 기능 라이브러리 내의 기능에 대응할 수 있기 때문에, 인터페이스 모듈은 프로세스 단계 파일(2055) 내에서 각 단계에 대한 기능 속성 파일(2060)을 회수한 후에, 기능 속성 파일(2060) 내의 대응하는 필드들에 프로세스 단계 파일(2055) 내의 데이터를 맵핑할 수 있다. 그 다음, 프로 세스 단계 파일(2055)로부터의 정보가 기능 속성 파일(2055) 내의 대응하는 필드들에 링크된 이후에, 인터페이스 모듈(304)이 각각의 기능 속성 파일(2060)을 기능 템플릿 파일(2065)에 맵핑할 수 있다. 일 실시예에서, 기능 템플릿 파일(2065)은 프로세스를 구현하는 명령어들의 시퀀스에 추가될 소스 코드 명령어들(예를 들어, 'C' 소스 코드)을 포함할 수 있다. 또한, 1 이상의 실시예에서 기능 템플릿 파일(2065)은 연계된 기능 속성 파일(2060) 내의 필드들에 대응하는 XML 태그(tag)들을 포함할 수 있다. 기능 템플릿 파일 소스 코드가 프로세스 명령어 세트 파일(2070) 내의 소스 코드에 추가됨에 따라, 인터페이스 모듈(304)은 기능 템플릿 파일(2065) 내의 XML 태그를, 프로세스 단계 파일(2055)로부터 제공되었던 데이터인 기능 속성 파일(2060) 내에 제공된 데이터로 교체할 수 있다.Finally, interface module 304 can generate a process instruction set file 2070 as follows. First, the interface module 304 can read the process step file 2055. Since each step may correspond to a function in the function library, the interface module retrieves the function attribute file 2060 for each step in the process step file 2055, and then the corresponding field in the function attribute file 2060. To the data in process step file 2055. Then, after the information from the process step file 2055 is linked to the corresponding fields in the function attribute file 2055, the interface module 304 adds each function attribute file 2060 to a function template file ( 2065). In one embodiment, the function template file 2065 may include source code instructions (eg, 'C' source code) to be added to the sequence of instructions implementing the process. Further, in one or more embodiments, the function template file 2065 may include XML tags corresponding to the fields in the associated function attribute file 2060. As the function template file source code is added to the source code in the process instruction set file 2070, the interface module 304 uses the XML tags in the function template file 2065 as data that was provided from the process step file 2055. It may be replaced with data provided in the property file 2060.

일 실시예에서, 새로운 프로세스 명령어 세트 파일(2070)의 형성에 뒤이어, 기업 데이터 퀄리티 어플리케이션(300)은 도 22에 나타낸 새로운 프로세스 소스 코드 파일(2070)을 포함한 새로운 라우터 DLL을 형성할 수 있다. 1 이상의 실시예에서, 명령어 세트 파일(2070)은 소스 코드 명령어들을 포함할 수 있다. 도 22를 참조하면, 기업 데이터 퀄리티 어플리케이션(300)은 다른 프로세스 명령어 세트 파일들(예를 들어, 프로세스 파일 2 내지 K)과 함께 새로운 프로세스 명령어 세트 파일(2070)(예를 들어, 프로세스 파일 1)을 포함한 새로운 라우터 DLL(2071)을 형성할 수 있다. 그 후, 새로운 라우터 DLL(2071)은 기업 비즈니스 프로세스 서버(101)에 의해 로딩되고 서비스되도록 배치되며, 그때 새로운 프로세스가 실행될 수 있다.In one embodiment, following the formation of a new process instruction set file 2070, the enterprise data quality application 300 may form a new router DLL including the new process source code file 2070 shown in FIG. 22. In one or more embodiments, the instruction set file 2070 may include source code instructions. Referring to FIG. 22, the enterprise data quality application 300 may include a new process instruction set file 2070 (eg, process file 1) along with other process instruction set files (eg, process files 2 through K). It is possible to form a new router DLL (2071) including. Thereafter, the new router DLL 2071 is arranged to be loaded and serviced by the enterprise business process server 101, at which time the new process can be executed.

도 23a 내지 도 23d는 1 이상의 실시예에 따른 비즈니스 프로세스를 구현하는 방법을 더 상세히 예시한 순서도를 제공한다. 도 23을 참조하면, 방법은 2300에서 시작하고 2302로 진행한다. 2302에서, 사용자는 비즈니스 프로세스를 생성하거나 수정하도록 기업 비즈니스 프로세스 서버(101)에 요구를 송신할 수 있다. 일 실시예에서, 사용자 요구는 예를 들어 패킷 기반 네트워크와 같은 네트워크를 이용하여 기업 비즈니스 프로세스 서버(101)로 단말기(110, 111, 112 또는 113)에 의해 출력될 수 있다. 패킷 기반 네트워크의 일 예시는 인터넷이다. 예를 들어, 사용자는 비즈니스 분석가일 수 있다. 일 실시예에서, 요구는 XML-포맷된 요구로서 제공될 수 있다. 응답하여, 기업 비즈니스 프로세스 서버(101)는 요구하는 단말기(110, 111, 112 또는 113)에, 예를 들어 인터페이스 모듈 프로세스 디자이너 인터랙티브 디스플레이(2000)와 같은 인터랙티브 페이지를 출력할 수 있다. 일 실시예에서, 인터페이스 모듈 프로세스 디자이너 인터랙티브 디스플레이(2000)는 단말기의 웹 브라우저 어플리케이션을 이용하여 단말기에서 보여주기에 적절한 XML-포맷된 인터랙티브 페이지의 형태로 제공될 수 있다.23A-23D provide flow diagrams illustrating in more detail a method of implementing a business process in accordance with one or more embodiments. Referring to FIG. 23, the method starts at 2300 and proceeds to 2302. At 2302, a user may send a request to enterprise business process server 101 to create or modify a business process. In one embodiment, user requests may be output by terminal 110, 111, 112 or 113 to enterprise business process server 101 using a network such as, for example, a packet based network. One example of a packet-based network is the Internet. For example, the user may be a business analyst. In one embodiment, the request may be provided as an XML-formatted request. In response, corporate business process server 101 may output an interactive page, such as, for example, interface module process designer interactive display 2000, to the requesting terminal 110, 111, 112, or 113. In one embodiment, the interface module process designer interactive display 2000 may be provided in the form of an XML-formatted interactive page suitable for display on a terminal using a web browser application of the terminal.

그 후, 2304로 제어가 진행할 수 있으며, 여기에서 사용자는 비즈니스 프로세스에 프로세스 단계를 추가하거나 비즈니스 프로세스의 프로세스 단계를 수정하기를 원할 수 있다(도 20 참조). 그 후, 2306으로 제어가 진행할 수 있으며, 여기에서 사용자는 프로세스 단계에 추가되거나 새로운 프로세스 단계가 추가될 기능이 기능 라이브러리에 추가될 필요가 있을지를 결정할 수 있다. 그러한 경우 제어는 2308로 진행할 수 있다. 그렇지 않다면 제어는 2312로 진행할 수 있다.Control may then proceed to 2304, where the user may wish to add a process step to the business process or modify the process step of the business process (see FIG. 20). Control may then proceed to 2306, where the user can determine whether the functionality to be added to the process step or to which a new process step needs to be added needs to be added to the functional library. In such case, control may proceed to 2308. Otherwise control may proceed to 2312.

2308에서, 사용자는 기능 라이브러리로 새로운 기능을 정의하는 정보를 입력할 수 있다. 이러한 정보는 기능 이름 및 기능 아이콘을 포함할 수 있지만, 그에 제한되지는 않는다. 기능 이름은 기능에 의해 제공되는 작업의 간단한 설명을 제공할 수 있다. 기능 아이콘은 기능이 수행되는 어플리케이션의 공급자 또는 제공자를 나타내는 기호일 수 있다. 일 실시예에서, 프로세스 단계들에서 사용된 모든 기능들은 기능 라이브러리 내에 포함될 것이다.At 2308, the user can enter information defining the new function into the function library. Such information may include, but is not limited to, function names and function icons. The function name may provide a brief description of the task provided by the function. The function icon may be a symbol representing a provider or a provider of an application on which a function is performed. In one embodiment, all the functions used in the process steps will be included in the functional library.

그 후, 2310으로 제어가 진행할 수 있으며, 여기에서 사용자는 기능 속성 파일을 이용하여 특정 기능 속성을 정의할 수 있다. 기능 속성 파일은, 이 기능이 비즈니스 프로세스 내에 단계로서 추가되는 경우, 기능이 정확한 수의 기능 입력들 및 기능 출력들뿐만 아니라 그와 연계된 기능 설정들을 이용하여 인터페이스 모듈 프로세스 디자이너 상에 디스플레이되도록, XML 포맷으로 기능 정보를 정의하는데 필요한 모든 정보를 포함할 수 있다. 일 실시예에서, 기능 속성 파일은 XML 포맷에 따라 제공될 수 있다. 또한, 일 실시예에서 기능 라이브러리 내의 모든 기능은 대응하는 기능 속성 파일을 가질 수 있다. 도 34는 일 실시예에서 제공된 기능 설정 인터랙티브 페이지(3400)의 일 예시를 나타낸다.Thereafter, control may proceed to 2310, where the user may define a specific function property using a function property file. The function properties file is XML such that when this function is added as a step in a business process, the function is displayed on the interface module process designer using the correct number of function inputs and function outputs as well as the function settings associated with it. It may contain all the information needed to define the functional information in a format. In one embodiment, the functional properties file may be provided according to the XML format. In addition, in one embodiment all of the functions in the function library may have a corresponding function attribute file. 34 illustrates an example of a function setting interactive page 3400 provided in one embodiment.

그 후, 2312로 제어가 진행할 수 있으며, 여기에서 임시 단계 파일이 다음과 같이 생성될 수 있다. 비즈니스 프로세스에 기능이 추가되는 경우, 인터페이스 모듈은 먼저 그 기능에 대한 기능 속성 파일을 판독할 수 있다. 기능 속성 파일을 판독한 이후에, 인터페이스 모듈은 기능 속성 파일 내에 정의된 그 기능에 대해 필요한 입출력 요소들을 형성할 수 있다. 일 실시예에서, 임시 단계 파일은 XML 포맷으 로 제공될 수 있다. 임시 단계 파일은 비즈니스 프로세스 내에서 이 단계에 부속하는 경우 기능에 대한 모든 정보를 포함할 수 있다. 동일한 기능으로부터 발생한 것이라도, 모든 단계에 대해 임시 단계 파일들이 상이할 수 있음을 유의하는 것이 중요하다.Control may then proceed to 2312, where a temporary step file may be generated as follows. When a function is added to a business process, the interface module can first read the function properties file for that function. After reading the function property file, the interface module may form the input / output elements required for that function defined in the function property file. In one embodiment, the temporary step file may be provided in XML format. A temporary step file can contain all the information about a function if it is attached to this step within a business process. It is important to note that temporary step files may be different for all steps, even if they originate from the same function.

그 후, 2314로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 프로세스 단계 파일을 생성할 수 있다. 일 실시예에서, 프로세스 단계 파일은 이 비즈니스 프로세스와 연계된 임시 단계 파일(들)의 결합 또는 조립된 그룹일 수 있다.Control may then proceed to 2314 where the interface module may generate a process step file. In one embodiment, the process step file may be a combined or assembled group of temporary step file (s) associated with this business process.

그 후, 2316으로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 프로세스 단계 파일에서 각 단계에 대한 기능 속성 파일들을 회수할 수 있다. 그 후, 2318로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 프로세스 단계 파일 내의 데이터를 기능 속성 파일 내의 대응하는 필드들에 맵핑할 수 있다. 그 후, 2320으로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 각각의 기능 속성 파일을 기능 템플릿 파일에 맵핑할 수 있다. 일 실시예에서, 기능 템플릿 파일은 프로세스를 구현하는 명령어들의 시퀀스에 추가될 소스 코드 명령어들(예를 들어, 'C' 소스 코드)을 포함할 수 있다. 또한, 1 이상의 실시예에서 기능 템플릿 파일은 연계된 기능 속성 파일 내의 필드들에 대응하는 XML 태그들을 포함할 수 있다.Control may then proceed to 2316, where the interface module may retrieve the function attribute files for each step in the process step file. Control may then proceed to 2318, where the interface module may map data in the process step file to corresponding fields in the function attribute file. Control may then proceed to 2320 where the interface module may map each function attribute file to a function template file. In one embodiment, the function template file may include source code instructions (eg, 'C' source code) to be added to the sequence of instructions implementing the process. In addition, in one or more embodiments, the function template file may include XML tags corresponding to fields in the associated function attribute file.

그 후, 2322로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 기능 템플릿 파일 내의 XML 태그들을, 프로세스 단계 파일로부터 제공되었던 데이터인 기능 속성 파일 내에 제공된 데이터로 교체할 수 있다.Control may then proceed to 2322, where the interface module may replace the XML tags in the function template file with the data provided in the function attribute file, which was the data provided from the process step file.

그 후, 2324로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 데이 터가 차지한 기능 템플릿 파일들을, 프로세스를 구현하는 프로그램 명령어들의 시퀀스를 포함한 프로세스 명령어 세트 파일로 조립할 수 있다. 그 후, 2326으로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 데이터 저장 장치에 프로세스 명령어 세트 파일을 저장할 수 있다. 명령어 세트 파일은 소스 코드 파일일 수 있지만, 이에 제한되지는 않는다.Control may then proceed to 2324, where the interface module may assemble the function template files occupied by the data into a process instruction set file containing a sequence of program instructions that implement the process. Control may then proceed to 2326, where the interface module may store the process instruction set file in the data storage device. The instruction set file may be a source code file, but is not limited thereto.

그 후, 2328로 제어가 진행할 수 있으며, 여기에서 기업 데이터 퀄리티 어플리케이션 코어 어플리케이션은 사용자가 비즈니스 프로세스를 테스트 프로세스(test process)로 지정했는지 제작 프로세스(production process)로 지정했는지를 결정할 수 있다. 일 실시예에서, 비즈니스 분석가 모듈(304)은 사용자가 라우터의 테스트 빌드(test build)를 수행할 것인지 제작 빌드를 수행할 것인지를 지정하는 인터랙티브 페이지(도시되지 않음)를 제공할 수 있다. 테스트 프로세스인 경우, 제어는 도 23c의 2330으로 진행될 수 있다.Control may then proceed to 2328, where the enterprise data quality application core application may determine whether the user has designated the business process as a test process or a production process. In one embodiment, business analyst module 304 may provide an interactive page (not shown) that specifies whether the user will perform a test build of the router or a build build. In the case of a test process, control may proceed to 2330 of FIG. 23C.

새로운 테스트 프로세스 명령어 세트 파일의 형성을 따르는 도 23c의 2330에서, 기업 데이터 퀄리티 어플리케이션 코어 어플리케이션은 새로운 테스트 프로세스 명령어 세트 파일(도 22 참조)을 포함한 새로운 라우터 DLL을 형성할 수 있다. 테스트 프로세스 명령어 세트는 제작에 대해 최적화될 수 있다.At 2330 of FIG. 23C following the formation of a new test process instruction set file, the enterprise data quality application core application may form a new router DLL including the new test process instruction set file (see FIG. 22). The test process instruction set can be optimized for production.

그 후, 2332로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 기업 비즈니스 프로세스 서버에 새로운 라우터가 로딩될 준비가 됨을 알릴 수 있다. 그 후, 2334로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버는 중단되고, 현재 라우터에 입력되는 여하한의 트랜잭션을 중지시키며, 현재 라우터 내 의 모든 트랜잭션이 프로세싱을 완료하게 하고, 현재 라우터를 언로딩할 수 있다.Control may then proceed to 2332, where the interface module may inform the enterprise business process server that the new router is ready to be loaded. Control may then proceed to 2334, where the enterprise business process server stops, stops any transactions currently entering the router, causes all transactions in the current router to complete processing, and Can be unloaded.

그 후, 2336으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버는 인터페이스 모듈에 현재 라우터가 언로딩되었음을 알릴 수 있다.Control may then proceed to 2336, where the enterprise business process server may inform the interface module that the current router is unloaded.

그 후, 2338로 제어가 진행할 수 있으며, 여기에서 현재 라우터가 언로딩되었다는 알림을 수신하여, 인터페이스 모듈은 현재(즉, "이전") 라우터를 보존하고, 그것을 새로 형성된 라우터로 교체하며, 기업 비즈니스 프로세스 서버에 새로운 라우터를 로딩하라고 알릴 수 있다.Control may then proceed to 2338 where a notification is received that the current router is unloaded, so that the interface module preserves the current (ie, "old") router, replaces it with a newly formed router, You can tell the process server to load a new router.

그 후, 2340으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버는 새로운 라우터를 로딩하고 초기화하며, 트랜잭션들이 새로운 라우터로 입력하게 할 수 있다.Control may then proceed to 2340, where the enterprise business process server may load and initialize a new router and allow transactions to enter the new router.

그 후, 2342로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버는 인터페이스 모듈에 새로운 라우터가 로딩되었음을 알릴 수 있다.Control may then proceed to 2342 where the enterprise business process server may inform the interface module that a new router has been loaded.

그 후, 2344로 제어가 진행할 수 있으며, 여기에서 새로운 라우터가 로딩되었다는 알림을 수신하여, 인터페이스 모듈은 사용자의 단말기로 프로세스 테스터 인터랙티브 페이지를 출력할 수 있다. 도 35는 일 실시예에 따른 예시적인 프로세스 테스터 인터랙티브 페이지(3500)를 나타낸다. 프로세스 테스터 인터랙티브 페이지(3500)는 프로세스 테스트 단계 리스트 출력(3505)을 포함할 수 있다.Control may then proceed to 2344 where a notification is received that a new router has been loaded, and the interface module may output a process tester interactive page to the user's terminal. 35 illustrates an example process tester interactive page 3500 according to one embodiment. The process tester interactive page 3500 may include a process test step list output 3505.

그 후, 2346으로 제어가 진행할 수 있으며, 여기에서 단말기는 예를 들어 웹 브라우저 어플리케이션의 디스플레이를 통해 사용자에게 프로세스 테스터 인터랙티브 페이지를 출력할 수 있다. 도 36은 일 실시예에서 인터페이스 모듈이 기능 템플 릿 파일 내의 XML 태그들을 기능 속성 파일 내에 제공되었던 데이터로 교체한, 프로세스 테스터 인터랙티브 페이지의 데이터가 차지한 프로세스 정의 영역(3500)의 예시를 나타낸다.Control may then proceed to 2346, where the terminal may output a process tester interactive page to the user, for example, via a display of a web browser application. FIG. 36 illustrates an example of a process definition area 3500 occupied by data in a process tester interactive page where the interface module, in one embodiment, replaced the XML tags in the function template file with data provided in the function attribute file.

그 후, 2348로 제어가 이동할 수 있으며, 여기에서 방법이 종료될 수 있다.Control may then shift to 2348 where the method may end.

도 23d의 2350에서, 새로운 제작 프로세스 명령어 세트 파일의 형성에 뒤이어, 기업 데이터 퀄리티 어플리케이션 코어 어플리케이션은 새로운 제작 프로세스 명령어 세트 파일(도 22 참조)을 포함한 새로운 라우터 DLL을 형성할 수 있다. 제작 프로세스 명령어 세트는 제작에 대해 최적화될 수 있다.At 2350 of FIG. 23D, following the formation of a new production process instruction set file, the enterprise data quality application core application may form a new router DLL including the new production process instruction set file (see FIG. 22). The production process instruction set can be optimized for production.

그 후, 2352로 제어가 진행할 수 있으며, 여기에서 인터페이스 모듈은 기업 비즈니스 프로세스 서버에 새로운 라우터가 로딩될 준비가 됨을 알릴 수 있다. 그 후, 2354로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버는 중단되고, 현재 라우터로 입력되는 트랜잭션을 중지시키며, 현재 라우터 내의 모든 트랜잭션이 프로세싱을 완료하게 하고, 현재 라우터를 언로딩할 수 있다.Control may then proceed to 2352, where the interface module may inform the enterprise business process server that a new router is ready to be loaded. Control can then proceed to 2354, where the enterprise business process server can be aborted, stop transactions entering the current router, allow all transactions within the current router to complete processing, and unload the current router. have.

그 후, 2356으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버는 인터페이스 모듈에 현재 라우터가 언로딩되었음을 알릴 수 있다.Control may then proceed to 2356, where the enterprise business process server may inform the interface module that the current router is unloaded.

그 후, 2358로 제어가 진행할 수 있으며, 여기에서 현재 라우터가 언로딩되었다는 알림을 수신하여, 인터페이스 모듈은 현재(즉, "이전") 라우터를 보존하고, 그것을 새로 형성된 라우터로 교체하며, 기업 비즈니스 프로세스 서버에 새로운 라우터를 로딩하라고 알릴 수 있다.Control may then proceed to 2358 where, upon receiving a notification that the current router is unloaded, the interface module preserves the current (ie, "old") router, replaces it with a newly formed router, and the corporate business You can tell the process server to load a new router.

그 후, 2360으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세 스 서버는 새로운 라우터를 로딩하고 초기화하며, 트랜잭션들이 새로운 라우터로 입력하게 할 수 있다.Control can then proceed to 2360, where the enterprise business process server can load and initialize a new router and allow transactions to enter the new router.

그 후, 2362로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버는 인터페이스 모듈에 현재 라우터가 언로딩되었음을 알릴 수 있다.Control may then proceed to 2362, where the enterprise business process server may inform the interface module that the current router is unloaded.

그 후, 2364로 제어가 진행할 수 있으며, 여기에서 새로운 라우터가 로딩되었다는 알림을 수신하여, 인터페이스 모듈은 사용자의 단말기에 메인 프로세스 인터랙티브 페이지를 출력할 수 있다.Control may then proceed to 2364 where the notification that the new router has been loaded may result in the interface module outputting the main process interactive page to the user's terminal.

그 후, 2366으로 제어가 진행할 수 있으며, 여기에서 단말기는 예를 들어 웹 브라우저 어플리케이션의 디스플레이를 통해 사용자에게 메인 프로세스 인터랙티브 페이지를 출력할 수 있다.Control may then proceed to 2366, where the terminal may output the main process interactive page to the user, for example, via a display of a web browser application.

그 후, 2368로 제어가 진행할 수 있으며, 여기에서 방법이 종료될 수 있다.Control may then proceed to 2368, where the method may end.

1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 데이터 송신부로부터 연결을 통해 그 비즈니스 프로세스와 연계된 입력 요소들의 패킷을 수신하여 특정 비즈니스 프로세스를 회수하고 실행할 수 있다. 1 이상의 실시예에서, 이러한 연결은 비즈니스 어플리케이션 기능 입력 데이터 및 출력 데이터를 연계된 비즈니스 프로세스의 기능들의 대응하는 정보 필드들에 맵핑하는 컴파일된 DLL(dynamic linking library) 파일일 수 있다. 도 37은 사용자가 1 이상의 실시예에 따른 연결을 정의할 수 있는 연결 정의 인터랙티브 페이지(3700)의 일 예시를 나타낸다. 각각의 기업 어플리케이션은, 예를 들어 그 기능들이 기업 비즈니스 프로세서 서버(101)에 의해 실행된 1 이상의 비즈니스 프로세스에 맵핑하는, 데이터 저장 장 치(106)를 이용하여 유지된 대응하는 연결을 가질 수 있다. 입력 요소들의 연계된 패킷을 수신하여, 기업 비즈니스 프로세스 서버(101)는 연계된 비즈니스 프로세스를 회수하고 실행하며, 그 결과적인 출력 요소들을 생성할 수 있다. 일 실시예에서, 기업 비즈니스 프로세스 서버(101)는 또 다른 프로세싱에 대한 연결을 통해 데이터 수신지로 출력 요소들을 포함한 패킷을 송신할 수 있다. 연결은 기업 노드들 사이의 경로를 지정하는 데이터 라우팅 정보를 캡슐화할 수 있다. 일 실시예에서, 연결은 예를 들어 TCP/IP와 같은 패킷 기반 네트워크에 대한 소켓 연결(socket connection)일 수 있다.In one or more embodiments, enterprise business process server 101 may receive a packet of input elements associated with the business process via a connection from a data transmitter to retrieve and execute a particular business process. In one or more embodiments, this linking may be a compiled dynamic linking library (DLL) file that maps business application function input data and output data to corresponding information fields of the functions of the associated business process. 37 illustrates an example of a connection definition interactive page 3700 that allows a user to define a connection according to one or more embodiments. Each enterprise application may have a corresponding connection maintained using data storage 106, for example, whose functions map to one or more business processes executed by enterprise business processor server 101. . Receiving an associated packet of input elements, enterprise business process server 101 may retrieve and execute the associated business process, and generate the resulting output elements. In one embodiment, enterprise business process server 101 may send a packet containing output elements to a data destination via a connection to further processing. The connection can encapsulate data routing information specifying the path between enterprise nodes. In one embodiment, the connection may be a socket connection to a packet based network, for example TCP / IP.

따라서, 인터페이스 모듈은 소프트웨어 엔지니어링 또는 프로그래밍 요원과 관련된 매우 긴 요구사항 정의, 전반적 디자인, 세부적 디자인, 코딩 및 테스팅 사이클에 착수할 필요없이, 기업 비즈니스 프로세스 관리 시스템을 이용하여 비즈니스 분석가와 같은 사용자가, 예를 들어 비즈니스 프로세스를 정의하고, 생성하며, 수정하고, 구현하며, 테스트하고, 실행할 자격을 제공할 수 있다. 본 명세서에 나타낸 기업 비즈니스 프로세스 관리 시스템은, 개발 비용 및 시간을 감소시킬 뿐만 아니라, 주기적으로 기능적인 요구사항들을 동결시킬(freeze) 필요성을 감소시키는 비즈니스 프로세스의 신속한 반복 개발 및 구현을 허용한다.Thus, an interface module can be used by users such as business analysts, using enterprise business process management systems, without having to undertake the very long requirements definition, overall design, detailed design, coding and testing cycles associated with software engineering or programming personnel. For example, you can define, create, modify, implement, test, and qualify business processes. The enterprise business process management system presented herein allows for rapid iterative development and implementation of business processes that not only reduce development costs and time, but also reduce the need to freeze functional requirements periodically.

따라서, 기업 비즈니스 프로세스 관리 시스템은 기업 전반에 걸쳐 어플리케이션 또는 트랜잭션 데이터의 질적 및 양적 측면들에 관한 정보를 수집하고 분석하며 보고할 수 있는 통합된 데이터 퀄리티 관리 시스템을 제공하는 실시예들을 설명하였다. 본 명세서에서 설명된 기업 데이터 퀄리티 관리 시스템은 단지 본 발명의 기업 비즈니스 프로세스 관리 시스템의 일 측면이라는 것을 이해하여야 한다. 당업자라면, 본 명세서의 기재내용에 기초하여 본 발명의 다른 실시예들을 결정할 수 있을 것이다. 특히, 기업 비즈니스 프로세스 서버(101)는 더 일반적으로 많은 상이한 기업 비즈니스 프로세스 어플리케이션들에 관련하여 제공하거나 작동할 수 있는 서버로서 설명될 수 있다. 일반적으로, 이러한 기업 비즈니스 프로세스 관리 시스템은 전체 기업 네트워크의 연산 노드 중 몇몇 또는 모두를 가로질러 기업 전반에 걸친 어플리케이션 또는 트랜잭션 데이터의 질적 및 양적 측면들에 관한 정보를 수집하고, 분석하며, 보고할 자격을 제공할 수 있으며, 이종(heterogeneous) 컴퓨팅 플랫폼 및 어플리케이션에 의해 출력된 어플리케이션 데이터를 처리할 수 있다. 결과로서, 기업 비즈니스 프로세스 관리 시스템은 기업 전반에 걸쳐 존재하는 데이터의 여러 가지 통합된 뷰들을 제공할 수 있다. 이러한 뷰들은 개별적인 부서들 또는 비즈니스 기능들/비즈니스 유닛들에 대한 전체 기업과 연계된 데이터로부터 개인에 이르기까지의 범위일 수 있다.Accordingly, an enterprise business process management system has described embodiments that provide an integrated data quality management system capable of collecting, analyzing, and reporting information about the qualitative and quantitative aspects of application or transactional data throughout an enterprise. It should be understood that the enterprise data quality management system described herein is merely one aspect of the enterprise business process management system of the present invention. Those skilled in the art will be able to determine other embodiments of the present invention based on the description herein. In particular, corporate business process server 101 may be described more generally as a server capable of providing or operating in connection with many different corporate business process applications. In general, such enterprise business process management systems are entitled to collect, analyze, and report information on the qualitative and quantitative aspects of application or transactional data across the enterprise across some or all of the compute nodes of the entire enterprise network. It can provide and process the application data output by the heterogeneous computing platform and applications. As a result, an enterprise business process management system can provide several integrated views of the data that exists throughout the enterprise. These views may range from data associated with the entire enterprise to individual departments or business functions / business units, to individuals.

예를 들어, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는, 지문 분석, 망막 이미징/스캐닝, 음성 식별 및 이미지 매칭 및 비교에 관한 비즈니스 어플리케이션으로부터의 기능들을 포함하는 비즈니스 프로세스를 정의하고 형성하며 실행하는 바와 같은 생체(biometric) 및 국토(homeland) 보안 어플리케이션으로 지향될 수 있지만, 그에 제한되지는 않는다. 이러한 비즈니스 프로세스의 특정 예시에서, 회사의 고용인은 회사 시설에 입장하기 위해 지문 식별 스캔을 통과하도록 요구될 수 있다. 고용인이 지문 패드 또는 스캐너 위에 그들의 지문을 놓는 경우, 유일한 지문 스캔을 나타내는 데이터가 기업 비즈니스 프로세스 관리 시스템에 의해 유지된 프로세스로 송신될 수 있다. 이 프로세스는, 예를 들어 회사 고용인 지문 데이터베이스에 대해 고용인을 검증하려고 하는 상이한 지문 소프트웨어 매칭 툴들로부터 1 이상의 기능들을 이용하여, 스캔된 지문 데이터를 유효한(valid) 지문들의 세트에 비교하는 단계를 포함할 수 있다. 고용인이 고용인으로서 검증된 경우, 문이 열리고 고용인 입장 접근을 허용하도록 기업 비즈니스 프로세스 관리 시스템으로부터 문의 접근 제어 디바이스로 신호가 송신될 수 있다.For example, one embodiment of an enterprise business process management system may include defining, forming, and executing a business process that includes functions from business applications relating to fingerprint analysis, retinal imaging / scanning, voice identification, and image matching and comparison. It can be directed to the same biometric and homeland security applications, but is not limited thereto. In a particular example of such a business process, an employee of a company may be required to pass a fingerprint identification scan to enter a company facility. When an employee places their fingerprint on a fingerprint pad or scanner, data representing a unique fingerprint scan may be sent to the process maintained by the enterprise business process management system. This process may include comparing the scanned fingerprint data to a set of valid fingerprints, for example using one or more functions from different fingerprint software matching tools that attempt to verify the employee against a company employee fingerprint database. Can be. If the employee is verified as an employee, a door may be opened and a signal may be sent from the enterprise business process management system to the door access control device to allow employee entry access.

이러한 비즈니스 프로세스의 또 다른 예시에서, 매칭하는 특징들을 탐색하기 위해 사진 이미지 데이터가 다수 이미지 데이터베이스에 대해 사진 이미징 데이터를 매칭하려고 하는 다단계 비즈니스 프로세스로 입력될 수 있다. 매칭이 발견된 경우, 타겟팅 또는 리포팅 시스템에 이미지 좌표(coordinates)를 출력하기 위해 기업 비즈니스 프로세스 관리 시스템에 의해 유지된 또 다른 프로세스로 신호가 송신될 수 있다.In another example of such a business process, photographic image data may be entered into a multi-step business process that attempts to match photographic imaging data over a multi-image database to search for matching features. If a match is found, a signal may be sent to another process maintained by the enterprise business process management system to output image coordinates to the targeting or reporting system.

또 다른 예시에서, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는, 예를 들어 적용가능한 정부 규제를 갖는 비즈니스 컴플라이언스(compliance)와 같은 컴플라이언스 보증으로 지향될 수 있다. 이러한 어플리케이션들은 무수하다. 특히, 일 예시는 보건 의료 기업이 예를 들어 건강보험 양도 및 책임에 관한 법(Health Insurance Portability and Accountability Act: "HIPAA")과 같은 정부 명령의 규칙 및 규제에 적응하여 작업할 것을 보장하도록 지향된 비즈니스 프로세스일 수 있다. 이러한 비즈니스 프로세스의 특정 예시에서, HIPAA 요구사항들을 적용하는 비 즈니스 규칙들은 기능 라이브러리 및 정부의 HIPAA 요구사항들에 기초한 특정 환자 정보에 적용될 비즈니스 규칙들의 시리즈를 포함하여 정의되고 실행되는 비즈니스 프로세스 내에 유지될 수 있다. 일 실시예에서, 이 프로세스는 상이한 HIPAA 요구사항을 나타내는 각 단계를 갖는 다단계 프로세스일 수 있다. 이 구성은 정부의 요구사항을 변화시키는데 기초하여 이러한 규칙들을 쉽게 수정하기 위해 제공될 수 있다. 다시 말하면, HIPAA 컴플라이언스를 위한 비즈니스 어플리케이션들에 대한 로드들이 확립된 이후에, 예를 들어 인터페이스 모듈 프로세스 디자이너를 이용하여 본 명세서에 설명된 바와 같이, 프로세스 단계들로서 요구사항들을 나타내는데 사용되는 대응하는 기능들이 수정될 수 있다.In another example, one embodiment of an enterprise business process management system may be directed to compliance assurance, for example, business compliance with applicable government regulations. These applications are myriad. In particular, one example is directed to ensuring that health care companies work in compliance with the rules and regulations of government mandates, such as the Health Insurance Portability and Accountability Act ("HIPAA"). It can be a business process. In a particular example of such a business process, business rules that apply HIPAA requirements may be maintained within a business process that is defined and executed, including a functional library and a series of business rules that apply to specific patient information based on government HIPAA requirements. Can be. In one embodiment, this process may be a multi-step process with each step representing different HIPAA requirements. This configuration can be provided to easily modify these rules based on changing government requirements. In other words, after loads for business applications for HIPAA compliance are established, the corresponding functions used to represent requirements as process steps, for example as described herein using the interface module process designer, are described. Can be modified.

또 다른 예시로서, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는 정부의 데이터 퀄리티 규제들이 데이터 세트에 대해 직면할 것을 보장하는 것으로 지향될 수 있다. 예를 들어, 연방 정부에 제공된 아동 복지에 관한 데이터는 90 % 정확성보다 큰 지정된 데이터 정확성에 따르도록 요구될 수 있다.As another example, one embodiment of an enterprise business process management system may be directed to ensuring that government data quality regulations face for a data set. For example, data on child welfare provided to the federal government may be required to comply with specified data accuracy greater than 90% accuracy.

또 다른 예시로서, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는 그래픽 코딩 소프트웨어 및 세금 할당 소프트웨어에 관련한 비지니스 어플리케이션으로부터의 기능들을 포함하는 비즈니스 프로세스를 정의하고, 형성하며, 실행하는 바와 같은 세금 할당 어플리케이션으로 지향될 수 있지만, 그에 제한되지는 않는다. 이러한 비즈니스 프로세스의 특정 예시에서, 조직은 청구 프로세스 동안 그 고객들의 청구에 대해 적절한 세금을 정확하게 할당해야 할 수 있다. 청구 프로세스 동안 올바르지 않은 세금 할당은 고객들을 잃게 할 수 있다. 그러므로, 일 실시예에서 최종 처리하고 고객들에게 청구서를 보내기 이전에, 주소 정보와 같은 고객 정보가 상이한 세금 할당 비즈니스 어플리케이션(예를 들어, 소프트 패키지)들로부터의 다수 기능들에 의해 정확하게 점검되는 비즈니스 프로세스(또는, 대안적으로 청구 프로세스 내에서 프로세스 단계들의 시퀀스)가 생성되고 실행될 수 있다. 그 후, 기능들의 결과들은 예를 들어 서로에 대해 비교될 수 있으며, 그 결과들에 기초하여 올바른 세금이 할당될 수 있다. 또한, 올바른 세금이 결정된 이후에, 예를 들어 입력으로서 세금 할당 및 고객 식별자를 수신한 후 각 단계가 상이한 데이터베이스에 대한 SQL 쿼리를 수행할 다수 단계들을 수행할 수 있는 또 다른 비즈니스 프로세스로 올바른 세금 할당 및 고객 식별자가 입력으로서 송신될 수 있다. 일 실시예에서, 각 단계는 고객 식별자를 통해 고객의 데이터 저장 장치 룩업(lookup)을 수행할 수 있으며, 고객이 다수 데이터 저장 장치를 가로질러 동일한 세금을 갖도록 고객의 세금 할당을 업데이트할 수 있다.As another example, one embodiment of an enterprise business process management system is directed to a tax allocation application as defined, formed, and executed a business process that includes functions from a business application relating to graphical coding software and tax allocation software. May be, but is not limited to. In a particular example of such a business process, an organization may need to accurately allocate appropriate taxes on their customers' bills during the billing process. Incorrect tax allocations during the billing process can lead to loss of customers. Therefore, in one embodiment, a business process where customer information, such as address information, is accurately checked by multiple functions from different tax allocation business applications (e.g., soft packages) prior to final processing and billing the customers. (Or alternatively a sequence of process steps within the billing process) can be generated and executed. The results of the functions can then be compared against each other, for example, and the correct tax can be assigned based on the results. In addition, after the correct tax has been determined, for example, after receiving the tax assignment and customer identifier as input, the correct tax assignment into another business process where each step can perform multiple steps to perform SQL queries against different databases. And a customer identifier can be sent as input. In one embodiment, each step may perform a customer's data storage lookup via the customer identifier, and update the customer's tax allocation so that the customer has the same tax across multiple data storage devices.

또 다른 예시로서, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는 주소 검증에 관련한 비즈니스 어플리케이션으로부터의 기능들을 포함하는 비즈니스 프로세스를 정의하고, 형성하며, 실행하는 제품 비교 어플리케이션으로 지향될 수 있지만, 이에 제한되지는 않는다. 이러한 비즈니스 프로세스의 특정 예시에서, 개인의 주소를 입력으로서 수신한 후 다단계 프로세스를 수행하는 비즈니스 프로세스가 생성되고 실행될 수 있다. 일 실시예에서, 비즈니스 프로세스 내의 각 단계는 예를 들어 상이한 소프트웨어 공급자의 주소 코더를 포함할 수 있다. 각각의 단계는 주소를 입력으로서 수신한 후 그 자체로 우편 데이터베이스에 대해 그 주소를 검증하 려고 할 수 있다. 일 실시예에서, 각 공급자 능력들의 비교가 수행될 수 있으며, 어떤 제품이 소정 데이터 조건들에 대해 가장 훌륭하게 수행하는지를 정확히 알도록 통계가 생성될 수 있다. 도 38은 일 실시예에 따른 비교 비즈니스 프로세스를 예시한다.As another example, an embodiment of an enterprise business process management system may be directed to, but is not limited to, a product comparison application that defines, forms, and executes business processes that include functions from business applications related to address verification. Does not. In a particular example of such a business process, a business process can be created and executed that receives a person's address as input and then performs a multi-step process. In one embodiment, each step in a business process may include, for example, address coders from different software providers. Each step may receive the address as input and then attempt to verify the address against the postal database itself. In one embodiment, a comparison of each supplier's capabilities may be performed, and statistics may be generated to know exactly which product performs best for certain data conditions. 38 illustrates a comparison business process according to one embodiment.

더 일반적으로, 조직이 어떤 소프트웨어 어플리케이션 또는 공급자가 최고의 기능성을 제공하는지 결정하려고 하는 경우, 그 제품들은 기업 비즈니스 프로세스 관리 시스템에 대해 통합될 수 있고 비교적으로 테스트될 수 있다. 또한, 상이한 소프트웨어 공급자 API 호출들을 비교하는 여하한의 비즈니스 프로세스가 이러한 프로세스 내에 포함될 수 있다.More generally, when an organization wants to determine which software application or provider provides the best functionality, the products can be integrated and tested against an enterprise business process management system. In addition, any business process that compares different software provider API calls can be included within this process.

또 다른 예시로서, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는 데이터 저장 장치 변환 소프트웨어에 관련한 비즈니스 어플리케이션으로부터의 기능들을 포함하는 비즈니스 프로세스를 정의하고, 형성하며, 실행하는 데이터 맵핑 또는 변환 어플리케이션으로 지향될 수 있지만, 그에 제한되지는 않는다. 이러한 비즈니스 프로세스의 특정 예시에서, 하나의 데이터 저장 장치(예를 들어, 제 1 데이터베이스)와 연계된 제 1 포맷으로 입력 데이터가 수신되고, 또 다른 저장 장치(예를 들어, 제 2 데이터베이스) 포맷으로 출력 데이터가 제공되는 비즈니스 프로세스가 생성되고 수행될 수 있다. 일 실시예에서, 각각의 프로세스 단계는 예를 들어 하나의 필드 타입에서 또 다른 필드 타입으로의 맵핑일 수 있다.As another example, one embodiment of an enterprise business process management system may be directed to a data mapping or transformation application that defines, forms, and executes a business process that includes functions from a business application relating to data storage conversion software. However, it is not limited thereto. In a particular example of such a business process, input data is received in a first format associated with one data storage device (eg, a first database), and in another storage device (eg, a second database) format. A business process for which output data is provided can be created and performed. In one embodiment, each process step may be, for example, a mapping from one field type to another field type.

최종적으로, 또 다른 예시로서, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는 정보 매칭 및 데이터베이스 회수 소프트웨어에 관련한 비즈니스 어플리케 이션으로부터의 기능들을 포함하는 비즈니스 프로세스를 정의하고, 형성하며, 실행하는 소프트웨어 기반 맵핑 어플리케이션으로 지향될 수 있지만, 그에 제한되지는 않는다. 이러한 비즈니스 프로세스의 특정 예시에서, 비즈니스 프로세스는 콜센터 작업들에 관한 정보에 대해 정보 맵핑 및 데이터 저장 장치 룩업을 포함할 수 있다. 특히, 콜센터 교환원은 고객이 콜센터 교환원 이름 및 주소 정보를 제공하는 고객으로부터 전화를 받을 수 있다. 콜센터 교환원은, 예를 들어 인터랙티브 페이지를 이용하여 정보를 입력한 후, 탐색 요구를 초기화할 할 수 있다. 탐색 요구는 이름 및 주소 정보가, 예를 들어 다음과 같은 단계들을 수행할 수 있는 기업 비즈니스 프로세스 관리 시스템에 의해 유지되는 비즈니스 프로세스로 송신되게 할 수 있다:Finally, as another example, one embodiment of an enterprise business process management system defines a software-based mapping that defines, forms, and executes a business process that includes functions from business applications related to information matching and database retrieval software. It may be directed to an application, but is not limited thereto. In a particular example of such a business process, the business process may include information mapping and data storage lookup for information about call center tasks. In particular, the call center operator may receive a call from the customer where the customer provides the call center operator name and address information. The call center operator may initiate a search request, for example after entering information using an interactive page. The search request may cause name and address information to be sent to a business process maintained by an enterprise business process management system, for example, which may perform the following steps:

a. 이름 및 주소 데이터 표준화a. Normalize Name and Address Data

b. 매치키(Match Key) 생성b. Create Match Key

c. 단계 b에서 생성된 매치키를 이용하여 일련의 데이터베이스 룩업을 수행c. Perform a series of database lookups using the match key generated in step b

d. 각각의 데이터베이스 룩업은 임시 기록을 형성하는데 사용될 몇몇 정보를 다시 리턴d. Each database lookup returns some information that will be used to form a temporary record.

e. 모든 데이터베이스 룩업이 수행된 이후에, 콜센터 스크린으로 출력 송신e. After all database lookups have been performed, output is sent to the call center screen.

관리 및 경영진 사용자를 포함한 기업 비즈니스 프로세스 관리 시스템의 사용자들에게 적절한 보정 동작이 수행될 수 있도록, 데이터 퀄리티 이슈와 같지만 그에 제한되지는 않은 기업 레벨 이슈로 상이한 레벨의 가시성이 제공될 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템은 데이터의 믿을만한 송신부에 기초하여, 올바르지 않거나 오류가 있는 데이터에 대해 자동으로 보정할 수 있다. 본 발명의 기업 비즈니스 프로세스 관리 시스템에 의해 제공되는 통합된 뷰로 인해, 예를 들어 어플리케이션-특정 점검 프로세스와 같은 데이터 공급자-특정 접근의 단점이 최소화된다. 또한, 많은 개별적인 독립 데이터 퀄리티 어플리케이션을 획득하고 유지할 필요성이 감소하기 때문에, 데이터 퀄리티 툴에 대한 전체 획득 비용이, 예를 들어 본 명세서에서 설명된 통합된 접근의 사용을 통해 기업에 대해 최소화될 수 있다.Different levels of visibility may be provided to enterprise level issues, such as, but not limited to, data quality issues, so that appropriate correction actions may be performed to users of an enterprise business process management system, including management and executive users. In one or more embodiments, the enterprise business process management system may automatically correct for incorrect or erroneous data based on reliable transmission of the data. The integrated view provided by the enterprise business process management system of the present invention minimizes the disadvantages of data provider-specific approaches, such as, for example, application-specific inspection processes. In addition, because the need to acquire and maintain many individual independent data quality applications is reduced, the overall acquisition cost for the data quality tool can be minimized for the enterprise, for example, through the use of the integrated approach described herein. .

또한, 1 이상의 실시예에서 비즈니스 프로세스 서버는 바람직한 기능들의 세트를 선택하고 실행하도록 구성될 수도 있으며, 이때 각각의 바람직한 기능은 다수 상이한 비즈니스 어플리케이션들 중 하나로부터 얻어진다. 비즈니스 프로세스 서버는, 예를 들어 선택 발견적 방법(selection heuristic)에 기초하여 비즈니스 어플리케이션에 의해 제공된 다수 유사한 기능들로부터 하나의 기능을 선택할 수 있다. 이러한 선택 발견적 방법의 일 예시는 비즈니스 어플리케이션 출력 데이터의 주어진 세트에 적용된 다수 유사한 기능들의 비교에 의해 검출된 오류들의 비율일 수 있다. 각각의 비즈니스 어플리케이션은 상이한 공급자로부터의 제품이거나 아닐 수 있다. 대안적으로, 기능 선택 기준은 인터페이스 모듈의 인터랙티브 페이지를 통해 사용자에 의해 지정될 수 있다. 이러한 방식으로, 기업 비즈니스 프로세스 관리 시스템은 상이한 비즈니스 어플리케이션에 의해 제공된 것들 사이에서 바람직하거나 "최상의 소프트웨어를 사용한" 기능들의 세트를 선택할 수 있다.Further, in one or more embodiments the business process server may be configured to select and execute a set of desirable functions, with each desired function being obtained from one of a number of different business applications. The business process server may select one function from a number of similar functions provided by the business application, for example based on a selection heuristic. One example of such a selective heuristic method may be the ratio of errors detected by a comparison of a number of similar functions applied to a given set of business application output data. Each business application may or may not be a product from a different supplier. Alternatively, the function selection criteria may be specified by the user through the interactive page of the interface module. In this way, the enterprise business process management system may select a set of desirable or "using the best software" functions among those provided by different business applications.

도 40은 비즈니스 프로세스 관리 시스템의 일 예시로서 기업 비즈니스 프로 세스 관리 시스템(100)의 블록도를 나타낸다. 기업 비즈니스 프로세스 관리 시스템(100)은 프로세스 형성 부분(4001) 및 프로세스 디자이너 인터랙티브 부분(4002)을 포함한다. 프로세스 형성 부분(4001)은 비즈니스 프로세스를 생성하거나 수정하는 부분이다. 프로세스 디자이너 인터랙티브 부분(4002)은 프로세스 디자이너(4003)와 상호작용하는 부분이다. 프로세스 디자이너(4003)는 비즈니스 프로세스를 디자인하는 인간일 수 있다. 또한, 프로세스 디자이너(4003)는 비즈니스 프로세스를 디자인할 수 있는 인간 이외의 개체일 수 있다. 예를 들어, 프로세스 디자이너는 별도의 기업 비즈니스 프로세스 관리 시스템(100)이거나 상호작용하거나 하지 않는 몇몇 다른 시스템 또는 소프트웨어일 수 있다.40 shows a block diagram of an enterprise business process management system 100 as an example of a business process management system. The enterprise business process management system 100 includes a process forming portion 4001 and a process designer interactive portion 4002. The process formation portion 4001 is a portion for creating or modifying a business process. Process designer interactive portion 4002 is the portion that interacts with process designer 4003. Process designer 4003 may be a human who designs business processes. Process designer 4003 may also be a non-human entity capable of designing business processes. For example, the process designer may be a separate corporate business process management system 100 or some other system or software that may or may not interact with it.

프로세스 디자이너 인터랙티브 부분(4002)은, 스크린 디스플레이 및 키보드를 통하거나 스크린 디스플레이 및 마우스를 통해서와 같지만 그에 제한되지는 않은 다양한 방식으로 프로세스 디자이너(4003)와 상호작용한다. 비교적 정교한 인터랙션의 일 예시는, 프로세스 디자이너 인터랙티브 부분(4002)이 프로세스 디자이너(4003)와 상호작용하는 도 20에 나타낸 프로세스 디자이너 인터랙티브 페이지(2000)를 보여준다는 것이다. 프로세스 디자이너(4003)는 프로세스 디자이너 인터랙티브 부분(4002)에서 사용되는 비즈니스 프로세스를 디자인하는 정보를 입력한다. 여기에서, 비즈니스 프로세스를 디자인하는 정보는 비즈니스 프로세스를 디자인하는데 사용되는 여하한의 정보로서 정의된다. 비즈니스 프로세스를 디자인하는 정보의 일 예시는, 프로세스 디자이너가 도 20에 나타낸 프로세스 디자이너 인터랙티브 페이지(2000) 상에 기능 식별자(2035)를 배치하는 것이다. 프로세스 형성 부 분(4001)은 프로세스 디자이너 인터랙티브 부분(4002)에 의해 수신된 정보에 기초하여 비즈니스 프로세스를 생성하거나 수정한다.Process designer interactive portion 4002 interacts with process designer 4003 in a variety of ways, such as, but not limited to, through the screen display and keyboard or through the screen display and mouse. One example of a relatively sophisticated interaction is that the process designer interactive portion 4002 shows the process designer interactive page 2000 shown in FIG. 20, which interacts with the process designer 4003. Process designer 4003 enters information designing the business process used in process designer interactive portion 4002. Here, the information designing a business process is defined as any information used to design the business process. One example of information designing a business process is for the process designer to place a function identifier 2035 on the process designer interactive page 2000 shown in FIG. 20. The process forming portion 4001 creates or modifies a business process based on the information received by the process designer interactive portion 4002.

도 41은 기업 비즈니스 프로세스 관리 시스템(100)에 의해 다수 제품들의 사용을 예시하는 블록도를 나타낸다. 프로세스 형성 부분(4001)은 제한되지 않은 개수의 제품을 이용할 수 있다. 도 41에서, 프로세스 형성 부분(4001)은 3 개의 제품(4100, 4101 및 4102)을 이용한다(예를 들어, 이로 인해 프로세스 형성 부분이 제한되지는 않는 방식으로 예시됨). 전형적으로, 제품은 복수의 기능을 갖지만, 제품은 하나의 기능만을 가질 수 있다. 또한, 기능 자체가 제품일 수도 있다. 또한, 복수의 기능들 및/또는 제품들을 통합하는 비즈니스 프로세스는 비즈니스 프로세스가 기능으로서 사용되는 경우에 기능을 구성(constitute)할 수 있다. 비즈니스 프로세스 관리 시스템에 의해 생성된 비즈니스 프로세스는 기능으로서 반복적으로 사용될 수 있다. 또한, 비즈니스 프로세스 관리 시스템에 의해 생성된 비즈니스 프로세스는 제품으로서 반복적으로 사용될 수도 있다.41 shows a block diagram illustrating the use of multiple products by the enterprise business process management system 100. Process forming portion 4001 can utilize any number of products. In FIG. 41, process forming portion 4001 utilizes three products 4100, 4101, and 4102 (eg, illustrated by way of example so that the process forming portion is not limited). Typically, a product has a plurality of functions, but a product may have only one function. In addition, the function itself may be a product. In addition, a business process that integrates multiple functions and / or products may construct a function when the business process is used as a function. The business process created by the business process management system can be used repeatedly as a function. In addition, the business process created by the business process management system may be used repeatedly as a product.

도 41에서, 제품 4100은 기능 4110 및 4113을 갖는다. 제품 4101은 기능 4111을 갖는다. 제품 4102는 기능 4112 및 4114를 갖는다. 도 41은 프로세스 형성 부분(4001)이 비즈니스 프로세스(4150)를 생성하거나 수정하기 위해 기능들(4110, 4111, 4112, 4113 및 4114) 사이에서 기능들 4111, 4112 및 4113을 선택하는 일 예시를 나타낸다. 제품들(4100, 4101 및 4102)은 동일하거나 상이한 공급자들의 제품일 수 있다. 또한, 프로세스 형성 부분(4001)은 설정들을 선택하고 설정들의 선택을 허가할 수도 있다. 전형적으로, 기능들은 개인의 필요성을 충족시키도록 비즈니 스에 의해 조정될 수 있는 수 개의 설정들을 제공한다. 몇몇 기능들은 비즈니스(또는, 프로세스 디자이너(4003))에 의해 조정되지 않는 단지 하나의 고정된 설정만을 제공할 수 있다. 몇몇 기능들은 설정들을 전혀 갖지 않을 수 있다. 도 41에서, 기능 4110은 3 개의 설정: 설정 A, 설정 B 및 설정 C를 갖는다. 기능 4111은 단지 하나의 고정된 설정 D만을 갖는다. 기능들 4112, 4113 및 4114는 설정을 갖지 않는다. 도 41은 비즈니스 프로세스(4150)를 생성하거나 수정하기 위해, 프로세스 형성 부분(4001)이 설정들(A, B 및 C) 사이에서 기능 4113의 설정 B를 선택하는 일 예시를 나타낸다. 비즈니스 프로세스(4150)는 기능 4111의 설정 D, 기능 4112, 및 기능 4113의 설정 B를 사용한다. 비즈니스 프로세스(4150)는 물리적으로 비즈니스 프로세스(4150) 내에 기능들 및 설정들을 포함할 수 있으며, (기능들이 물리적으로 상이한 장소에 위치되어 있지만 유선 또는 무선 연결을 통해 액세스가능한 경우와 같이) 물리적으로 기능들 및 설정들을 포함하지 않지만 비즈니스 프로세스(4150)의 물리적 위치의 외부에서 기능들 및 설정들을 액세스할 수 있다. 프로세스 형성 부분(4001)은 하나의 비즈니스 프로세스에서 상이한 설정들을 갖는 동일한 공급자 또는 다수 공급자들로부터의 동일한 기능들을 선택할 수 있다.In FIG. 41, product 4100 has functions 4110 and 4113. Product 4101 has a function 4111. Product 4102 has functions 4112 and 4114. 41 shows an example in which process forming portion 4001 selects functions 4111, 4112, and 4113 between functions 4110, 4111, 4112, 4113, and 4114 to create or modify business process 4150. . Products 4100, 4101 and 4102 may be products of the same or different suppliers. In addition, process forming portion 4001 may select settings and allow selection of settings. Typically, the functions provide several settings that can be adjusted by the business to meet the needs of the individual. Some functions may provide only one fixed setting that is not coordinated by the business (or process designer 4003). Some functions may not have settings at all. In FIG. 41, function 4110 has three settings: setting A, setting B and setting C. FIG. Function 4111 has only one fixed setting D. Functions 4112, 4113 and 4114 do not have a setting. FIG. 41 illustrates an example in which process forming portion 4001 selects setting B of function 4113 between settings A, B, and C to create or modify business process 4150. Business process 4150 uses setting D of function 4111, setting 4112, and setting B of function 4113. Business process 4150 may physically include functions and settings within business process 4150 and may be physically functional (such as when the functions are physically located in different locations but are accessible through a wired or wireless connection). Functions and settings may be accessed outside of the physical location of the business process 4150. Process forming portion 4001 may select the same functions from the same provider or multiple suppliers with different settings in one business process.

프로세스 형성 부분(4001)에서의 기능들 및 설정들의 선택은 프로세스 디자이너 인터랙티브 부분(4002)으로부터 수신된 정보에 기초할 수 있다. 또한, 프로세스 형성 부분(4001)에서의 기능들 및 설정들의 선택은 기능들 및/또는 선택들의 비교에 기초할 수 있다. 도 41에서, 프로세스 형성 부분(4001)은 유효성 비교 부분(4120)을 포함한다. 유효성 비교 부분(4120)은 관찰된 일 실시예에서 기능들 및/ 또는 설정들의 유효성을 비교하는 부분이다. 프로세스 형성 부분(4001)은 프로세스 디자이너 인터랙티브 부분(4002)으로부터 수신된 정보에 기초하여 기능들을 선택한다.The selection of functions and settings in process formation portion 4001 may be based on information received from process designer interactive portion 4002. In addition, the selection of the functions and settings in process forming portion 4001 may be based on a comparison of the functions and / or selections. In FIG. 41, process forming portion 4001 includes a validity comparison portion 4120. The validity comparison portion 4120 is the portion that compares the validity of the functions and / or settings in one observed embodiment. Process forming portion 4001 selects functions based on information received from process designer interactive portion 4002.

프로세스 디자이너 인터랙티브 부분(4002)으로부터 수신된 정보의 일 예시는 도 20에 나타낸 프로세스 단계 정의 영역(2015) 상에서의 3 개의 기능 식별자(2035)의 선택이다(설명을 위해, 3 개의 기능 식별자는 기능 X, Y 및 Z로 나타낸 것으로 개체들을 간주함). 기능 X는 기능 4111 또는 4114에 의해 실현된다. 기능 Y는 기능 4112에 의해 실현된다. 기능 Z는 기능 4113에 의해 실현된다. 프로세스 형성 부분(4001)은 기능 Y 및 Z로서 기능 4112 및 4113을 선택한다. 유효성 비교 부분(4120)은 기능 X로서 기능 4111을 선택하기 위해 기능 4111과 기능 4114의 유효성을 비교한다. 또한, 유효성 비교 부분(4120)은 기능 4113의 설정 A, B, C의 유효성을 비교하고, 기능 4113의 설정 B를 선택한다. 프로세스 형성 부분(4001)은 기능 4111의 설정 D, 기능 4112, 및 기능 4113의 설정 B를 사용하는 비즈니스 프로세스(4150)를 생성한다.One example of information received from the process designer interactive portion 4002 is the selection of three function identifiers 2035 on the process step definition area 2015 shown in FIG. 20 (for illustrative purposes, the three function identifiers are function X). Subjects as represented by, Y and Z). Function X is realized by function 4111 or 4114. Function Y is realized by function 4112. Function Z is realized by function 4113. Process forming portion 4001 selects functions 4112 and 4113 as functions Y and Z. The validity comparison portion 4120 compares the validity of the function 4111 and the function 4114 to select the function 4111 as the function X. Further, the validity comparison portion 4120 compares the validity of the settings A, B, and C of the function 4113 and selects the setting B of the function 4113. Process forming portion 4001 generates business process 4150 using setting D of function 4111, setting 4112, and setting B of function 4113.

유효성을 비교하는 유효성 비교 부분(4120)에 대해 다양한 방식이 존재할 수 있다. 예를 들어, 유효성 비교 부분(4120)은 컴퓨터 시뮬레이션에 의해 기능들 및 설정들의 유효성을 평가할 수 있다. 대안적으로, 유효성 비교 부분(4120)은 공급자의 제품 내에 포함된 정보로부터 정보를 얻음으로써 기능들 및 설정들의 유효성을 평가할 수 있다. 유효성 비교 부분(4120)은 각각의 공급자 기능들 및 설정들의 강점 및 약점을 비교할 수 있다. 유효성 비교 부분(4120)은, 예를 들어 데이터 퀄리 티 이슈와 같은 특정한 기업 이슈를 다루기 위해, 가장 효과적인 기능들 및 설정들의 선택에 대한 상이한 공급자들로부터의 다양한 기능들 및 설정들의 유효성의 비교들을 위해 제공될 수 있다.There may be various ways for the validity comparison portion 4120 to compare the validity. For example, the validity comparison portion 4120 can evaluate the validity of the functions and settings by computer simulation. Alternatively, the validity comparison portion 4120 may evaluate the validity of the functions and settings by obtaining information from the information contained within the supplier's product. The validity comparison portion 4120 may compare the strengths and weaknesses of the respective provider functions and settings. The validity comparison portion 4120 allows for comparison of the validity of various functions and settings from different suppliers for the selection of the most effective functions and settings, for example to address a particular corporate issue such as a data quality issue. Can be provided.

또한, 유효성 비교 부분(4120)은 상이한 기능들 또는 설정들의 유효성을 평가하는데 추가하여, 중복되는 기능들 및 설정들의 유효성을 평가할 수도 있다는 것에 유의하여야 한다. 이 비교는, 동일한 시스템 또는 플랫폼 상이나 상이한 시스템 또는 플랫폼 상에 존재하는 중복되는 기능들 및/또는 설정들에 대해 수행될 수 있다. 예를 들어, 동일한 기능(또는 기능의 중복들)이 상이한 작동 플랫품 상에 존재할 수 있으며, 상이한 플랫폼들 상에서 실행되는 경우 중복되는 기능이 상이하게 수행될 수 있다. 한가지 경우에, 기능이 윈도우 기반 플랫폼 상에 있는 경우, 그 기능은 리눅스 기반 플랫폼 상에서 작동하는 중복된 기능보다 느린 속력으로 작동할 수 있다. 그때, 유효성 비교 부분(4120)은 중복된 것들 사이에서 적절히 선택하기 위해 그것들이 존재하는 플랫폼에 관하여 기능들(즉, 중복되는 동일한 기능)의 유효성을 평가할 수 있다.It should also be noted that the validity comparison portion 4120 may evaluate the validity of overlapping functions and settings, in addition to evaluating the validity of different functions or settings. This comparison may be performed for overlapping functions and / or settings that exist on the same system or platform or on different systems or platforms. For example, the same function (or duplications of functions) may exist on different operating platforms, and the overlapping functions may be performed differently when executed on different platforms. In one case, if a feature is on a Windows-based platform, that feature may run at a slower speed than the duplicated feature that works on a Linux-based platform. The validity comparison portion 4120 may then evaluate the validity of the functions (ie, identical overlapping functions) with respect to the platform on which they exist to properly select among the duplicates.

유효성 비교 부분(4120)은 다른 인자들 사이에서 기능들 및 설정들의 속력 및 효율성을 비교함으로써 기능들 및 설정들의 유효성을 평가할 수 있다. 예를 들어, 하나의 설정 또는 기능이 불만족스럽게 느린 속력으로 작동하는 경우, 그 기능 또는 설정은 사전선택된 시간 제한 내에 결과를 리턴할 수 없는 프로세스의 생성을 유도할 수 있다. 따라서, 유효성 비교 부분(4120)은 사전선택된 시간 제한 내에 데이터를 처리하도록 상이한 설정 또는 기능을 선택할 수 있다. 대안적으로, 유효성 비교 부분(4120)은 처리된 데이터의 신뢰성(trustworthiness), 정확성 등에 기초하여 상이한 설정들 및 기능들 사이에서 선택할 수 있다. 당업자라면 이해할 수 있는 바와 같이, 유효성 비교는 특정 프로세스, 기능 또는 설정의 전반적인 성능을 비교하기 위해 많은 다른 인자들 사이에서 리턴된 결과들의 적시성(timeliness) 및 정확성 모두를 평가할 수 있다.Effectiveness comparison portion 4120 may evaluate the effectiveness of the functions and settings by comparing the speed and efficiency of the functions and settings among other factors. For example, if a setting or function is operating at an unsatisfactory slow speed, the function or setting can lead to the creation of a process that cannot return results within a preselected time limit. Thus, the validity comparison portion 4120 may select different settings or functions to process data within a preselected time limit. Alternatively, the validity comparison portion 4120 may select between different settings and functions based on the trustworthiness, accuracy, etc. of the processed data. As will be appreciated by those skilled in the art, a validity comparison can assess both the timeliness and the accuracy of the results returned between many different factors to compare the overall performance of a particular process, function or setup.

도 42는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 다수 비즈니스 어플리케이션들의 사용을 예시한 블록도를 나타낸다. 도 41에 나타낸 일 예시에서, 비즈니스 어플리케이션 4200은 기능 4210, 4213 및 4216을 갖는다. 비즈니스 어플리케이션 4201은 기능 4211, 4214 및 4217을 갖는다. 비즈니스 어플리케이션 4202는 기능 4212 및 4215를 갖는다. 도 41은 비즈니스 프로세스(4250)를 생성하거나 수정하기 위해 프로세스 형성 부분(4001)이 기능 4212, 4213 및 4217을 선택하고 조합하는 일 예시를 나타낸다. 기능들(4210, 4211, 4212, 4213, 4214, 4215, 4216 및 4217)의 전체 또는 일부분은 설정들을 포함할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 전반적인 기업 비즈니스에 대해 증가된 유효성을 달성하도록 조합하여 "최상의 소프트웨어를 사용한" 비즈니스 프로세스를 사용하는 기업을 제공할 수 있다. 다수 상이한 비즈니스 어플리케이션들의 기능들은, 특정 효과 또는 증가된 전체 유효성을 유도하는 다른 기준에 대해 기능들이 선택되는 새로운 비즈니스 프로세스 또는 수정된 비즈니스 프로세스를 형성하도록 조합될 수 있다. 예를 들어, 그 각각이 동일한 비즈니스 어플리케이션 또는 다수 상이한 비즈니스 어플리케이션으로부터 얻어질 수 있는 수 개의 데이터 퀄리티 프로세스들이, 각각의 다수 데이터 퀄리티 비즈니스 어플리케이션 단독으로 적용하여 가능한 것보다 더 높은 전체 데이터 정확율을 달성하는 단일 데이터 퀄리티 비즈니스 프로세스를 포함하도록 정의될 수 있다. 각각의 비즈니스 어플리케이션들은 상이한 공급자들로부터 생성되거나 그렇지 않을 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 상이한 비즈니스 어플리케이션에 의해 제공된 것들 사이에서 바람직하거나 "최상의 소프트웨어를 사용한" 기능들의 세트를 선택할 수 있다.42 shows a block diagram illustrating the use of multiple business applications by the enterprise business process management system 100. In the example shown in FIG. 41, business application 4200 has functions 4210, 4213 and 4216. Business application 4201 has functions 4211, 4214, and 4217. Business application 4202 has functions 4212 and 4215. 41 illustrates an example in which process forming portion 4001 selects and combines functions 4212, 4213, and 4217 to create or modify business process 4250. All or part of the functions 4210, 4211, 4212, 4213, 4214, 4215, 4216, and 4217 may include settings. The enterprise business process management system 100 may provide an enterprise using business processes "using the best software" in combination to achieve increased effectiveness for the overall corporate business. The functions of many different business applications can be combined to form a new or modified business process in which the functions are selected for other criteria that drive a particular effect or increased overall effectiveness. For example, several data quality processes, each of which may be obtained from the same business application or many different business applications, may be applied to each of the multiple data quality business applications alone to achieve a higher overall data accuracy rate than is possible. It can be defined to include data quality business processes. Each business application may or may not be generated from different providers. The enterprise business process management system 100 may select a set of desirable or "using the best software" functions among those provided by different business applications.

기업 비즈니스 프로세스 관리 시스템(100)은 프로세스 디자이너(4003)(또는, 대안적으로 사용자)가 제품명, 제품 타입, 버전 및 제품 템플릿과 같지만 그에 제한되지 않은 정보를 입력함으로써 제품을 추가하게 한다. 버전을 입력하기 위해, 기업 비즈니스 프로세스 관리 시스템(100)은 버전 입력 부분을 가질 수 있다. 버전 입력 부분은 버전에 대한 정보를 입력하는 부분이다. 도 17은 버전 입력 부분의 일 예시를 나타낸다. 도 30은 버전 입력 부분의 또 다른 예시를 나타낸다.Enterprise business process management system 100 allows process designer 4003 (or, alternatively, a user) to add a product by entering information such as, but not limited to, product name, product type, version, and product template. To enter a version, enterprise business process management system 100 may have a version input portion. The version input part is for inputting information about the version. 17 shows an example of a version input part. 30 shows another example of a version input part.

기업 비즈니스 프로세스 관리 시스템(100)은 프로세스 디자이너(4003)(및/또는 사용자)가 제품의 플랫폼을 입력하게 할 수 있다. 플랫폼의 전형적인 예시는 운영 체제(operating system)이다. 기업 비즈니스 프로세스 관리 시스템(100)은 플랫폼 입력 부분을 가질 수 있다. 플랫폼 입력 부분은 플랫폼에 대한 정보를 입력하는 부분이다. 도 32는 플랫폼 입력 부분의 일 예시를 나타낸다. 제품들(4100, 4101 및 4102)은 동일하거나 상이한 플랫폼들 상에 있을 수 있다. 비즈니스 어플리케이션들(4200, 4201 및 4202)은 동일하거나 상이한 플랫폼들 상에 있을 수 있다.The enterprise business process management system 100 may allow the process designer 4003 (and / or the user) to enter the platform of the product. A typical example of a platform is an operating system. The enterprise business process management system 100 may have a platform input portion. The platform input part is for inputting information about the platform. 32 illustrates an example of a platform input portion. Products 4100, 4101, and 4102 may be on the same or different platforms. Business applications 4200, 4201, and 4202 may be on the same or different platforms.

기업 비즈니스 프로세스 관리 시스템(100)은 버전 그래픽 디스플레이 부분을 가질 수 있다. 버전 그래픽 디스플레이 부분은 버전에 대한 그래픽 정보를 보여주는 부분이다. 도 43은 버전 그래픽 디스플레이 부분의 일 예시로서 버전 페이지(4300)를 나타낸다. 버전 페이지(4300)는 도 43에 나타낸 바와 같은 트리 구조(tree structure)를 보여준다. 인터페이스(4301)는 트리 구조의 제 1 레벨이다. 하나의 인터페이스(4301)는 1 이상의 릴리즈(4302)를 가질 수 있으며, 이는 트리 구조의 제 2 레벨이다. 하나의 릴리즈(4302)는 1 이상의 구현(4303)을 가질 수 있으며, 이는 트리 구조의 제 3 레벨이다. 도 43은 인터페이스(4301) 및 릴리즈(4302)가 버전 넘버를 형성하도록 조합되는 것을 나타낸다. 예를 들어, 넘버 "1"을 갖는 인터페이스(4301) 및 넘버 ".1"을 갖는 릴리즈(4302)는 버전 넘버 "1.1"을 형성한다. 이 실시예에서, 구현(4303)은 버전 넘버를 구성하지 않는다. 운영 체제의 이름은 구현(4303)에서 할당된다. 구현(4303)은 전형적으로 운영 체제이지만, 제품 또는 비즈니스 어플리케이션이 구현되는 여하한의 엔티티(entity)일 수 있다. 예를 들어, 동일한 버전 넘버 1.1을 갖는 2 개의 워드 프로세서 제품이 2 개의 특정한 기계들에 대해 개발되는 경우, 구현은 기계일 수 있다.The enterprise business process management system 100 may have a version graphical display portion. The version graphic display section shows graphic information about the version. 43 shows version page 4300 as an example of a version graphics display portion. Version page 4300 shows a tree structure as shown in FIG. 43. Interface 4301 is the first level of the tree structure. One interface 4301 can have one or more releases 4302, which is the second level of the tree structure. One release 4302 can have one or more implementations 4303, which is the third level of the tree structure. 43 shows that interface 4301 and release 4302 are combined to form a version number. For example, interface 4301 with number "1" and release 4302 with number ".1" form version number "1.1". In this embodiment, implementation 4303 does not constitute a version number. The name of the operating system is assigned at implementation 4303. Implementation 4303 is typically an operating system, but may be any entity on which a product or business application is implemented. For example, if two word processor products having the same version number 1.1 are developed for two specific machines, the implementation may be a machine.

도 44는 버전 그래픽 디스플레이 부분의 또 다른 예시를 나타낸다. 이 실시예에서, 넘버가 구현(4403)에 할당되며, 구현(4403)은 버전 넘버를 구성한다. 예를 들어, 인터페이스(4401)가 넘버 "1"을 갖고, 릴리즈(4402)가 넘버 ".1"을 가지며, 구현(4403)이 넘버 ".1"을 갖는 경우 버전 넘버는 "1.1.1"이 된다.44 shows another example of a version graphics display portion. In this embodiment, a number is assigned to implementation 4403, which implements a version number. For example, if interface 4401 has number "1", release 4402 has number ".1", and implementation 4403 has number ".1", the version number is "1.1.1". Becomes

인터페이스들(4301, 4401), 릴리즈들(4302, 4402) 및 구현들(4303, 4403)의 전체 또는 일부분은 아이콘에 의해 나타낼 수 있다. 도 43 및 도 44에서, 그것들은 동일한 형상을 갖는 아이콘에 의해 나타내어진다. 하지만, 각각의 아이콘은 상이한 형상, 색, 디자인 등을 가질 수 있다. 또한, 아이콘 대신에 다른 표시기(예를 들어, 단순한 도트 또는 캐릭터)들이 사용될 수도 있다. 아이콘 또는 다른 표시기들은 폴더일 수 있다. 폴더는 관찰된 일 실시예에서, 다른 것들 중에서 클릭 작업에 따라 열고 닫는 표시기이다. 폴더가 열리도록 클릭되는 경우, 스크린 상에는 트리의 하부 레벨이 보인다. 폴더가 닫히도록 클린되는 경우, 트리의 하부 레벨은 스크린 상에서 숨겨진다.All or part of the interfaces 4301, 4401, releases 4302, 4402, and implementations 4403, 4403 may be represented by an icon. 43 and 44, they are represented by icons having the same shape. However, each icon may have a different shape, color, design, or the like. In addition, other indicators (eg, simple dots or characters) may be used instead of the icon. The icon or other indicators can be folders. The folder is, in one observed embodiment, an indicator of opening and closing according to the click action, among others. If the folder is clicked to open, the bottom level of the tree is visible on the screen. If the folder is cleaned to close, the lower level of the tree is hidden on the screen.

프로세스 디자이너(4003) 및/또는 사용자는 표시기들 중 1 이상을 선택함으로써 비즈니스 프로세스를 생성하거나 수정하는데 사용되는 제품을 선택할 수 있다. 예를 들어, 프로세스 디자이너(4003)는 특정 운영 체제 상에 구현되는 버전 넘버 1.1을 갖는 제품을 선택하기 위해 마우스 커서로 아이콘(4304)을 클릭한다. 이는 사용자가 비즈니스 프로세스에 대해 적절한 버전을 사용하게 한다.Process designer 4003 and / or the user may select a product used to create or modify a business process by selecting one or more of the indicators. For example, process designer 4003 clicks icon 4304 with a mouse cursor to select a product with version number 1.1 implemented on a particular operating system. This allows the user to use the appropriate version for the business process.

도 45는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 상이한 버전들을 갖는 다수 제품들의 사용을 예시한 블록도를 나타낸다. 본 명세서에서, 상이한 버전들을 갖는 제품들은 제품들의 이름이 동일한 경우라도 상이한 제품들을 구성한다. 또한, 본 명세서에서 상이한 플랫폼들을 갖는 제품들은 제품들의 이름이 동일한 경우라도 상이한 제품들을 구성한다. 기업 비즈니스 프로세스 관리 시스템(100)은 비즈니스 프로세스를 생성하거나 수정하기 위해 상이한 버전들 및/또는 플랫폼들을 갖는 제품들로부터 기능들 및 설정들을 선택할 수 있다. 또한, 프로세스 디자이너(4003) 및/또는 사용자는 비즈니스 프로세스를 생성하거나 수정하는데 사용되 는 특정한 버전 및/또는 플랫폼을 갖는 제품을 선택할 수 있다.45 shows a block diagram illustrating the use of multiple products with different versions by the enterprise business process management system 100. In this specification, products having different versions constitute different products even if the names of the products are the same. Also, products with different platforms herein constitute different products even if the names of the products are the same. The enterprise business process management system 100 may select functions and settings from products with different versions and / or platforms to create or modify a business process. In addition, process designer 4003 and / or user may select a product with a particular version and / or platform used to create or modify a business process.

도 45에서, 제품 4500은 제품명 "Data Quality"를 갖고, 그 버전은 1.0이며, 그 플랫폼은 UNIX이다. 제품 4501은 제품명 "Data Quality"를 갖고, 그 버전은 1.1이며, 그 플랫폼은 UNIX이다. 제품 4502는 제품명 "Data Quality"를 갖고, 그 버전은 2.0이며, 그 플랫폼은 LINUX이다. 제품 4503은 제품명 "Search Name"을 갖고, 그 버전은 1.0이며, 그 플랫폼은 UNIX이다. 제품 4500은 기능 4510 및 4512를 갖는다. 제품 4501은 기능 4510 및 4512를 갖는다. 제품 4502는 기능 4511 및 4514를 갖는다. 제품 4503은 기능 4515를 갖는다. 기능 4512는 설정 A, B, C 및 D를 갖는다. 기능 4513은 설정 E, F 및 G를 갖는다. 기능 4514는 설정 H, I 및 J를 갖는다. 도 45에서, 비즈니스 프로세스(4550)를 생성하거나 수정하기 위해 프로세스 형성 부분(4001)은 기능 4511, 기능 4112의 설정 C, 및 기능 4515를 선택한다.In FIG. 45, product 4500 has the product name "Data Quality", the version is 1.0, and the platform is UNIX. Product 4501 has the product name "Data Quality", its version is 1.1 and the platform is UNIX. Product 4502 has the product name "Data Quality", its version is 2.0 and the platform is LINUX. Product 4503 has a product name "Search Name", its version is 1.0, and its platform is UNIX. Product 4500 has features 4510 and 4512. Product 4501 has functions 4510 and 4512. Product 4502 has functions 4511 and 4514. Product 4503 has a feature 4515. Function 4512 has settings A, B, C and D. Function 4513 has settings E, F and G. Function 4514 has settings H, I and J. In FIG. 45, process forming portion 4001 selects function 4511, setting C of function 4112, and function 4515 to create or modify business process 4550.

제품들 4500, 4501 및 4502는 동일한 제품명을 갖는다. 기능 4511은 기능 4510으로부터 유효성이 개선되지만, 기능 4511은 단지 LINUX의 플랫폼 상에서만 이용가능하다. 프로세스 형성 부분(4001)은 상이한 플랫폼 상의 기능과 상호작용하도록 기능 4511을 선택함으로써 성능을 개선할 수 있다. 제품 4501과의 호환성을 고려하여, 기능 4512는 설정 C로 선택된다. 기능 4515는 기능 4511과 기능 4512를 조합하여 선택된다. 이러한 방식으로, 비즈니스 프로세스(4550)를 생성하거나 수정하기 위해 동일한 제품명을 갖는 제품들의 상이한 버전들 또는 플랫폼들이 조합될 수 있다. 상이한 버전들 및 플랫폼들의 기능들을 혼합함으로써, 기업 비즈니스 관리 시스템(100)은 하나의 버전 및 하나의 플랫폼을 갖는 제품만이 사용되는 경우보다 더 효과적인 비즈니스 프로세스를 생성하거나 수정할 수 있다.Products 4500, 4501 and 4502 have the same product name. Function 4511 is enhanced from function 4510, but function 4511 is only available on the platform of LINUX. Process formation portion 4001 may improve performance by selecting function 4511 to interact with the functions on different platforms. Considering compatibility with product 4501, function 4512 is selected with configuration C. Function 4515 is selected using a combination of function 4511 and 4512. In this way, different versions or platforms of products with the same product name can be combined to create or modify business process 4550. By mixing the functions of different versions and platforms, enterprise business management system 100 can create or modify business processes that are more effective than when only products with one version and one platform are used.

당업자라면 이해할 수 있는 바와 같이, 특정 환경에서 상이한 인터페이스(4301), 릴리즈(4302) 및 구현들(4304)을 효과적으로 조직하고 이용하는 능력은 오늘날 많은 비즈니스에 대해 상당한 관심사이다. 앞서 설명된 구조를 이용하여, 그리고 본 명세서에서 설명된 기업 비즈니스 프로세스 관리 시스템(100)을 이용하여, 바로 이러한 작업을 성취할 수 있다.As will be appreciated by those skilled in the art, the ability to effectively organize and use different interfaces 4301, releases 4302, and implementations 4304 in a particular environment is a significant concern for many businesses today. Using the structure described above, and using the enterprise business process management system 100 described herein, this can be accomplished.

당업자라면 이해할 수 있는 바와 같이, 그리고 앞서 말한 관점에서와 같이, 상이한 구현, 릴리즈 및 버전은 간단히 이용될 수 있는 기능들이다. 예를 들어, 기업 비즈니스 프로세스 관리 시스템(100)이 사용될 수 있는 2 이상의 방식이 존재한다. 첫째, 시스템(100)의 상이한 부분들 상에서 상이한 구현들(4303)이 채택되는 경우, 기업 비즈니스 프로세스 관리 시스템(100)은 이전 구현(4303)을 더 최신의 구현(4303)으로 교체하기 위해 사용될 수 있다. 둘째, 동시에 진행하는 상이한 구현들(4303)을 갖기 원하는 경우, 기업 비즈니스 프로세스 관리 시스템(100)은 이 작업을 허용하도록 구성될 수 있다.As will be appreciated by those skilled in the art, and in view of the foregoing, different implementations, releases, and versions are simply functions that can be utilized. For example, there are two or more ways in which enterprise business process management system 100 can be used. First, if different implementations 4203 are employed on different portions of system 100, enterprise business process management system 100 may be used to replace the previous implementation 4303 with a more recent implementation 4303. have. Second, enterprise business process management system 100 may be configured to allow this work if it wishes to have different implementations 4403 that proceed concurrently.

시간이 지나 구현(4303), 릴리즈(4302) 및 인터페이스(4301)가 업그레이드되고 교체되는 경우, 기업 비즈니스 프로세스 관리 시스템(100)는 자동으로 이전 버전들을 찾아 더 새로운 버전으로 교체하도록 구성될 수 있으므로, 전체적인 업그레이드가 간단하고 효과적으로 이루어지게 할 수 있다.Over time, if the implementation 4303, release 4302, and interface 4301 are upgraded and replaced, the enterprise business process management system 100 may be configured to automatically find older versions and replace them with newer versions, The overall upgrade can be made simple and effective.

당업자라면 이해할 수 있는 바와 같이, 구현은 인터페이스의 요구사항들을 수행한다. 구현은 구현을 실행할 수 있는 1 이상의 기계, 시스템, 또는 플랫폼 상 에서 개발될 수 있다. 이는 단일 버전을 나타내는 동안 M 개의 기계들을 가로질러 구현이 개발될 수 있다는 것을 의미한다. 또한, 버전은 시스템 내에서 스케일 인자(scale factor)를 나타낸다.As will be appreciated by those skilled in the art, the implementation fulfills the requirements of the interface. An implementation can be developed on one or more machines, systems, or platforms that can execute the implementation. This means that an implementation can be developed across M machines while representing a single version. The version also represents a scale factor in the system.

예를 들어, 프로세스 디자이너(4003)가 프로세스를 생성하는 경우, 버전 및 버전의 특정 실시예는 인터페이스, 릴리즈 또는 구현인지에 상관없이 버전이 시스템을 가로질러 실행될 수 있는 기계들의 범위를 나타낸다. 시스템이 스케일되는 방식 및 스케일링이 성취되는 결정이 아래에서 설명된다.For example, when process designer 4003 creates a process, the version and the particular embodiment of the version represent a range of machines on which the version can be run across the system regardless of whether it is an interface, release or implementation. The manner in which the system is scaled and the determination by which scaling is achieved are described below.

앞서 나타낸 바와 같이, 설명된 실시예에서 인터페이스는 버전에 대해 가장 높은 레벨의 추상화(abstraction)를 나타내고, 또한 가장 높은 레벨의 확장성(scalability)을 나타낸다. 프로세스 내에서 인터페이스가 사용되는 경우, 시스템은 프로세스가 실행될 때에 선택할 릴리즈 및 구현의 완전한 범위를 갖는다고 알려진다. 잠재적으로, 이는 시스템이 프로세스를 실행할 수 있는 거대한 스케일을 나타낸다.As indicated above, in the described embodiment the interface exhibits the highest level of abstraction for the version and also the highest level of scalability. When an interface is used within a process, the system is known to have a complete range of releases and implementations to choose from when the process runs. Potentially, this represents a huge scale on which the system can execute a process.

일 예시에서, 인터페이스가 프로세스 내에서 사용될 때 인터페이스 Too1.1이 Tool.1.1, Tool.1.2에서 Tool.1.N까지로 나타내는 N 개의 릴리즈를 갖고, 각각의 릴리즈는 Tool.1.1.P(1), Tool.1.2.P(2)에서 Tool.1.N.P(3)까지로 나타내는 P 개의 구현들을 갖는 경우, 시스템은 프로세스 디자이너(4003)가 그렇게 결정한 경우에 구현이 개발된 모든 기계(M)를 가로질러 모든 릴리즈(N) 내에서 모든 구현(P)을 사용할 수 있다. 본질적으로, 모든 기계가 프로세스의 실행에 관계할 가능성이 있다. 프로세스 디자이너에 대해, 인터페이스의 사용은 단일 버전을 나타낸다. 시스템에 대해, 인터페이스의 사용은 얼마나 많은 시스템이 프로세스의 필요성을 충족시키도록 스케일될 수 있는지에 대한 명령어들에 대응한다.In one example, when the interface is used within a process, interface Too1.1 has N releases, represented by Tool.1.1, Tool.1.2 through Tool.1.N, each release being Tool.1.1.P (1). , With P implementations represented from Tool.1.2.P (2) to Tool.1.NP (3), the system is responsible for all machines (M) in which the implementation has been developed if the process designer 4003 determines so. You can use all implementations (P) within all releases (N) across. In essence, it is possible that all machines are involved in the execution of a process. For process designers, the use of the interface represents a single version. For a system, the use of the interface corresponds to instructions on how many systems can be scaled to meet the needs of the process.

릴리즈는 인터페이스와 매우 비슷하다. 하지만, 릴리즈는 시스템이 사용을 최대화하도록 그 작업을 어떻게 스케일하는가에 대해 더 제한적이다. 인터페이스와 릴리즈 간의 한가지 차이점은, 릴리즈가 특정 릴리즈(예를 들어, 릴리즈의 "아이들")에 의해서만 포괄되고 다른 릴리즈에는 포괄되지 않는 구현들을 사용하도록 스케일될 수 있다는 것이다. 또한 이 경우, 프로세스 디자이너에 대해 릴리즈의 사용은 단일 버전을 나타낸다. 시스템에 대해, 릴리즈의 사용은 (릴리즈의 아이들인) 구현들이 단지 프로세스의 선택된 단계를 실행하는데 사용되는 구현이 되도록 시스템이 어떻게 그 스케일을 제한해야 하는지를 지시하는 명령어들에 대응한다.The release is very similar to the interface. However, releases are more restrictive on how the system scales its work to maximize usage. One difference between an interface and a release is that a release can be scaled to use implementations that are covered only by a particular release (eg, "children" of the release) and not other releases. Also in this case, for process designers, the use of a release represents a single version. For a system, the use of a release corresponds to instructions that indicate how the system should limit its scale so that implementations (which are children of a release) are only implementations used to execute selected steps of the process.

관찰된 일 실시예에서, 구현은 시스템이 특정 프로세스를 실행하는데 사용될 가능성이 있는 최대 M 개의 잠재적인 기계들을 나타내기 때문에, 시스템 내에 가장 적은 스케일을 제공한다. 버전이 프로세스 내에서 사용되는 경우, 버전은 단계가 여하한의 이전 단계들에 의존적인지의 여부에 따라, 연속적인 명령으로 실행되거나 그렇지 않을 수 있는 단일 단계를 나타낸다는 것에 유의하여야 한다. 하지만, 시스템에 대해 버전은 하나의 기계 상에서만 실행가능한 단일 단계를 나타내지는 않으며, 이 단계를 실행하는데 사용될 수 있는 여하한 수의 기계들을 나타낼 수 있다.In one observed embodiment, the implementation provides the smallest scale in the system because the system represents up to M potential machines that are likely to be used to execute a particular process. When a version is used within a process, it should be noted that the version represents a single step that may or may not be executed in successive instructions, depending on whether the step is dependent on any previous steps. However, the version for a system does not represent a single step that is executable only on one machine, but may represent any number of machines that can be used to perform this step.

다음의 예시는 앞서 설명된 일 예시를 제공한다. 전체 트랜잭션 T 개가 인터페이스에 이용가능한 전체 기계들 M 개에서 처리되어야 한다고 가정한다. 병렬로 M 개의 기계들에서 수행되는 경우, 비즈니스 프로세스의 하나의 단계는 프로세싱 시 간(t)을 요구할 것이다. 프로세싱 시간(t)은 전체 트랜잭션 T 개가 전체 기계들 M으로 나누어지고, 각각의 트랜잭션을 처리하는데 필요한 평균 시간을 곱한 것이다. 알 수 있는 바와 같이, 인터페이스에 대해 이용가능한 기계들의 개수가 클수록, 개별적인 기계에 의해 필요한 프로세싱 시간에 관계없이 비즈니스 프로세스는 더 빠르게 실행될 수 있다.The following example provides one example described above. Assume that the total T transactions should be processed on the total M machines available for the interface. When executed on M machines in parallel, one step of the business process will require processing time (t). The processing time t is the total transaction T divided by the total machines M and multiplied by the average time required to process each transaction. As can be seen, the greater the number of machines available for an interface, the faster the business process can run regardless of the processing time required by the individual machines.

당업자라면 이해할 수 있는 바와 같이, 각각의 기계는 비즈니스 프로세스에서 동일한 속력으로 단계를 실행하지 않을 수 있다. 따라서, 각각의 기계가 동일한 수의 트랜잭션을 다룬다고 가정하면, 상기 단계를 실행하는데 필요한 전체 프로세싱 시간은 인터페이스에 대해 이용가능한 가장 느린 기계들의 프로세싱 시간일 것이다. 전체 프로세싱 시간을 더 감소시키기 위해, 인터페이스는 더 느린 기계들보다는 더 많은 수의 트랜잭션들을 처리할 더 빠른 소정의 기계들을 필요로 할 수 있다. 그러므로, 인터페이스는 그에 대해 이용가능한 여러 가지 기계들에 대한 가장 효율적인 프로세싱을 확립하기 위해, 이 인자들을 조화(balance)시키도록 설정될 수 있다.As will be appreciated by those skilled in the art, each machine may not execute a step at the same speed in a business process. Thus, assuming that each machine handles the same number of transactions, the total processing time required to execute the step will be the processing time of the slowest machines available for the interface. In order to further reduce the overall processing time, the interface may require certain faster machines to process a larger number of transactions than slower machines. Therefore, the interface can be set up to balance these factors in order to establish the most efficient processing for the various machines available to it.

가장 간단한 예시에서, 100 개의 트랜잭션이 동일한 프로세스에 의해 처리되어야 하고, 상기 프로세스는 인터페이스를 나타내는 단계를 포함하며, 상기 인터페이스는 잠재적인 100 개의 기계들을 나타내고, 그 각각은 구현을 포함하며, 그때 각각의 트랜잭션이 동일한 시간에(병렬로) 실행될 수 있다고 가정한다. 프로세스 자체가 단일 단계로서 나타낸다면, 시스템은 모든 잠재적인 구현으로 스케일된다. 이 예시에서, 각각의 기계들은 동일한 속력으로 트랜잭션들을 처리한다고 가정하 면, 트랜잭션들의 프로세싱은 잠재적으로 단일 기계만이 단일 단계를 실행하는데 의존하였던 경우에 요구된 시간의 1/100th로 완료될 수 있다.In the simplest example, 100 transactions must be processed by the same process, the process comprising presenting an interface, the interface representing 100 potential machines, each including an implementation, and then each Assume that a transaction can be executed at the same time (in parallel). If the process itself is represented as a single step, the system is scaled to all potential implementations. In this example, each machine may be the processing of cotton, assuming that the transaction process is completed, a transaction with the same speed with potentially 1/100 th of the time required when only a single machine is who depends to execute a single step have.

본 발명은 소정의 예시된 실시예들을 참조하여 설명되었지만, 본 명세서에서 사용된 단어들은 제한하는 단어라기보다는 설명하는 단어이다. 그 실시형태들에서 본 발명의 의도와 범위를 벗어나지 않고, 첨부된 청구항의 범위 내에서 변형예들이 수행될 수 있다. 본 발명은 본 명세서에서 특정 구조, 동작 및 재료들에 대해 설명되었지만, 본 발명은 개시된 특정 사항들에 제한되지 않으며, 본 명세서에서 청구항들의 범위 내에 있는 모든 균등한 구조, 동작 및 재료들로 연장될 수 있다.Although the present invention has been described with reference to certain illustrated embodiments, the words used herein are words of description rather than of limitation. In the embodiments, modifications may be made without departing from the spirit and scope of the invention. Although the present invention has been described herein with respect to specific structures, operations, and materials, the invention is not limited to the specific details disclosed, and may be extended to all equivalent structures, operations, and materials within the scope of the claims herein. Can be.

APPENDIX AAPPENDIX A

제품 product 템플릿template 레이아웃 layout

컴파일 링크 타입Compile link type

섹션 헤딩: /*Link Type*/Section headings: / * Link Type * /

런-타임: 헤더들 또는 .lib 파일들을 이용하지 않고 .DLL로 링크되고 있는 경우Run-time: Linking to .DLL without using headers or .lib files

컴파일-타임: 호출하고 있는 제품이 헤더들 및 .lib 파일들을 갖는 경우Compile-time: The calling product has headers and .lib files

파일 위치File location

섹션 헤딩: /*File Locations*/Section headings: / * File Locations * /

헤더=: 헤더 파일의 위치 제공Header =: provide the location of the header file

Lib=: Lib 파일의 위치 제공Lib =: Provide the location of the Lib file

전역 정의Global definition

섹션 헤딩: /*Global Definitions*/Section headings: / * Global Definitions * /

이는 모든 프로세스에 의해 사용될 여하한의 전역 변수들을 정의하는 경우이다.This is the case when you define any global variables to be used by all processes.

예시 참조See example

전역 초기화 변수Global initialization variables

섹션 헤딩: /*Global Initialization Variables*/Section headings: / * Global Initialization Variables * /

이 섹션은 모든 프로세스에 의해 사용될 여하한의 초기화 변수들을 정의해야 하는 경우에 사용된다.This section is used when you need to define any initialization variables to be used by all processes.

예시 참조See example

전역 초기화 기능(들)Global initialization function (s)

섹션 헤딩: /*Global Initialization Function(s)*/Section headings: / * Global Initialization Function (s) * /

모든 프로세스에 의해 사용되는 제품에 대한 기능 호출Invoke functions for products used by all processes

예시 참조See example

전역 종료 변수Global exit variable

섹션 헤딩: /*Global Termination Variables*/Section headings: / * Global Termination Variables * /

이 섹션은 전역 종료 기능들에 대해 필요한 여하한의 변수를 정의하는데 사용된다.This section is used to define any variables needed for global termination functions.

전역 종료 기능(들)Global shutdown function (s)

섹션 헤딩: /*Global Termination Function(s)*/Section headings: / * Global Termination Function (s) * /

모든 프로세스에 의해 사용되는 제품들에 대한 기능 호출Function calls for products used by all processes

헤더Header

섹션 헤딩: /*Headers*/Section headings: / * Headers * /

이는 헤더 이름들이 정의되는 경우이다.This is the case when header names are defined.

예시: #include "Header.h"Example: #include "Header.h"

예시 참조See example

변수variable

섹션 헤딩: /*Variables*/Section headings: / * Variables * /

이는 이 제품에 의해 사용될 변수들을 정의하는 경우이다.This is the case when defining variables to be used by this product.

메모리 할당Memory allocation

섹션 헤딩: /*Memory Allocation*/Section headings: / * Memory Allocation * /

변수 또는 데이터 구조에 대해 메모리를 할당할 필요가 있는 경우, 여기에서 코드를 추가If you need to allocate memory for a variable or data structure, add code here

기능 호출에 대한 For function calls 셋업set up

섹션 헤딩: /*Input*/Section headings: / * Input * /

이는 제품으로 통과될 파라미터들을 셋업하는 경우이다.This is the case when setting up the parameters to be passed to the product.

제품 호출Product call

섹션 헤딩: /*Function(s)*/Section headings: / * Function (s) * /

이는 제품에 대한 기능 호출이 동작하는 경우이다.This is the case when a function call to the product is working.

예시 참조See example

기능 호출의 출력Output of function call

섹션 헤딩: /*Output*/Section headings: / * Output * /

이는 필요에 따라 출력 패킷에 대한 기능 호출의 결과들을 카피하는 경우이다.This is the case for copying the results of a function call on the output packet as needed.

예시 참조See example

메모리 반환Return memory

섹션 헤딩: /*Memory Deallocation*/Section headings: / * Memory Deallocation * /

앞서 여하한의 데이터 구조들에 대한 메모리를 할당한 경우, 여기에서 그것들을 반환If you previously allocated memory for any of the data structures, return them here.

Claims (22)

비즈니스 프로세스 관리 시스템(business process management system)에 있어서:In a business process management system: 비즈니스 프로세스를 디자인하는 정보를 수신하도록 구성된 프로세스 디자이너 인터랙티브 부분(process designer interactive portion); 및A process designer interactive portion configured to receive information designing a business process; And 상기 프로세스 디자이너 인터랙티브 부분에 의해 수신된 상기 정보에 기초하여 상기 비즈니스 프로세스를 생성하거나 수정하도록 구성된 프로세스 형성 부분(process forming portion)을 포함하여 이루어지고,A process forming portion configured to create or modify the business process based on the information received by the process designer interactive portion, 상기 프로세스 형성 부분은 상기 비즈니스 프로세스를 생성하거나 수정하기 위해 복수의 제품들 중 1 이상으로부터 기능들 및 설정들 중 1 이상을 선택하도록 구성되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.The process forming portion is configured to select one or more of the functions and settings from one or more of the plurality of products to create or modify the business process. 제 1 항에 있어서,The method of claim 1, 상기 프로세스 형성 부분은 상기 기능들 및 설정들 중 1 이상의 유효성을 상기 기능들 및 설정들 중 다른 것들의 유효성과 비교하는 유효성 비교 부분(effectiveness comparison portion)을 포함하여 이루어지는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And wherein said process forming portion comprises an effectiveness comparison portion for comparing the validity of at least one of said functions and settings with the validity of others of said functions and settings. . 제 1 항에 있어서,The method of claim 1, 상기 제품들 중 1 이상의 버전(version)을 입력하도록 구성된 버전 입력 부분을 더 포함하여 이루어지는 비즈니스 프로세스 관리 시스템.And a version input portion configured to input a version of at least one of the products. 제 1 항에 있어서,The method of claim 1, 상기 제품들은 복수의 플랫폼(platform) 상에 있는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And said products are on a plurality of platforms. 제 1 항에 있어서,The method of claim 1, 상기 제품들 중 1 이상의 플랫폼을 입력하도록 구성된 플랫폼 입력 부분을 더 포함하여 이루어지는 비즈니스 프로세스 관리 시스템.And a platform input portion configured to input one or more platforms of the products. 제 1 항에 있어서,The method of claim 1, 버전에 대한 그래픽 정보(graphical information)를 보여주는 버전 디스플레이 부분(version display portion)을 더 포함하여 이루어지는 비즈니스 프로세스 관리 시스템.A business process management system further comprising a version display portion that shows graphical information about the version. 제 6 항에 있어서,The method of claim 6, 상기 그래픽 정보는 플랫폼에 대한 정보를 포함하여 이루어지는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And the graphic information comprises information about a platform. 제 6 항에 있어서,The method of claim 6, 상기 그래픽 정보는 복수의 표시기(indicator)를 갖는 트리 구조(tree structure)인 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And wherein said graphical information is a tree structure having a plurality of indicators. 제 8 항에 있어서,The method of claim 8, 상기 복수의 표시기는:The plurality of indicators are: 상기 제품들의 인터페이스(interface)를 나타내는 인터페이스 표시기;An interface indicator indicating an interface of the products; 상기 제품들의 릴리즈(release)를 나타내는 릴리즈 표시기; 및A release indicator indicating a release of the products; And 상기 제품들의 구현(implementations)을 나타내는 구현 표시기를 포함하여 이루어지는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And an implementation indicator indicating implementations of the products. 제 8 항에 있어서,The method of claim 8, 상기 복수의 표시기는 아이콘(icon)인 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And the plurality of indicators are icons. 제 8 항에 있어서,The method of claim 8, 상기 복수의 표시기는 폴더(folder)인 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And the plurality of indicators are folders. 제 8 항에 있어서,The method of claim 8, 상기 버전 디스플레이 부분은 상기 비즈니스 프로세스를 생성하거나 수정하는데 사용되는 제품을 선택하기 위해 상기 복수의 표시기들 중 1 이상의 선택의 입력을 받아들이는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And the version display portion accepts input of a selection of one or more of the plurality of indicators to select a product used to create or modify the business process. 제 1 항에 있어서,The method of claim 1, 상기 기능들은 인터페이스, 릴리즈 및 구현 중 1 이상을 포함하여 이루어지는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And said functions comprise at least one of an interface, a release and an implementation. 제 13 항에 있어서,The method of claim 13, 상기 릴리즈는 인터페이스들의 서브세트(subset)를 포함하여 이루어지고, 상기 구현은 릴리즈들의 서브세트를 포함하여 이루어지는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.Wherein said release comprises a subset of interfaces and said implementation comprises a subset of releases. 제 13 항에 있어서,The method of claim 13, 상기 프로세스 형성 부분은 상기 인터페이스, 릴리즈 및 구현 중 1 이상의 유효성을 상기 인터페이스, 릴리즈 및 구현 중 다른 것들의 유효성과 비교하는 유효성 비교 부분을 포함하여 이루어지는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.And wherein said process forming portion comprises a validity comparison portion for comparing one or more validities of said interface, release, and implementation with the validity of others of said interface, release, and implementation. 제 13 항에 있어서,The method of claim 13, 이전(older) 인터페이스, 릴리즈 및 구현은 새로운(newer) 인터페이스, 릴리즈 및 구현으로 교체될 수 있는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.Old process, release and implementation may be replaced with new interface, release and implementation. 제 13 항에 있어서,The method of claim 13, 상기 인터페이스, 릴리즈 및 구현 중 1 이상은 상기 비즈니스 프로세스가 스케일(scale)되게 하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.At least one of the interface, release, and implementation causes the business process to be scaled. 제 17 항에 있어서,The method of claim 17, 상기 비즈니스 프로세스를 스케일하기 위해, 인터페이스는 트랜잭션(transaction)의 전체 수의 일부분을 이용가능한 기계들의 전체 수로 지향하고, 그 각각은 상기 트랜잭션의 전체 수의 일부분을 병렬로(in parallel) 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.To scale the business process, the interface directs a portion of the total number of transactions to the total number of available machines, each of which processes a portion of the total number of transactions in parallel. Business process management system. 제 17 항에 있어서,The method of claim 17, 상기 비즈니스 프로세스를 스케일하기 위해, 릴리즈는 트랜잭션의 전체 수의 일부분을 이용가능한 기계들의 전체 수로 지향하고, 그 각각은 상기 트랜잭션의 전체 수의 일부분을 병렬로 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.In order to scale the business process, the release directs a portion of the total number of transactions to the total number of available machines, each processing a portion of the total number of transactions in parallel. 제 17 항에 있어서,The method of claim 17, 상기 비즈니스 프로세스를 스케일하기 위해, 구현은 트랜잭션의 전체 수의 일부분을 이용가능한 기계들의 전체 수로 지향하고, 그 각각은 상기 트랜잭션의 전체 수의 일부분을 병렬로 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.To scale the business process, an implementation directs a portion of the total number of transactions to the total number of available machines, each processing a portion of the total number of transactions in parallel. 비즈니스 프로세스 관리 시스템에 있어서:In a business process management system: 프로세스 디자이너로부터 비즈니스 프로세스를 디자인하는 정보를 수신하도록 구성된 프로세스 디자이너 인터랙티브 부분; 및A process designer interactive portion configured to receive information designing a business process from the process designer; And 상기 프로세스 디자이너 인터랙티브 부분에 의해 수신된 상기 정보에 기초하여, 상기 비즈니스 프로세스를 생성하거나 수정하도록 구성된 프로세스 형성 부분을 포함하여 이루어지고,A process forming portion configured to create or modify the business process based on the information received by the process designer interactive portion, 상기 프로세스 형성 부분은 상기 비즈니스 프로세스를 생성하거나 수정하기 위해 복수의 상이한 비즈니스 어플리케이션(business application)의 기능들을 조합하며, 상기 기능들은 상기 비즈니스 프로세스 관리 시스템의 전반적인 유효성을 증가시키기 위해 선택되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.The process forming portion combines the functions of a plurality of different business applications to create or modify the business process, wherein the functions are selected to increase the overall effectiveness of the business process management system. Business process management system. 제 21 항에 있어서,The method of claim 21, 상기 비즈니스 프로세스는 인터페이스를 구현하는데 이용가능한 기계들에 기초하여 더 작은 비즈니스 프로세스로 나누어질 수 있는 것을 특징으로 하는 비즈니 스 프로세스 관리 시스템.The business process management system of claim 1, wherein the business process can be divided into smaller business processes based on the machines available to implement the interface.
KR1020077009332A 2004-09-24 2005-09-23 Business process management system and method Withdrawn KR20070083786A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US61261504P 2004-09-24 2004-09-24
US60/612,615 2004-09-24
US11/141,710 US20060020641A1 (en) 2002-03-25 2005-06-01 Business process management system and method
US11/141,710 2005-06-01

Publications (1)

Publication Number Publication Date
KR20070083786A true KR20070083786A (en) 2007-08-24

Family

ID=36119420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077009332A Withdrawn KR20070083786A (en) 2004-09-24 2005-09-23 Business process management system and method

Country Status (8)

Country Link
EP (1) EP1810179A2 (en)
JP (1) JP2008515056A (en)
KR (1) KR20070083786A (en)
AU (1) AU2005289750A1 (en)
CA (1) CA2581479A1 (en)
IL (1) IL182166A0 (en)
RU (1) RU2007115418A (en)
WO (1) WO2006036720A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210109734A (en) * 2020-02-28 2021-09-07 주식회사 피앤피소프트 Apparatus and method for managing and sharing documents created during business process

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436962B (en) * 2008-12-04 2011-06-29 金蝶软件(中国)有限公司 Log management method and system
US8321433B1 (en) * 2011-05-06 2012-11-27 Sap Ag Systems and methods for business process logging
US8725522B2 (en) * 2011-06-29 2014-05-13 Sap Ag Automatic identification of user-aligned fragments in business process models
CN104468268B (en) * 2014-11-26 2018-05-25 中国联合网络通信集团有限公司 The method and device of overall merit network servicequality

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074106A1 (en) * 2000-08-30 2003-04-17 Crane Co. System and method of extracting data from vending machines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210109734A (en) * 2020-02-28 2021-09-07 주식회사 피앤피소프트 Apparatus and method for managing and sharing documents created during business process

Also Published As

Publication number Publication date
CA2581479A1 (en) 2006-04-06
IL182166A0 (en) 2007-07-24
EP1810179A2 (en) 2007-07-25
AU2005289750A1 (en) 2006-04-06
WO2006036720A2 (en) 2006-04-06
JP2008515056A (en) 2008-05-08
RU2007115418A (en) 2008-10-27
WO2006036720A3 (en) 2006-12-07

Similar Documents

Publication Publication Date Title
US7320016B2 (en) Method for visually programming instruction set for process
US20060020641A1 (en) Business process management system and method
US7246144B2 (en) Method and system for managing a plurality of enterprise business systems
US8996494B2 (en) Systems and methods for modeling costed entities and performing a value chain analysis
US8015541B1 (en) Business process technology for the enterprise
US9052845B2 (en) Unified interface for meta model checking, modifying, and reporting
US20230169464A1 (en) Custom Application Builder for Supply Chain Management
US20040098311A1 (en) XML message monitor for managing business processes
JP4406565B2 (en) Methods and software applications and systems for incorporating benchmarks into business software applications
US20030229529A1 (en) Method for enterprise workforce planning
US20070234282A1 (en) Composite application modeling
US20070027919A1 (en) Dispute resolution processing method and system
KR20070083786A (en) Business process management system and method
Ward et al. Fresco: a Web services based framework for configuring extensible SLA management systems
Corti BPMETRICS: a software system for the evaluation of some metrics for business process
WO2005020019A2 (en) Method and system for managing a plurality of enterprise business process systems
Beckner Business activity monitoring

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20070424

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid