39
CORBA 를 를를를 CIM Framework 를를 1999. 10. 29 를 를 를 를를를를를를를를를를 G D S

CORBA 를 이용한 CIM Framework 개발

  • Upload
    thuyet

  • View
    93

  • Download
    11

Embed Size (px)

DESCRIPTION

CORBA 를 이용한 CIM Framework 개발. 1999. 10. 29 이 경 렬. ㈜ 글로벌데이타시스템. G D S. 목차. 프로젝트 개요 Framework CORBA CIM Framework 결론. 프로젝트 개요. 프로젝트명 객체기술과 CORBA 를 이용한 분산 제조 메카트로닉스 시스템의 통합 · 운영 S/W 개발 연구기간 1997.1.1 ~ 1998.12.31 (24 개월 ) 추진내용 CIM 업무 분석 및 CIM Framework 설계 - PowerPoint PPT Presentation

Citation preview

Page 1: CORBA 를 이용한  CIM Framework  개발

CORBA 를 이용한 CIM Framework 개발

1999. 10. 29

이 경 렬㈜글로벌데이타시스템

G D S

Page 2: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

목차프로젝트 개요FrameworkCORBACIM Framework결론

Page 3: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

프로젝트 개요프로젝트명 객체기술과 CORBA 를 이용한 분산 제조 메카트로닉스

시스템의 통합 · 운영 S/W 개발연구기간

1997.1.1 ~ 1998.12.31 (24 개월 )

추진내용 CIM 업무 분석 및 CIM Framework 설계 객체지향 방법론을 적용한 CIM 컴포넌트 개발 CORBA 를 이용한 분산 CIM 개발

Page 4: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

프로젝트 개요 (cont.)배경

정보 시스템 구축 생산성 저하축적된 기술 및 소스 재사용의 어려움반복 개발에 따른 고비용 및 장기간 소요

분산 컴퓨팅 환경 대비 취약이종 시스템간 통합의 어려움분산 제조 시스템 통합 기술 취약업무 환경 급속 변화

Internet 의 고성장 및 고속화H/W 고성능화 및 저가 가속표준 (CORBA) 채택으로 global 화

Page 5: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

프로젝트 개요 (cont.)개발방향

재사용성이 뛰어난 S/W 개발 대상 기업에 맞는 유연성이 뛰어난 S/W 개발 분산컴퓨팅환경에서 분산 시스템간 연결

Framework분산기술 (CORBA)

높은 개발 생산성높은 안정성BPR 효과분산 환경 적응

Page 6: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

FrameworkDefinition

A framework is a set of prefabricated software building blocks that programmers can use, extend, or customize for specific computing solutions.

A framework is a set of classes that embodies an abstract design for solutions to a family of related problems.

by Taligent (www.taligent.com)

※ 특정 업무 (Problem Domain) 를 해결하기 위해 상호 동작이 기정의되어 있는 객체들의 집합을 말하며 , 각 객체들은 상속 등을 통해 변경 및 확장될 수 있다 .

Page 7: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Framework (cont.)Structural Programming vs. Framework

main()

sub1() sub2()

sub3() F F

Structural Programming

child2

class1

class2 class3

class4 child3

Framework

S/W 모듈 신규작성사전작성child class함수

Page 8: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Framework (cont.)Property

·A set of classes·Default - prefabricated, abstract - behavior·Embodied workflow(flow of execution)·Extended by customization(deriving or overriding)·Fewer lines of programmer’s code·In terms of families rather than individual problems ·Better integration across applications·Require more efforts to build and learn·Harder to debug

Page 9: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Framework (cont.)

Library Framework

·Set of classes instantiated by client ·Client calls functions ·No predefined for flow of control ·No predefined interaction ·No default behavior

·Customization by subclassing ·Calls client functions ·Controls flow of execution ·Defines object interaction ·Provides default behavior

Library vs. Framework

Library Framework

Page 10: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Framework (cont.)S/W 재사용 비교

Level 1. COPY & PASTE Level 2. PARAMETERIZING Level 3. DESIGN REUSE Level 4. FRAMEWORK

COPY & PASTE

PARAMET-ERIZING

DESIGN REUSE

FRAMEWORK

고 교육량 초기비용확장성

에러발생율

Page 11: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Framework (cont.)구축 효율 비교

Level 1. COPY & PASTE Level 2. PARAMETERIZING Level 3. DESIGN REUSE Level 4. FRAMEWORK

시스템 규모소 대

구축효율구축대비 수정효율=

COPY & PASTE

PARAMETERIZING

DESIGN

FRAMEWORK

Page 12: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Framework (cont.)구축 방법

step 1. Domain Analysis문제 유형화유사 문제 조사 및 유형 일반화재검토 및 정교화

step 2. Design using StandardsDesign Patterns 활용기존 Framework 활용 및 확장

step 3. Design Framework 기본적 흐름 (Basic Scenario ) 설계객체 설계 ( attributes 및 setting, verifying methods, etc. )Event-driven Methods 설계

Page 13: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Framework (cont.)Framework 적용 사례1) WORKS : SEMATECH’s CIM FRAMEWORK

