KR20070083786A - Business process management system and method - Google Patents
Business process management system and method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, 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
이 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
기업 비즈니스 프로세스 서버(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
일반적으로, 클라이언트들 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)를 이용할 수 있다.
EAI 클라이언트(103)는 기업 트랜잭션이 하나의 어플리케이션으로부터 조직/기업 내의 또 다른 어플리케이션으로, 그리고 하나의 조직으로부터 EAI 네트워크 상에 존재하는 파트너 조직으로 통과할 수 있도록 구성될 수 있다. 이러한 EAI 클라이언트(103)는 허브 구조를 사용할 수 있으며, 기업 트랜잭션들과 연계된 데이터를 맵핑하고 변환하는 자격들을 포함할 수 있다.The
ERP 클라이언트(104)는 기획, 제조, 판매 및 마케팅 활동들을 포함하여 비즈니스 또는 기업의 다수 패싯(facet)을 통합하도록 구성될 수 있다. 이러한 ERP 클라이언트(104)는 허브 구조를 사용할 수 있으며, 이 활동들과 연계된 데이터를 맵핑하고 변환하는 자격들을 포함할 수 있다.
CRM 클라이언트(105)는 헬프-데스크 소프트웨어, 판매, 마케팅, 이메일 오거나이저(organizer) 및 웹 개발 어플리케이션을 포함하는 여러 가지 전자 기반 툴들을 이용하여 조직/엔티티(entity)와 그 고객들 사이의 인터랙션의 여러 측면들을 관리하도록 구성될 수 있다. 이러한 CRM 클라이언트(104)는 허브 구조를 사용할 수 있으며, 그와 연계된 데이터를 맵핑하고 변환하는 자격들을 포함할 수 있다.The
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
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
대안적인 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 기업 비즈니스 프로세스 서버(101) 및 그 안에 저장된 정보를 액세스하기 위한 정보 데이터 저장 장치(106) 및 단층 파일 데이터 저장 장치(107)에 커플링된 기업 데이터베이스 서버(도시되지 않음)를 포함할 수 있다. 정보 데이터 저장 장치(106)는, 예를 들어 SQL과 같은 계층적(hierarchical) 데이터 저장 장치 관리 시스템 포맷에 따라 배치된 트랜잭션 데이터(transactional data) 또는 기업 어플리케이션을 포함할 수 있다. 단층 파일 데이터 저장 장치(107)는 기업 어플리케이션 또는 트랜잭션 비-계층적 데이터를 포함할 수 있다.In an alternative embodiment, the enterprise business
또한, 기업 비즈니스 프로세스 서버(101)는 기업 내에서 1 이상의 메인 프레임(108)에 커플링될 수 있다. 메인 프레임(들)(108)은, 예를 들어 레거시 페이롤(legacy payroll) 또는 회계 시스템(accounting system)과 같은 조직 또는 기업 어플리케이션들을 포함할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 그 중에서도 근거리 통신망(LAN), 광역 통신망(WAN), 전용 전화선(dedicated landline) 또는 그 조합을 이용하여 메인 프레임(들)(108)과 통신할 수 있다.In addition, corporate
또한, 1 이상의 실시예에서 기업 비즈니스 프로세스 서버(101)는 LAN, WAN, 전용 전화선, 인터네트워크, 인터넷, 무선 네트워크 또는 그 조합을 통해 콜센터 단말기(들)(110), 데이터 입력 단말기들(111), 로컬 사용자 단말기(들)(112) 및 원격 사용자 단말기(들)(113)와 같은 1 이상의 단말기들에 커플링될 수도 있다. 그로 인해, 기업 비즈니스 프로세스 서버(101)는 단말기들(110 내지 113) 중 1 이상으로부터 트랜잭션 데이터를 수신할 수 있다.Further, in one or more embodiments, the enterprise
또한, 기업 비즈니스 프로세스 서버(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
도 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
메모리(220)는 기업 비즈니스 프로세스 관리 시스템과 연계된 시스템 또는 사용자의 요구들에 따라 대안적인 구성들을 이용하여 구현될 수 있다. 시스템 인터페이스(230)는 장비(200)가 기업 비즈니스 프로세스 관리 시스템에 의해 이용된 데이터를 제공하는 컴포넌트들, 예를 들어 추가 기업 서버들로부터의 트랜잭션 데이터 공급들과 통신하게 하는 하드웨어 및 소프트웨어를 모두 포함할 수 있다.The
프로세서(210)는 메모리(220)로부터 인출(fetch)된 명령어들에 기초하여, 다른 요소들(220 내지 250)의 작동을 제어한다. 명령어들은 본 명세서에서 설명된 기업 비즈니스 프로세스 관리 시스템(100) 및 방법의 몇몇 또는 모든 작동을 지시하는 소프트웨어 코드를 포함하거나 그로서 구현될 수 있다. 메모리(220)는 이 코드를 포함할 수 있으며, 기업 비즈니스 프로세스 관리 시스템(100)에 의해 생성되거나 이용되는 데이터에 대한 스토리지 영역(storage area)을 포함할 수도 있다. 프로세서(210)는, 예를 들어 메모리(220)로 또는 메모리로부터 데이터를 전송하거나 (예를 들어, 정보를 입력 또는 출력하도록) 시스템 인터페이스(230) 또는 사용자 인터페이스(240)와 조합하여 동작하는 등을 위해, 명령어들을 인출하고, 그것들을 디코딩(decode)하며, 다른 요소들(120 내지 150)에 작용하거나 명령할 수 있다.The
프로세서(210)는 실제로 1 이상의 프로세서로서 구현될 수 있다. 프로세서(210)는 메모리(220)로부터 인출된 명령어들에 기초하여, 다른 요소들(220 내지 250)의 작동을 제어하도록 작동할 수 있다. 제어는, 예를 들어 중앙처리장치(central processing unit) 또는 다른 유사한 디바이스 내에서 프로세서(210)로 구현될 수 있다는 것을 이해하여야 한다. 이와 유사하게, 프로세서(210) 및 메모리(220)는 사용자 인터페이스(240)가 로컬 단말기(112) 및 원격 단말기(113)와 같은 사용자 단말기에서 구현되고 단말 스크린(terminal screen) 상에 그래픽 사용자 인터페이스(GUI)를 포함하게 하는 네트워크에 커플링된 1 이상의 서버를 통해 구현될 수 있다.
사용자 인터페이스(240)는, 예를 들어 단말 디스플레이, 키보드 및 마우스, 프린터 등과 함께 작동하는 하드웨어 및 소프트웨어를 포함할 수 있다. 또한, 사용자 인터페이스(240)는 사용자에게 정보를 출력하고 사용자로부터 정보를 입력하는 스피커 및 마이크로폰(도시되지 않음)을 포함할 수 있다. 사용자 인터페이스(240)는, 아래 설명되는 작업들을 수행하도록 사용자가 메모리(220) 내에 저장되고 프로세서(210)에 의해 사용되는 소프트웨어 프로그램들과 상호작용하게 하는 프로세서(210)와 관련하여 작동할 수 있다.
기업 비즈니스 프로세스 서버(101)는, 예를 들어 적절하게 프로그램된 범용 컴퓨터의 부분들로서 구현될 수 있다. 시스템은, 예를 들어 ASIC 내에서 물리적으 로 별개인 하드웨어 회로들로서 구현될 수 있다. 따라서, 시스템(100)의 특정 형태가 본 명세서에서 설명된 실시예(들)와 다를 수 있다는 것을 이해하여야 한다. 예를 들어, 기업 비즈니스 관리 시스템(100)은 범용 컴퓨터, 예를 들어 개인용 컴퓨터 상에서 구현가능한 것으로 설명되었지만, 시스템을 구현하는 소프트웨어가 1 이상의 서브 상에 저장되는 네트워크 환경에서 상기 시스템이 구현될 수 있다는 것을 예상할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 서버(101)를 내리지(take down) 않고 사용자(예를 들어, 관리 사용자)가 비즈니스 프로세스 또는 단계들을 추가, 수정 또는 삭제하게 할 수 있다. 또한, 기업 비즈니스 프로세스 서버(101)는 서버 어레이 또는 클러스터(cluster) 환경들 내에서 쉽게 기능하기 위해, 그리고 대용량 데이터의 처리를 위해 측정가능(scalable)할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)는 예를 들어 Microsoft Windows™ NT 인에이블 개인용 컴퓨팅 플랫폼을 포함할 수 있다.Corporate
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
일 실시예에서, 비즈니스 분석가 모듈(304)은 본 명세서에서 설명된 인터페이스 모듈(예를 들어, 비즈니스 분석가 인터페이스 또는 BAI)을 구현하는 프로그램된 명령어들의 시퀀스를 포함할 수 있다. 이 명령어들은 기업 비즈니스 프로세스 관리 서버(101)에 의한 실행 중에, 기업 비즈니스 프로세스 관리 서버(101)가 사용자 언터랙션을 용이하게 하는 인터랙티브 수단들에 기업 비즈니스 프로세스 관리 시스템(100)을 제공하도록 유도할 수 있다. 특히, 비즈니스 분석가 모듈(304)은 예를 들어 디스플레이를 이용하여 프로세스 단계들이 그래픽으로 나타나게 하고, 비즈니스 프로세스의 1 이상의 프로세스 단계를 실행하는 경우에 기업 비즈니스 프로세스 서버에 의해 특정한 작동의 인터랙티브가 성취되게 하도록 작동가능한 명령어들을 포함할 수 있다. 이러한 것으로서, 비즈니스 분석가 모듈(304)이 개발자의 키트(303)에 대한 오버레이 어플리케이션(overay application)일 수 있다. 또한, 비즈니스 분석가 모듈(304)은 기업 비즈니스 프로세스 서버(101)가 예를 들어 데이터 저장 장치(106)와 같은 데이터 저장 장치로부터 인터페이스 모듈과 상호작용하는 사용자에 의해 정의된 비즈니스 프로세스를 구현하는 명령어들의 시퀀스를 회수하고, 형성하며, 컴파일(compile)하게 하도록 작동가능한 명령어들을 포함할 수 있다.In one embodiment,
1 이상의 실시예에서, 기업 비즈니스 프로세스 시스템(100)은 1 이상의 오류 리포트의 형태로 오류 정보를 출력할 수 있다. 오류 리포트들은 여러가지 뷰에 따라 제시될 수 있다. 사전정의된 뷰 툴(302)은 뷰들의 사전정의된 세트에 따라 제공된 1 이상의 오류 리포트에 연계된 프로그래밍 명령어들을 포함할 수 있다. 예를 들어, 사전정의된 뷰 툴들은 기업 비즈니스 프로세스 서버(101)가 관리자의 뷰에 대한 데이터 송신부에서의 오류들의 숫자상 카운트(numeric count)를 포함한 오류 리포트를 출력하게 하는 명령어들을 제공할 수 있다. 또한, 본 명세서의 아래에서 예시적인 뷰들 및 리포트들이 설명된다.In one or more embodiments, enterprise
개발자의 키트(303)는, 특정 데이터, 소스(source), 오류 징후(error syndrome)를 분석하거나 사전정의된 뷰 툴(302)의 세트 외에 주문형 리포트들을 제공하는 주문형 뷰 툴들을 생성하고 사용하기 위해, 기업 비즈니스 프로세스 시스템(100)의 사용자들 또는 그 지명된 제 3 자에게 유용한 어플리케이션 프로그래밍 인터페이스(Application Programming Interface: API)를 포함할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)에 의해 지원되는 뷰들의 개수는 제한되지 않는다.The developer's
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
도 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
기업 비즈니스 프로세스 관리 시스템(100)은 어플리케이션 내에서 각각의 어플리케이션(데이터 송신부) 또는 데이터 세트에 대해 유일한 프로세스에서 제한되지 않은 개수의 상이한 공급자들의 제품을 이용하도록 디자인된 구조를 포함할 수 있다. 특히, 기업 비즈니스 프로세스 관리 시스템(100)은 다양한 플랫폼 상에서 상이한 공급자들의 제품들을 이용하고 이 제품들이 전체 기업에 걸쳐 이용되게 하는 비즈니스 프로세스에서 개별적인 프로세스 단계들을 생성하고, 실행하며, 관리하고, 보고하는 유일한 프로세스에 대해 프레임워크(framework)를 제공할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 다수-공급자 환경에 있어서 각 단계에서 처리되는 데이터의 퀄리티를 보존(archive)하거나 로그하는 단계를 제공할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 어플리케이션 내에서의 여하한의 어플리케이션(데이터 송신부) 또는 데이터 세트에 대한 유일한 프로세스에서, 다수 공급자들의 제품의 사용을 관리하고 트래킹(tracking)하며 보고하는 단계를 고려할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 프로세스 내의 상이한 설정들을 이용하여 동일한 공급자 또는 다수 공급자들로부터 동일한 기능들을 이용하도록 제공될 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은, 예를 들어 데이터 퀄리티와 같은 비즈니스 프로세스의 특정 측면들에 관한 기업 및 조직 내에서의 개별적인 성능, 비즈니스 유닛 또는 특별한 구매자(constituency)에 대한 상이한 뷰들을 제공할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은, 예를 들어 데이터 퀄리티 이슈와 같은 특정한 기업 이슈를 다루는데 가장 효과적인 기능 들 및 설정들의 선택에 대해 상이한 공급자들로부터 다양한 기능들 및 설정들의 유효성을 비교하기 위해 제공될 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 데이터 퀄리티 툴 및 데이터 퀄리티 프로세스와 같은 다수-공급자 어플리케이션들의 가장 빠른 구현을 위해 제공될 수 있다.The enterprise business
특히, 기업 비즈니스 프로세스 서버(101)는 비즈니스 프로세스 툴들이 기업 비즈니스 프로세스 서버(101)의 호스트인 그것들의 현재 컴퓨터 플랫폼 또는 동일한 플랫폼 상에서 사용되게 하는 공급자 독립 구조(vendor independent architecture)를 이용할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 비즈니스 프로세스가 정의된 시스템(100)에서 다수 비즈니스 어플리케이션들의 기능들을 재사용하기 위해 제공된다.In particular, enterprise
도 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
도 5에서 알 수 있는 바와 같이, 기업 비즈니스 프로세스 관리 시스템(100)은 최종 사용자 뷰, 개발자 뷰, 관리자 뷰 및 경영진 뷰를 포함하지만 그에 제한되지는 않은 몇몇 상이한 뷰(400)를 제공할 수 있다. 아래에서, 도 7 내지 도 10에 대해 예시적인 뷰들(400)이 더 상세히 설명된다.As can be seen in FIG. 5, enterprise business
기업 비즈니스 프로세스 관리 시스템(100)은 조직의 비즈니스 프로세스들의 유효성의 측정 및 관리를 허가하기 위해, 조직의 상이한 레벨들에 대한 프로세스 내의 각 단계의 결과들의 상이한 뷰(400)를 생성할 능력을 제공한다. 기업 비즈니스 프로세스 관리 시스템(100)은 상이한 뷰(400)에 대한 그래픽 정보를 생성하는 가시화 소프트웨어(visualization software)를 포함할 수 있다. 이 그래픽 정보는 분석 툴(analytical tool)들, 통계적 정보, 데이터 트래킹, 비용 분석, 및 1 이상의 실시예에서 데이터 퀄리티 내의 오류들을 감소시키는데 있어서 조직의 상이한 레벨들의 결과들의 영향의 표시를 포함할 수 있다.The enterprise business
여러 가지 뷰(400)에 따른 오류 리포트들의 생성을 지원하기 위해, (온라인 어플리케이션 프로세싱 데이터베이스 또는 서머리 데이터베이스일 수 있는) 데이터 저장 장치(160)는, 데이터 송신부/수신지(305), 제품(315) 또는 데이터가 얻어졌던 프로세스(310)에 상관없이, 데이터 저장 장치(160) 내에 포함된 정보가 여하한의 뷰(400)의 생성에 대해 뷰 엔진(170)에 의해 동일하게 액세스가능한 일정 방식으로 포맷되고 배치되는 "단일 뷰"에 따른 오류 리포트 정보를 유지할 수 있다.To support the generation of error reports according to the
기업 비즈니스 프로세스 관리 시스템(100)은 모든 데이터 송신부로부터 프로세스 내의 각 단계의 결과들을 로그할 수 있다. 이 로그는 데이터를 누가 보냈는지, 프로세스의 각 단계 동안 무엇이 일어났는지, 프로세스가 완료된 이후에 데이터가 어디로 보내졌는지에 관한 정보를 제공할 수 있다. 이 로그는 다수 뷰의 렌더링을 위해 그래픽 리포팅 시스템일 수 있는 뷰 엔진(170)으로 직접 공급할 수 있다.The enterprise business
1 이상의 실시예에서, 뷰 엔진(170)은 그들, 그 부서, 조직 또는 프로세스들이 수행하는 방식에 관한 정보를 전달하는 경영진, 관리자, 최종 사용자 및 프로세스 개발자들을 포함한 다양한 사용자에게 그래픽 리포트들을 제공할 수 있다. 특히, 1 이상의 실시예에서 뷰 엔진(170)은 다음의 뷰들(400), 예를 들어 경영진, 관리자, 사용자 및 개발자들에 대한 뷰들을 제공할 수 있다. 경영진 뷰는 전체 조직에 대한 데이터의 퀄리티 상의 그래픽 리포트들을 제공한다. 경영진들은 데이터 퀄리티 이슈들의 원인들 및 성능들을 비교하도록 조직 내에서의 모든 세그먼트의 성 능으로 하향 전개(drill down)할 수 있다. 또한, 경영진들은 관리자 및 사용자 리포팅 모듈에 대한 액세스를 갖는다. 관리자 뷰는 관리자의 조직(들) 및 부서(들) 내의 데이터의 퀄리티에 대한 그래픽 리포트들을 제공한다. 관리자들은 그들의 비즈니스 유닛 및 부서들의 성능으로 하향 전개하고, 예를 들어 데이터 퀄리티와 같은 이슈들의 원인들 및 성능들을 비교할 수 있다. 사용자 뷰는 사용자에 의해 시스템 내에 입력된 데이터의 퀄리티에 대한 그래픽 리포트들을 제공한다. 사용자들은 특정한 문제들을 하향 전개하고, 프로세스 내의 각 단계의 입력 및 출력 데이터 및 결과 코드들을 리뷰할 수 있다. 개발자 뷰는 개발자들이 결과들을 분석하고 결과들을 개선하는 프로세스로 변화시킬 수 있도록 모든 프로세스 및 단계의 결과들에 대한 그래픽 리포트들을 제공한다. 개발자들은 기능들의 시퀀스를 다시 조정하고, 기능들을 제거하며, 다른 공급자로부터의 기능들을 이용하고, 상이한 공급자들로부터의 새로운 기능들을 추가하며, 자체로 새로운 기능들을 생성할 수 있다.In one or more embodiments,
뷰 엔진(170)은 검증(validate)/보정되고 검증/보정되지 않는 데이터의 재정적 영향(financial impact)을 추가하는데 사용될 수 있는 통계적 모델링 패키지(statistical modeling package)들을 포함할 수 있다. 1 이상의 실시예에서, 뷰 엔진(170)은 예를 들어 Illumitek™Corp.ofDulles, Virginia로부터 이용가능한 그래픽 모델링 기술을 이용하여 구현될 수 있다.
도 6은 기업 비즈니스 프로세스 관리 시스템(100)에 의해 수행될 수 있는 분석의 구현에 관한 또 다른 상세한 설명을 제공한다. 기업 데이터 퀄리티 관리 시스템(100)은, 기업 네트워크 내에 존재하는 모든 비즈니스 프로세스 제품들 내에서 이용가능한, 그리고 외부적으로 이용가능한 기능들 및 설정들의 전부 또는 서브세트를 이용하는 어플리케이션으로부터 각 어플리케이션 또는 데이터 세트에 대한 유일한 프로세스를 생성하기 위해 제공될 수 있다. 어플리케이션 내의 각각의 어플리케이션 또는 데이터 세트는 유일한 요구들을 충족시키기에 적절한 시퀀스 내의 모든 기능들 및 설정들을 이용할 수 있다. 이러한 비즈니스 프로세스들은 제한되지 않은 개수의 단계들로 구성될 수 있다. 각 단계는 기능 및 설정, 또는 특정 공급자로부터의 기능들 및 설정들의 시리즈들에 대응할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 다수-공급자 프로세스 내의 모든 단계의 결과들을 보존하고 로그할 수 있다. 로그 파일들은 텍스트 파일 또는 데이터 저장 장치에 자동으로 로그될 수 있다. 특히, 오류들이 결정되고 프로세스 레벨로 로그될 수 있다.6 provides another detailed description of an implementation of an analysis that may be performed by an enterprise business
기업 비즈니스 프로세스 관리 시스템(100)은 다수-공급자, 다단계 프로세스 내의 공급자 기능들 및 설정들 각각의 강점 및 약점을 비교할 능력을 포함할 수 있다. 또한, 기업 비즈니스 프로세스 관리 시스템(100)은 비즈니스 프로세스 프로젝트들의 구현을 진척시키기 위해, 다수 공급자들로부터의 제품들 및 기능들을 설치하는 방법론을 사용하기에 빠르고 쉽게 제공될 수 있다. 따라서, 1 이상의 실시예에서 기업 비즈니스 프로세스 관리 시스템(100)은 공급자 독립일 수 있는 한편, 기존 비즈니스 프로세스 공급자 제품들, 고객 코드들 또는 서비스들을 포함하여, 추가 기업 서버 또는 어플리케이션 내에 포함된 모든 기능들에 대한 사용자 액세스를 허용할 수 있다. 본 명세서에서 설명된 기능 지향형 접근법의 사용을 통해, 사용자는 예를 들어 각 데이터 세트 및 데이터 송신부의 요구들에 적합하게 결정된 여하 한의 오더 내에서 상이한 공급자들로부터의 데이터 퀄리티 기능들과 같은 비즈니스 프로세스 기능들을 차례로 나열(sequence)할 수 있다. 또한, 사용자는 도 11에 대해 설명된 데이터 송신부 내에서의 각각의 데이터 세트에 대한 유일한 프로세스(310) 및 단계들을 확립할 수 있다.Enterprise business
공급자는 예를 들어 비즈니스 및 고객명의 요소들을 식별하고 별개의 필드(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
도 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
1 이상의 실시예에서, 라우터(3905)는 라우터(3905)에 대한 새로운 버전 또는 로드들이 서버(101)를 내릴 필요(즉, 서비스 불능)없이 현재 라우터(3905) 버전과 교체되고, 서비스 내에 배치되고 데이터 트래픽을 다룰 수 있는 호환성(interchangeable) 라우터일 수 있다. 라우터(3905)는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 제공된 현재 활동적인 비즈니스 프로세스들에 대한 명령어 세트를 포함할 수 있다. 새로운 라우터(3905) 버전은 새로운 비즈니스 프로세스 또는 수정된 비즈니스 프로세스에 따른 데이터 트래픽 핸들링을 시작하도록 형성되고 서비스 내로 배치될 수 있다. 일 실시예에서, 인터페이스 모듈(304)은 사용자 입력 기능 정보에 응답하여 새로운 비즈니스 프로세스 또는 수정된 비즈니스 프로세스를 구현하는 명령어 세트를 생성할 수 있다. 사용자는 예를 들어 인터페이스 모듈(304)에 의해 제공된 프로세스 디자이너 인터랙티브 페이지를 이용하여 기능 정보를 입력할 수 있다. 현재 라우터 버전을 새로운 라우터 버전으로 교체한 이후에, 입력 데이터(605)는 새로운 라우터 버전에 따라 다루어질 수 있다. 또한, 본 명세서에서 도 23a 내지 도 23d를 참조하여, 현재 라우터 버전을 새로운 라우터 버 전으로 교체하는 것에 관한 상세한 설명들이 서술된다.In one or more embodiments, the
도 6을 참조하면, 방법(600)은 605에서 입력 데이터를 수신하는 기업 비즈니스 프로세스 서버(101)부터 시작할 수 있다. 입력 데이터(605)는 데이터 송신부/수신지(305)로부터 수신될 수 있다.Referring to FIG. 6, the
그 후, 입력 데이터가 프로세스 라우터로 통과될 수 있는 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
그 후, 프로세스(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 /
프로세스(310) 내의 최종 단계가 완료된 이후에, 프로세스 결과들이 출력 데이터 구조체에 적용될 수 있는 640으로 제어가 진행할 수 있다. 그 후, 출력 데이터는 데이터 송신부/수신지(305)에 제공될 수 있으며, 이에 따라 방법(600)에 대해 프로세싱이 종료될 수 있다.After the last step in
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,
도 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
특히, 오류 리포트는 차트들(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
이와 유사하게, 도 8 내지 도 10은 각각 1 이상의 실시예에 따른 고객 지원 뷰(800), 개인 뷰(900), 및 관리자 뷰(1000)에 대한 오류 리포트의 예시들이다. 도 7에 나타낸 것들과 동일한 참조 부호들을 포함한 아이템들은 그에 대해 사전에 설명된 바와 같다.Similarly, FIGS. 8-10 are examples of error reports for
특히, 개인 뷰(900)에 대해 기업 비즈니스 프로세스 관리 시스템(100)은, 예를 들어 특정 개인에 기인(attributable)하는 데이터 오류들로 요구하는 사용자에게 가시성을 제공할 수 있다. 예를 들어, 도 9는 특정 개인(905)과 연계된 강점, 약점, 비용 및 이득의 프로세스 오류 분류(725)뿐만 아니라, 개인(905)이 범한 오류 타입(910) 및 개인(905)에 기인하는 시간에 걸쳐 분포된 오류들의 개수를 나타낸다. 도 9의 오류 리포트의 예시적인 오류 분류(725)는, 개인(905)이 주소 정보를 입력하는데 강하고(즉, 오류를 거의 범하지 않음), 이름을 입력하는데 약하며(즉, 오류가 많음), 상이한 시간 주기에 80, 74 및 22 개의 오류들을 범하였고, 데이터 오류들의 결과로서 기업이 $800를 소비하게 했다.In particular, for
또한, 관리자 뷰(1000)에 대해 기업 비즈니스 프로세스 관리 시스템(100)은 요구하는 사용자(예를 들어, 기업 관리자)에게 특정 개인들(905) 및 그룹으로서 개인들에 기인하는 데이터 오류들로 가시성을 제공할 수 있다. 예를 들어, 도 10은 다수 개인들(905)과 연계된 강점, 약점, 비용 및 이득의 프로세스 오류 분류(725)뿐만 아니라, 각각의 개인들(905)이 범한 오류 타입(910) 및 그룹에 기인하는 시간에 걸쳐(예를 들어, 현재 시각) 분포된 오류들의 개수(915)를 나타낸다. 또한, 각 개인(905)에 기인된 데이터 오류들에 대해 기업에 의해 초래된 일간 비용을 나타내는 시간 주기당 비용 차트(1005)가 제공될 수도 있다.In addition, for the
1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 사용자(예를 들어, 관리상의 사용자)가 기업 비즈니스 프로세스 서버(101)에 의해 실행하는 비즈니스 프로세스(310)를 생성하고 확립할 자격을 제공할 수 있다. 도 11은 1 이상의 실시예에 따른 기업 비즈니스 프로세스 관리 시스템(100)에 대한 예시적인 데이터 퀄리티 프로세스를 확립하는 방법(1100)의 순서도이다. 상기 방법(1100)은 프로세스(310)를 생성하도록 사용자 요구를 수신하는 기업 비즈니스 프로세스 서버(101)에 대해 1105에서 시작할 수 있다. 사용자는, 예를 들어 기업 데이터 퀄리티 어플리케이션(300)의 그래픽 사용자 인터페이스 부분에 의해 제공된 인터랙티브 페이지 상에 포함되는 연계된 하이퍼링크를 선택하는 포인팅 디바이스를 이용함으로써, 프로세스(310)를 생성하는 요구를 입력할 수 있다.In one or more embodiments, corporate business
그 후, 1110으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스 명을 생성하고 프로세스(310)에 대한 데이터 송신부를 선택하게 한다. 도 12는 사용자가 프로세스 명, 설명 및 연계된 데이터 송신부(305)를 입력할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1200)의 일 예시이다.Control may then proceed to 1110 where the enterprise
그 후, 1115로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 필요에 따라 사용자가 새로운 데이터 송신부(305)를 입력하게 한다. 사용자가 새로운 데이터 송신부(305)를 추가하도록 요구함으로써 응답하는 경우, 1120으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 데이터 송신부(305)를 추가하도록 인터랙티브 페이지(1300)를 생성하고 출력할 수 있다. 도 13은 사용자가 데이터 송신부 이름, 설명, IP 주소, 포트 넘버(Port Number) 및 플랫폼 식별자와 같지만 그에 제한되지는 않은 정보를 입력함으로써 데이터 송신부(305)를 추가할 수 있는, 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1300)의 일 예시이다.Control may then proceed to 1115 where the enterprise
그 후, 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
그 후, 1130으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)에 대한 출력 패킷을 생성하게 할 수 있다. 도 15는, 출력 요소 이름, 타입, 길이 및 설명과 같지만 그에 제한되지는 않은 속성 정보를 입력함으로써 사용자가 출력 패킷을 생성할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1500)의 일 예시이다. 출력 요소 타입은 불, 문자, 이중 문자, 확장 문자(UNICODE), 부동 소수, 십진수, 정수, 긴 정수 또는 짧은 정수와 같지만 그에 제한되지는 않은 출력 패킷에 대한 데이터 타 입을 지정할 수 있다.Control may then proceed to 1130 where the enterprise
그 후, 1135로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)와 연계될 제품(315)(또는 그 경우일 때의 기능 또는 기능들의 세트)을 선택하게 할 수 있다. 제품(315)은 기능 또는 기능들의 세트를 포함할 수 있다. 도 16은, 최소로서 예를 들어 풀-다운 리스트(pull-down list)로부터의 제품(315)의 선택 및 제품 설명을 입력함으로써 사용자가 제품(315)을 선택할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1600)의 일 예시이다.Control may then proceed to 1135 where the enterprise
그 후, 1140으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 필요에 따라 제품(315)을 추가하게 할 수 있다. 사용자가 제품(315)을 추가하도록 요구함으로써 응답하는 경우, 1145로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 제품(315)을 추가하도록 인터랙티브 페이지(1700)를 생성하고 출력할 수 있다. 도 17은, 제품명, 제품 타입, 버전 및 제품 템플릿과 같지만 그에 제한되지는 않은 정보를 입력함으로써 사용자가 제품(315)을 추가할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1700)의 일 예시이다. 본 명세서의 APPENDIX A는 제품 템플릿을 생성하는 슈도코드(pseudocode) 명령어들의 예시적인 시퀀스를 제공한다.Control may then proceed to 1140 where the enterprise
그 후, 1150으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)에 대한 데이터 수신지(305)를 선택하게 할 수 있다. 도 18은 사용자가 데이터 수신지 이름 및 설명을 입력할 수 있는, 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1800)의 일 예시이다.Control may then proceed to 1150, where the enterprise
그 후, 1155로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 필요에 따라 새로운 데이터 수신지(305)를 입력하게 할 수 있다. 사용자가 새로운 데이터 수신지(305)를 추가하도록 요구함으로써 응답하는 경우, 1160으로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 데이터 수신지 이름, IP 주소, 포트 넘버 및 설명과 같지만 그에 제한되지는 않은 정보를 입력함으로써 사용자가 데이터 수신지(305)를 추가하도록 인터랙티브 페이지(도시되지 않음)를 생성하고 출력할 수 있다. 1 이상의 실시예에서, 기업 비즈니스 프로세스 서버(101)에 의한 데이터 출력의 전체 또는 일부분은 1 이상의 데이터 수신지(305)로 향할 수 있다.Control may then proceed to 1155 where the enterprise
그 후, 1165로 제어가 진행할 수 있으며, 여기에서 기업 비즈니스 프로세스 서버(101)는 사용자가 프로세스(310)를 확립하게 할 수 있다. 도 19는 사용자가 앞서 설명된 프로세스(310)와 연계된 정보를 리뷰하고 확증할 수 있는 기업 비즈니스 프로세스 서버(101)에 의해 제공된 인터랙티브 페이지(1900)의 일 예시이다. 페이지(1900)에 의해 서머리 프로세스 정보는 프로세스 명, 그 데이터 송신부(305), 입출력 데이터 명세(specification), 연계된 제품(315) 리스트 및 프로세스 출력에 대한 데이터 수신지(들)(305)를 포함할 수 있지만, 그에 제한되지는 않는다. 프로세스(310)가 생성된 이후에, 그것은 편집될 수 있다(즉, 소스 코드 편집). 1 이상의 실시예에서, 명령어들은 소스 코드 명령어들일 수 있다.Control may then proceed to 1165, where the enterprise
상기 방법(1100)에 대한 프로세싱은 1170에서 종료될 수 있다.Processing for the
설명된 시스템 및 방법으로부터의 데이터 출력은 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
도 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
기능들은 특정 작업을 수행하는 프로그램의 지명된 섹션(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
도 25는 일 실시예에서 제공된 기능 오버뷰 인터랙티브 페이지의 일 예시를 나타낸다. 도 25를 참조하면, 기능 오버뷰 페이지(2500)는 기능 라이브러리(2005) 내에 현재 포함된 모든 기능들의 리스트 출력(listing)을 제공할 수 있다. 그 안의 기능들은, 예를 들어 생성 명령에 의해서 연대기적으로와 같이 여러 가지 기준에 따라 명령될 수 있다.25 illustrates an example of a functional overview interactive page provided in an embodiment. Referring to FIG. 25, the
도 26은 일 실시예에서 제공된 프로세스 디자이너 인터랙티브 페이지(2000)의 프로세스 정의 영역부의 일 예시를 나타낸다.FIG. 26 illustrates an example of a process definition area portion of the process designer
각각의 프로세스 단계(2025)는, 그 프로세스 단계(2025)를 실행하는 경우 기 업 비즈니스 프로세스 서버에 의해 성취될 특정 작업을 나타낼 수 있다. 특히, 프로세스 단계(2025)는 1 이상의 기능 입력(2030) 및 기능 출력(2040)을 포함할 수 있다. 또한, 기능 식별자(2035)는 기능 출력(들)(2040)을 생성하도록 기능 입력(들)(2030)을 이용하여 수행될 특정 작업을 나타낼 수 있다. 일 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 단일 비즈니스 프로세스 내에서 다수 어플리케이션 제공자들로부터 얻어진 많은 상이한 프로세스 단계들(2025)을 수행할 수 있다. 1 이상의 실시예에서, 기능 식별자(2035)는 기업에 의해 어플리케이션(들)이 사용되는 특정 어플리케이션 제공자의 기능들 및 기능 요소들을 지정하는데 도움이 된다. 또한, 다수 비즈니스 프로세스는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 지원될 수 있다.Each
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
일 실시예에서, 기능 입력(2030)은 지정된 사건의 발생(발생 여부)에 대해 수행될 대안적인 동작을 지정하는 조건문을 포함할 수 있다. 도 29는 조건문이 1 이상의 실시예에 따른 프로세스 단계의 요소에 대해 정의될 수 있는 예시적인 인터랙티브 페이지 부분(2900)을 나타낸다.In one embodiment, the
도 30은 도 17과 유사한, 일 실시예 내에 제공된 제품 정의 인터랙티브 페이지(3000)의 일 예시를 나타낸다. 도 31은 도 18과 유사한, 일 실시예 내에 제공된 데이터 수신지 정의 인터랙티브 페이지(3100)의 일 예시를 나타낸다. 도 32는 도 16과 유사한, 일 실시예 내에 제공된 제품 선택 인터랙티브 페이지(3200)의 일 예시를 나타낸다.30 illustrates an example of a product definition
1 이상의 실시예에서, 기업 비즈니스 프로세스 관리 시스템(100)은 예를 들어 데이터 저장 장치(106)와 같은 데이터 저장 장치로부터 인터페이스 모듈 프로세 스 디자이너에 의해 정의된 비즈니스 프로세스를 구현하는 명령어들의 시퀀스를 회수하고, 형성하며, 컴파일할 수 있다. 일 실시예에서, 기업 비즈니스 프로세스 서버(101)의 인터페이스 모듈(304)은 기업 비즈니스 프로세스 서버(101)에 의한 실행을 위해 데이터 저장 장치(106)로부터, 예를 들어 인터페이스 모듈을 이용하여 정의된 1 이상의 비즈니스 프로세스를 구현하는 명령어들의 시퀀스를 얻을 수 있다.In one or more embodiments, enterprise business
1 이상의 실시예에서, 인터페이스 모듈(304)은 다수의 빌드 파일을 이용하는 형성 단계들의 시리즈 내에 인터페이스 모듈 프로세스 디자이너 정의된 프로세스 단계들(2025)을 구현하는 명령어들의 시퀀스를 조립(즉, 형성)할 수 있다. 도 21은 비즈니스 프로세스의 코드 구현을 형성하도록 기업 비즈니스 프로세스 서버에 의해 일 실시예에서 이용되는 빌드 파일들의 시리즈를 나타낸다. 도 21을 참조하면, 비즈니스 프로세스에 대한 빌드 파일들의 일 세트는, 일 실시예에서 1 이상의 임시(temporary) 단계 빌드 파일(들)(2050), 프로세스 단계 파일(2055), 1 이상의 기능 속성 파일(들)(2060), 1 이상의 연계된 기능 임시 파일(들)(2065) 및 프로세스 파일(2070)을 포함할 수 있다. 기업 비즈니스 프로세스 관리 시스템(100)은 예를 들어 다음의 방식으로 인터페이스 모듈 프로세스 디자이너를 이용하여, 비즈니스 분석가에 의해 정의된 비즈니스 프로세스를 구현하도록 일 실시예에서 이 파일들을 사용할 수 있다.In one or more embodiments, the
일 실시예에서, 기업 비즈니스 프로세스 관리 시스템에 추가된 모든 기능들은 기능 라이브러리(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
일 실시예에서, 인터페이스 모듈(304)은 라이브러리 내에 사전-형성된 기능을 이입(import)하고 기존 기능을 수정하는데 있어서 사용자를 돕도록 작동가능한, 사용자에게 인터랙티브 페이지의 시퀀스를 제공하는 기능 마법사(function wizard)를 포함할 수 있다. 기능 마법사는 사용자가 기능 이름을 입력하고, 기능 아이콘을 선택하며, 연계된 제품명을 입력하고, 기능 타입을 입력하며, 기능 설명을 추가할 수 있는 1 이상의 인터랙티브 페이지의 인터랙티브 필드들을 포함할 수 있다. 기능 마법사는 사용자 입력 정보에 응답하여 기능 템플릿을 제공할 수 있다. 기능 템플릿들은, 예를 들어 기능 템플릿 파일들(2065)을 이용하여 유지될 수 있다. 기능 템 플릿은 기능의 다양한 측면들을 정의하는 명령어들의 시퀀스(예를 들어, 변수들)를 포함할 수 있다. 각각의 기능 변수들에 대한 실제 값들은 각각의 기능 변수들에 대응하는 기능 설정들에 의해 결정될 수 있다. 도 33은 일 실시예에 제공된 기능 템플릿 파일 페이지(3300)의 콘텐츠의 일 예시를 나타낸다.In one embodiment, the
비즈니스 프로세스에 기능이 추가된 이후에, 임시 단계 파일(2050)이 생성될 수 있다. 일 실시예에서, 임시 단계 파일(2050)은 XML 포맷으로 제공될 수 있다. 임시 단계 파일(2050)은 비즈니스 프로세스 내에서 이 단계에 부속(pertain)하는 경우 기능에 대한 모든 정보를 포함할 수 있다. 동일한 기능으로부터 발생한 것이라도 모든 단계에 대해 임시 단계 파일이 상이할 수 있음에 유의하는 것이 중요하다.After the functionality is added to the business process, a
또한, 도 21에 예시된 바와 같이 인터페이스 모듈(304)은 비즈니스 프로세스가 형성될 경우에 프로세스 단계 파일(2005)을 생성할 수 있다. 일 실시예에서, 프로세스 단계 파일(2055)은 이 비즈니스 프로세스와 연계된 임시 단계 파일(들)(2050)의 결합된 그룹(joined group)일 수 있다.In addition, as illustrated in FIG. 21, the
최종적으로, 인터페이스 모듈(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,
일 실시예에서, 새로운 프로세스 명령어 세트 파일(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
도 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
그 후, 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
그 후, 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,
새로운 테스트 프로세스 명령어 세트 파일의 형성을 따르는 도 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
그 후, 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
그 후, 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
따라서, 인터페이스 모듈은 소프트웨어 엔지니어링 또는 프로그래밍 요원과 관련된 매우 긴 요구사항 정의, 전반적 디자인, 세부적 디자인, 코딩 및 테스팅 사이클에 착수할 필요없이, 기업 비즈니스 프로세스 관리 시스템을 이용하여 비즈니스 분석가와 같은 사용자가, 예를 들어 비즈니스 프로세스를 정의하고, 생성하며, 수정하고, 구현하며, 테스트하고, 실행할 자격을 제공할 수 있다. 본 명세서에 나타낸 기업 비즈니스 프로세스 관리 시스템은, 개발 비용 및 시간을 감소시킬 뿐만 아니라, 주기적으로 기능적인 요구사항들을 동결시킬(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
예를 들어, 기업 비즈니스 프로세스 관리 시스템의 일 실시예는, 지문 분석, 망막 이미징/스캐닝, 음성 식별 및 이미지 매칭 및 비교에 관한 비즈니스 어플리케이션으로부터의 기능들을 포함하는 비즈니스 프로세스를 정의하고 형성하며 실행하는 바와 같은 생체(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
프로세스 디자이너 인터랙티브 부분(4002)은, 스크린 디스플레이 및 키보드를 통하거나 스크린 디스플레이 및 마우스를 통해서와 같지만 그에 제한되지는 않은 다양한 방식으로 프로세스 디자이너(4003)와 상호작용한다. 비교적 정교한 인터랙션의 일 예시는, 프로세스 디자이너 인터랙티브 부분(4002)이 프로세스 디자이너(4003)와 상호작용하는 도 20에 나타낸 프로세스 디자이너 인터랙티브 페이지(2000)를 보여준다는 것이다. 프로세스 디자이너(4003)는 프로세스 디자이너 인터랙티브 부분(4002)에서 사용되는 비즈니스 프로세스를 디자인하는 정보를 입력한다. 여기에서, 비즈니스 프로세스를 디자인하는 정보는 비즈니스 프로세스를 디자인하는데 사용되는 여하한의 정보로서 정의된다. 비즈니스 프로세스를 디자인하는 정보의 일 예시는, 프로세스 디자이너가 도 20에 나타낸 프로세스 디자이너 인터랙티브 페이지(2000) 상에 기능 식별자(2035)를 배치하는 것이다. 프로세스 형성 부 분(4001)은 프로세스 디자이너 인터랙티브 부분(4002)에 의해 수신된 정보에 기초하여 비즈니스 프로세스를 생성하거나 수정한다.Process designer
도 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
도 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
프로세스 형성 부분(4001)에서의 기능들 및 설정들의 선택은 프로세스 디자이너 인터랙티브 부분(4002)으로부터 수신된 정보에 기초할 수 있다. 또한, 프로세스 형성 부분(4001)에서의 기능들 및 설정들의 선택은 기능들 및/또는 선택들의 비교에 기초할 수 있다. 도 41에서, 프로세스 형성 부분(4001)은 유효성 비교 부분(4120)을 포함한다. 유효성 비교 부분(4120)은 관찰된 일 실시예에서 기능들 및/ 또는 설정들의 유효성을 비교하는 부분이다. 프로세스 형성 부분(4001)은 프로세스 디자이너 인터랙티브 부분(4002)으로부터 수신된 정보에 기초하여 기능들을 선택한다.The selection of functions and settings in
프로세스 디자이너 인터랙티브 부분(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
유효성을 비교하는 유효성 비교 부분(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
기업 비즈니스 프로세스 관리 시스템(100)은 프로세스 디자이너(4003)(또는, 대안적으로 사용자)가 제품명, 제품 타입, 버전 및 제품 템플릿과 같지만 그에 제한되지 않은 정보를 입력함으로써 제품을 추가하게 한다. 버전을 입력하기 위해, 기업 비즈니스 프로세스 관리 시스템(100)은 버전 입력 부분을 가질 수 있다. 버전 입력 부분은 버전에 대한 정보를 입력하는 부분이다. 도 17은 버전 입력 부분의 일 예시를 나타낸다. 도 30은 버전 입력 부분의 또 다른 예시를 나타낸다.Enterprise business
기업 비즈니스 프로세스 관리 시스템(100)은 프로세스 디자이너(4003)(및/또는 사용자)가 제품의 플랫폼을 입력하게 할 수 있다. 플랫폼의 전형적인 예시는 운영 체제(operating system)이다. 기업 비즈니스 프로세스 관리 시스템(100)은 플랫폼 입력 부분을 가질 수 있다. 플랫폼 입력 부분은 플랫폼에 대한 정보를 입력하는 부분이다. 도 32는 플랫폼 입력 부분의 일 예시를 나타낸다. 제품들(4100, 4101 및 4102)은 동일하거나 상이한 플랫폼들 상에 있을 수 있다. 비즈니스 어플리케이션들(4200, 4201 및 4202)은 동일하거나 상이한 플랫폼들 상에 있을 수 있다.The enterprise business
기업 비즈니스 프로세스 관리 시스템(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
도 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
프로세스 디자이너(4003) 및/또는 사용자는 표시기들 중 1 이상을 선택함으로써 비즈니스 프로세스를 생성하거나 수정하는데 사용되는 제품을 선택할 수 있다. 예를 들어, 프로세스 디자이너(4003)는 특정 운영 체제 상에 구현되는 버전 넘버 1.1을 갖는 제품을 선택하기 위해 마우스 커서로 아이콘(4304)을 클릭한다. 이는 사용자가 비즈니스 프로세스에 대해 적절한 버전을 사용하게 한다.
도 45는 기업 비즈니스 프로세스 관리 시스템(100)에 의해 상이한 버전들을 갖는 다수 제품들의 사용을 예시한 블록도를 나타낸다. 본 명세서에서, 상이한 버전들을 갖는 제품들은 제품들의 이름이 동일한 경우라도 상이한 제품들을 구성한다. 또한, 본 명세서에서 상이한 플랫폼들을 갖는 제품들은 제품들의 이름이 동일한 경우라도 상이한 제품들을 구성한다. 기업 비즈니스 프로세스 관리 시스템(100)은 비즈니스 프로세스를 생성하거나 수정하기 위해 상이한 버전들 및/또는 플랫폼들을 갖는 제품들로부터 기능들 및 설정들을 선택할 수 있다. 또한, 프로세스 디자이너(4003) 및/또는 사용자는 비즈니스 프로세스를 생성하거나 수정하는데 사용되 는 특정한 버전 및/또는 플랫폼을 갖는 제품을 선택할 수 있다.45 shows a block diagram illustrating the use of multiple products with different versions by the enterprise business
도 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
제품들 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.
당업자라면 이해할 수 있는 바와 같이, 특정 환경에서 상이한 인터페이스(4301), 릴리즈(4302) 및 구현들(4304)을 효과적으로 조직하고 이용하는 능력은 오늘날 많은 비즈니스에 대해 상당한 관심사이다. 앞서 설명된 구조를 이용하여, 그리고 본 명세서에서 설명된 기업 비즈니스 프로세스 관리 시스템(100)을 이용하여, 바로 이러한 작업을 성취할 수 있다.As will be appreciated by those skilled in the art, the ability to effectively organize and use
당업자라면 이해할 수 있는 바와 같이, 그리고 앞서 말한 관점에서와 같이, 상이한 구현, 릴리즈 및 버전은 간단히 이용될 수 있는 기능들이다. 예를 들어, 기업 비즈니스 프로세스 관리 시스템(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
시간이 지나 구현(4303), 릴리즈(4302) 및 인터페이스(4301)가 업그레이드되고 교체되는 경우, 기업 비즈니스 프로세스 관리 시스템(100)는 자동으로 이전 버전들을 찾아 더 새로운 버전으로 교체하도록 구성될 수 있으므로, 전체적인 업그레이드가 간단하고 효과적으로 이루어지게 할 수 있다.Over time, if the
당업자라면 이해할 수 있는 바와 같이, 구현은 인터페이스의 요구사항들을 수행한다. 구현은 구현을 실행할 수 있는 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
앞서 나타낸 바와 같이, 설명된 실시예에서 인터페이스는 버전에 대해 가장 높은 레벨의 추상화(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
릴리즈는 인터페이스와 매우 비슷하다. 하지만, 릴리즈는 시스템이 사용을 최대화하도록 그 작업을 어떻게 스케일하는가에 대해 더 제한적이다. 인터페이스와 릴리즈 간의 한가지 차이점은, 릴리즈가 특정 릴리즈(예를 들어, 릴리즈의 "아이들")에 의해서만 포괄되고 다른 릴리즈에는 포괄되지 않는 구현들을 사용하도록 스케일될 수 있다는 것이다. 또한 이 경우, 프로세스 디자이너에 대해 릴리즈의 사용은 단일 버전을 나타낸다. 시스템에 대해, 릴리즈의 사용은 (릴리즈의 아이들인) 구현들이 단지 프로세스의 선택된 단계를 실행하는데 사용되는 구현이 되도록 시스템이 어떻게 그 스케일을 제한해야 하는지를 지시하는 명령어들에 대응한다.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)
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)
| 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)
| 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)
| 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 |
-
2005
- 2005-09-23 CA CA002581479A patent/CA2581479A1/en not_active Abandoned
- 2005-09-23 EP EP05799881A patent/EP1810179A2/en not_active Withdrawn
- 2005-09-23 KR KR1020077009332A patent/KR20070083786A/en not_active Withdrawn
- 2005-09-23 RU RU2007115418/09A patent/RU2007115418A/en not_active Application Discontinuation
- 2005-09-23 JP JP2007533618A patent/JP2008515056A/en active Pending
- 2005-09-23 WO PCT/US2005/033918 patent/WO2006036720A2/en not_active Ceased
- 2005-09-23 AU AU2005289750A patent/AU2005289750A1/en not_active Abandoned
-
2007
- 2007-03-25 IL IL182166A patent/IL182166A0/en unknown
Cited By (1)
| 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 |