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
- presentation layer (상위 층)
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
- 3개 이상의 컴퓨터가 사용됨. more typical across complex organization
- 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
- 2- tier architecture : 클라이언트와 서버를 균형있게 사용, 단순 LANs의 인기있는 접근
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를 결정하고 보안 문제를 확인해야 함.
Uploaded by Notion2Tistory v1.1.0