US chip manufacturing consortium (www.sematech.org) 미국반도체산업의 경쟁력 강화를 위해 업계 표준 CIM Framework

으로서 개발 Reduce cycle time,cost; increase flexibility; uniform production operation

2) POSC : Petrotechnical Open Software Corporation Oil and Gas companies (www.posc.org) Build custom applications to a standard business model

3) MFC : Microsoft Foundation Class Library Microsoft 에서 제작한 GUI application framework Windows programming 을 쉽게 할 수 있는 Framework 제공

Page 14: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CORBAOMA 구조

Application Objects Vertical Facilities

CORBA services

NameEventLife CyclePersistence

RelationshipsExternalizationTransactionsConcurrency

SecurityTimeLicensingPropertiesQuery

TradingChange MgmtData Interchabge

93 94 95 96

smalltalk,..Horizontal Facilities..

user interfaceinfo manage..

HealthcareFinancial...

C,C++

Common Object Request Broker Architecture

Page 15: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CORBA (cont.)CORBA 구성도

IDL(Interface Definition Language) 제공 Client 와 Object Implementation 간의 통신 통신 기능 기본 제공

ObjectAdapter

ImplementationSkeletons

Client Object Implementation

ClientStubs

ORBInterface

DynamicInvocation

One interface

One interface per object operationOne interface per object adapter

Proprietary interfaceNormal call interfaceUp call interface

IDL

API Lang

ORB Core

Page 16: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CORBA (cont.)CIM Framework 에서의 CORBA 필요성

CIM 업무의 분산화 이기종 DB 간 데이터 처리 요구 Global 시스템간 연동에 필요한 표준 필요

DB

CORBADB

Page 17: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM FrameworkCIM Framework 이란 - (1/2)

생산 정보 시스템 (CIM) 의 기본 골격 (Framework) 이를 바탕으로 각 업체마다 customizing

CIM Framework

○ ○ 회사★ ★ 회사

Page 18: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)CIM Framework 이란 - (2/2)

컴포넌트간의 연동으로 CIM 업무 구현 컴포넌트의 수정 및 확장을 통해 customizing CORBA 를 이용하여 컴포넌트 분산화

CIM XX 업무 CIM XX 업무

CORBA

Page 19: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)계층 구조

UI(User Interface) 층CIM Framework 층의 Component 들을 호출한다 .

CF(CIM Framework) 층업무 구현 (CIM Logic) 층DB 작업을 위해 DDF(Distributed Data Framework) 층의

Component 를 호출한다 . DDF(Distributed Data Framework) 층

DB 처리 업무를 담당하는 층 각 층은 상호 독립적이며 재사용성 및 확장성 획득 .

Page 20: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)계층 구조도

DBObjectDBContainer

DBVar ...DBManager

NWEB UI

Component

Component

UI 층

Component

CF 층

DDF 층

MC ...

Page 21: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)기반구조

DB : MSSQL, Oracle DB Library : DBTool.h++ CORBA Products : Orbix v2.3 Development Language : C++

TCP/IP

ODBC

DBTools.h++

CORBA

Orbix

MSSQL, Oracle

C++

주문관리 생산관리 · · · 재고관리

Page 22: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)Distributed Data Framework 층 구조도

DB

C IM

C IM

DBObjec t DBMDI

MDIP roxy

DBObjec t

Remo teMDI

DB

MDI_i DBMDI

C IM

Page 23: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

ODBC 관련 객체

CORBA 관련 객체

CF 연결 객체

CIM Framework (cont.)Distributed Data Framework 층 객체 관계도

DBObject

DBvar

DBContainer MDI

DBManager

MetaDataManager

MetaData DBLocation

DBTable

DBMProxy

MDIProxyDBMDI RemoteMDI

MDI_i

DBM_i

Page 24: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)CIM Framework 층 객체 관계

MD(Manufacturing Data) : 데이터 객체 MC(Manufacturing Component) : 업무 객체 모든 MD 들은 DBObject 를 상속함으로써 DB 처리 기능을

가진다 . CIM 업무는 Component 들간의 연동으로 구현된다 . DDF 층과는 DBContainer 와 DBObject 를 통해 연동한다 . Component 는 MC 를 통해 Remote Component 와 연동한다 .

Page 25: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CORBA 관련 객체

CIM Framework (cont.)CIM Framework 층 객체 관계도

Component Component

DBObject

MC

DBContainer

...

...

MD

Proxy

Data Framework 층

CIM Framework 층

Page 26: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)통신 경로

ComponentComponent

DBManagerDBObject

Component

MDI_i

DB

MC

Data Framework 층

Remote SideCIM Framework 층

ODBC

CORBA

CORBAODBC

DBContainer MDI

DBMDI RemoteMDI

DB

Page 27: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)MD 예 : 주문정보 , OrderMD

class OrderMD : public DBObject{public: RWCString sOrderID; // 주문번호 RWCString sCustomerID; // 고객 ID double dContractedTotalPrice; // 총거래가격

DBvar SELOrderID; DBvar SELCustomerID; DBvar SELContractedTotalPrice;

OrderMD(); OrderMD& operator = (OrderMD& t); int SortByOrderID() { return 0; } int SortByCustomerID() { return 1; } int SortByContractedTotalPrice() { return 2; }

};

