CORBA를 이용한 CIM Framework 개발

Slides:



Advertisements
Similar presentations
2ii Technologies,Inc. SAP R/3 를 위한 최적의 Archiving 솔루션
Advertisements

경기도 구리시 인창동 127 벤처보육센터 303 호 Tel Fax 산소프트 의료종합정보 시스템 구축 제안서 ( EMR / OCS )
Product Lifecycle Management © 2003 IBM Corporation PLM Definition Product Lifecycle Management.
Korea University Student IT Management Society.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
더존다스 경영전략과 비젼 1 ERP 개발부문
미디어 프로그래밍 II 소개.
Crystal Reports .NET ASTech System.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Value-driven commitment for CUSTOMER SUCCESS
Chapter 2 정보시스템 아키텍처 (IS Architecture)
고급자바프로그래밍 (Advanced Java Programming)
㈜영림원소프트랩
APPEON SOLUTION INTRODUCTION.
ERP(Enterprise Resource Planning)
개발자에게 SharePoint Services 란 무엇인가?
10장. 웹 서비스 공격 (Attacking Web Service)
Introduction to Web Service Computing
웹 서비스 (Web Services).
Internet Computing KUT Youn-Hee Han
12. 데이터베이스 설계.
CDC Connected Device Configuration CLDC보다 많은 리소스를 가진 시스템을 대상으로 설정
Java RMI (Remote Method Invocation)
NTAS 소개 (Network Transaction Application Server)
DSP와 TMS320F28x의 이해.
SSAS 변화된 구조와 사용자 분석 화면 구현 우철웅 기술이사 BI 사업부 인브레인.
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
Pattern-Oriented Software Architecture 안준석
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Visual C++ Programming
(Network Transaction Application Server)
시스템 설계와 산업디자인 개발.
ASP.NET Mobile Controls
MicroStrategy6 컴퓨터학과 석사 2학기 진수경.
웹 서비스 (Web Services).
네트워크 보안 3 오 세 종.
SK Telecom 매출 통계 시스템의 SQL Server Reporting Services 적용사례
Visual C++ Programming
날짜: 팀명: TEAM-SIX 발표자: 이기영
Rhapsody + MFC 개발 가이드.
객체 지향 프로그래밍.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
ERP 시스템의 구축 ERP 시스템의 구축 기업이 ERP 시스템의 도입을 검토하는 단계에서부터 실제 업무에 적용하고 사후관리에 들어가는 단계에 이르기까지 시스템을 효과적으로 사용하기 위해 필요한 모든 활동.
Smart Workplace 개발자 가이드
EAI 구현 사례 : A사 System Architecture
10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수.
김 정 석 Web Programming 김 정 석
NTAS 소개 (Network Transaction Application Server)
myfood.com 상명대 맛집 홈페이지 구축 제안서
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
Internet Computing KUT Youn-Hee Han
XML-II (eXtensible Markup Language) DTD/DOM
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
성공적인 웹사이트 구축 (2) 변화 발전하는 Site의 미래를 예측 반영해야 함.
ERP 개념과 성공요인.
UML과 객체지향 모델링 UML의 개요 객체지향 모델링.
Java RMI (Remote Method Invocation)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
창 병 모 숙명여대 전산학과 자바 언어를 위한 CFA 창 병 모 숙명여대 전산학과
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
.Net FrameWork for Web2.0 한석수
SQL Server Reporting Services Feature
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Deployment Diagram (배치 다이어그램)
Presentation transcript:

CORBA를 이용한 CIM Framework 개발 1999. 10. 29 이 경 렬 ㈜글로벌데이타시스템 G D S

목차 프로젝트 개요 Framework CORBA CIM Framework 결론

프로젝트 개요 프로젝트명 연구기간 추진내용 1997.1.1 ~ 1998.12.31 (24개월) 객체기술과 CORBA를 이용한 분산 제조 메카트로닉스 시스템의 통합·운영 S/W 개발 연구기간 1997.1.1 ~ 1998.12.31 (24개월) 추진내용 CIM 업무 분석 및 CIM Framework 설계 객체지향 방법론을 적용한 CIM 컴포넌트 개발 CORBA를 이용한 분산 CIM 개발

