Information system

ERP system - CH2

yudam 2022. 4. 25. 10:36

Objectives

 

Introduction

ERP 시스템은 organization 뿐만 아니라 customers, suppliers, bussiness partners 모두에게 영향을 미친다. 따라서 이 comprehensive하고 integrated한 시스템을 지원하는 기술을 이해하는 것이 중요하다. 그 technology는 다음과 같다

  • Three-tier client architecture
  • Relational databases
  • Cloud computing and mobility
  • Configuration versus customization
  • ERP system deployment

 

Application architectures (응용 아키텍쳐)

application programs의 어떤 기능이 어떻게 clients와 servers 사이에 작동하는지에 따라 달라진다.

  • Host-based(=mainframe) architecture: 서버가 대부분의 기능을 수행
  • Client-based architecture: 클라이언트가 대부분의 기능을 수행
  • Client-server architecture: 서버와 클라이언트 간 기능이 공유됨

 

  • application architectures (응용 아키텍처)의 layer
    • presentation layer (상위 층)
      • 사용자에게 데이터를 표시
      • 사용자의 입력을 받아들임
      • e.g) GUI(graphical user interface)
    • business logic layer (중간 층)
      • programming logic을 이용해 business rules를 구현, 실행
      • 데이터를 검증하고 business ruls 적용
      • GUI와 data access logic 사이 communication 관리
    • data acess layer (하위 층)
      • storage information
      • access information

 

Host-based(=mainframe) architecture

  • client가 key strokes를 캡쳐하고 mainframe으로 전송
  • client는 server의 instruction에 따라 information을 display
  • Server includes: 1) presentaion logic 2) busuness logic 3) data access logic 4) data storage

 

  • Evolution of ERP architecture - host-based architecture의 특성
    • 서로 이야기하기 쉽지 않음
    • 현재 시점에서 최적화된 것에 기초하지 않음
    • stove-piped : 특정 기능의 영역에 집중됨
    • data redundancies(데이터 중복) 또는 potential discrepancies( 잠재적 불일치) 가 있을 수 있음
  • Host-based architecture problems
    • host의 병목현상
    • host upgrade에 돈이 많이 듬
      • 대규모 업그레이드가 필요하며 processing & memory 측면에서 비용이 듬. network demand는 host capacity에 비해 점점 증가할 것임

Client-based architecture

  • Client includes: 1) presentaion logic 2) busuness logic 3) data access logic
  • Server includes: 4) data storage
  • 예를 들어, pc(client) 에서 워드 작업을 한 후 data만 server에 저장한다.

 

  • Client-based architectures problems
    • data traffic이 server와 client 사이를 왔다 갔다 해야함
    • LAN을 가로질러 이동하는 파일의 크기가 클 수록 network perfomance poorer

Client-server architectures

  • Client includes: 1) presentaion logic 2) busuness logic
  • Server includes: 3) data access logic 4) data storage
  • 웹 브라우저를 사용하여 웹 페이지를 가져오는 경우 logic balanced between the client and server 사용

 

  • advantages
    • disributed processing (분산 처리 시스템) 이므로 효율적
    • 서로 다른 vendors HW, SW를 함께 사용할 수 있음
  • disadvantages
    • SW 가 smoothly하게 연동될 수 있게 하는 데 어려움
    • a third category of SW 인 middleware의 필요성
    • middleware :컴퓨터 소프트웨어의 타입 중 하나로, 분산 처리 시스템의 데이터 간 communication과 management를 가능하게 함. 한마디로 client application program과 server application program 사이 중간자 역할.
    • Examples of standards for Middleware:
      • Distributed computing environment (DCE)
      • Common object request broker architecture (CORBA)
      • Open database connectivity (ODBC)

 

  • multi-tier architecture: distributing application program logic이 두 개 이상의 컴퓨터를 포함
    • 2- tier architecture : 클라이언트와 서버를 균형있게 사용, 단순 LANs의 인기있는 접근
      • 그들의 complexity 때문에 쉽게 build 할 수 있음
      • 배포하는 데 가격이 쌈
      • 인터넷을 사용하면 lower performance
    • 3- tier architecture
      • 2 티어 아키텍쳐에서 client와 server tier가 있는데, 그 사이 하나의 application tier를 추가
      • 각각 티어를 강화시키는 better security
      • maintenance(유지보수)가 쉬움 - layer가 분리됨
      • maintenance가 이해하기 쉽고 관리하기 쉬움
      • scalabilities(확장성) 이 업그레이드 됨 - business 성장에 따라 쉽게 추가할 수 있기 때문
        • Client includes: 1) presentaion logic
        • applicaion Server includes: 2) busuness logic
        • database server includes : 3) data access logic 4) data storage
    • N- tier architecture
      • 3개 이상의 컴퓨터가 사용됨. more typical across complex organization
        • Client includes: 1) presentaion logic
        • web server include : 2) business logic
        • applicaion Server includes: 2’) business logic
        • database server includes : 3) data access logic 4) data storage
    • thin & fat clients
      • thin이냐 fat이냐를 분류하는 기준는 clients나 server에 상주하는 business logic의 양에 따라 달라짐
      • thin clients & fat server
        • Little or no business logic on client
        • Becoming popular because easier to manage
        • e.g ) world wide web architecture(uses a two-tier, thin client architecture)
      • Fat clients & thin server
        • business logic 는 대부분 clients에 있음

    • options for client-server architecture
      • fat client - 1) presentation logic 2) business logic thin server- 3) data access logic
      • thin client - 1) presentation logic fat server - 2) business logic 3) data access logic
  •  