Page 28: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)MD 예 : 주문정보 , OrderMD (cont.)

OrderMD::OrderMD() { setClassName("OrderMD"); setMember(&SELOrderID, &sOrderID, "sOrderID"); setMember(&SELCustomerID, &sCustomerID, "sCustomerID"); setMember(&SELContractedTotalPrice,&dContractedTotalPrice, "dContractedTotalPrice");

SELOrderID.setKey();}

OrderMD& OrderMD::operator = (OrderMD& t) { sOrderID = t.sOrderID; sCustomerID = t.sCustomerID; dContractedTotalPrice = t.dContractedTotalPrice; return *this;}

Page 29: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)

고객관리

수주관리

BOM관리

제품관리

협력업체관리

LOT관리

생산관리

외주관리

TOOL관리

공정정보관리

LINE관리

생산능력

기계관리

WC관리

재고관리 /자재 구매관리

수요예측 작업자관리

CIM 업무 관계도

Page 30: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)CIM Component 관계도

고객

주문

제품정보 BOM 공정정보

기계

작업달력

MPS MRP

발주

재고

스케쥴링

외주

수요예측

LOT

협력업체

LINE

TOOL

작업자

Page 31: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

Scheduling

발주관리

MPS

MRP

주문관리

CIM Framework (cont.)CIM Component 연동 예

고객

주문

제품정보 BOM 공정정보

기계

작업달력

MPS MRP

발주

재고

스케쥴링

외주

수요예측

LOT

협력업체

LINE

TOOL

작업자

Scheduling

공정정보

기계

작업달력

MPS MRP 스케쥴링

LOTLINE 작업자발주관리

MRP

발주

재고

협력업체 TOOL

MPS

주문

제품정보

작업달력

MPS MRP

재고

수요예측MRP

BOM

MPS MRP

발주

재고

스케쥴링

외주

주문관리 고객

주문

제품정보

MPS

재고

Page 32: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)CIM Component 내부

COMP_AMC_1 COMP_B

MC_2

MC_11 MC_12

MC_2

COMP_BAMC_11 MC_12 COMP_BA

COMP_AMC_1 COMP_B

Page 33: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)예 : MPS(Master Product Scheduling )

: 어떤 제품 (product) 을 언제 (due date) 까지 얼마나 (quantity) 만들 것인가에 대한 구간별 (per term) 대략적 생산 계획(planning)

요청서

접수 재고할당 계획 완료

N

주문 예측 스케쥴 작업달력

98.4 98.5 98.6

재고

A, 14 개

Page 34: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)MPS 분석

1.1 기본 데이터제품 : itemid납기일 : duedate수량 : totalqty단위기간 : unitterm ( = Y( 년 ), M( 월 ), W( 주 ) )구간별 생산수량 리스트 : mpslist ( list of <qty, date> )

Page 35: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)MPS 분석 (cont.)

1.2 기본 업무 흐름 1) 사전 작업 : 업무 권한 확인 etc 2) target 설정 : itemid, quantity, duedate 3) 단위기간 설정 : unitterm 4) 재고 할당 : 안전 재고 고려 여부 5) 구간별 생산량 결정 : 작업달력 고려 , 스케쥴 고려 등 6) 확정 및 저장 : MPS DB 에 저장 7) 종료 후 작업 : MRP 구동 , 종료 메시지 발신 , etc.

Page 36: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)MPS 설계 ( 표준 사용 )

2.1 Design Patterns 및 기존 S/W 모듈 이용

사전 작업

Target 설정

단위기간 결정

재고 할당

구간별 생산량 결정

확정 및 저장

사후 작업

기본 업무 흐름 기존 S/W 모듈 이용● 권한 확인 : MCUserPermission○○● 재고 할당 : CmpInvControl○○● MRP 호출 : MCTriggerWorkFlow

Page 37: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)MPS 설계 ( 업무 설계 )

2.2 신규 작성

사전 작업

Target 설정

단위기간 결정

재고 할당

구간별 생산량 결정

확정 및 저장

사후 작업

기본 업무 흐름 신규 작성○ ● setItemID(), checkItemID() etc● setUnitTerm(), checkUnitTerm()○ ● 새로운 MC, MCSetMPSList 작성

● confirmMPS(), saveMPS()○

Page 38: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

CIM Framework (cont.)MPS Model

CmpXX : main Component

MCXX : Sub Component

CmpMPS

CmpInvControl

MCUserPermission

MCSetMPSLists

MCWCControl

CmpWCControl

MCInvControl

MCTriggerWF

CmpMRP

Page 39: CORBA 를 이용한  CIM Framework  개발

GDS㈜ 글로벌데이타시스템

결론 CORBA 와 Framework 을 이용하여 CIM Framework

개발 S/W 재사용성 및 분산 환경 적응력 증대 구축 / 유지비용 절감 , BPR 효과 , 미래 환경 적응

Framework

S/W 재사용성 CORBA

분산 환경 적응력