프로젝트 개요 (cont.) 배경 정보 시스템 구축 생산성 저하 분산 컴퓨팅 환경 대비 취약 업무 환경 급속 변화 축적된 기술 및 소스 재사용의 어려움 반복 개발에 따른 고비용 및 장기간 소요 분산 컴퓨팅 환경 대비 취약 이종 시스템간 통합의 어려움 분산 제조 시스템 통합 기술 취약 업무 환경 급속 변화 Internet의 고성장 및 고속화 H/W 고성능화 및 저가 가속 표준(CORBA) 채택으로 global화

프로젝트 개요 (cont.) 개발방향 재사용성이 뛰어난 S/W 개발 대상 기업에 맞는 유연성이 뛰어난 S/W 개발 분산컴퓨팅환경에서 분산 시스템간 연결 Framework 분산기술 (CORBA) 높은 개발 생산성 높은 안정성 BPR효과 분산 환경 적응

Framework Definition 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)를 해결하기 위해 상호 동작이 기정의되어 있는 객체들의 집합을 말하며, 각 객체들은 상속 등을 통해 변경 및 확장될 수 있다.

Structural Programming Framework (cont.) Structural Programming vs. Framework Structural Programming Framework main() class1 sub1() sub2() class2 class3 sub3() F F class4 child2 child3 S/W 모듈 신규작성 child class 사전작성 함수

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

Framework (cont.) Library vs. Framework 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

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 저 고 확장성 에러발생율

Framework (cont.) 구축 효율 비교 Level 1. COPY & PASTE Level 2. PARAMETERIZING Level 3. DESIGN REUSE Level 4. FRAMEWORK 시스템 규모 소 대 고 저 구축효율 구축대비 수정효율 = COPY & PASTE FRAMEWORK PARAMETERIZING DESIGN

Framework (cont.) 구축 방법 step 1. Domain Analysis 문제 유형화 유사 문제 조사 및 유형 일반화 재검토 및 정교화 step 2. Design using Standards Design Patterns 활용 기존 Framework 활용 및 확장 step 3. Design Framework 기본적 흐름 (Basic Scenario ) 설계 객체 설계 ( attributes 및 setting, verifying methods, etc. ) Event-driven Methods 설계

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 제공

Common Object Request Broker Architecture CORBA OMA 구조 Application Objects Vertical Facilities Horizontal Facilities.. C,C++ smalltalk,.. Healthcare Financial ... user interface info manage .. Common Object Request Broker Architecture 93 94 95 96 Name Event Life Cycle Persistence Relationships Externalization Transactions Concurrency Security Time Licensing Properties Query Trading Change Mgmt Data Interchabge CORBA services

Object Implementation CORBA (cont.) CORBA 구성도 IDL(Interface Definition Language) 제공 Client와 Object Implementation 간의 통신 통신 기능 기본 제공 Client Object Implementation IDL API Lang Dynamic Invocation Client Stubs Implementation Skeletons ORB Interface Object Adapter ORB Core One interface Proprietary interface One interface per object adapter Normal call interface Up call interface One interface per object operation

CORBA (cont.) CIM Framework에서의 CORBA 필요성 CIM 업무의 분산화 이기종 DB간 데이터 처리 요구 Global 시스템간 연동에 필요한 표준 필요 DB CORBA DB

CIM Framework CIM Framework이란 - (1/2) 생산 정보 시스템(CIM)의 기본 골격(Framework) 이를 바탕으로 각 업체마다 customizing ★ ★회사 ○ ○ 회사 CIM Framework

CIM Framework (cont.) CIM Framework이란 - (2/2) 컴포넌트간의 연동으로 CIM 업무 구현 컴포넌트의 수정 및 확장을 통해 customizing CORBA를 이용하여 컴포넌트 분산화 CIM XX 업무 CIM XX 업무 CORBA

CIM Framework (cont.) 계층 구조 UI(User Interface) 층 CF(CIM Framework) 층 CIM Framework 층의 Component들을 호출한다. CF(CIM Framework) 층 업무 구현(CIM Logic) 층 DB 작업을 위해 DDF(Distributed Data Framework) 층의 Component를 호출한다. DDF(Distributed Data Framework) 층 DB 처리 업무를 담당하는 층 각 층은 상호 독립적이며 재사용성 및 확장성 획득.

CIM Framework (cont.) 계층 구조도 UI 층 CF 층 DDF 층 UI WEB Component MC ... Component DBContainer DBObject DDF 층 ... DBManager DBVar

CIM Framework (cont.) 기반구조 · · · DB : MSSQL, Oracle  DB Library : DBTool.h++ CORBA Products : Orbix v2.3  Development Language : C++ 주문관리 생산관리 · · · 재고관리 C++ MSSQL, Oracle DBTools.h++ Orbix ODBC CORBA TCP/IP

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

