KR100340774B1 - 주문처리를위한객체지향기술프레임워크 - Google Patents

주문처리를위한객체지향기술프레임워크 Download PDF

Info

Publication number
KR100340774B1
KR100340774B1 KR1019980001430A KR19980001430A KR100340774B1 KR 100340774 B1 KR100340774 B1 KR 100340774B1 KR 1019980001430 A KR1019980001430 A KR 1019980001430A KR 19980001430 A KR19980001430 A KR 19980001430A KR 100340774 B1 KR100340774 B1 KR 100340774B1
Authority
KR
South Korea
Prior art keywords
order
class
sales
purchase
product
Prior art date
Application number
KR1019980001430A
Other languages
English (en)
Other versions
KR19980079627A (ko
Inventor
빈센트 데이비스 아놀드
알프 크리스챤 베르그
카트린 앤 보러
토마스 칼 아토스 브레인
토어 매그너스 달
토 마이클선
앤더스 매그너스 닐슨
헬즈 오데가드
토브젼 해럴드 오스텐 펀백
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR19980079627A publication Critical patent/KR19980079627A/ko
Application granted granted Critical
Publication of KR100340774B1 publication Critical patent/KR100340774B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0222During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

객체 지향형 프로그래밍(OOP) 프레임워크는 수신되는 판매 주문를 추적하고 그 판매 주문을 창고 재고목록에 일치시키는 주문 관리(OM) 메커니즘과, 판매 주문를 처리하는 판매 주문(SA) 메커니즘, 및 구매 주문을 처리하는 구매 주문(PU) 메커니즘을 포함한다. OM 메커니즘은 프레임워크 클래스와 회계 기능 및 창고 관리 인터페이스를 제공하는 기본적인 비지니스 객체 사이의 기본 인터페이스를 제공하는 OOP 클래스의 카테고리를 포함하고, SA 및 PU 메커니즘은 수신되는 판매 주문 및 발행되는 구매 주문을 추적하는 OOP 클래스의 각각의 카테고리를 포함한다.

Description

주문 처리를 위한 객체 지향 기술 프레임워크{OBJECT ORIENTED TECHNOLOGY FLAMEWORK FOR ORDER PROCESSING}
본 발명은 일반적으로 데이터 처리 시스템에 관한 것으로서, 특히, 객체 지향형(object oriented) 프로그래밍 시스템 및 프로세스에 관한 것이다.
컴퓨터 프로그램은 통상적으로 절차적(procedural) 프로그래밍 기술을 이용하여 개발되어 왔다. 절차적 프로그래밍 기술은 데이터 값이 종속되는 데이터 처리 절차(procedures)를 구성하는(structuring) 것을 강조한다. 장기간의 소프트웨어 개발 시간 및 높은 소프트웨어 유지관리 비용을 감소시키기 위한 노력이 결과적으로 프로그래밍 코드의 블록을 재사용하기 위해 시도하는 구조적(structured) 프로그래밍 기술을 초래했다. 예를 들어, 반복되어야 하는 태스크 또는 프로세스는 시스템 프로그램 루틴이나 또는 프로그램 라이브러리 펑션(functions)으로서 기록될 수 있다. 그러면, 프로그램 개발자는 시스템 루틴 또는 라이브러리 펑션으로의 호출(call)을 이용하여 원하는 결과를 달성하기 위해 응용 프로그램을 제공한다.
시스템 루틴 및 라이브러리 펑션은 소프트웨어 개발 시간 및 유지관리 비용에 있어 단지 제한적인 감소만을 제공한다. 절차적 응용 프로그램이 일단 기록되면, 새로운 특징(features) 및 추가적인 데이터 형태(types)를 병합시키는 것이 비교적 어렵다. 응용 프로그램에는 프로그램 코드로부터 쉽게 추출되어 재사용될 수 없는 많은 프로세스가 있다. 추가적인 데이터 형태는 종종 원시(original) 프로그램 코드의 많은 량의 재작성 없이는 절차적 프로그램 코드로 삽입될 수 없다. 그러므로, 응용 프로그램 내의 기존의 프로세스와 유사한 프로세스를 이용하여 프로그램 내의 새로운 특징이 구현될 수 있을 때 조차도, 이와 같은 프로세스를 위한 프로그래밍은 새로운 특징을 제공하기 위해 약간의 수정(modifications)과 함께 대부분 복제되어야 한다. 이것은 프로그램 개발 시간을 증가시킨다. 더욱이, 이와 같은 프로그램이 다른 응용 프로그램과 함께 동작해야 하는 경우에는 변경된 부분이 적절하게 인터페이스되도록 보장하기가 어렵게될 수 있다.
프로그램 개발자들이 직면하는 다른 문제점은 고객이 사용하는 다양한 플랫폼과 함께 운영될 수 있는 프로그램 버전을 제공하는 것이다. 상이한 플랫폼은 상이한 운영체제뿐만 아니라 그 응용 프로그램이 인터페이스해야 하는 상이한 동반 (companion) 응용 프로그램을 포함한다. 예를 들어, 운영체제에 관해서, 프로그램 개발자는, 마이크로소프트사의 "Windows 95", UNIX 시스템, 애플 컴퓨터사의 "MacIntosh" 운영체제, 또는 IBM사의 "OS/2" 운영체제 하에서의 만족스런 동작을 위한 상이한 버전으로 작성해야할 수도 있다. 이와 비슷한 방식으로, 프로그램 개발자는 워드 프로세서 프로그램이나 스프레드시트(spreadsheet) 프로그램 등과 같은 응용 프로그램과 인터페이스할 수 있는 능력을 제공하길 원할 수도 있으며, 이것은 프로그램 개발자가 상이한 파일 포맷으로된 파일을 수용(또한 파일을 생성)하기 위한 능력을 제공해야 한다는 것을 의미한다. 상이한 플랫폼은 상이한 데이터포맷 및 절차적 연산을 사용하며, 따라서 프로그램 개발자는 각각의 플랫폼에 대해 상이한 프로그램 버전 또는 루틴을 제공해야 한다.
객체 지향형 프로그래밍(OOP) 기술은 데이터 및 그 데이터에 대해 동작하는 메소드(methods)를 캡슐화(encapsulate)하거나 또는 함께 결합한다. 이렇게 하므로써, 문제 해결을 위한 현실적인 시스템을 보다 근접하게 모델링하기 위한 프로그램 개발이 허용되며, 프로그램 개발 노력이 보다 작고 보다 다루기 쉬운 부분들로 나누어 진다. OOP 프로그램은 애트리뷰트(attributes)(또한 데이터 값으로도 불림)와 메소드(또한 펑션으로도 불림)를 가진 객체 클래스(classes)를 중심으로 하여 개발된다. 비록 OOP 기술이 프로그램 개발 효율을 상당히 개선했지만, 이와 같은 기술은 아직도 프로그램 개발자 측에서의 상당한 정도의 코드 생성을 필요로하며 상이한 클래스 사이에서의 프로그램 재사용을 제한한다.
프로그램 개발 비용을 더욱 감소시키기 위한 노력으로 OOP 프레임워크가 개발되었다. 그 중 한 프레임워크로서 공통 비헤이비어(behaviors) 그룹을 제공하기 위한 소정의 애트리뷰트 및 메소드 셋트를 구체화하는 OOP 클래스 셋트가 있다. 응용 프로그램 개발자는 이 프레임워크를 이용하고 그것을 토대로하여 해결하고자 하는 문제에 따라 서브클래스 및 애트리뷰트를 부가하고 메소드를 수정한다. 프레임워크에 대한 이러한 변경은 통상적으로 프레임워크 확장부(extensions)로서 언급되며, 전승(inheritance) 및 폴리모피즘(polymorphism)에 관한 OOP 개념에 의해 이루어질 수 있다. 다음에, 프레임워크 개발자들이 직면하는 도전은 원하는 문제 해결책을 가장 양호하게 제공하고 가장 적당한 프레임워크 확장부를 수용하는 클래스및 메소드 셋트에 도달하는 것이다. 그러므로, 프레임워크의 설계자는 프레임워크 사용자가 어떤 클래스 및 애트리뷰트를 가장 필요로 할 가능성이 있는지 조심스럽게 접근해야 한다.
응용 프로그램 개발에 대한 필요성이 큰 한가지 영역은 주문(order) 처리 영역이다. 특히, 많은 회사들이 주문 처리 기능을 전산화하였다. 예를 들어, 판매 및 구매 주문의 컴퓨터 제어 주문 관리를 제공하는 응용 프로그램이 있다. 주문 수신, 처리 및 창고(warehouse) 기능과 제품의 추적(tracking)에 관한 관리를 위해서는 많은 기업-특유의 특징이 요구되는데, 이들 모두는 계속해서 변경되며, 따라서 주문 처리를 위한 응용 프로그램의 프로그램 개발 및 소프트웨어 유지관리가 중요하다. 그러므로, 주문 처리 기능을 수행하는 응용 프로그램을 개발하고 유지관리하기 위해 많은 비용 및 노력이 들어간다.
전술한 논의로부터, 응용 프로그램 개발자로 하여금 주문 처리 응용 프로그램을 보다 빠르게 개발하고 보다 용이하게 유지관리할 수 있도록 하는 주문 처리 응용 프로그램 개발 툴에 대한 요구가 존재한다는 것은 명백하다. 본 발명은 이러한 요구를 충족시킨다.
본 발명에 따르면, 객체 지향형 프로그래밍 시스템과 함께 사용하기 위한 재사용가능한 객체 지향형(OO) 프레임워크는, 프레임워크 채용자(adopter)로 하여금, 모든 형태의 주문을 용이하게 하는 주문 관리 객체 셋트와, 판매 주문의 처리를 허용하는 판매 주문 처리 객체 셋트 및 구매 주문의 처리를 허용하는 구매 주문 처리객체 셋트를 이용할 수 있도록 하고, 다음에, 구체적 처리 태양을 위한 프레임워크 확장부를 부가하여, 한 기업이 고객에게 제공하는 모든 제품에 대한 주문 처리 응용 프로그램을 생성할 수 있도록 하는 주문 처리 쉘(shell)을 포함한다. 이와 같은 주문 처리 응용 프로그램은 주문 수신, 재고 관리, 선적 및 재공급을 관리한다. 이러한 방식으로, 본 발명의 주문 처리 프레임워크는 응용 프로그램 개발자가 특정 데이터 형태 및 그들이 중요하다고 간주하는 처리 특징을 부가하기 위해 토대로할 수 있는 객체 지향형(OO) 베이스를 제공한다.
프레임워크는 새로운 애트리뷰트 및 메소드에 의한 확장 서브클래싱 (subclassing)이 이루어지게 될 것으로 예상되는 클래스를 포함한다. 응용 프로그램 개발자는 확장 클래스를 응용 프로그램 사용자의 요구에 부합하도록 커스터마이즈하고, 응용 프로그램과의 모든 사용자 인터페이스를 생성할 수 있으며, 따라서 개발자가 프로그램 개발을 보다 빠르게 완료하고 소프트웨어 유지관리를 보다 용이하게 수행할 수 있도록 한다. 최종 사용자(end-user) 인터페이스는 최종 사용자가 데이터를 수신, 처리 및 보고(report)하기 위해 응용 프로그램과 통신하기 위한 수단을 설정한다. 프레임워크는 프로그램 개발자로 하여금 자유롭게 OO 프레임워크의 OO 클래스 및 메소드를 확장하므로써 쉽게 구현될 수 있는 응용 프로그램 특징에 집중하도록 한다. 따라서, 프레임워크는 다양한 주문 처리 시스템이 빠르고 효율적으로 생성될 수 있도록 하는 토대를 제공한다.
프레임워크는 객체 데이터 애트리뷰트 및 메소드를 규정하는 객체 지향 클래스를 포함한다. 프레임워크 채용자는 고유한 한벌의 펑션 및 연산을 제공하도록 자유롭게 프레임워크에 확장부를 병합시킬 수 있으며, 결과적으로 최종 사용자에 의해 이용될 응용 프로그램을 생성하게 된다. 예를 들어, 제품을 제공하고 수취하는 공급자 및 고객에 대해 정의되는 자산(properties), 비지니스 정책 및 애트리뷰트를 유지하고 접근하기 위해 하나의 데이터 객체 위치가 제공될 수 있다. OOP 원리를 이용하면, 프레임워크 채용자는 특정 시장의 적소에서 고객이 원하는 제품 형태 및 다른 세부사항을 지원하기 위해 프레임워크에는 존재하지 않는 비지니스 또는 제품 애트리뷰트를 부가할 수 있다. 이러한 방식으로, 프레임워크 채용자는 프로그램 공통성 및 프로그래밍 성과의 재사용에 관한 개발을 최소화하고, 따라서 프로그램 개발 시간 및 소프트웨어 유지관리 비용을 감소시킨다.
도1은 주문 처리 응용 프로그램을 제공하기 위해 본발명의 프레임워크를 이용하는 응용 프로그램 개발 프로세스의 흐름도.
도2는 본 발명에 따라 구성된 컴퓨터 시스템의 블록도.
도3은 도2의 시스템에서 동작하는 프레임워크를 도시하는 도면으로서, 함께 주문 처리 프레임워크를 구성하는 주문 관리(OM), 판매 주문(SA), 및 구매 주문 (PU) 메커니즘을 도시하고, 또한 주문 처리 프레임워크에 의해 이용되는 관련 창고 제어 프레임워크 및 공통 비지니스 객체를 도시하는 도면.
도4는 도3에 도시된 OM 메커니즘의 카테고리도.
도5는 주문 클래스 및 관련 클래스를 도시하는, 도4에 도시된 OM 주문 카테고리의 클래스도.
도6은 주문 데이터 교환 관리자 클래스 및 관련 클래스를 도시하는, 도4에 도시된 OM 주문 데이터 교환 카테고리의 클래스도.
도7은 계약 클래스 및 관련 클래스를 도시하는, 도4에 도시된 OM 계약 카테고리의 클래스도.
도8은 도3에 도시된 SA 메커니즘의 카테고리도.
도9는 도8에 도시된 SA 제품 판매 정보 카테고리의 클래스도.
도10은 분배 고객 클래스 및 관련 클래스를 도시하는, 도8에 도시된 SA 분배 고객 카테고리의 클래스도.
도11은 판매 주문 클래스 및 관련 클래스를 도시하는, 도8에 도시된 SA 판매 주문 카테고리의 클래스도.
도12는 판매 주문 데이터 교환 관리자 제어 클래스 및 관련 클래스를 도시하는, 도8에 도시된 SA 판매 주문 데이터 교환 카테고리의 클래스도.
도13은 판매 디스카운트 클래스 및 관련 클래스를 도시하는, 도8에 도시된 SA 판매 가격 및 디스카운트 카테고리의 클래스도.
도14는 제품 판매 디스카운트 그룹 클래스, 고객 판매 디스카운트 그룹 클래스 및 관련 클래스를 도시하는, 도8에 도시된 SA 판매 가격 및 디스카운트 그룹 카테고리의 클래스도.
도15는 판매 계약 클래스 및 관련 클래스를 도시하는, 도8에 도시된 SA 판매 계약 카테고리의 클래스도.
도16은 판매 가격 및 디스카운트 요구자 제어 클래스 및 관련 클래스를 도시하는, SA 판매 가격 및 디스카운트 요구자 카테고리의 클래스도.
도17은 시가 클래스 및 관련 클래스를 도시하는, SA 시가 카테고리의 클래스도.
도18은 도3에 도시된 PU 메커니즘의 카테고리도.
도19는 구매 공급자 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU구매 공급자 메커니즘의 클래스도.
도20은 구매 제품 정보 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 구매 제품 정보 메커니즘의 클래스도.
도21은 구매 주문 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 구매 주문 카테고리의 클래스도.
도22는 구매 주문 문서 관리자 제어 클래스 및 관련 클래스를 도시하는, 도 18에 도시된 PU 구매 주문 출력 카테고리의 클래스도.
도23은 구매 주문 DI 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 구매 주문 데이터 교환 카테고리의 클래스도.
도24는 구매 가격 및 디스카운트 정책 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 구매 가격 및 디스카운트 카테고리의 클래스도.
도25는 제품 구매 디스카운트 그룹 클래스, 공급자 구매 디스카운트 그룹 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 구매 가격 및 디스카운트 그룹 카테고리의 클래스도.
도26은 공급 계약 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 공급 계약 카테고리의 클래스도.
도27은 구매 가격 및 디스카운트 요구자 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 구매 가격 및 디스카운트 요구자 카테고리의 클래스도.
도28은 백-투-백 주문 관리자 제어 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 백-투-백 주문 관리자 카테고리의 클래스도.
도29는 구매 주문 제안 클래스 및 관련 클래스를 도시하는, 도18에 도시된 PU 구매 주문 제안 카테고리의 클래스도.
도30은 도11에 도시된 SA 판매 주문 카테고리 및 도12에 도시된 SA 판매 주문 데이터 교환 카테고리에 의해 수행되는 처리의 흐름도.
도31은 도15에 도시된 SA 판매 계약 카테고리 및 도12에 도시된 SA 판매 가격 및 디스카운트 요구자 카테고리에 의해 수행되는 처리의 흐름도.
도32는 도23에 도시된 PU 구매 주문 데이터 교환 카테고리 및 도27에 도시된 PU 구매 가격 및 디스카운트 요구자 카테고리에 의해 수행되는 처리의 흐름도.
도33은 도26에 도시된 PU 공급 계약 카테고리에 의해 수행되는 처리의 흐름도.
도34는 도28에 도시된 PU 백-투-백 주문 카테고리에 의해 수행되는 처리의 흐름도.
〈 도면의 주요부분에 대한 부호의 설명 〉
32 : CPU
34 : 오퍼레이터/디스플레이 인터페이스
38 : 메인 메모리
40 : 응용 프로그램
42 : 객체
44 : 데이터
46 : 운영 체제
48 : DASD 인터페이스
50 : DASD
54 : 네트워크 인터페이스
본 발명의 다른 특징 및 장점은 본 발명의 원리를 예를 이용하여 설명하는 다음의 양호한 실시예의 설명으로부터 명백해질 것이다.
1. 응용프로그램 개발
도1은 본 발명의 프레임워크를 이용하여 주문 처리 응용 프로그램을 생성하기 위해 컴퓨터 시스템에 의해 수행되는 단계의 흐름도이다. 양호한 실시예의 주문 처리 프로그램은 관련 핵심(core) 클래스의 객체로부터 소정의 정보를 얻도록 설계된다. 이와 같은 정보는 주문 처리가 수행될 기업에 관한 비지니스 및 창고 분배망 정보 뿐만 아니라 컴퓨터 시스템에서 운영(operating)을 수행하는데 필요한 다른 정보도 포함하게 된다. 이들 핵심 클래스는 본 발명의 프레임워크에 상보적인 핵심 프레임워크(CF)로 편제될 수 있다. 응용 프로그램 개발자는 사용자 인터페이스를제공하고, 핵심 객체 클래스의 운영 인터페이스 특징(features)을 본 발명에 따라 구성된 주문 처리 OOP 프레임워크의 구조 및 기능성(functionality)과 조합하고, 또한 응용 프로그램을 생성하기 위해 필요에 따라 특정 프레임워크 확장부를 부가한다. 그 결과로 생성된 응용 프로그램은 생산 및 창고업(warehousing) 영역에서 주문 처리 기능 및 다른 태스크를 실행하기 위해 제조자 및 배급자(distributors)와 같은 응용 프로그램 클라이언트에 의해 사용될 수 있다. 다음의 설명에서, "프레임워크"는 도면에 도시된 프레임워크를 말하는 것이며, "응용 프로그램"은 프레임워크를 사용하는 응용 프로그램 개발자에 의해 생성되는 확장된 프레임워크의 구현을 포함하는 응용 프로그램을 말한다.
도1의 흐름도에서, 제1 단계는 박스(104)로 표현된 바와 같이, 본 발명의 주문 처리 프레임워크와 핵심 프레임워크를 병합시키는 것이다. 이 단계는 응용 프로그램이 실행될 시스템에 필요한 소정의 객체 클래스의 병합(incorporation)을 포함한다. 예를 들어, 본 발명의 양호한 실시예는 기본 비지니스 클래스의 핵심 프레임워크(CF) 셋트로부터 클래스를 확장하므로써 운영 플랫폼 독립 및 응용 프로그램 호환성(inter-operability)을 실현한다. 이 제1 단계에서, 응용 프로그램 개발자는 CF 클래스로부터 확장하고 서브클래싱하므로써 운영 체제 독립 및 프로그램 호환성을 실현하기 위해 필요한 객체 클래스를 병합하게 된다. 이러한 방식으로, 주문 처리 응용 프로그램은 복수의 운영 체제와 인터페이스할 수 있는데, 그 이유는 단지 CF 확장부만이 새로운 운영 체제를 수용하기 위해 변경될 필요가 있으며, 다른 주문 처리 응용 프로그램은 동일한 상태로 유지될 수 있기 때문이다. 이와 비슷한 방식으로, 동반 응용 프로그램은 확장된 응용 프로그램과 보다 쉽게 인터페이스할 수 있으며, 그 이유는 CF 클래스의 핵심 공통 셋트는 잘 알려져 있고, 공통 인터페이스를 형성하게 되기 때문이다.
응용 프로그램 개발의 다음 단계는 사용자 인터페이스를 포함하여 원하는 확장부를 주문 처리 프레임워크에 부가하는 것이다. 프로그램 개발 프로세스의 이 부분을 구현하기 위해, 응용 프로그램 개발자-프레임워크 사용자는 클래스 애트리뷰트 및 비헤이비어에 대한 소정의 수정부(modifications) 또는 확장부(extensions)를 포함하여, 원하는 주문 처리 연산 및 사용자 인터페이스에 필요한 특정 확장부를 결정해야 한다. 프레임워크 확장부는 그 프레임워크가 수납되어 조작 (manipulated)되는 특정 컴퓨터 시스템에 의존하는 방식으로 프레임워크 사용자에 의해 수행된다. 이와 같은 처리는 도1에 박스(106)로 도시되어 있다.
프레임워크 확장부가 결정된 후에, 다음 단계는 응용 프로그램을 생성하는 것이다. 이 단계는 박스(108)로 도시되어 있다. 응용 프로그램의 생성은 일반적으로 프로그램 컴파일로서 언급된다. 이 단계도 역시 프레임워크가 사용되는 특정 컴퓨터 시스템에 의존한다. 초기 프로그램 디버깅의 일부로서 또한 실제적인 사용으로부터 수신되는 코멘트(comments)로 인한 개정(revisions)의 일부로서, 컴파일된 프로그램에 대한 변경이 요구될 수도 있다. 이와 같은 원하는 변경을 결정하는 프로세스는 박스(110)로 도시되어 있다. 이와 같은 변경이 결정되면, 이것은 프레임워크에 대한 다른 확장부를 포함하는, 수정된 클래스, 애트리뷰트 및 메소드의 형태로 프로그램 구조 내에서 구현되어야 한다. 이것은 박스(110)의 "변경 결정" 단계로부터 박스(106)의 "원하는 확장부 부가" 단계로의 흐름도 경로에 의해 도시되어 있다.
따라서, 프레임워크의 설계에 의해 응용 프로그램 개발자가 중요하다고 생각하는 특정한 특징을 부가하기 위해 구축할 수 있는 기본 클래스가 제공된다. 핵심 비지니스 클래스에 있어서, 프레임워크 클래스는 플랫폼에 독립적인 상태로 유지될 수 있으며, 따라서 프레임워크 확장부는 단순화된다. 본 발명에 따른 프레임워크 클래스, 애트리뷰트, 및 메소드의 개정은 플랫폼에 독립적이기 때문에, 프로그램 코드의 복수의 버전을 기록할 필요없이 응용 프로그램이 쉽게 수정된다. 그러므로, 새로운 코드의 보다 용이한 개발 및 동일한 핵심 클래스를 이용한 응용 프로그램과의 무리없는 연산이 보장된다.
2. 연산 구조
도2는 본 발명에 따라 구성된 컴퓨터 시스템(30)의 블록도이다. 이 컴퓨터 시스템은 응용 프로그램을 개발하기 위해 본 발명의 프레임워크를 이용하고 확장된 프레임워크 응용 프로그램을 이용하기에 적합하다. 이 컴퓨터 시스템(30)은 시스템 버스(36)에 의해 접속된 오퍼레이터/디스플레이 인터페이스(34)로부터 수신되는 오퍼레이터 명령어에 응답하여 동작하는 중앙 처리 장치(CPU)(32)를 포함한다. CPU는 또한 시스템 버스를 통해 메인 메모리(38)와 통신한다. 메인 메모리는 응용 프로그램(40), 객체(42), 데이터(44) 및 운영 체제(46)를 포함하여, 다양한 데이터 구조 (structures)를 포함하는 것으로 도시되어 있다. 이 메인 메모리(38)는 단일 엔티티로서 도시되어 있지만, 이 기술분야에 통상의 지식을 가진자는 메인 메모리가 랜덤 억세스 메모리(RAM), 하드 디스크 드라이브, 광 디스크 드라이브, 및 논리적으로 분할된 기억 위치를 포함하는 다른 기억 장치의 조합을 포함할 수 있다는 것을 이해할 것이다.
운영 체제(46)는 예를 들어, C++ 프로그래밍 언어에 의해 제공되는 바와 같은 객체 지향형 프로그래밍 환경을 지원하는 것이 바람직하다. 응용 프로그램은 오퍼레이터/디스플레이 인터페이스(34)를 통해 사용자에 의해 호출되거나 또는 착수된다. 응용 프로그램은 C++를 포함하여 다양한 언어로 기록될 수 있다. 객체(42)는 C++와 같은 객체 지향형 프로그래밍 언어의 객체 데이터 구조이다.
컴퓨터 시스템(30)은 또한 시스템 버스(36) 및 DASD(50)에 접속된 직접 억세스 기억 장치(DASD:direct access storage device) 인터페이스(48)를 포함하고 있다. 이 기술에 통상의 지식을 가진자는, DASD(50)가 그 실행에 의해 본 발명의 프레임워크가 구현되는 프로그램 명령어가 기록된 자기 매체 디스크와 같은, 머신-판독가능 기억 장치(52)를 포함하는 프로그램 제품으로부터 수신하고 판독할 수 있다는 것을 이해할 것이다. 기억 장치(52)는 또한 예를 들어, 광 디스크 및 다른 머신 -판독가능 기억 장치와 같은 매체를 포함할 수 있다. 컴퓨터 시스템(30)은 또한 네트워크(58)를 통해 CPU(32)와 다른 컴퓨터 시스템(56) 사이의 통신을 허용하는 네트워크 인터페이스(54)를 포함한다. 다른 컴퓨터 시스템(56)은 예를 들어, 본 예의 컴퓨터 시스템(30)과 그 구성이 유사한 컴퓨터 시스템을 포함할 수 있다. 이러한 방식으로, 컴퓨터 시스템(30)은 컴퓨터 시스템 사이에서 더 이상의 설명이 없어도 이 기술분야에 통상의 지식을 가진자가 이해할 수 있는 공지된 방법으로 통신이 설정된 이후에 네트워크(58)를 통해 메인 메모리(38) 내로 데이터를 수신할 수 있다.
3. 시스템 모듈
본 발명의 양호한 실시예에서, 객체 지향형 프레임워크는 모든 주문에 필요한 일반적인 구조 및 비헤이비어를 제공하는 주문 관리(OM) 메커니즘, 판매 주문을 처리하는 판매 주문(SA) 메커니즘 및 구매 주문을 처리하는 구매 주문(PU) 메커니즘으로 이루어진 시스템 모듈을 포함한다. 이와 같은 프레임워크 구조에 있어서, OM 메커니즘은 프레임워크 클래스와 예를 들어 회계 기능 및 창고 관리 인터페이스를 포함할 수도 있는 기본적인 비지니스 객체 사이의 기본 인터페이스이고, SA 및 PU 메커니즘은 수신되는 판매 주문 및 발행되는 구매 주문을 추적하는 주문 처리 응용 프로그램에 대한 기본 인터페이스이다.
OM 카테고리는 고객, 공급자, 제품 및 이 제품을 찾을 수 있는 창고 위치의 식별을 포함하여, 수신 및 발행되는 판매 주문 및 구매 주문을 식별하고 처리하는 애트리뷰트 및 메소드를 포함하는 OM 주문 객체 카테고리를 포함한다. OM 주문 카테고리는 외부 소스로부터 수신되는 데이터에 근거하여 주문를 추적하기 위한 OM 주문 데이터 교환(interchange) 및 제품과 자원의 재공급을 위한 공급 계약 및 판매 계약을 관리하기 위한 OM 계약 카테고리를 포함하여, 주문 처리 기능을 수행하기 위해 다른 카테고리를 이용한다.
SA 카테고리는, 주문 처리가 수행되고 있는 회사를 식별하는 SA 기업 (company) 카테고리와, 가격 및 디스카운트, 고객 데이터 및 제품 크기, 색상 및 계량의 단위와 같이 판매 주문에 유일한 제품 애스펙트(aspects)를 추적하기 위한SA 제품 판매 정보 카테고리, 및 고객 요구, 제품 세부사항 및 다른 이행에 관한 데이터를 포함하여 판매 주문을 추적하기 위한 SA 판매 주문 카테고리를 포함한다. 따라서, SA 회사 카테고리와 SA 제품 판매 정보 카테고리 및 SA 판매 주문 카테고리는 판매 주문을 주문된 수량, 제품 활용성 및 창고 선적 위치와 연계시키기 위해, OM 카테고리 뿐만 아니라 이용가능한 재고목록을 식별하는 창고 재고목록 카테고리를 이용한다. 다른 SA 카테고리는, 고객 가격을 추적하는 SA 판매 가격 및 디스카운트 카테고리, 고객과의 진행중인 계약을 추적하는 SA 판매 계약 카테고리, 및 고객에게 제공되는 가격 및 서비스 견적에 관한 정보를 유지관리하는 SA 견적 (Quotation) 카테고리를 포함한다. 다른 카테고리는 사용자-정의(user-defined) 데이터 형태 및 특징을 수용하기 위해 프레임워크의 능력을 향상시키는 추가적인 특징을 제공할 수도 있다.
PU 카테고리는, 주문 처리가 수행되고 있는 기업을 식별하는 PU 기업 카테고리, 구매 디스카운트 및 구매 가격 그룹과 같이 구매 주문에 유일한 제품 애스펙트를 추적하기 위한 PU 구매 제품 정보 카테고리, 및 기업의 고객에 대한 즉시 재선적을 수반하는 백-투-백 주문와 공급자로부터의 주문 확인에 관한 데이터를 포함하여 구매 주문를 추적하기 위한 PU 구매 주문 카테고리를 포함한다. 따라서, PU 구매 제품 정보 카테고리 및 PU 구매 주문 카테고리는 구매 주문을 공급자, 인도 및 창고 수납 위치와 연계시키기 위해 OM 카테고리와 SA 카테고리 뿐만 아니라, 이용가능한 재고목록을 식별하는 창고 재고목록 카테고리를 이용한다. 다른 PU 카테고리는 기업의 공급 계약을 추적하는 PU 공급 계약 카테고리, 공급자 가격을 추적하는 PU 구매 가격 및 디스카운트 요구 카테고리, 및 수납된 제품의 즉시 재선적을 수반하는 백-투-백 주문에 관한 정보를 유지관리하는 PU 백-투-백 주문 관리자 카테고리를 포함한다. 다른 카테고리는 사용자-정의 데이터 형태 및 특징을 수용하기 위해 프레임워크의 능력을 향상시키는 추가적인 특징을 제공할 수도 있다.
도3은 도2의 시스템에서 동작하는 프레임워크를 도시하는 도면으로서, 함께 본 설명의 주제인 주문 처리 프레임워크 시스템을 구성하는 주문 관리(OM), 판매 주문(SA) 및 구매 주문(PU) 메커니즘을 도시하고 있다. OM, SA, 및 PU 메커니즘은, 함께 본 발명의 프레임워크에 의해 이용되는 핵심 프레임워크(CF)를 구성하는 공통 비지니스 객체 프레임워크(CBOF:Common Business Objects Framework)와 일반 비지니스 객체 프레임워크(GBOF:Generic Business Objects Framework) 메커니즘에 부착된 것으로 도시되어 있다. CF는 (주문 관리와 같은) 응용 프로그램 메커니즘과 상이한 운영 플랫폼 사이의 통신을 허용하기 위한 공통 기능성을 제공하며, 이들 플랫폼은 도3에서 CF에 부착된 "Unix", "AS/400", 및 "Windows NT"로서 표시된 모듈로서 도시되어 있다.
응용 프로그램 개발자는 CBOF 및 GBOF가 구성된 클래스에 서브클래싱 (subclassing)을 부가하게 된다. CBOF의 클래스는 예를 들어, 복수의 응용 프로그램에 대해 기업을 정의하기 위한 기본 클래스로서 작용할 수 있는 기업 식별 클래스를 포함하게 된다. CBOF "기업(company)" 클래스는 일반적인 기업 식별 정보를 포함할 수도 있지만, 본 발명의 일반 원장(ledger) 프레임워크는 CBOF로부터 확장될 수 있으며, 기업의 금융 회계 파라미터를 식별하는 "기업" 클래스를 포함할 수도 있다. 제조 응용 프로그램과 같은 다른 응용 프로그램은 기업의 완성된 제품을 식별하는 기업 클래스를 포함할 수도 있다. GBOF 클래스는 운영 체제 및 운영 환경의 컴퓨터 시스템측과 보다 직접적으로 관련되어 있다. 즉, GBOF 클래스는 지원되고 있는 운영 체제 및 운영 환경에 따른 객체 영속성(persistence)에 대한 책임이 있으며, 따라서 영속성 데이터 기억 장치에 객체를 유지하길 원하는 일반 원장 객체(General Ledger Object)는 GBOF 클래스와 인터페이스해야 한다. 관련된 "비지니스 객체" 주영역 내의 모든 응용 프로그램은 CBOF 및 GBOF 클래스에 의해 명시되는 공통 객체 클래스를 이용할 수 있어야 한다.
도3에서, 주문 처리(주문 관리, 판매 주문 및 구매 주문를 포함함)로 불리는 메커니즘은 창고 제어 메커니즘(응용프로그램) 및 "도메인 응용프로그램(Domain Application)"으로서 식별되는 모듈과 함께 CF 조합에 부착된 것으로 도시되어 있다. 이들 모든 메커니즘은 주문 처리 프레임워크와 통신하기 위해 다른 모듈이 개발될 수도 있다는 것을 나타내기 위해 CF에 부착된 것으로 도시되어 있다. 이러한 방식으로, 다른 도메인 응용프로그램이 다른 주문 처리 응용프로그램과 통신하고 다른 운영 플랫폼과 유사하게 인터페이스할 수 있다. CF 및 다른 운영 체제와 인터페이스하는 것으로 도시된 응용프로그램 메커니즘은 예시적인 것에 불과하다는 것을 이해해야 한다. 즉, 추가적인 도메인 응용프로그램 및 추가적인 운영 플랫폼이 주문 처리 메커니즘과 인터페이스할 수 있다는 것을 고려해야 한다.
그러나, CF 인터페이스는 여기서 설명되는 본 발명의 일부를 구성하지 않는다. 전술한 바와 같이, 이 기술분야에 통상의 지식을 가진자는 더 이상의 설명이없어도, CF에 의해 제공되는 응용프로그램 도메인과 운영 체제 사이의 공통적인 기능성을 제공하는 프레임워크를 만들 수 있어야 한다.
주문 처리 프레임워크의 OM, SA, 및 PU 메커니즘은 주문 관리 카테고리, 판매 주문 카테고리 및 구매 주문 카테고리를 포함하는 컴퓨터 시스템에서 작용한다. 프레임워크 채용자가 주문 처리 응용프로그램을 만들기 위해 프레임워크를 확장한 이후에, 응용프로그램의 최종 사용자는 주문 관리 카테고리를 통해 주문 처리 응용프로그램에 데이터 및 명령어를 제공하고, 판매 주문 카테고리를 통해 판매 주문 입력을 수신하고, 구매 주문 카테고리를 통해 구매 주문 정보를 제공한다.
다음에는, OM 메커니즘의 카테고리가 설명되고, 그 뒤에 OM 카테고리를 구성하는 클래스에 대해 설명된다. 그후에는 SA 메커니즘의 카테고리가 설명되고, 그 다음에는, SA 카테고리를 구성하는 클래스, 또 그 다음에는, PU 카테고리 및 그 PU 카테고리를 구성하는 클래스에 대한 설명이 뒤따르게 된다. 다음에는, 첨부된 처리 흐름도에 따라 확장된 프레임워크의 처리에 대해 설명된다.
4. OM 카테고리도
프레임워크 카테고리는, 프로그램 개발자에 의해 이용될 수 있고 그 확장부가 개발될 수 있는 정보 및 실행가능한 소프트웨어의 기준을 제공한다. 즉, 본 프레임워크의 발명자는 주문 처리 응용프로그램의 개발자들이 가장 원할 가능성이 있는 OOP 클래스 셋트를 확인하였으며, 이와 같은 클래스 사이의 관계를 정의하였다. 이 기술분야에 통상의 지식을 가진자는 이와 같은 클래스가 프레임워크의 사용자에 의해 무시될 수 있다는 것을 인식할 수 있으며, 그 이유는 응용프로그램을 개발하는 프레임워크 사용자는 사용자의 목적에 적합한 확장부 및 부가물을 병합시킬 수 있기 때문이다.
카테고리가 설명되고 있는 문맥상 필요하지 않는 한, 프레임워크의 주문 관리 부분의 카테고리는 전술한 "OM" 으로서 언급되고, 프레임워크의 판매 주문 부분의 카테고리는 전술한 "SA" 로서 언급되고, 프레임워크의 구매 주문 부분의 카테고리는 전술한 "PU" 로서 언급되게 된다.
OM 메커니즘은 OM 주문 카테고리, OM 주문 데이터 교환 카테고리 및 OM 계약 카테고리를 포함한다. 본 발명의 양호한 실시예에서, 이들 카테고리는 창고 외부 (WE:Warehouse External) 메커니즘으로부터의 정선(picking), 수납(reception), 출처(sourcing), 목표설정(targeting), 재고 관리(stock control) 및 수송 정보 (transport information) 카테고리와 창고 내부(WI:Warehouse Internal) 메커니즘으로부터의 품질 관리(quality control) 및 제품 카테고리와 같이, 도2에 도시된 관련 메커니즘 또는 프레임워크로부터의 카테고리와 관계되어 있다. WE 및 WI 메커니즘은 제품 재고, 선적 및 운송 기능을 포함한다. "Object Oriented Technology Framework for Warehouse Control" 이란 제목의 미국 특허출원에는 이들 기능을 수행하는 예시적인 메커니즘 설명되어 있다. 이들 관련 카테고리 및 메커니즘의 처리에 대해서는 이해를 위해 필요로 될 때 후술되게 된다. WE 및 WI 처리의 보다 완전한 설명을 위해서는, 본 발명의 특허출원과 동시에 출원되어 IBM사에 양도된, "Object Oriented Technology Framework for Warehouse Control" 이란 제목의 미국 특허출원을 참조하자. 대안으로, 이 기술분야에 통상의 지식을 가진자는 동일한 기능을 제공하는 그들 고유의 창고 인터페이스 및 제어 프로그램을 개발할 수도 있으며, 또는 다른 공급자로부터 이와 같은 프로그램을 구할 수도 있다.
도4는 도2의 컴퓨터 시스템에서 구현되는 프레임워크의 OM 메커니즘에 대한 카테고리도이다. 이 기술분야에 통상의 지식을 가진자는 도4에 도시된 카테고리가 데이터 애트리뷰트 및 비헤이비어를 캡슐화하는 OOP 클래스 그룹을 포함하며, 컴퓨터 시스템의 메모리에 저장된다는 것을 이해할 것이다. 이와 같은 클래스는 예를 들어, C++ 프로그래밍 언어를 지원하는 컴퓨터 시스템 운영 환경에서 구현될 수 있다. 본 설명에서 사용되는 바와 같은 카테고리는 보다 용이한 설명을 위한 목적으로 카테고리에 관해 프레임워크를 구성하는 클래스를 묘사하는 것으로 언급된다는 것을 이해해야 한다. 카테고리가 반드시 프레임워크의 소정의 프로그래밍 구현에 반영되는 구조를 표현하는 것은 아니다. 이 기술분야에 통상의 지식을 가진자는 OO 클래스가 실행시 사례화(instantiated)되고 프로그램 기능을 수행하기 위해 협동하게 되는 객체의 특성을 명시한다는 것을 이해할 것이다.
5. OM 클래스도
OO 프로그래밍에서 OO 클래스를 묘사하기 위한 균일한 표준은 없지만, 본 설명에서는 클래스명이 그 첫 글자가 대문자인 기술적 단어(descriptive words)를 포함하는 널리 통용되는 규약을 이용하게 된다. 클래스도에서, 클래스는 접속 라인에 의해 표시된 클래스간(inter-class) 관계를 가진 클래스 "클라우드(clouds)"로서 표현되게 된다.
a. OM 주문 카테고리도
도5는 주문로 불리는 클래스의 특성을 예시하는 객체 클래스도이다. 프레임워크의 각각의 사용은 특정 주문 형태(예를 들어, 판매 주문)에 의한 추출 OM 주문 클래스의 메소드 및 애트리뷰트의 계승(inheriting)을 수반한다. OM 주문 카테고리는 판매 주문 및 구매 주문과 같이 모든 형태의 주문에 공통인 구조 및 비헤이비어를 정의하기 위한 단일의 위치를 제공한다. 프레임워크에서의 각각의 특정 주문 프로세스는 그 프로세스의 유일한 요구조건에 근거하여 OM 주문 클래스를 참조하고, 확장하고, 특수화(specialize)한다. OM 주문 카테고리는 추출(abstract) 주문 모델의 전체 구조를 보여주는 개략적인 도표를 제공한다. 프레임워크 연산을 이해하기 위해 반드시 다양한 클래스의 모든 세부사항이 필요한 것은 아니며, 대부분의 개별적인 클래스의 세부사항은 본 발명의 사상을 벗어나지 않고 다양한 방식으로 구현될 수 있다.
도5는 OM 주문 카테고리가 주문, 주문 제품, 주문 제품 요구 세부사항, 주문 제품 계획 세부사항 및 주문 충돌(impact) 정보로 불리는 추출 기본 클래스를 포함하는 것으로 도시하고 있다. 카테고리는 또한 가격 및 디스카운트 요구로 불리는 제어 클래스인 추출 기본 클래스를 포함한다. 추출 클래스는 최종 응용 프로그램에 값(value)을 부가하기 위해 프레임워크 사용자에 의해 특별히 선택된 특징을 제공하도록 프레임워크 사용자에 의해 확장되게 되는 클래스를 나타낸다. 추출 클래스는 도면에서 대응하는 클래스 클라우드 내의 삼각형으로 둘러싸인 "A"로서 명명되게 된다.
주문 클래스는 주문 처리 시스템의 구조 및 비헤이비어에 대한 추출 기본 모델을 포함한다. 주문 모델은 예를 들어, 주문를 공급하거나 수신하는 비지니스 엔티티, 주문에 대한 책임이 있는 주문 핸들러(handler) 등과 같은 전체 주문을 포함한다. 주문 제품 클래스는 주문에 근거하여 비지니스 엔티티 사이에서 교환되는 단일 제품의 구조 및 비헤이비어에 대한 추출 기본 모델을 포함한다. 주문 제품 요구 세부사항 클래스는 주문 상에서 제품이 요구된 방식을 기술하는 구조 및 비헤이비어에 대한 추출 모델을 포함한다. 그러므로, 이 클래스는 패키지, 인도일, 주소와 같은 논점과 관련되어 있다. 마지막으로, 주문 제품 계획 세부사항 클래스는 주문에 응답하여 제품이 실제적으로 계획되고 인도된 방식을 기술하는 구조 및 비헤이비어에 대한 추출 모델이다. 이 클래스는 롯트(lots), 일련 번호 및 제품 교체 등과 같은 논점과 관련되어 있다.
b. OM 주문 데이터 교환 클래스
도6은 도4에 도시된 주문 데이터 교환 카테고리로 불리는 OM 카테고리의 특성을 예시하는 클래스도이다. 주문 데이터 교환 카테고리는 외부 소스로부터 수신되는 데이터에 근거하여 주문을 생성하고 유지관리하기 위한 공통적인 구조를 제공한다. 도6에는, 이 카테고리가 추출 기본 클래스 및 제어 클래스로서 표시된, 주문 데이터 교환 관리자(manager)로 불리는 클래스를 포함한다. 주문 데이터 교환 관리자 클래스는 주문을 생성 또는 갱신하는데 있어서의 제 1 단계로서 다양한 입력으로부터의 주문를 사전처리(preprocess)하는 능력을 제공한다. 이 클래스는 다른 처리를 위한 준비로 다양한 소스로부터 주문 클래스로의 입력을 선택하고 정규화 (normalize)한다.
도6에 도시된 바와 같이, 주문 데이터 교환 관리자 클래스는 기본 비지니스 객체의 일부로서 도시된, 출력 관리자로 불리는 제어 클래스와 관계를 갖고 있으며, 또한 OM 주문 카테고리로부터 오는 것으로 도시되어 그 카테고리와 관련하여 전술한, 주문로 불리는 추출 기본 클래스와도 관계를 갖고 있다.
c. OM 계약 카테고리
도7은 판매 계약 및 공급 계약을 생성하고, 검색하고, 관리하기 위해 사용되는 모델인 OM 계약 카테고리의 특성을 예시하는 클래스도이다. 이 OM 계약 카테고리는 제품 또는 서비스, 계약 검색자(retriever), 및 계약 세부사항을 위한 기업과 비지니스 파트너 사이의 협정(agreements)에 관한 정보를 포함하는, 계약 (contract)으로 불리는 클래스를 포함한다. 계약 검색자 클래스는 어떤 계약을 사용할 것인지를 결정한다. 기업의 단일 비지니스 파트너에게 복수의 계약이 적용될 수도 있다.
계약 클래스는 계약의 작성 및 유지관리와 계약에 대한 이행의 평가 책임이 있다. 계약 클래스 멤버는 특정 제품에 관련된 계약의 세부사항에 관한 정보를 포함화는 일련의 계약 세부사항 클래스 멤버를 함께 수집한다. 계약 클래스는 가격, 디스카운트, 수량 등과 같은 애트리뷰트에 관한 계약의 특정 형태로서 계약을 식별하는, 계약 형태로 불리는 클래스를 참조하고, 또한 외부 목적지에 계약을 제공하기 위한 확장 포인트인, 아웃바운드(outbound) 데이터 교환으로 불리는 클래스와 외부 소스로부터의 입력에 근거하여 계약을 작성하거나 유지관리하기 위한 확장 포인트인 인바운드(inbound) 데이터 교환으로 불리는 클래스를 참조한다.
계약 클래스는 또한, 계약을 기술하는 (언어에 의해 억세스하는 능력이 있는 몇가지 언어로 이루어질 가능성이 있는) 자유-형식(free-form) 데이터를 유지하는 기술적(descriptive) 정보로 불리는 클래스를 참조하고, 계약에 대해 고유 식별자를 할당하기 위해 사용되는, 일련 번호(Number Series)로 불리는 클래스와 계약에 대한 제2 당사자를 식별하기 위해 사용되는, 비지니스 파트너로 불리는 클래스를 참조한다.
계약 세부사항 클래스는 수량 단위, 제품, 통화(currency), 및 기술적 정보로 불리는 클래스를 참조한다. 제품 클래스는 이미 전술되었다. 수량 단위 클래스는 계약 세부사항 클래스와 관련된 여러 가지 수량이 정해지는 단위를 정의한다. 이것은 계약되는 수량 및 인도되는 수량에 대한 수량 단위를 포함한다. 통화 클래스는 계약 세부사항의 화폐 조건이 정해지는 통화의 형태를 포함한다. 기술적 정보는 계약 세부사항 클래스를 기술하는 자유-형식 데이터를 포함한다.
6. SA 카테고리도
도8은 SA 메커니즘의 카테고리도이다. 이 기술분야에 통상의 지식을 가진자는 도8에 도시된 카테고리가 데이터 애트리뷰트 및 비헤이비어를 캡슐화하는 OOP 객체에 대응하며, 컴퓨터 시스템의 메모리에 저장된다는 것을 이해할 것이다. 이와 같은 객체는 예를 들어, C++ 프로그래밍 언어를 지원하는 컴퓨터 시스템 운영 환경에서 구현될 수 있다.
도8에는, SA 메커니즘이 기업 카테고리, 제품 판매 정보 카테고리, 분배 고객 카테고리, 판매 주문 카테고리, 판매 주문 데이터 교환 카테고리, 판매 가격 및디스카운트 카테고리, 판매 가격 및 디스카운트 그룹 카테고리, 판매 계약 카테고리, 판매 가격 및 디스카운트 요구자 카테고리, 및 견적(Quotation) 카테고리를 포함하는 것으로 도시되어 있다.
클래스의 SA 회사 카테고리는 주문 처리가 수행될 회사에 대한 자산, 정책, 애트리뷰트에 관한 정보를 포함한다. 즉, 이 프레임워크와 함께 개발되는 응용 프로그램의 최종 사용자가 되는 기업은 클래스의 SA 기업 카테고리에 포함된 데이터에 의해 식별된다. "기업(Company)"(첫글자가 대문자로 시작됨)에 대한 참조는 최종 사용자 기업을 언급하기 위한 것으로 해석되게 된다. 다음에는, 다른 SA 카테고리에 대해 상세하게 설명되게 된다.
본 발명의 양호한 실시예에서, SA 카테고리는, 예를 들어, OM 메커니즘으로부터의 OM 주문 데이터 교환, OM 주문, 및 OM 계약 카테고리와, 창고 외부(WE) 메커니즘으로부터의 재계획(Replanning), 백-투-백 주문 세부사항, 소싱(Sourcing), 수송 정보 카테고리 및 창고 내부(WI) 메커니즘으로부터의 제품 카테고리와 같이, 도2에 도시된 관련 메커니즘 또는 프레임워크로부터의 카테고리와 관계를 갖고 있다. 전술한 바와 같이, WE 및 WI 메커니즘은 제품 재고, 선적 및 운송 기능을 수행하며, 본원과 동시에 출원되어 IBM사에 양도된 "Object Oriented Technology Framework for Warehouse Control" 이란 제목의 특허 출원에는 이러한 기능을 수행하는 예시적인 메커니즘에 대해 기술되어 있다. 관련 카테고리 및 메커니즘의 처리에 대해서는 이해를 위해 필요한 경우에 기술되게 된다. 대안으로, 이 기술분야에 통상의 지식을 가진자는 동일한 기능을 제공하는 그 고유의 창고 인터페이스 및 제어 프로그램을 개발할 수 있으며, 또는 다른 공급자로부터 이와 같은 프로그램을 구할 수도 있다.
a. SA 제품 판매 정보 카테고리
도9는 판매 주문 고유의 제품 애스펙트를 포함하는 SA 제품 판매 정보 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 가격 및 디스카운트, 고객, 및 계량의 단위에 대한 링크를 포함한다. 이 카테고리에서 이와 같은 기본 클래스는 판매 제품 클래스로 불리며, 단지 제품을 판매하는 것에만 그 의미가 있는 제품에 관한 정보를 포함한다. 이 클래스는 또한, 위에서 참조된 특허출원에 기술된 창고 내부 메커니즘에서 제품의 보다 일반적인 특성에 대한 억세스를 제공한다.
판매 제품 클래스는 분산된 고객과 미찬가지로 제품 고객 링크 클래스를 참조한다. 이 링크는 특정 고객에게 판매되는 특정 제품에 유일한 소정의 정보를 유지한다. 예를 들어, 만일 몇 개의 제품이 모든 고객에게 판매될 수 없으면, 이들 제품은 이 클래스에 의해 제어된다.
판매 제품 클래스는 또한, 제품이 그것에 적합한 판매 디스카운트 형태에 근거하여 그룹으로 편성될 수 있도록 허용하는 제품 판매 디스카운트 그룹 클래스를 참조한다. 또한, 판매 제품에 대해 이용가능한 각각의 디스카운트에 대한 기간 및 적응성(applicability)을 정의하는 판매 디스카운트 클래스와, 판매 제품이 그룹 내의 모든 제품에 대한 판매 가격을 정의하는 가격 그룹과 관련되도록 허용하는 판매 가격 그룹이 참조된다. 판매 제품 클래스는 또한, 제품이 판매될 수 있는 단위를 식별하고, 특정 단위에 대해 적용되는 소정의 판매 가격 및 디스카운트를 포함하여 특정 계량 단위로 제품을 판매하는 것과 관련된 소정의 애트리뷰트를 유지하는 판매 제품 단위 링크 클래스를 참조한다. 이 클래스는 또한, 제품에 대해 정식으로 허가된 단위에 관한 정보를 억세스하기 위한 제품 단위 링크 클래스를 참조한다. 판매 가격 검색자 클래스는 또한 판매 제품 클래스에 의해 참조된다. 이 클래스는 프레임워크 사용자/응용프로그램 개발자가 제품에 대한 판매 가격의 검색을 제어하고 가격 대안(alternatives) 중에서 선택하기 위한 비지니스 규칙(rules)을 구현할 수 있는 확장 클래스이다. 이 클래스는 제품이 판매될 수 있는 단위를 검색하고 단위 특유의 가격 및 디스카운트를 검색하기 위해 판매 제품 단위 링크 클래스를 참조하고, 또한, 제품이 특정 계량 단위로 판매되는 경우에 적용되는 판매 가격 그룹을 식별하기 위해 판매 가격 그룹 단위 링크 클래스를 참조한다.
b. SA 분배 고객 카테고리
도10은 판매 주문에 유일한 고객 애스펙트를 포함하는 SA 분배 고객 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 고객 관계(relationship)에 유일한 비지니스 파트너에 관한 정보를 포함하고, 필요한 경우에 비지니스 파트너 클래스의 보다 일반적인 능력에 대한 억세스를 제공하는 분배 고객 클래스를 포함한다.
분배 고객 클래스는 고객 판매 디스카운트 그룹 클래스를 참조하며, 이 클래스는 고객에 대한 디폴트인 판매 디스카운트의 형태를 식별하는 클래스인 판매 디스카운트 형태 클래스와 고객에 대한 디폴트값인 판매 가격의 형태를 식별하는 클래스인 판매 가격 형태 클래스를 한정하는 판매 디스카운트의 형태에 근거하여 고객이 그룹으로 편제될 수 있도록 허용한다. 분배 고객 클래스는 또한, 특정 고객에게 판매되는 특정 제품에 유일한 소정의 정보를 보유하는 링크 클래스인 제품 고객 링크 클래스를 참조한다. 이 링크 클래스는 고객에 의해 구매되는 제품에 관한 정보에 대한 억세스를 제공한다. 마지막으로, 분배 고객 클래스는 고객에게 제품을 인도하기 위해 디폴트 수송 메소드를 정의하는 수송 방식 클래스(Manner of Transport class)를 참조한다.
c. SA 판매 주문 카테고리
도11은 고객 요구 및 주문 수명 주기 동안의 그런 요구의 이행을 기술하는 전체 판매 주문 및 주문 제품 세부사항을 작성하고 유지관리하는 SA 판매 주문 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 또한, 주문을 확인하고, 판매 주문 송장(invoices)을 작성하고 유지관리하며, 많은 주문 형태에 공통인 구조 및 비헤이비어에 대한 주문 관리를 참조하고, 주문 관리 카테고리의 주문 카테고리로부터 그 구조 및 비헤이비어의 대부분을 전승받는다. SA 판매 주문 카테고리는 주문가 어떻게 배치되었는가를 확인하기 위해 고객에게 보내지는 판매 주문 확인 클래스와 그 구조 및 비헤이비어가 전체 판매 주문와 관련되어 있는 판매 주문 클래스를 생성하는 판매 주문 확인 문서 관리자를 포함하는 기본 클래스를 도시하고 있다. 다른 기본 클래스는 하나의 판매 주문에 의해 판매되는 하나의 제품에 대한 구조 및 비헤이비어를 가진 판매 주문 제품 클래스, 고객이 기업로부터 판매 주문 제품을 요구하는 방법에 관련된 구조 및 비헤이비어를 가진 판매 주문 제품 요구 클래스(Sales Order Product Requested class), 기업이 판매 주문을 이행하거나또는 이행을 계획한 방식에 관련된 구조 및 비에이비어를 가진 판매 주문 계획 세부사항 클래스, 및 이에 대한 지불을 요구하기 위해 고객에게 보내지는 송장을 작성하는 판매 주문 송장 관리자 클래스를 포함한다.
d. SA 판매 주문 데이터 교환 카테고리
도12는 판매 주문을 생성하고 유지관리하기 위해 다방면의 소스로부터 데이터를 선택하고 표준화하는 SA 판매 주문 데이터 교환 카테고리의 특성을 예시하는 클래스도이다. 다방면의 소스는 예를 들어, 견적 소스, 전자식 데이터 교환, 오프라인 장치(offline devices) 등을 포함할 수 있다. 이 카테고리는 주문을 생성 또는 갱신하는데 있어서의 제1 단계로서 다방면의 소스로부터의 입력을 사전처리하는 판매 주문 데이터 교환 관리자 클래스를 포함한다. 이 클래스는 데이터를 정규화 (normalize)하고, 판매 주문 클래스의 사례(instance)를 생성한다. 이 클래스는 또한, 주문 관리 카테고리의 주문 데이터 교환 카테고리로부터 그 구조 및 비헤이비어의 일부를 전승받는다. 판매 주문 데이터 교환 관리자 인터페이스를 이용하는 수 개의 특정 판매 주문 소스가 존재한다. 이들 중에는, 견적에 근거하여 판매 주문을 생성하는 견적으로부터의 데이터 교환(Data Interchange from Quotation), 및 전자식 데이터 교환과 같이 외부 소스로부터 수신되는 입력에 근거하여 판매 주문을 생성하거나 유지관리하는 인바운드 DI로부터의 판매 주문 DI(Sales Order DI From Inbound DI)가 있다. 판매 주문 DI 관리자는 또한, 전자식 데이터 교환과 같이 외부 소스로부터 수신되는 입력에 근거하여 판매 주문을 생성하거나 유지관리하는 인바운드 DI로부터의 판매 주문 DI 클래스를 참조한다. 이 관리자 클래스는 또한, 송장으로부터의 판매 주문 DI 클래스(Sales Order DI From Invoice class)와 인터페이스한다. 송장으로부터의 판매 주문 DI 클래스는 이전의 송장에 근거하여 새로운 판매 주문을 생성하는 클래스이고, 판매 주문로부터의 DI 클래스는 이전의 판매 주문에 근거하여 새로운 판매 주문을 생성하는 클래스이다.
e. SA 판매 가격 및 디스카운트 카테고리
도13은 판매 가격 및 디스카운트의 유지관리 및 검색을 취급하는 SA 판매 가격 및 디스카운트 카테고리의 특성을 예시하는 클래스도이다. 도13에는 이 카테고리가 판매 가격 관계(relationship)와 디스카운트 관계로 분할된 것으로 도시되어 있다. 판매 가격 관계는 제품에 대한 판매 가격을 정의하고 유지관리한다. 관련된 판매 가격 형태는 한 가격이 한 제품에 대한 것인지 또는 가격 그룹에 대한 것인지를 나타낸다. 이 관계는 판매 가격 클래스와 판매 가격 형태 클래스를 포함한다. 판매 디스카운트 카테고리는 퍼센트 또는 특정 값의 소정의 형태에 대한 디스카운트(라인 디스카운트(line discount) 또는 풀 주문 디스카운트(full order discount))를 정의하고 유지한다. 이 클래스는 이와 같은 정보를 디스카운트에 대한 유효 기간 및 가격 범위 한계로서 유지한다.
f. SA 판매 가격 및 디스카운트 그룹 카테고리
도14는 제품, 고객, 및 그 그룹의 효율적인 유지관리를 위한 단위와 연관될 수 있는 가격 및 디스카운트 그룹을 생성하기에 충분한 정보를 포함하는 SA 판매 가격 및 디스카운트 그룹 카테고리의 특성을 예시하는 클래스도이다. 도14에는 판매 디스카운트 그룹과 판매 가격 그룹이 도시되어 있다. 판매 디스카운트는 대량구매와 같이 형태에 의해 디스카운트를 그룹짓는 판매 디스카운트 형태 클래스에 의해 참조된다. 고객 판매 디스카운트 그룹 클래스는 동일한 판매 디스카운트가 적용되는 고객을 그룹짓고, 제품 판매 디스카운트 그룹은 동일한 판매 디스카운트가 적용되는 제품 그룹을 포함한다. 판매 가격 그룹도 이와 유사하게 정의되며, 동일한 가격이 적용되는 제품을 그룹짓는다. 이 그룹은 판매 가격을 그 가격이 적용되는 단위에 연관시키기 위해 판매 가격 그룹 단위 링크를 참조한다.
g. SA 판매 계약 카테고리
도15는 판매 계약을 생성하고 유지관리하는 SA 판매 계약 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 또한, 컴플라이언스(compliance)를 추적하여 계약을 체결하기 위해 계약을 분석하고, 판매 주문에 대해 어떤 계약이 적용되는지 판단한다. 공급 계약 카테고리는 주문 관리 카테고리의 계약 카테고리로부터 그 구조 및 비헤이비어의 대부분을 전승받는다. SA 메커니즘의 판매 계약 카테고리는 제품을 고객에게 판매하기 위한 협정과 관련된 고유의 능력을 제공하는 판매 계약 클래스를 포함한다. 즉, 이 클래스는 계약을 분배 고객과 연관시킨다. 이 카테고리는 또한, 제품을 고객에게 판매하기 위한 협정의 제품 레벨 세부사항과 관련된 고유의 능력을 제공하는 판매 계약 세부사항 클래스를 포함한다. 이 카테고리는 또한, 판매 계약에 대한 컴플라이언스를 분석하고 방책(action)을 추천하는 판매 계약 분석 관리자 클래스를 포함한다. 예를 들어, 이 클래스는 고객이 1200 제품 단위를 구입하기로 동의했지만 지금까지 600 단위만을 구입했으며 계약은 1개월내에 만기되는 그런 상황을 감시한다. 이 클래스는 다소의 방책, 가능하면 고객과의 통신이 요구된다는 것을 지시한다. 이 클래스는 일련의 판매 계약을 문의하고 분석할 계약을 선택하기 위해 선택 관리자 클래스를 참조하고, 또한 응용프로그램 특유의 프린트 기능과의 인터페이스를 위한 확장 포인트인 출력 관리자 클래스를 참조한다.
h. SA 판매 가격 및 디스카운트 요구자 카테고리
도16은 주문에 대한 적용가능한 가격 및 디스카운트를 정의하기 위해 가격, 디스카운트 및 판매 계약을 검토하고 조합하는 SA 판매 가격 및 디스카운트 요구자 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 판매 가격 및 디스카운트를 결정하기 위한 전반적인 책임을 가진 판매 가격 및 디스카운트 요구자 클래스를 포함한다. 이 클래스는 응용프로그램 개발자/프레임워크 사용자가 제품에 대한 가격의 검색을 제어하고 가격 대안 중에서 선택하기 위한 비지니스 규칙을 구현할 수 있는 확장 클래스인 판매 가격 검색자 클래스를 참조한다. 이 요구자 클래스는 또한, 응용프로그램 제공자가 제품에 대한 디스카운트의 검색을 제어하고 디스카운트 대안 중에서 선택하기 위한 비지니스 규칙을 구현할 수 있는 확장 클래스인 판매 디스카운트 검색자 클래스를 참조한다. 또한, 응용프로그램 제공자가 어떤 환경하에서 어떤 가격 및 디스카운트를 사용할 것인지 결정하고 가격과 디스카운트 사이의 우선순위를 관리하기 위한 비지니스 규칙을 정의할 수 있는 확장 클래스인 판매 가격 및 디스카운트 정책 클래스도 판매 가격 및 디스카운트 요구자 클래스에 의해 참조된다. 마지막으로, 이 요구자 클래스는 판매 계약에 근거하여 적용되는 가격 또는 디스카운트를 결정하기 위해 판매 계약 검색자 클래스를 참조한다.
i. SA 견적 카테고리
도17은 판매 견적을 작성하고, 유지관리하고, 확인하고, 체결하는 SA 견적 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 대부분 응용프로그램 개발자/프레임워크 사용자의 요구조건에 따라 구현되게 된다. 도17은 이 카테고리의 구조가 견적 핸들러 클래스, 견적 제품 클래스 및 임팩트(Impact) 정보 클래스를 참조하는 견적 클래스를 포함한다는 것을 보여주고 있다.
7. PU 카테고리도
도18은 구매 주문(PU) 카테고리의 카테고리도이다. 이 기술분야에 통상의 지식을 가진자는 도18에 도시된 카테고리가 컴퓨터 시스템의 메모리에 저장되며 데이터 애트리뷰트 및 비헤이비어를 캡슐화하는 OOP 객체에 대응한다는 것을 이해할 것이다. 이와 같은 객체는 예를 들어, C++ 프로그래밍 언어를 지원하는 컴퓨터 시스템 운영 환경에서 구현될 수 있다.
도18은 구매 공급자 카테고리, 구매 제품 카테고리, 구매 주문 카테고리, 구매 주문 출력 카테고리, 구매 주문 데이터 교환 카테고리, 구매 가격 및 디스카운트 카테고리, 구매 가격 및 디스카운트 그룹 카테고리, 공급 계약 카테고리, 구매 가격 및 디스카운트 요구자 카테고리, 백-투-백 주문 관리자 카테고리, 및 구매 주문 제안 카테고리를 포함하는 PU 메커니즘을 도시하고 있다.
본 발명의 양호한 실시예에서, PU 카테고리는 예를 들어, OM 메커니즘으로부터의 OM 주문 카테고리, OM 계약 카테고리 및 OM 주문 데이터 교환 카테고리와, 창고 외부(WE) 메커니즘으로부터의 WE 백-투-백 주문 세부사항 카테고리, WE 재고 변동(stock movements), WE 키트 어셈블리(Kit Assembly) 카테고리 및 WE 타겟팅 (Targeting) 카테고리, 및 창고 내부(WI) 메커니즘으로부터의 WI 로지스틱스 (logistics) 공급자 카테고리와 WI 제품 카테고리 등과 같이, 도2에 도시된 관련 메커니즘 또는 프레임워크로부터의 카테고리와 관계를 갖고 있다. 전술한 바와 같이, WE 및 WI 메커니즘은 제품 재고, 선적 및 운송 기능을 수행하며, 이러한 기능을 수행하는 예시적인 메커니즘에 대해서는 본원과 동시에 출원되어 IBM사에 양도된 "Object Oriented Technology Framework for Warehouse Control"이란 제목의 특허출원에 기재되어 있다. 이러한 관련 카테고리 및 메커니즘의 처리에 대해서는 이해를 위해 필요할 때 설명될 것이다. 대안으로, 이 기술 분야에 통상의 지식을 가진자는 이와 동일한 기능을 제공하는 그 고유의 창고 인터페이스 및 제어 프로그램을 개발할 수도 있으며, 또는 다른 공급자로부터 이와 같은 프로그램을 구할 수도 있다.
a. PU 구매 공급자(Purchase Supplier)
도19는 도18에 도시된 PU 구매 공급자 카테고리의 특성을 예시하는 클래스도이다. 구매 공급자 카테고리는 구매 주문에 유일한 비지니스 파트너 애스펙트를 포함한다. 도19는 이 카테고리가 공급자 관계에 유일한 비지니스 파트너에 관한 정보를 보유하고 필요한 경우에 비지니스 파트너 클래스의 보다 일반적인 능력에 대한 억세스를 제공하는 구매 공급자 클래스를 포함한다는 것을 보여주고 있다. 구매 공급자 클래스는, 공급자가 그들이 제공하는 디스카운트의 형태에 근거하여 그룹으로 편제될 수 있도록 허용하는 공급자 디스카운트 그룹 클래스와, 공급자에 대한 디폴트값이되는 구매 디스카운트의 형태를 식별하는 구매 디스카운트 형태 클래스, 및 공급자에 대한 디폴트값이되는 구매 가격의 형태를 식별하는 구매 가격 형태 클래스를 참조한다.
b. PU 제품 구매 정보 카테고리
도20은 도18에 도시된 PU 제품 구매 정보 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 구매 주문에 유일한 제품 애스펙트를 포함한다. 도20은 이 카테고리가 제품을 구매하는 것에 관해서만 의미가 있는 제품에 관한 정보를 유지하는 구매 제품 클래스를 포함한다는 것을 보여주고 있다. 이 클래스는 또한, 함께 계류중인 특허출원에 기재된 창고 내부 메커니즘과 같이, 관련 메커니즘에서의 제품 클래스의 보다 일반적인 능력에 대한 억세스를 제공한다.
구매 제품 클래스는 제품이 한정하는 구매 디스카운트의 형태에 근거하여 제품들이 그룹으로 편제될 수 있도록 허용하는 제품 구매 디스카운트 그룹 클래스를 참조한다. 구매 제품 클래스는 또한, 구매 제품에 이용가능한 각 디스카운트에 대한 기간 및 적응성(applicability)을 정의하는 구매 디스카운트 클래스를 참조한다. 또한, 구매 제품이 그룹내의 모든 제품에 대한 가격을 정의하는 가격 그룹과 관련될 수 있도록 허용하는 구매 가격 그룹 클래스도 참조된다. 또한, 제품이 구매될 수 있는 단위를 정의하고 특정 단위에 적용되는 구매 디스카운트를 포함하여 특정 계량 단위로 제품을 구매하는 것과 관련된 소정의 애트리뷰트를 유지하는 구매 제품 단위 링크 클래스도 참조된다.
도20에 도시된 바와 같이, 구매 제품 클래스는 응용프로그램 개발자/프레임워크 사용자가 제품에 대한 가격의 검색을 제어하고 가격 대안 중에서 선택하기 위한 비지니스 규칙을 구현할 수 있는 확장 클래스인 구매 가격 검색자 클래스를 참조한다. 이 구매 가격 검색자 클래스는 제품이 구매될 수 있는 단위를 검색하고 단위 특유의 디스카운트를 검색하기 위해 구매 제품 단위 링크 클래스를 참조하고, 또한, 제품이 특정 계량 단위로 구매되는 경우에 적용되는 소정의 구매 가격 그룹을 식별하기 위해 구매 가격 그룹 단위 링크 클래스를 참조한다.
c. PU 구매 주문 카테고리
도21은 도18에 도시된 PU 구매 주문 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 구매 주문을 생성하고 유지관리한다. 이 카테고리는 공급자에 의해 확인될 때 주문를 갱신하고, 고객에게 직접 인도되는 백-투-백 구매 주문에 대한 인도를 확인한다. 구매 주문 카테고리는 주문 관리 서브시스템의 주문 카테고리로부터 그 구조 및 비헤이비어의 대부분을 전승받는다. 구매 주문 카테고리는 전체 구매 주문 카테고리에 관련된 구조 및 비헤이비어를 가진 구매 주문 클래스, 하나의 구매 주문에 주문되는 한 제품에 대한 구조 및 비헤이비어를 가진 구매 주문 제품 클래스, 기업이 구매 공급자로부터 구매 주문 제품을 요구한 방식과 관련된 구조 및 비헤이비어를 가진 구매 주문 제품 요구 클래스, 및 구매 공급자가 구매 주문 제품을 이행하였거나 이행할 예정인 방법과 관련된 구조 및 비헤이비어를 가진 구매 주문 계획 세부사항 클래스(Purchase Order Planned Detail class)를 포함한다.
d. PU 구매 주문 출력 카테고리
도22는 도18에 도시된 PU 구매 주문 출력 카테고리의 특성을 예시하는 클래스이다. PU 구매 주문 출력 카테고리는 문서를 프린트하거나 전자식 데이터 교환 트랜잭션(transactions)을 생성하기 위해 사용될 수 있는 구매 주문 출력을 생성한다. 프린트되거나 또는 전자식 출력은 응용프로그램에 대한 사용자 인터페이스의 일부로서 고려되기 때문에 일반적인 규칙으로서 여기에서 분석 모델의 설명에서 출력을 설명하기 위한 클래스도는 없다. 구매 주문 출력 카테고리는 구매 주문를 프린트하는 것과 관련된 확장 요건을 예시하기 위해 포함된 것이다. 구매 주문 출력 카테고리는 구매 주문 출력을 생성하는 PO 문서 관리자 클래스를 포함한다. 이 제어 클래스는 출력이 생성되어야 하는 구매 주문을 판단하는 소위 선택 관리자로 불리는 클래스를 참조하며, 또한 출력 생성을 위한 목적으로 기본 구매 주문 클래스 모두에 대한 억세스를 제공하는 구매 주문 클래스를 호출한다. 기본 구매 주문 클래스는 제품 클래스, 요구 세부사항 클래스, 및 계획 세부사항 클래스를 포함한다. 문서 관리자 클래스는 또한, 응용프로그램 특유의 프린트 기능과의 인터페이스를 위한 확장 포인트인 출력 관리자 클래스와, 전자식 데이터 교환과 같이 외부 목적지로 구매 주문 출력을 제공하기 위한 확장 포인트인 아웃바운드 데이터 교환 클래스를 참조한다.
e. PU 구매 주문 데이터 교환 카테고리
도23은 도18에 도시된 PU 구매 주문 데이터 교환 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 구매 주문 관리 프로세스를 사용하지 않고 구매 주문이 생성 또는 갱신될 수 있도록 하는 일반적인 인터페이스를 제공한다. 이 인터페이스의 소스는 구매 주문 제안, 전자식 데이터 교환 트랜잭션, 오프라인 장치 등과 같이 다양한 형태로 이루어질 수 있다.
도23에는, 이 카테고리가 주문을 생성 또는 갱신하는데 있어서의 제1 단계로서 다양한 소스로부터의 입력을 사전처리하는 구매 주문 DI 관리자 클래스를 포함하는 것으로 도시되어 있다. 이 클래스는 또한 데이터를 정규화하고, 구매 주문 클래스의 사례를 생성한다. 구매 주문 DI 관리자 클래스는 OM 주문 데이터 교환 카테고리로부터 그 구조 및 비헤이비어의 일부를 전승받는다. 몇몇의 특정 구매 주문 소스는 구매 주문 제안에 근거하여 구매 주문을 생성하는, 구매 제안으로부터의 DI 클래스(DI From Purchase Suggestion class)를 포함하는 구매 주문 DI 관리자 인터페이스를 이용한다. 관리자 인터페이스 클래스를 이용하는 다른 구매 주문 소스로는 전자식 데이터 교환과 같이, 외부 소스로부터 수신되는 입력에 근거하여 구매 주문을 생성하거나 유지관리하는 인바운드 DI로부터의 PO DI 클래스(PO DI From Inbound DI class)가 있다. 또한, 관리자 인터페이스에 의해 사용되는 구매 주문 소스는 이전의 구매 주문에 근거하여 새로운 구매 주문을 생성하는 구매 주문로부터의 DI 클래스(DI From Purchase Order class)를 포함한다.
f. PU 구매 가격 및 디스카운트 카테고리
도24는 도18에 도시된 PU 구매 가격 및 디스카운트 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 기업에 의해 구매될 수 있는 제품에 대해 적용되는 가격 및 디스카운트의 유지관리 및 검색을 취급한다. 이 카테고리는 공급자로부터의 제품에 대한 가격이나 또는 공급자로부터의 한 가격 그룹의 한 멤버에 대한가격을 정의하고 유지관리하는 구매 가격 클래스에 의해 대표된다. 관련된 구매 가격 형태 클래스는 가격이 한 제품에 대한 것인지 또는 가격 그룹에 대한 것인지를 나타낸다. 이 카테고리는 또한, 퍼센트나 특정값, 라인 디스카운트 또는 풀 주문 디스카운트와 같이 소정 형태의 디스카운트를 정의하고 유지하는 구매 디스카운트 카테고리를 포함한다. 이 클래스는 디스카운트에 대한 유효 기간 및 가격 범위 한계로서 이와 같은 정보를 유지한다.
특히, 구매 가격 카테고리는 제품에 대해 적용되는 가격의 유지관리 및 검색을 취급한다. 구매 제품 클래스는 구매 제품 카테고리를 통해 나타나게되는 제품에 대한 가격을 유지관리하고 검색하기 위한 요구를 포함한다. 구매 제품 클래스는 구매 가격 그룹 클래스와 구매 제품 단위 링크 클래스 및 구매 가격 검색자 클래스를 참조한다. 구매 가격 카테고리는 공급자로부터의 제품에 대한 가격 및 공급자로부터의 가격 그룹의 한 멤버에 대한 가격을 정의하고 유지관리한다.
g. PU 구매 가격 및 디스카운트 그룹 카테고리
도25는 PU 구매 가격 및 디스카운트 그룹 카테고리의 특성을 예시하는 클래스도이다. 그룹은 제품과 공급자 및 단위와 연관될 수 있는 가격 및 디스카운트를 포함한다. 보다 효율적인 유지관리 및 재고 관리의 억세스를 위한 이와 같은 조합 (associations)의 그룹을 생성하는 것이 바람직하다. 프레임워크에서, 구매 디스카운트 그룹은 대량 구매자와 같이, 형태에 의한 그룹 디스카운트를 포함하는 구매 디스카운트 형태 클래스를 포함한다. 구매 디스카운트 그룹은 또한, 동일한 디스카운트가 적용되는 공급자를 수집하는 공급자 구매 디스카운트 그룹 클래스와, 동일한 디스카운트가 적용되는 제품을 수집하는 제품 구매 디스카운트 그룹 클래스를 포함한다. 가격 및 디스카운트 그룹 카테고리는 동일한 가격이 적용되는 제품을 수집하는 구매 가격 그룹 클래스를 포함하며, 구매가 이루어지는 단위에 구매 가격을 연관시키기 위해 구매 그룹 단위 링크 클래스를 참조한다.
h. PU 공급 계약 카테고리
도26은 도18에 도시된 PU 공급 계약 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 공급 계약을 생성하고 유지관리한다. 이것은 컴플라이언스를 추적하고 계약을 체결하기 위해 계약을 분석하고, 구매 주문에 어떤 계약이 적용되는지 판단한다. 이 카테고리는 주문 관리 서브시스템의 계약 카테고리로부터 그 구조 및 비헤이비어의 대부분을 전승받는 공급 계약 클래스를 포함한다. 이 공급 계약 클래스는 공급자로부터 제품을 구매하기 위한 협정과 관련된 고유의 능력을 제공하며, 계약을 구매 공급자와 연관시킨다. 공급 계약 세부사항 클래스는 공급자로부터 제품을 구매하기 위한 협정의 제품 레벨 세부사항과 관련된 고유의 능력을 제공한다. 공급 계약 분석 관리자 클래스는 계약을 충족하기 위해 컴플라이언스를 분석하고, 방책을 추천한다. 예를 들어, 이 클래스는 기업이 1200 단위를 구입하는 것에 동의했으나 단지 600 단위만을 구입했으며, 그 계약은 1개월내에 만기된다는 것을 알게될 수도 있으며, 그러면 어떤 형태의 방책이 요구되는 것으로 결론짓게 된다. 이 클래스는 일련의 공급 계약을 문의하고 분석할 것을 선택하기 위해 선택 관리자 클래스를 참조하고, 또한 응용프로그램 특유의 프린트 기능과의 인터페이스를 위한 확장 포인트인 출력 관리자 클래스를 참조한다.
i. PU 구매 가격 및 디스카운트 요구자 카테고리
도27은 특정 공급자로부터 특정 제품 구매를 위한 구매 가격 및 디스카운트나 또는 소정의 공급자로부터 구매되는 제품에 대한 최저 가격을 검색하는 PU 구매 가격 및 디스카운트 요구자(Requestor) 카테고리의 특성을 예시하는 클래스도이다. 이 카테고리는 구매 가격 및 디스카운트를 결정하기 위한 포괄적인 책임을 가진 구매 가격 및 디스카운트 요구자 클래스를 포함한다. 이 클래스는 응용프로그램 개발자/프레임워크 사용자가 제품에 대한 가격의 검색을 제어하고 가격 대안 중에서 선택하기 위한 비지니스 규칙을 구현할 수 있는 확장 클래스인 구매 가격 검색자 클래스를 참조한다. 요구자 클래스는 또한, 응용프로그램 개발자/프레임워크 사용자가 제품에 대한 디스카운트의 검색을 제어하고 디스카운트 대안 중에서 선택하기 위한 비지니스 규칙을 구현할 수 있는 확장 클래스인 구매 디스카운트 검색자 클래스를 참조한다. 이 요구자 클래스는 또한, 응용프로그램 개발자/프레임워크 사용자가 어떤 상황하에서 어떤 가격 및 디스카운트를 이용할 것인지 판단하고 가격 및 디스카운트 사이의 우선순위를 관리하기 위한 비지니스 규칙을 정의할 수 있는 확장 클래스인 구매 가격 및 디스카운트 정책 클래스를 참조한다. 마지막으로, 이 요구자 클래스는 공급 계약에 근거하여 적용되는 가격 및 디스카운트를 결정하는 공급 계약 검색자 클래스를 참조한다.
j. PU 백-투-백 주문 카테고리
도28은 도18에 도시된 PU 백-투-백 주문 카테고리 메커니즘의 특성을 예시하는 클래스도이다. PU 백-투-백 주문 카테고리는 예를 들어, 특정 판매 주문 세부사항 라인에 직접 연결되는 구매 주문와 같이, 자동적으로 생성되어 특정 요구에 연결되는 공급 주문을 생성하고 유지관리한다. 이 카테고리는 또한 주문 중 하나가 변경될 때 동기화(synchronization)을 관리한다. 이 카테고리는 기본적으로 소위 백-투-백 주문 관리자로 불리는 클래스를 포함한다. 이 클래스는 공급 주문, 즉, 백-투-백 요구 세부사항에 의해 요구되는 제품을 인도하게 되는 구매 주문, 재고 변동, 또는 작업의 키트 어셈블리 단위를 생성하고 유지관리할 책임이 있다.
백-투-백 주문 관리자 클래스는 공급 주문의 생성을 추진하는, 판매 주문 제품 계획 세부사항 클래스(SA 메커니즘)로부터 시작되는 요구를 판단하기 위해 백-투-백 요구 세부사항 클래스를 참조한다. 백-투-백 주문 관리자 클래스는 또한, 백-투-백 주문 정책 클래스를 억세스하기 위해 로지스틱스 공급자 클래스를 참조한다. 이 정책 클래스는 응용프로그램 개발자/프레임워크 사용자가 백-투-백 주문의 생성을 제어하는 비지니스 정책을 구현할 수 있는 확장 클래스이다. 예를 들어, 프레임워크 사용자는 한 제품에 대해 하루에 오직 하나의 구매 주문만이 생성되도록 확장된 프레임워크의 연산을 제한하길 원할 수도 있다.
또한, 주문 레벨로부터 아래로 계획된 세부사항 레벨까지 모든 레벨에서 백-투-백 주문 관리자에 의해 생성되게 될 구매 주문 클래스가 백-투-백 주문 관리자 클래스에 의해 참조된다. 백-투-백 주문 관리자 클래스는 수개의 백-투-백 요구 세부사항 클래스를 단일의 PO 제품 계획 세부사항으로 통합할 가능성이 있다. 이 관리자 클래스는 또한, 다른 창고로부터 백-투-백 요구 세부사항 클래스에 공급하기 위해 백-투-백 주문 관리자에 의해 생성되는 재고 변동 클래스를 참조한다.
백-투-백 주문 관리자 클래스는 또한, 키트 어셈블리를 통해 백-투-백 요구 세부사항 클래스에 공급하기 위해 관리자 클래스에 의해 생성되게 되는 작업 단위 (Unit of Work) 클래스를 참조한다. 또한, 하나 또는 그 이상의 백-투-백 요구 세부사항을 완전하게 또는 부분적으로 충족시키기 위해 특정 제품 공급을 대표하는 백-투-백 주문 세부사항 클래스가 참조된다. 백-투-백 주문 관리자에 의해 참조되는 다른 클래스로는, 요구를 충족시키게 되는 백-투-백 주문 세부사항과 백-투-백 요구 세부사항 사이의 추적가능성(tracebility)을 제공하는 백-투-백 요구 링크 클래스가 있다.
k. PU 구매 주문 제안 카테고리
도29는 도18에 도시된 PU 구매 주문 제안 카테고리의 특성을 예시하는 클래스도이다. 구매 주문 제안 카테고리는 제품에 대한 현재 재고 상황을 검토하므로써 외부적으로 보충되는 제품에 대한 구매 제안을 준비한다. 작성된 구매 제안은 검토되고 보정된다. 제안이 다른 처리를 위한 준비가 되면, 그 제안은 구매 주문로 변환될 수 있다. 제안 또는 제안의 일부는 내부 보충 제안(internal replenishment suggestion) 으로 변화될 수 있다. 도29의 상부를 보면, 이 카테고리는 소위 구매 주문 제안 생성자(C_PO 제안 생성자로서 도시됨)로 불리는 생성자(creator) 제어 클래스를 포함하고 있다. PO 제안 생성자는 다음에, PO 제안 세부사항 클래스를 포함하여 다른 세부사항을 제공하는 클래스를 참조하며, 이 클래스는 다음에, 제품 창고 링크 클래스, 제품 공급자 링크 클래스, 및 구매 가격 및 디스카운트 요구 생성자 클래스를 참조한다.
8. 확장된 프레임워크의 처리
프레임워크 사용자/응용프로그램 개발자는 원하는 응용 프로그램을 만들기 위해 적절한 확장부 및 오버라이드(overrides)와 함께, 전술한 바와 같은 클래스 및 메소드 정의를 이용하게 된다. 그러므로, 객체 지향형 프로그래밍 원리의 경우와 같이, 확장된 프레임워크 처리의 세부사항은 프레임워크 사용자에 의해 구현되는 특정 확장부에 의존하게 된다. 그럼에도 불구하고, 프레임워크에 의해 가능한 처리는 본 발명에 의해 정의되는 클래스 및 메소드에 관해 설명될 수 있다. 확장된 시스템의 클래스에 의해 수행되는 특정 처리 태스크는 한 단계씩 절차적인 방식으로 설명될 수 있다. 따라서, 다음의 설명은 확장된 프레임워크에 의해 수행되는 동작 단계에 적용되는 것으로 이해되어야 한다. 그러나, 이 기술분야에 통상의 지식을 가진자는 객체가 그 애트리뷰트 및 메소드에 따라 처리를 수행할 때, 처리 흐름이 흐름도 박스를 통해 반드시 순차적으로 되는 것은 아니라는 것을 이해할 것이다.
프레임워크 클래스는 제품을 정의하고, 공급자 및 고객을 식별하고, 제품 재고목록을 위한 창고 위치를 셋업하고, 판매 주문이 수신되고 구매 주문이 발생될 때 선적을 추적한다. 판매 주문 메커니즘은 판매 주문이 제품 재고목록과 관련되어 있을 때 그 판매 주문을 추적하고, 구매 주문 메커니즘은 외부 공급자로부터 재고가 보충되어야 할 때를 판단하고, 구매 주문을 추적하며, 주문 관리 메커니즘은 운영을 감시하고, 응용프로그램 사용자가 다른 메커니즘과 통신할 수 있도록 하는 인터페이스를 제공한다.
a. 판매 주문 처리
프레임워크로부터 생성될 응용 프로그램은 기업의 제품 주문 처리 시스템을 관리하는 것과 기업의 공급자 및 고객과의 비지니스 트랜잭션을 관리하는 것을 돕기 위한 것이다. 기업은 제품 고객으로부터 판매 제품에 대한 주문을 수신하고 로지스틱 공급자를 통해 구매 공급자에게 구매 제품에 대한 요구를 발생하기 위해 창고 위치에서 유지되는 제품으로 이루어진 소정의 재고목록을 구비한 것으로 정의된다.
판매 제품에 대한 주문는 확장된 프레임워크 시스템의 사용자 인터페이스나 또는 도12에 도시된 SA 판매 주문 데이터 교환 카테고리를 통해 수신되는 입력에 응답하여 초기에 생성되게 되는 판매 주문 객체와 같이 주문 처리 시스템에서 유지관리되게 된다. 프레임워크의 한 가지 특징은 판매 주문이 그 주문이 요구되었던 고객에게 확인되게 되고, 송장이 생성되어 그 고객에게 전송되게 된다는 것이다. 이러한 확인 및 송장을 판매 주문과 연결하는 것은 도11에 도시된 SA 판매 주문 카테고리의 책임이다.
도30은 SA 판매 주문 카테고리 및 SA 판매 주문 교환 처리에 관한 흐름도이다. 제1 단계(흐름도 박스 202)는 생성될 판매 주문 객체를 위한 것이다. 이 단계는 최종 사용자 인터페이스를 통해 판매 주문 객체와 대화하는 응용프로그램 사용자에 의해 개시될 수 있다. 판매 주문 객체가 사용자 인터페이스를 통해 생성되면, 흐름도 박스(202)에 의해 표현된 기능의 일부로서 사용자 인터페이스를 통해 입력 애트리뷰트 값이 입력된다.
대안으로, 제어 클래스인 판매 주문 데이터 교환 관리자의 제어하에 판매 주문 데이터 교환 카테고리의 능력을 이용하여 외부 소스로부터 수신되는 데이터에 근거하여 판매 주문 객체가 생성될 수 있다. 제어 클래스는 주문을 생성하기 위한 요구와 같이, 수신된 정보에 응답하여 컴퓨터 시스템 동작을 개시할 책임이 있다. SA 판매 주문 데이터 교환 카테고리의 경우에, 판매 주문 데이터 교환 관리자는 판매 주문을 생성하고 그 상태를 갱신하기 위해 잠재적으로 수개의 소스(온-라인 사용자, 컴퓨터 메모리, 네트워크 데이터 파일 등)로부터의 입력의 처리를 감시할 책임이 있다. 판매 주문 데이터 교환 관리자는 실제적으로는 지정된 동작을 실행하지 않을 수도 있지만, 이와 같은 동작을 개시할 책임이 있으며, 이러한 설명을 위한 목적으로, 이와 같은 동작을 실행하거나 수행하는 것으로서 특징지워 진다.
만일 판매 주문 객체가 판매 주문 데이터 교환 관리자에 의해 생성되면, 그 다음 처리는 이 관리자가 필수 클래스의 객체를 생성하고 유지관리하는 것이다. 이러한 처리는 흐름도 박스(204)로 표현되어 있다. 이 단계의 처리는 판매 주문이 견적, 인바운드 데이터 교환(외부 데이터 소스), 또는 이전의 송장을 기반으로 할 것인지 여부에 근거하여 판매 주문 데이터 교환 관리자가 애트리뷰트를 선택하는 것을 포함한다. 이와 같은 정보는 고객 신분, 제품 번호, 주문 수량, 가격, 주문 목적지 등과 같은 데이터를 포함한다.
그 다음 처리 단계에서, 판매 주문 확인 문서 관리자는 판매 주문 확인 객체를 포함하며, 이 객체는 CBOF 공통 비지니스 객체 프레임워크를 통해 생성되어 고객에게 보내지는 확인 문서의 생성을 초래한다. 이 처리는 흐름도 박스(206)에 나타나 있다. 마지막 단계는 판매 송장 관리자가 고객에게 보내지는 송장 객체를 생성하는 것이다. 이 처리는 흐름도 박스(208)로 표현되어 있다. 다음에 시스템의 처리는 계속된다.
b. 판매 계약 처리
프레임워크는 판매 계약의 추적을 허용하는데, 이것은 판매 계약이 제품의 진행중인 판매 및 그 선적을 수반한다는 점에서 판매 주문와는 다르다. 통상적으로, 판매 계약은 지정된 시간 주기에 걸쳐 지정된 양의 제품을 공급하기 위한(또한 고객이 그에 대한 지불에 동의하기 위한) 협정을 수반한다. 이와 같은 판매 계약을 이행하는데 있어서, 때로는 (수량 디스카운트와 같은) 가격 조정이 허용된다. 이와 같은 조치는 판매 가격 및 디스카운트 요구자의 영역이다. 판매 계약은 도15에 도시된 SA 판매 계약 카테고리에 의해 시스템에서 관리되며, 도16에 도시된 SA 판매 가격 및 디스카운트 요구자 카테고리에 의해 이용된다.
도31은 SA 판매 계약 및 SA 판매 가격 및 디스카운트 요구자 처리의 흐름도이다. 제1 단계는 흐름도 박스(220)로서 도시되어 있으며, 이것은 사용자 동작에 의해 판매 계약이 생성된다는 것을 나타내고 있다. 도30에 대해 전술한 바와 같이, 이러한 처리는 사용자 인터페이스를 통해 사용자에 의해 개시된다. 다음 단계에서는, 판매 계약 분석 관리자가 분석 및 추천을 위한 판매 계약 객체를 선택한다. 이러한 처리는 예를 들어, 고객이 판매 계약에 의해 요구되는 주기적인 구매에 뒤쳐져 있는지 판단하는 것을 포함한다. 이러한 처리는 흐름도 박스(222)로 표현되어 있다.
다음 처리 단계에서, 판매 가격 및 디스카운트 요구자 객체는 제품에 대한 판매 가격 검색자 객체로부터의 정보에 근거하여 제품 가격을 결정한다. 이러한 처리는 흐름도 박스(224)로 표현되어 있다. 흐름도 박스(226)로 도시된 바와 같이, 다음 처리 단계에서 판매 가격 및 디스카운트 요구자 객체는 판매 가격 검색자 객체로부터의 정보에 근거하여 제품 디스카운트를 결정한다. 흐름도 박스(228)를 보면, 그 다음 단계는 판매 가격 및 디스카운트 요구자 객체가 판매 계약에 관한 정보에 근거하여 제품에 적용되는 가격 또는 디스카운트를 결정하는 것이다. 마지막으로, 흐름도 박스(230)로 도시된 마지막 단계에서, 판매 가격 및 디스카운트 요구자 객체는 판매 가격 및 디스카운트 정책 클래스에 의해 명시되는 비지니스 규칙에 따라 어떤 가격 및 디스카운트의 혼합비를 사용할 것인지 결정한다. 다음에 시스템에서의 처리는 계속된다.
c. 구매 주문 처리
제품에 대한 구매 주문는 확장된 프레임워크 시스템의 사용자 인터페이스를 통해 수신되는 입력에 응답하여 초기에 생성되게 되는 구매 주문 객체로서 주문 처리 시스템에서 유지관리된다. 구매 주문는 CF로부터의 비지니스 파트너 기업들로부터 선택될 수도 있는 구매 공급자로부터의 제품에 대한 것이다. 구매 주문은 구매 주문 사용자 인터페이스를 통해 생성될 수 있다. 대안으로, 이들 구매 주문은 수개의 소스, 즉 (전자식 데이터 교환과 같은) 외부 소스로부터의 입력이나 이전의 구매 주문 또는 구매 주문 제안으로부터의 입력에 응답하여 구매 주문 데이터 교환 카테고리에 의해 생성될 수 있다. 제품에 대한 가격은 도27에 도시된 구매 가격 및디스카운트 요구자 카테고리에 의해 결정된다.
도32는 PU 구매 주문 데이터 교환 카테고리 및 PU 구매 가격 및 디스카운트 요구자 카테고리 처리에 관한 흐름도이다. 흐름도 박스(240)로 도시된 제1 단계에서는 구매 주문 객체가 생성(또는 갱신)되게 된다. 전술한 바와 같이, 구매 주문 생성은 (전자식 데이터 교환과 같은) 외부 소스나 또는 이전의 구매 주문, 또는 구매 주문 제안에 응답하여 이루어질 수 있다. 이러한 처리는 구매 주문 데이터 교환 관리자 제어 클래스 객체(도23)의 제어하에 실행된다. 구매 주문를 생성 또는 갱신을 개시하는 소스는 수반되는 제품 및 공급자를 명시하기 위한 충분한 정보를 제공한다는 것을 이해해야 한다.
구매 주문 객체가 생성된 이후에, 구매 가격 및 디스카운트 요구자 카테고리는 만일 적용될 수 있다면 제품에 대한 구매 가격 및 디스카운트를 검색한다. 이러한 카테고리의 처리는 구매 가격 및 디스카운트 요구자 클래스(도27)로부터의 객체의 책임이다. 다음 단계에서, 구매 가격 및 디스카운트 요구자 객체는 공급 계약 검색자 객체로부터의 정보에 근거하여 제품의 구매에 적용되는 적용가능한 가격을 얻는다. 이 단계의 처리는 흐름도 박스(242)로 표현되어 있다.
그 다음 처리 단계는 흐름도 박스(244)로 도시되어 있으며, 구매 가격 및 디스카운트 요구자 객체가 제품에 대해 적용되는 디스카운트를 결정하는 것을 수반한다. 그 다음 단계는 구매 가격 및 디스카운트 요구자 객체가 공급 계약에 근거하여 구매 주문에 적용되는 가격 또는 디스카운트를 결정하는 것이다. 이 처리 단계는 흐름도 박스(246)로 도시되어 있다. 마지막으로, 구매 가격 및 디스카운트 요구자객체는 가격 및 디스카운트의 혼합비에 적용되는 비지니스 규칙에 근거하여 구매 주문에 대해 이용할 가격 및 디스카운트를 선택한다. 이 처리 단계는 흐름도 박스 (248)로 도시되어 있다. 시스템의 처리는 다음에 계속된다.
d. 공급 계약 처리
공급 계약은 기업이 공급자로부터 다량의 제품을 구매할 것에 동의하는 협정이다. 즉, 응용프로그램의 최종 사용자가 본 발명의 프레임워크로부터 확장하고 그 생산 및 주문 처리가 관리되고 있는 기업에 의한 제품의 구매에 대한 의무가 존재한다. 공급 계약 상황의 관리는 도26에 도시된 PU 공급 계약 카테고리의 책임이다. 이 카테고리의 처리는 도33의 흐름도에 도시되어 있다.
도33의 흐름도를 보면, PU 공급 계약 카테고리 처리는 사용자 인터페이스를 통한 사용자 동작에 의한 공급 계약 객체의 생성으로 시작된다. 이러한 처리는 흐름도 박스(260)로 도시되어 있다. 다음에는, 공급 계약이 작성된 후에, 선택 관리자는 흐름도 박스(262)로 도시된 바와 같이, 일련의 공급 계약 객체를 문의하고 분석을 위한 공급 계약을 선택한다. 공급 계약 검색자 객체는 흐름도 박스(264)로 도시된 바와 같이, 공급 계약을 검색한다. 다음에, 공급 계약 분석 관리자 객체는 기업이 공급 계약의 조건에 순응하고 있는지 판단하고, 응용프로그램 개발자에 의해 정의된 CF 인터페이스 및 사용자 인터페이스에 따라 보고서를 생성한다. 이 처리 단계는 흐름도 박스(264)로 도시되어 있다. 시스템 처리는 다음에 계속된다.
e. 백-투-백 주문 처리
백-투-백 주문는 일단 기업에 의해 수신되어 즉시 고객에게 보내지는 하나또는 그 이상의 제품에 대한 주문이다. 백-투-백 주문은 기업 주문(공급 수량에 대한 기업 요구)의 생성을 유발하고 그 기업 주문에 링크되는 판매 주문이다. 이와 같은 백-투-백 주문의 처리는 도28에 도시된 PU 백-투-백 주문 관리자 카테고리의 책임이다. 이 카테고리의 처리는 도34의 흐름도에 도시되어 있다.
처리의 제1 단계에서, "섹션 6.SA 카테고리도"와 도8-17과 관련하여 전술한 판매 주문 메커니즘은 고객으로부터의 백-투-백 요구에 응답하여 백-투-백 요구 세부사항 객체의 생성을 유발한다. 특히, 전술한 판매 주문 계획 세부사항 클래스는 백-투-백 요구 세부사항 클래스 객체의 애트리뷰트 및 비헤이비어를 지정하는 추출 기본 클래스이다. 이 제1 처리 단계는 도34의 흐름도 박스(280)에 도시되어 있다. 백-투-백 주문은 (재고목록에 현재 존재하지 않는 공급품을 구하기 위한) 구매 주문나 (재고목록에 이미 존재하는 제품으로부터 공급품을 구하기 위한) 재고 변동, 또는 (백-투-백 주문이 공급품의 키트 어셈블리를 필요로 하는 경우에 요구되는) 작업 단위에 의해 이행된다. 그러므로, 다음 처리 단계에서, 백-투-백 주문 관리자 객체는 백-투-백 주문을 이행하기 위해 어떤 형태의 공급 주문이 사용되어야 하는지 판단하기 위해 로지스틱스 공급자 객체를 참조한다. 이 처리 단계는 도34의 흐름도 박스(282)로 도시되어 있다.
다음 처리 단계에서, 백-투-백 주문 관리자는 구매 주문나 재고 변동, 또는 백-투-백 주문을 이행하는데 필요한 작업 단위의 상세를 명시하는 백-투-백 주문 세부사항 객체를 생성한다. 이 처리 단계는 도34의 흐름도 박스(284)로 도시되어 있다. 흐름도 박스(286)로 도시된 마지막 단계에서, 백-투-백 주문 관리자는백-투-백 요구 세부사항을 백-투-백 주문 세부사항과 연관시키고, 따라서 백-투-백 주문 상태의 추적을 허용하도록 백-투-백 요구 링크 객체를 생성한다. 시스템의 처리는 다음에 계속된다.
따라서, 본 발명의 객체 지향형 프레임워크의 양호한 실시예는 수신되는 주문을 추적하고 그 주문을 창고 재고목록에 일치시키는 주문 관리(OM) 메커니즘과, 판매 주문을 처리하는 판매 주문(SA) 메커니즘, 및 구매 주문을 처리하는 구매 주문(PU) 메커니즘을 포함하고 있다. OM 메커니즘은 회계 기능 및 창고 관리 인터페이스를 제공하는 기본 비지니스 객체와 프레임워크 클래스 사이의 기본적인 인터페이스를 제공하는 OOP 클래스의 카테고리를 포함하고, SA 및 PU 메커니즘은 수신된 판매 주문 및 발행된 구매 주문을 추적하는 OOP 클래스의 각각의 카테고리를 포함한다.
지금까지 본 발명은 본 발명에 관한 이해가 전달될 수 있도록 양호한 실시예에 관해 설명되었다. 그러나, 본 발명이 적용될 수 있지만, 본 명세서에서 특별히 설명되지 않은 컴퓨터 시스템 및 객체 지향형 프로그래밍 시스템의 많은 구성이 존재한다. 따라서, 본 발명은 여기서 설명된 특정 실시예에 제한되는 것으로 볼 수 없으며, 오히려 본 발명은 일반적으로 객체 지향형 컴퓨터 시스템에 관해 폭넓은 적용성을 갖는 것으로 이해되어야 한다. 그러므로, 첨부된 특허 청구의 범위내에 있는 모든 수정, 변형, 및 등가의 구성은 본 발명의 범위내에 속한 것으로 간주되어야 한다.

Claims (13)

  1. 컴퓨터 데이터 처리 시스템에 있어서,
    중앙 처리 장치;
    사용자 인터페이스; 및
    데이터 객체에 의해 지정되는 기업에 대한 확장 가능한 주문 관리 시스템을 제공하는 프레임워크를 포함하는 객체 지향형 프로그래밍 환경을 지원하는 운영 체제를 구비한 메인 메모리를 포함하고,
    상기 프레임워크는
    하나 또는 그 이상의 판매 주문을 식별하는 복수의 협동 객체(cooperating object)의 판매 주문 카테고리를 구비한 판매 주문 메커니즘과,
    하나 또는 그 이상의 구매 주문을 식별하는 복수의 협동 객체의 구매 주문 카테고리를 구비한 구매 주문 메커니즘을 포함하는 것인 컴퓨터 데이터 처리 시스템.
  2. 제1항에 있어서,
    각각의 판매 주문 객체는 판매 주문의 대상인 제품을 식별하고 이 제품에 적용가능한 가격 및 디스카운트를 식별하는 객체 클래스를 참조하고;
    각각의 구매 주문 객체는 구매 주문의 대상인 제품을 식별하고 이 제품에 적용가능한 가격 및 디스카운트를 식별하는 객체 클래스를 참조하는 것인 컴퓨터 데이터 처리 시스템.
  3. 제2항에 있어서, 상기 판매 주문 메커니즘은 제품의 고객 구매를 위해 기업과 고객 사이의 계약을 명시하는 판매 계약 클래스를 선택하고, 선택된 판매 계약을 분석하는 판매 계약 분석 관리자 클래스 객체를 더 포함하는 컴퓨터 데이터 처리 시스템.
  4. 제3항에 있어서, 상기 판매 주문 메커니즘은 판매 계약 제품 가격 및 디스카운트를 결정하는 판매 가격 및 디스카운트 요구자 클래스 객체를 더 포함하는 컴퓨터 데이터 처리 시스템.
  5. 제2항에 있어서,
    상기 구매 주문 메커니즘은,
    (a) 제품의 공급자를 식별하는 로지스틱 공급자 클래스 객체로부터 제품 구매를 위한 기업에 의한 협정을 명시하는 구매 주문 클래스 객체를 분석하고;
    (b) 제품에 대한 구매 주문의 가격 및 디스카운트를 결정하는
    구매 가격 및 디스카운트 요구자 클래스 객체를 더 포함하는 컴퓨터 데이터 처리 시스템.
  6. 제5항에 있어서, 상기 구매 주문 메커니즘은 로지스틱스 공급자로부터 제품구매를 위한 기업에 의무를 지우는 로지스틱스 공급자 엔티티와 기업 사이의 공급계약을 명시하는 공급 계약 클래스 객체에 관련된 합동 객체를 유지관리하는 공급계약 검색자 클래스 객체를 더 포함하는 컴퓨터 데이터 처리 시스템.
  7. 제6항에 있어서, 상기 구매 주문 메커니즘은 계약의 이행되지 않은 조건에 관해 공급 계약에 대한 분석을 수행하는 공급 계약 분석 관리자 클래스 객체를 더 포함하는 컴퓨터 데이터 처리 시스템.
  8. 제5항에 있어서,
    상기 판매 주문 메커니즘은, 백-투-백 요구 세부사항이 제품에 대한 구매 주문나 또는 현재의 재고목록에서 제품을 식별하는 재고 변동 클래스 객체, 또는 제품이 조립될 재고목록 부품의 그룹을 명시하는 작업 단위 클래스 객체를 명시하도록 제품에 대한 백-투-백 요구 세부사항 클래스 객체를 먼저 생성하므로써 제품에 대한 판매 주문이 이행될 것이라는 것을 명시하는 판매 주문 계획 세부사항 클래스 객체를 더 포함하고,
    상기 구매 주문 메커니즘은, 백-투-백 주문을 식별하는 데이터를 포함하는 백-투-백 주문 세부사항 클래스 객체를 생성하므로써 생성된 백-투-백 요구 세부사항 객체에 응답하는 백-투-백 주문 관리자 클래스 객체를 포함하는 것인 컴퓨터 데이터 처리 시스템.
  9. 제8항에 있어서, 상기 백-투-백 관리자 클래스 객체는 백-투-백 요구 세부사항 클래스 객체의 애트리뷰트를 명시하는 로지스틱스 공급자 클래스 객체를 참조하는 것인 컴퓨터 데이터 처리 시스템.
  10. 컴퓨터 시스템에 있어서,
    중앙 처리 장치;
    사용자 인터페이스; 및
    데이터 객체에 의해 지정되는 기업에 대한 확장 가능한 주문 관리 시스템을 제공하는 프레임워크를 포함하는 객체 지향형 프로그래밍 환경을 지원하는 운영 체제를 구비한 메인 메모리를 포함하고,
    상기 프레임워크는
    (a) 제품에 대해 고객 비즈니스 파트너로부터 기업에 의해 접수되는 주문을 식별하는 데이터 구조체를 명시하는 주문 추상화 베이스 클래스를 포함하는 주문 관리 메커니즘과,
    (b) 상기 기업의 고객으로부터 접수된 하나 또는 그 이상의 판매 주문을 식별하는 협동 객체의 판매 주문 카테고리를 구비한 판매 주문 메커니즘으로서, 각각의 판매 주문은 객체 클래스를 참조하고 이 참조된 객체는 상기 판매 주문의 대상인 제품을 식별하고, 이 제품에 적용 가능한 가격 및 할인율을 식별하고, 상기 주문 클래스로부터 추상화 될 수 있는 것인 판매 주문 메커니즘과,
    (c) 상기 기업에 의해 발행되는 하나 또는 그 이상의 구매 주문을 식별하는협동 객체의 구매 주문 카테고리를 구비한 구매 주문 메커니즘으로서, 각각의 구매 주문은 객체 클래스를 참조하고 이 참조된 객체는 상기 구매 주문의 대상인 제품을 식별하고, 이 제품에 적용 가능한 가격 및 할인율을 식별하고, 상기 주문 클래스로 부터 추상화 될 수 있는 것인 구매 주문 메커니즘을 포함하는 것인 컴퓨터 시스템.
  11. 객체 지향형 프로그래밍 환경을 지원하고, 객체 클래스가 저장될 수 있는 메모리를 포함하는 운영 체제를 구비한 컴퓨터 시스템에서 사용하기 위한 객체 지향형 확장 가능한 주문 관리 시스템 프레임워크에 있어서,
    하나 또는 그 이상의 판매 주문을 식별하는 복수의 협동 객체의 판매 주문 카테고리를 구비한 판매 주문 메커니즘과
    하나 또는 그 이상의 구매 주문을 식별하는 복수의 협동 객체의 구매 주문 카테고리를 구비한 구매 주문 메커니즘을 포함하는 프레임워크.
  12. 프로그램 제품을 분배하는 방법에 있어서,
    제1 컴퓨터 시스템과 제2 컴퓨터 시스템 사이의 접속을 설정하는 단계와,
    상기 제1 컴퓨터 시스템으로부터 상기 제2 컴퓨터 시스템으로 상기 프로그램 제품을 전송하는 단계를 포함하고,
    상기 프로그램 제품은
    하나 또는 그 이상의 판매 주문을 식별하는 복수의 협동 객체의 판매 주문 카테고리를 구비한 판매 주문 메커니즘과;
    하나 또는 그 이상의 구매 주문을 식별하는 복수의 협동 객체의 구매 주문 카테고리를 구비한 구매 주문 메커니즘을 포함하는 객체 지향 프레임워크를 포함하는 것인 프로그램 제품 분배 방법.
  13. 제10항에 있어서,
    상기 주문 관리 메커니즘은 제품의 공급 또는 구매를 위해 기업과 비지니스 파트너 사이의 계약을 식별하는 데이터 구조를 명시하는 계약 추출 기본 클래스를 더 포함하고,
    상기 판매 주문 메커니즘은 제품에 대한 고객 구매를 위해 기업과 고객 사이의 계약을 식별하는 판매 계약 클래스 객체를 명시하는 데이터 구조의 SA 판매 계약 카테고리를 더 포함하고,
    상기 구매 주문 메커니즘은 로지스틱 공급자로부터의 공급자의 구매를 위해 기업과 로지스틱 공급자 클래스 객체 사이의 협정을 식별하는 객체의 공급 계약 클래스를 명시하는 데이터 구조의 PU 공급 계약 카테고리를 더 포함하는 컴퓨터 시스템.
KR1019980001430A 1997-03-28 1998-01-19 주문처리를위한객체지향기술프레임워크 KR100340774B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/828,934 US5987423A (en) 1997-03-28 1997-03-28 Object oriented technology framework for order processing
US08/828,934 1997-03-28
US8/828,934 1997-03-28

Publications (2)

Publication Number Publication Date
KR19980079627A KR19980079627A (ko) 1998-11-25
KR100340774B1 true KR100340774B1 (ko) 2002-10-12

Family

ID=25253118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980001430A KR100340774B1 (ko) 1997-03-28 1998-01-19 주문처리를위한객체지향기술프레임워크

Country Status (3)

Country Link
US (1) US5987423A (ko)
JP (2) JPH10283427A (ko)
KR (1) KR100340774B1 (ko)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2118169A1 (en) * 1993-10-27 1995-04-28 Michael R.C. Seaman Event architecture for system management in an operating system
US5878400A (en) * 1996-06-17 1999-03-02 Trilogy Development Group, Inc. Method and apparatus for pricing products in multi-level product and organizational groups
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US6345258B1 (en) * 1997-12-30 2002-02-05 William E. Pickens Information system for new home builders
US6249905B1 (en) * 1998-01-16 2001-06-19 Kabushiki Kaisha Toshiba Computerized accounting system implemented in an object-oriented programming environment
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6370508B2 (en) * 1998-09-11 2002-04-09 Genesys Telecommunications Laboratories, Inc. Interface engine for managing business processes within a multimedia communication-center
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US6173439B1 (en) * 1998-03-11 2001-01-09 International Business Machines Corporation Interface mechanism and method for accessing non-object oriented data from within an object oriented framework
US6199197B1 (en) * 1998-03-11 2001-03-06 International Business Machines Corporation Apparatus and method for providing common behavior across different processing levels in an object oriented framework
US6360229B2 (en) * 1998-04-30 2002-03-19 International Business Machines Corporation Generic execution model for isolating applications from underlying databases
US6879962B1 (en) * 1998-05-24 2005-04-12 Joseph D. Smith Logistics system and method
US7140001B1 (en) * 1998-07-24 2006-11-21 Kabushiki Kaisha Toshiba Method for constructing business application system and computer-readable storage medium having stored framework for business application system
AU5670099A (en) * 1998-08-03 2000-02-28 Corporate Express, Inc. Customer management system for use with office products supplier
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6980962B1 (en) 1999-03-02 2005-12-27 Quixtar Investments, Inc. Electronic commerce transactions within a marketing system that may contain a membership buying opportunity
US7353194B1 (en) 1999-03-02 2008-04-01 Alticor Investments, Inc. System and method for managing recurring orders in a computer network
US6865728B1 (en) * 1999-05-13 2005-03-08 International Business Machines Corporation Object oriented framework mechanism for discovery of computer systems in a network
US6529948B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
US8032409B1 (en) 1999-11-22 2011-10-04 Accenture Global Services Limited Enhanced visibility during installation management in a network-based supply chain environment
US7124101B1 (en) 1999-11-22 2006-10-17 Accenture Llp Asset tracking in a network-based supply chain environment
US8271336B2 (en) 1999-11-22 2012-09-18 Accenture Global Services Gmbh Increased visibility during order management in a network-based supply chain environment
US7130807B1 (en) 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
US7716077B1 (en) 1999-11-22 2010-05-11 Accenture Global Services Gmbh Scheduling and planning maintenance and service in a network-based supply chain environment
US6606744B1 (en) 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US6671818B1 (en) 1999-11-22 2003-12-30 Accenture Llp Problem isolation through translating and filtering events into a standard object format in a network based supply chain
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
US7139728B2 (en) * 1999-12-30 2006-11-21 Rod Rigole Systems and methods for online selection of service providers and management of service accounts
US7818285B1 (en) 2000-01-10 2010-10-19 Fedex Office And Print Services, Inc. System and method of using a sales management system to generate printed products
US7113959B1 (en) 2000-01-10 2006-09-26 Imagex, Inc. System and method of using human resources data to generate printed products
US7844503B2 (en) * 2000-01-14 2010-11-30 Fogelson Bruce A Builders on-line assistant
US7206756B1 (en) 2000-01-14 2007-04-17 Trilogy Development Group, Inc. System and method for facilitating commercial transactions over a data network
US7254553B2 (en) * 2000-01-14 2007-08-07 Fogelson Bruce A Builders on-line assistant
US10055772B1 (en) 2000-01-14 2018-08-21 Versata Development Group, Inc. Method and apparatus for product comparison
US20010042030A1 (en) * 2000-02-15 2001-11-15 Sadao Ito Information providing system for providing information about parts
US7069235B1 (en) 2000-03-03 2006-06-27 Pcorder.Com, Inc. System and method for multi-source transaction processing
US6577726B1 (en) * 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US8412547B1 (en) 2000-04-24 2013-04-02 Trilogy Development Group, Inc. Commerce server architecture and method for using same
US8234203B1 (en) 2000-05-12 2012-07-31 Adventive, Inc. E-commerce system including online automatable inventory monitor and control system
US7908200B2 (en) 2000-05-16 2011-03-15 Versata Development Group, Inc. Method and apparatus for efficiently generating electronic requests for quote
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US7899690B1 (en) 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
US6965875B1 (en) * 2000-11-14 2005-11-15 Robert Levine Method and system for customizing a distribution network based on market conditions
US7236944B1 (en) * 2000-11-22 2007-06-26 Schwartz Scott H Discount estimating and purchase system and method
US7269656B2 (en) * 2000-12-28 2007-09-11 Xerox Corporation Remote order entry system and method
US7096189B1 (en) * 2001-01-12 2006-08-22 Cisco Technology, Inc. Methods and system for processing changes to existing purchase orders in an object-oriented order processing system
AU2002241844A1 (en) * 2001-01-12 2002-07-24 The Procter And Gamble Company Customer specific web order management system which provides real time "quality order" validation
US7127677B2 (en) * 2001-01-23 2006-10-24 Xerox Corporation Customizable remote order entry system and method
US20020184102A1 (en) * 2001-03-21 2002-12-05 Panagiotis Markopoulos Selling price information in e-commerce
US7353189B2 (en) * 2001-08-01 2008-04-01 Art Technology Group, Inc. Flexible order structure
US20030046176A1 (en) * 2001-09-04 2003-03-06 Hynes Harold F. One page purchasing system
US20070203771A1 (en) * 2001-12-17 2007-08-30 Caballero Richard J System and method for processing complex orders
US7761337B2 (en) * 2001-12-18 2010-07-20 Siebel Systems, Inc. Data structure for a complex order processing system
AU2002250309A1 (en) * 2002-03-13 2003-09-29 Kenneth D. Turton Managing a service establishment's information objects
US20030195778A1 (en) * 2002-04-11 2003-10-16 United Parcel Service Of America, Inc. Intelligent authorized return systems and methods
US20040039612A1 (en) 2002-06-14 2004-02-26 Neil Fitzgerald Method and apparatus for customer direct on-line reservation of rental vehicles
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
KR100488916B1 (ko) * 2002-12-04 2005-05-17 유징테크주식회사 작업클래스 선택장치 및 방법
US7853507B2 (en) * 2003-06-23 2010-12-14 Omx Technology Ab Method for organizing financial instruments in a CSD-system
US7571138B2 (en) * 2003-09-16 2009-08-04 Rome Corporation Method, system and program for credit risk management utilizing credit limits
WO2005040995A2 (en) * 2003-10-24 2005-05-06 Dynexus, Inc Systems and methods of establishment of secure, trusted dynamic environments and facilitation of secured communication exchange networks
US7536321B2 (en) * 2004-01-30 2009-05-19 Canon U.S.A., Inc. Estimated time of arrival (ETA) systems and methods
US7761858B2 (en) * 2004-04-23 2010-07-20 Microsoft Corporation Semantic programming language
US8849862B2 (en) * 2004-05-21 2014-09-30 Rsvpro, Llc Architectural frameworks, functions and interfaces for relationship management (AFFIRM)
CN1870024A (zh) * 2005-05-27 2006-11-29 国际商业机器公司 系统建模辅助方法和设备
US7672875B2 (en) 2005-06-06 2010-03-02 International Business Machines Corporation Presenting an alternative product package offer from a web vendor
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US8417591B2 (en) * 2005-12-30 2013-04-09 Sap Ag Stock flow management system and method
US20070162423A1 (en) * 2005-12-30 2007-07-12 Shai Alfandary Aware location system and method
US7653616B2 (en) * 2005-12-30 2010-01-26 Sap Ag Source and destination determination system and method
US8271309B2 (en) 2006-03-16 2012-09-18 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US8260924B2 (en) 2006-05-03 2012-09-04 Bluetie, Inc. User load balancing systems and methods thereof
US8056082B2 (en) 2006-05-31 2011-11-08 Bluetie, Inc. Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
US7881987B1 (en) 2006-06-06 2011-02-01 Intuit Inc. System and method for purchase order management
CA2664941C (en) 2006-10-06 2017-09-12 The Crawford Group, Inc. Method and system for communicating vehicle repair information to a business-to-business rental vehicle reservation management computer system
US20080294494A1 (en) * 2007-05-22 2008-11-27 Sap Ag Sales Order Monitoring
US9639331B2 (en) 2008-07-09 2017-05-02 International Business Machines Corporation Service interface creation and modification for object-oriented services
US20100023352A1 (en) * 2008-07-23 2010-01-28 The Crawford Group, Inc. System and Method for Improved Information Sharing by Repair Facilities for Managing Rental Vehicle Reservations
CN101661594A (zh) 2008-08-28 2010-03-03 阿里巴巴集团控股有限公司 一种在互联网上提供对象信息的方法及系统
US20110185353A1 (en) * 2010-01-27 2011-07-28 Jack Matthew Mitigating Problems Arising From Incompatible Software
US8402064B2 (en) * 2010-02-01 2013-03-19 Oracle International Corporation Orchestration of business processes using templates
US20110218926A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Saving order process state for adjusting long running order management fulfillment processes in a distributed order orchestration system
US10395205B2 (en) * 2010-03-05 2019-08-27 Oracle International Corporation Cost of change for adjusting long running order management fulfillment processes for a distributed order orchestration system
US8793262B2 (en) * 2010-03-05 2014-07-29 Oracle International Corporation Correlating and mapping original orders with new orders for adjusting long running order management fulfillment processes
US9269075B2 (en) * 2010-03-05 2016-02-23 Oracle International Corporation Distributed order orchestration system for adjusting long running order management fulfillment processes with delta attributes
US10789562B2 (en) * 2010-03-05 2020-09-29 Oracle International Corporation Compensation patterns for adjusting long running order management fulfillment processes in an distributed order orchestration system
US20110218925A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Change management framework in distributed order orchestration system
US20110218921A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Notify/inquire fulfillment systems before processing change requests for adjusting long running order management fulfillment processes in a distributed order orchestration system
US9904898B2 (en) * 2010-03-05 2018-02-27 Oracle International Corporation Distributed order orchestration system with rules engine
US20110218923A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Task layer service patterns for adjusting long running order management fulfillment processes for a distributed order orchestration system
US10061464B2 (en) * 2010-03-05 2018-08-28 Oracle International Corporation Distributed order orchestration system with rollback checkpoints for adjusting long running order management fulfillment processes
US9658901B2 (en) 2010-11-12 2017-05-23 Oracle International Corporation Event-based orchestration in distributed order orchestration system
US10552769B2 (en) 2012-01-27 2020-02-04 Oracle International Corporation Status management framework in a distributed order orchestration system
US20130226624A1 (en) 2012-02-24 2013-08-29 B3, Llc Systems and methods for comprehensive insurance loss management and loss minimization
US8762322B2 (en) 2012-05-22 2014-06-24 Oracle International Corporation Distributed order orchestration system with extensible flex field support
US9672560B2 (en) 2012-06-28 2017-06-06 Oracle International Corporation Distributed order orchestration system that transforms sales products to fulfillment products
CN105976533A (zh) * 2016-04-27 2016-09-28 上海观奇自动化系统有限公司 一种物料自动领用及管理系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315703A (en) * 1992-12-23 1994-05-24 Taligent, Inc. Object-oriented notification framework system

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247693A (en) * 1985-10-08 1993-09-21 The Foxboro Company Computer language structure for process control applications and method of translating same into program code to operate the computer
US4943932A (en) * 1986-11-25 1990-07-24 Cimflex Teknowledge Corporation Architecture for composing computational modules uniformly across diverse developmental frameworks
US4989141A (en) * 1987-06-01 1991-01-29 Corporate Class Software Computer system for financial analyses and reporting
US5189608A (en) * 1987-06-01 1993-02-23 Imrs Operations, Inc. Method and apparatus for storing and generating financial information employing user specified input and output formats
US5226161A (en) * 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
US5274572A (en) * 1987-12-02 1993-12-28 Schlumberger Technology Corporation Method and apparatus for knowledge-based signal monitoring and analysis
US5297283A (en) * 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5057996A (en) * 1989-06-29 1991-10-15 Digital Equipment Corporation Waitable object creation system and method in an object based computer operating system
US5181162A (en) * 1989-12-06 1993-01-19 Eastman Kodak Company Document management and production system
DE69022210T2 (de) * 1990-01-29 1996-05-02 Ibm Datenverarbeitungssystem.
US5101364A (en) * 1990-02-09 1992-03-31 Massachusetts Institute Of Technology Method and facility for dynamic video composition and viewing
US5195172A (en) * 1990-07-02 1993-03-16 Quantum Development Corporation System and method for representing and solving numeric and symbolic problems
WO1992007331A1 (en) * 1990-10-16 1992-04-30 Consilium, Inc. Object-oriented architecture for factory floor management
US5276775A (en) * 1990-12-07 1994-01-04 Texas Instruments Inc. System and method for building knowledge-based applications
US5119475A (en) * 1991-03-13 1992-06-02 Schlumberger Technology Corporation Object-oriented framework for menu definition
US5249270A (en) * 1991-03-29 1993-09-28 Echelon Corporation Development system protocol
US5287447A (en) * 1991-06-28 1994-02-15 International Business Machines Corporation Method and system for providing container object attributes to a non-container object
US5257384A (en) * 1991-09-09 1993-10-26 Compaq Computer Corporation Asynchronous protocol for computer system manager
US5390325A (en) * 1992-12-23 1995-02-14 Taligent, Inc. Automated testing system
US5369766A (en) * 1993-03-25 1994-11-29 Taligent, Inc. Object-oriented loader system with support for different load formats
US5701453A (en) * 1993-07-01 1997-12-23 Informix Software, Inc. Logical schema to allow access to a relational database without using knowledge of the database structure
US5396626A (en) * 1993-08-04 1995-03-07 Taligent, Inc. Object-oriented locator system
US5379430A (en) * 1993-08-04 1995-01-03 Taligent, Inc. Object-oriented system locator system
AU683038B2 (en) * 1993-08-10 1997-10-30 Addison M. Fischer A method for operating computers and for processing information among computers
US5388264A (en) * 1993-09-13 1995-02-07 Taligent, Inc. Object oriented framework system for routing, editing, and synchronizing MIDI multimedia information using graphically represented connection object
US5504892A (en) * 1994-09-08 1996-04-02 Taligent, Inc. Extensible object-oriented file system
US5615109A (en) * 1995-05-24 1997-03-25 Eder; Jeff Method of and system for generating feasible, profit maximizing requisition sets
US5778378A (en) * 1996-04-30 1998-07-07 International Business Machines Corporation Object oriented information retrieval framework mechanism

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315703A (en) * 1992-12-23 1994-05-24 Taligent, Inc. Object-oriented notification framework system

Also Published As

Publication number Publication date
KR19980079627A (ko) 1998-11-25
JP2002323975A (ja) 2002-11-08
US5987423A (en) 1999-11-16
JPH10283427A (ja) 1998-10-23

Similar Documents

Publication Publication Date Title
KR100340774B1 (ko) 주문처리를위한객체지향기술프레임워크
US5936860A (en) Object oriented technology framework for warehouse control
US8312416B2 (en) Software model business process variant types
US8200539B2 (en) Product common object
US7047215B2 (en) Parts requirement planning system and method across an extended supply chain
US8290824B1 (en) Identifying incentives for a qualified buyer
US7287041B2 (en) Data modeling using custom data types
US7783534B2 (en) Optimal method, system, and storage medium for resolving demand and supply imbalances
US20130006741A1 (en) Discounted Deals with Supplier Ranking Information
US20120035999A1 (en) e-COMMERCE VOLUME PRICING
WO2002044891A2 (en) A generic transaction server
US20220036306A1 (en) Methods and apparatus for using configurable templates and policy information to control use of storage locations
US20030130931A1 (en) System, method, and apparatus for implementation and use of a trading process on a data processing system
US11494828B2 (en) Componentized order entry and editing system and method
CN113228080B (zh) 使用云服务代理基础设施进行数字产品载入和分发的系统及方法
US20040243476A1 (en) Method and system for hosting electronic stores using hosting contracts
US20230368132A9 (en) Method and system for managing inventory
Team Business Process Analysis Worksheets and Guidelines
Team Business Process Analysis Worksheets &
RUBIS et al. The Common Business Objects Pattern
Datta Why Supply Chain

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130524

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140527

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 16

EXPY Expiration of term