Relation database management systems

  • legacy system에서는 data가 종종 duplicated 되었다. (customer의 주소가 바뀌면 새로운 정보는 각각 시스템에서 변경되어야 했고 이는 시간과 비용을 모두 잡아먹었고 오류 가능성도 존재
  • ERP 시스템은 RDBMS SW를 사용하여 기업 데이터를 보관한다. 한 번 입력 또는 공유로 departments와 business units에 공유할 수 있다
  • DBMS : SW 시스템으로, 유저가 데이터베이스에 define, create, maintain, control access 할 수 있게 한다.
  • RDBMS : relational model(관계형 모델)에 기반한 DBMS. relational model이란? 모든 데이터가 in terms of tuples로 표현되는 구조를 활용해 데이터를 관리하는 방법
    • 장점 : 데이터가 복제되거나 에러 날 가능성 줄임, 데이터베이스에 동시접근 가능, business logic을 강화하는 저장 절차, 제한된 access로 안전함
    • vendors: 큰 기업들은 IBM DB2, Oracle, 작은 기업들은 tibero of tmax 사용

 

database terminology

  • data (=entity): uniquely identified
    • entity : 어떠한 객체 (tuple(=row)와 다른 점은 row가 실제 저장되어 있는 값들 자체를 가르킨다면 entity는 여러 attribute를 속성으로 하는 무형의 ‘객체’ 개념.
  • table (=relations): collection of related data entries consisting of columns and rows
  • Attributes : define all items pertaining to a certain category (쉽게 말해 컬럼명 하나 하나들. field와 거의 비슷한데, 다른 점은 field는 고유명사같이 쓰이고 attributes는 ‘고객의 바로 그것’같이 쓰임
  • Each row = tuple = records
  • Instance : set of all given tuples of a relation.
  • Degree : attributes in a table의 수(그러니까 컬럼 수)
  • primary key
    • 각 테이블은 primary key를 가진다(unique).
    • PK는 각각을 유니크하게 identifies하는 역할
    • null이나 empty될 수 없다.
    • entity integrity rule (무결성 제약 조건) 은 unique identifier for each record를 의미

 

  • foreign key
    • 두 테이블을 연결하는 데 사용된다
    • e.g) 공급자 테이블의 pk로 있는 supplier_pk가 구매자 테이블의 FK로 존재
  • Entity realtionship diagram (ERD)
    • graphical representation - DB entities와 관계를 나타냄
    • DB를 개발할 때, DB 디자이너와 End user 사이 커뮤니케이션 방법이 됨
  • cardinality ( relationship) : 중복되지 않는 정도

 

 

relationship expression

  • zero-to-many : 구매 건이 없을 수도 있다
  • one-to-many : 특정 구매건은 하나의 업체에 연결해야 한다.
  • one-to-one : 직원은 주차 허가를 하나만 가질 수 있다.
  • many-to-many : 학생은 여러 클래스를 들을 수 있고, 한 클래스는 여러 학생을 받을 수 있다.

 

관계형 데이터 베이스 (many-to-many)

  • 관계형 데이터 베이스에서, many to many의 경우associative entity (or junction table) 라고 하는 별도의 테이블이 필요하다. 즉 두개의 one-to-many관계로 이루어진다.
  • 각 테이블의 PK가 FK가 되고, 이들은 별도 테이블에서 PK가 된다. (composite key 또는 concatenated key 라고 한다.)
  • Referential integrity rule (참조 무결성 법칙)
    • FK로 연결된 PK 테이블은 필요없더라도 삭제할 수 없다. (에러 방지, 정보의 정확성)
  • database normalization : 데이터 정규화
    • 데이터 중복과 데이터 무결성 (integrity)를 방지하기 위한 작업으로, 테이블에서 원하는 데이터만 정렬할 수 있도록 한다.
    • 데이터 정규화의 목적은 addition, deletions, modification이 하나의 테이블에서만 수행해도 모든 곳에 적용되도록 데이터를 isolate하는 것

    • 1NF(atomic할 것)
    • 2NF(partial dependency(부분종속성)을 가지지 않을 것)
    • 3NF(모든 non-key field는 PK에만 종속됨 (Transitive dependency가 없어야 함)
      • Transitive dependency : 하나 이상의 필드가 pk에 종속되지 않고 다른 값에 종속
      • determinant : dependent on another value in the record

 

  • Structured query language (SQL)RDBMS와 커뮤니케이션하기 위한 프로그래밍 언어로, Query는 데이터베이스에 대한 user request다. SQL은 DDL, DML, DCL을 모두 포함한다.
    • Data definition language (DDL) : create, drop, alter 등
    • Data manipulation language (DML) : select, insert, update, delete 등
    • Data control language (DCL) : grant, revoke 등
  •  

ERP data

ERP 시스템은 data의 세 가지 주요 타입(master, transaction, configuration)을 저장한다.

  • master data : relatively permanent data collected on entities in the business
    • not volatile
    • rarely changes its attributes
    • Examples: employees, inventory items, departments, and so on
  • transaction data : the records of day-to-day business events.
    • highly volatile
    • Examples: purchase order, sales invoices, and so on.
  • configuration data : data to tailor a particular aspect of the ERP system to the way it chooses to do business.
    • Examples: fiscal year end, default currency, default language, and so on.

 

Configuration & Customization

  • configuration
    • ERP Vendors는 configuration option을 수용하여 SW를 판매하는데, 이 때 configuration은 parameter를 선택하는 프로세스다. parameter는 기업이 tailor하는 방식에 따라 조정된다. 선택된 configuration option은 configuration table에 configuration data로 저장된다.
  • customization
    • process of fitting the ERP SW로, by adding code to the ERP SW→ organization’s specific needs에 fitting됨.
    • 대기업은 아래 이유로 ERP시스템을 커스터마이징함.
      • They have the technical expertise to program and maintain the code.
      • They have the monetary resources to find customizations.
      • Their operations are more complex or unique.

Best of breed

다양한 enterpeise SW vendors의 모듈을 “mix and match” 하는 방법으로, 회사는 overall best combination 을 얻기 위해 이 방식을 채택한다.

  • Retail and distribution company(소매 및 유통)의 경우,
    • PeopleSoft for HR
    • SAP for all other modules
    • warehouse management from a niche vendor
    • cloud-based CRM solution.

그러나 integration issue가 발생할 수 있으므로, middleware의 구입이나 개발이 필요할 수 있다. 이 strategy는 cost, risks, projected business benefits을 모두 고려해야 한다.

 

  • Best of breed의 pros(장점), cons(단점)
    • 장점 : less cost, differentitation from competitors, more in-depth functionality
    • 단점 : 부서간 정보 불일치, 인터페이스에 익숙해지는 시간, SW를 선택하고 프로젝트를 관리하고 업그레이드 하는데 들이는 시간

 

System landscape

  • ERP SW, DB는 시스템 landscape가 나올때까지 설치될 수 없다. 시스템 랜드스케이프는 server의 layout 또는 architecture이다. 시랜을 완성시키기 위해서 회사는 multiple server를 구입하고 ERP system과 DB를 몇 차례 설치해야한다.

 

  • The first system: DEV
    • The ERP system is installed along with the database.
    • Consultants configure and customize system per the requirements.
  • The second system: QA
    • After DEV, system will be copied to another ERP environment, QA
    • The customization and configurations will be tested by end users.
  • The third system: PRD
    • After QA, systems are transported to PRD.
    • That environment will be the live system that users will work with.

 

Cloud computing

  • 기업 인프라 구축의 traditional한 방식은 회사의 servers에 설치하는 것이었다. (on-premise) 이제는 웹 기반 확산으로, erp 시스템, 관계형 데이터는 cloud로 관리된다.(off-premise)
    • on-premise란? 클라우드 같은 원격 환경에서 운영하는 게 아니라 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식
  • ERP customer는 그들의 서버,운영체제, DB,데이터센터,백업장비,프로그래밍환경을 업그레이드하기 위해 투자할 필요가 없다.
  • 클라우트 컴퓨팅은 필요할 때 즉시 제공/공급할 수 있는 on-demand 방식.
  • 클라우드 컴퓨팅 제공업체는 다양한 모델에 따라 서비스를 제공함.
    • Infrastructure as a service (IaaS): provide infrastructure like physical computing resources, location, and ability.
    • Platform as a service (PaaS): provide acquired application created using programming languages, libraries, and so on.
    • SW as a service (SaaS): provide access to application SW and DB
      • In SaaS, it is important to negotiate a service level agreement (SLA) which is a commitment about particular aspects of the service between a service provider and a client.

 

Mobility

  • 모빌리티는 모바일로 데이터와 정보에 접근한다. 모빌리티는 data entry에 점점 더 많이 사용됨. 그러나 기업은 모빌리티에 적절한 task를 결정하고 보안 문제를 확인해야 함.

Modern ERP Select, Implement, and Use Today's Advanced Business Systems - Third edition 정리

'Information system' 카테고리의 다른 글

Information security(1) - security & privacy & terminology  (0) 2022.05.26
ERP system - CH5  (0) 2022.04.25
ERP system - CH4  (0) 2022.04.25
ERP system - CH3  (0) 2022.04.25
ERP system - CH1  (0) 2022.04.25