CIM Framework (cont.) Distributed Data Framework 층 객체 관계도 ODBC 관련 객체 DBvar MetaData DBLocation MetaDataManager DBTable CORBA 관련 객체 DBObject DBManager DBMProxy DBM_i DBContainer MDI MDI_i CF 연결 객체 DBMDI RemoteMDI MDIProxy

CIM Framework (cont.) CIM Framework 층 객체 관계 MD(Manufacturing Data) : 데이터 객체 MC(Manufacturing Component) : 업무 객체 모든 MD 들은 DBObject를 상속함으로써 DB 처리 기능을 가진다. CIM 업무는 Component들간의 연동으로 구현된다. DDF 층과는 DBContainer와 DBObject를 통해 연동한다. Component 는 MC를 통해 Remote Component와 연동한다.

CIM Framework (cont.) CIM Framework 층 객체 관계도 ... ... CIM Framework 층 CORBA 관련 객체 Component MC Proxy Component DBContainer DBObject ... Data Framework 층 ... MD

CIM Framework (cont.) 통신 경로 CIM Framework 층 Remote Side Component CORBA MC Component DBObject DBManager DBContainer MDI MDI_i DBMDI RemoteMDI ODBC CORBA ODBC DB DB Data Framework 층

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; } };

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;

CIM Framework (cont.) CIM 업무 관계도

CIM Framework (cont.) CIM Component 관계도 고객 제품정보 BOM 공정정보 수요예측 작업달력 주문 MPS MRP 스케쥴링 기계 재고 외주 LINE LOT 작업자 협력업체 발주 TOOL

CIM Framework (cont.) CIM Component 연동 예 주문관리 MPS Scheduling MRP 고객 주문 제품정보 MPS 재고 MPS 주문 제품정보 작업달력 MRP 재고 수요예측 Scheduling 공정정보 기계 작업달력 MPS MRP 스케쥴링 LOT LINE 작업자 MRP BOM MPS 발주 재고 스케쥴링 외주 고객 제품정보 BOM 공정정보 Scheduling 발주관리 MPS MRP 주문관리 수요예측 작업달력 발주관리 MRP 발주 재고 협력업체 TOOL 주문 MPS MRP 스케쥴링 기계 재고 외주 LINE LOT 작업자 협력업체 발주 TOOL

CIM Framework (cont.) CIM Component 내부 MC_1 COMP_A COMP_B COMP_BA

CIM Framework (cont.) 예: MPS(Master Product Scheduling ) : 어떤 제품(product) 을 언제(due date) 까지 얼마나(quantity) 만들 것인가에 대한 구간별(per term) 대략적 생산 계획(planning) N 주문 예측 재고 스케쥴 작업달력 98.4 98.5 98.6 요청서 A, 14개 접수 재고할당 계획 완료

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

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

CIM Framework (cont.) MPS 설계 ( 표준 사용 ) 2.1 Design Patterns 및 기존 S/W 모듈 이용 기본 업무 흐름 기존 S/W 모듈 이용 사전 작업 Target 설정 단위기간 결정 재고 할당 구간별 생산량 결정 확정 및 저장 사후 작업 ● 권한 확인 : MCUserPermission ○ ● 재고 할당 : CmpInvControl ● MRP 호출 : MCTriggerWorkFlow

CIM Framework (cont.) MPS 설계 ( 업무 설계 ) 2.2 신규 작성 기본 업무 흐름 신규 작성 사전 작업 Target 설정 단위기간 결정 재고 할당 구간별 생산량 결정 확정 및 저장 사후 작업 ○ ● setItemID(), checkItemID() etc ● setUnitTerm(), checkUnitTerm() ● 새로운 MC, MCSetMPSList 작성 ● confirmMPS(), saveMPS()

CIM Framework (cont.) MPS Model MCUserPermission MCTriggerWF CmpMPS MCSetMPSLists CmpMRP MCInvControl MCWCControl CmpInvControl CmpWCControl CmpXX : main Component MCXX : Sub Component

결론 CORBA와 Framework을 이용하여 CIM Framework 개발 S/W 재사용성 및 분산 환경 적응력 증대 구축/유지비용 절감, BPR 효과, 미래 환경 적응 CORBA S/W 재사용성 분산 환경 적응력 Framework