공지사항
2018.03.23 / 01:27

SI에서 자주 사용되는 용어들

봄이
추천 수 40

이쪽에 있다보면 자주들리는 용어들(철저하게 주관적인ㅋㅋ 느낌으로 썼음. 까먹지 말라고 남기는거라 순서도 없음. 귀에 들리는 대로 올릴 예정)
여기서 주로 쓰는 시스템들은 대부분 c기반이라 다른데 돌아다니다가 자바기반 프레임워크관련된 용어들은 나도 생소함.(얼른 배워둬야 할텐데..)

SI(System Integration)
- 시스템 통합. 대형기관에서 사용하는 업무들을 전산적으로 통합하는 작업. 흔하게는 엔터프라이즈 시스템이라고 부르고. 공공기관, 대기업, 금융권 등의 업무들을 전산화 또는 기존의 시스템들을 통합하여 이전보다 나은 업무프로세스 및 성능개선을 통해 공공 또는 기업의 이익을 추구하는 작업.
이라고 말하고 노가다라고 부르면 적당함.
SM(System Maintenance)
- 보통 SI프로젝트가 끝나면 그 시스템에 대한 유지보수를 말함. 어디서는 Maintenance가 아니라 Management라고 부르는 쪽도 있음.
BP(Business Process) 서버?
- 몇번 듣다보니 뭐하는 건지는 알았는데 뭔 약자인지 한참 찾은 용어. 접속서버(중계서버)라는 말로도 사용하고 보통 클라이언트가 엔터프라이즈시스템에 직접 연결되는 것이 아니라 중간에 중계서버를 둔다.
실제 클라이언트와의 커넥션을 담당하며 보안적인 측면에서 망을 분리하는 효과 뿐만 아니라 L4장비와 함께 로드밸런싱을 담당하기도 함.


CDC(Change Data Capture) 
- 말 그대로 변경된 데이터에 대한 이미지를 생성. 어떤 데이터가 어떻게 변경되었다라는 history를 가질 뿐만 아니라 백업용도로 미러링기능을 가지고 있음.
대부분의 솔루션들이 DB의 아카이브모드를 사용하는 듯.


BCV(Business Continuance Volume)
보통 백업용도로 사용하며 디스크의 볼륨단위를 그대로 미러링한 카피본이라고 보면 된다.
데이터나 시스템의 특성에 따라 사용방법이 조금씩은 다를 수 있다. 순간처리건이 많은 경우는 단순히 백업용도로 사용할 수 도 있고. 시스템 장애시 백업받은 디스크 볼륨을 그대로 복구처리해 장애에 대처하는 경우도 있다.
일반적으로 백업을 위해서 따로 작업을 해두는게 아니라 항상 마스터 볼륨과 Sync를 맞추고 있다가 백업순간 Sync를 끊는다.
On Demand Batch
- 배치작업을 스케쥴링에 의해 실행하는 것이 아니라 사용자가 요청시에만 동작하는 배치작업.
사용자의 요건에 따라 발생된 대량처리건을 처리하기 위해 사용.
CenterCut
- On Demand Batch 와 마찬가지로 사용자에 요건에 따라 발생된 대량처리건을 처리하는 아키텍쳐
On Demand Batch와 다른 점은 배치프로그램이 동작하는 것이 아니라 각 처리건을 온라인서비스로 처리하는 것이 차이점이다.
배치를 추가로 만들지 않고 기존의 서비스로 처리하는 것과 부하에 대한 유량제어로 시스템이 부하를 받지 않도록 처리가 가능한 장점이지만 센터컷 자체 아키텍쳐 구축이 쉽지 않다. 센터컷 아키텍쳐는 유량제어, 각 처리건에 대한 결과 및 에러시 복구 및 장애 대책을 가지고 있어야 한다.
대량의 데이터를 개별서비스단위로 쪼개는 작업도 만만치 않다.
* OnDemandBatch하고 CenterCut 기술들이 자바프레임워크를 쓰는 동네에서는 어떻게 보이는지 잘 모르겠다.
DryRun
- 시운전, 리허설 정도로 해석하면 될 듯.
RFI(Request For Information)
- 보통 정보요청서로 부르며 아래 나오는 RFP 전에 작성된다. 프로젝트를 진행하려는 측에서 내부적인 기준으로 선정한 업체들에게 우리 이러이러한 프로젝트를 하려고 하는데 정보 좀 보내달라. 뭐 이런 용도의 문서다. 프로젝트를 진행하려는 측에서는 프로젝트에 적용될 기술이나 업계동향, 프로젝트의 진행방식 등 시스템 구축에 필요한 컨설팅단계를 진행한다. 주로 컨설팅 업체는 RFI 작성시작부터 참여하게 되며, RFI를 받은 업체들도 이때부터 프로젝트 수주에 대한 본격적인 작업에 돌입한다.
RFP(Request For Proposal)
- 프로젝트를 진행하려는 측에서 내부적인 기준으로 선정한 업체에 RFI를 보내면 각 업체들은 해당 프로젝트 성격에 맞게 우리는 이러이러하게 프로젝트를 진행하겠다고 자신들의 솔루션과 노하우, 이전 프로젝트 사례등을 담은 RFP를 작성해 제출한다. RFP를 받은 갑은 자 이제 어디까지가 구라고 누가 싸고 어떤게 좋을지 이리 저리 재보고 프로젝트를 수행할 업체를 정한다.
Turn-Key
- 본래는 공장기기설비쪽에서 나온 용어로 알고 있음. 개발완료와 동시에 즉시 가동가능한 상태로  인계할 수 있도록 하나의 주사업자가 모든 공정을 책임지고 처리하는 방식. 
In House 방식
어떤 프로젝트에 대해서 개발을 외주인력이 아닌 내부인력으로만 처리하게 되면 In House라 함.
M/M(Man/Month)
- 프로젝트의 일정을 산정할 때 자주 사용되는 단위. 한사람이 한달간 일할 분량.
이런 계산법이 만능은 아니지만 일정의 공수산정을 위해 이거만큼 수치적으로 간단한 단위는 아직 못봤음.
그래서 아직도 자주 사용됨.
10M/M(1Man * 10Month) = 10M/M(10Man * 1Month)... 수치적으로는 같을진 몰라도 실제로 이런 경우는 없음.


SSO(Single Sign On)
- 한번의 로그인으로 여러 시스템을 이용할 수 있게 해주는 솔루션. 웹기반으로는 세션키를 공유하는 방식으로 일반 서버/클라이언트 모듈에서는 agent를 사용한다. 대기업이나 금융권같은 곳은 사용하는 시스템이 기존의 레거시까지 포함하는 경우 SSO를 통해 한번의 로그인으로 사용자를 인증하고 해당 사용자에게 시스템을 이용가능하게 서비스를 제공한다.

EAM(Extrnet Access Management)
- 어디서는 Enterprise Access Management 라고 부르는 곳도 있고 Extranet Access Management라고 부르는 곳도 있다. 
통합인증, 권한관리 시스템으로 SSO시스템에 권한관리, 자원관리 등이 포함된 개념으로 이해하면 될 듯.
IAM(Identify Access Management)
- EAM이 개별사용자에게 권한부여 하는 방식이 자동화되어 있지 못한 반면 IAM은 이를 자동화 처리가능하게 한 시스템이라 줏어들었음. 포괄적인 개념으로 SSO < EAM < IAM 정도로 생각하면 될듯.(넘 날로 먹나?)


EAI(Enterprise Application Integration)
- 통신프로토콜이나 테이터 타입, OS등 각기 다른 환경에서 동작하는 애플리케이션들에 대해 상호 연동할 수 있는 기능을 제공하는 솔루션. 파일, 온라인서비스, DB등 각기 다른 데이터를 주기적 혹은 준실시간(Defered Onlinle)으로 처리함.
이런 EAI를 사용하는 이유는 각 시스템별로 비지니스적으로 다른 처리를 하고 있지만 각 시스템간에 공통된 영역을 효율적으로 연동하기 위해서 사용함.
MCI(Multi Channel Integration)/MCA(Multi Channel Architecture)
- 채널통합. 기업이나 기관에서 다양한 채널과 통신하는 경우가 많은데 각 채널마다 통신방식이나 전문들이 상이한 경우가 많다. 코어시스템입장에서는 이를 동일한 규격으로 통일할 필요가 있으며 이러한 기능을 제공하는 것이 MCI혹은 MCA 솔루션이다. 
있다보면 간혹 EAI와도 중복되는 개념으로 사용되기도 한다.
FEP(Front-End Processor)
- 원래는 메인프레임의 통신제어를 위한 전용 시스템을 말하는데 현재는 굳이 메인프레임에 국한하고 있지 않은듯 하다. 개인적인 판단으로는 OSI7 Layer에서 세션이나 프리젠테이션 계층까지 담당하는 것으로 보인다. 
보통 기관 대 기관 연결이 FEP로 연결되어 있는 경우가 많다.
ESB(Enterprise Service Bus)
- 통합된 서비스구조를 통해 효율적인 시스템 구축 및 유지보수가 용이한 구조라고 하는데 아직까지 뭐가 ESB다 라고 명확하게 나온걸 본적이 없다.
SOA의 핵심사상중에 하나인데 SOA라는 것 자체도 추상적이고 개념적인 내용들이 더 많은게 아직까지의 현실인듯 하다.
말이야 이렇게 하면 뭐에 좋고 이게 좋고 다 말은 하지만 실제 시스템에서 이런걸 구축하려 하면 배보다 배꼽이 더 커지는 경우도 있다.
SCM(Software Configuration Management)
- 형상관리. 개발을 하다 보면 수백 수천 수만개의 소스와 관련 리소스를 관리하게 된다. 이런 리소스들의 날짜별 시간별 히스토리 및 이전 버전과의 비교, 브랜치 관리, 머징 등을 위한 관리시스템을 형상관리시스템이라고 부른다. CVS, SVN, GIT, Mercurial 같은 툴들이 있으며 엔터프라이즈환경에 맞춘 커스텀 솔루션들도 있다. 오픈소스에서 요즘 GIT가 대세인듯..
SOA(Service Oriented Architecture)
- 서비스지향아키텍쳐. 간단하게 말하면 각 단위작업이 서비스로 이루어진 구조를 말한다. 핵심적인 개념은 각 단위작업이 타 서비스에 영향을 미치지 않고 독립적으로 실행된다는 점과 이런 구조로 인해 서비스의 재사용성이 높다는 것인데. 개인적으로는 SOA라고 해서 다 저런 특징을 가지는 것도 아니고 굳이 SOA가 아니더라도 저런 특징을 가질수 있게 만들 수 있다. 결국은 설계단계에서 개발단계에서 이러이러한 구조로 개발을 해야 효율적이겠다 라고 설계하는 것과 크게 다르지 않은 느낌이 든다.
BPM(Business Process Management)
- 비지니스 프로세스를 개선하기 위한 작업을 뜻한다. 개념적으로 보면 그룹웨어가 BPM의 하위개념? subset 정도 될듯 하다. 보통 기업 또는 기관들이 정해진 업무만 처리하는 것이 대부분이지만 신규시장, 신규사업 등 새로운 업무활동을 위해 새로운 프로세스를 수립하게 되는데 이런 일에 사용되는 것이 BPM이다.
MOM(Message Oriented Middleware)
- 메시지 기반 미들웨어. 메시지를 기반으로 비동기식으로 통신하는 미들웨어이다. 기존의 미들웨어는 클라이언트나 타 시스템과 직접연결되어 데이터를 주고 받은 반면 메시지기반 미들웨어는 내부적인 Message Pool 과 같은 개념의 공간을 두고 통신을 한다. 이러한 개념은 커넥션이 끊기면 통신자체가 중단되는 기존 동기방식의 미들웨어와는 달리 한쪽의 통신이 끊기는 것에 크게 영향을 받지 않는다. 개념상 어떻게 처리하느냐보단 뭘 보내느냐가 초점이 맞춰져있는듯 하다. 솔루션으로는 IBM MQ시리즈, BEA Message Q, J2EE의 JMS 등이 있으며 최근들어 비중이 조금씩 높아지는 추세이다.

EDW(Enterprise Data Warehouse)
- warehouse 란 단어가 창고라는 의미를 가진 것과 같이 EDW 는 데이터의 창고라 할 수 있다. 단순하게 자료를 담는 DB의 레벨을 넘어 유효성있는 정보로 가공하기 위한 또는 가공된 정보가 저장된 공간 및 처리하기 위한 기반 시스템을 말한다.
흔히 원장이라고 불리는 애들은 OLTP성으로 실시간으로 데이터가 저장이 되며 EDW에서는 이렇게 실시간으로 쌓인 정보들을 분석, 가공하여 이를 이용자에게 제공한다. 
CCF(Computer to Computer Facility)
- 말 그대로하면 컴퓨터간의 시설? 설비? 정도로 해석할 수 있는데 간단히 말하면 프로토콜의 한 종류? 아니면 특정업무를 위한 전문집합(message set)로 보면 된다. CCF라는 용어를 쓰는데는 우리나라에서는 예탁결제원, 구글을 뒤져봐도 미국의 예탁기관인 DTC. 이 정도 기관에서만 사용하는 듯 하다.(더 찾아보면 나오겠지만)

ETL(extract, transform, load)
ODS(Operational Data Store)
OLTP OLSP
업무 아키텍처(BA)
데이터 아키텍처(DA)
응용 아키텍처(AA)
기술 아키텍처(TA)
보안 아키텍처(SA)
SRDF(Symmetrix Remote Data Facility)
WBS
BRD : Business Requirement Definition (Document)
  요건정의서. 현업이 작성하고 SI 업체에 넘겨준다.
FS : Funtional Specifications
  기능설계서. 개발에 관련한 각종 문서. DB설계서등을 포함하기도 하며, 개발 완료시점의 예상 화면덤프등을 포함하기도 한다.
SIT : System Interstration Test
  코딩 및 테스트를 포함한 개발 과정을 포함한다.
UAT : User Acceptance Test
  실제 오픈 전 테스트.
MQC : Mecury Quaility Center ( = T/D : Test Direction )
  테스트툴 또는 전체 page 오류구간 정리 검사 (툴을 이용하기도 함) 등을 통해서 최종 품질 검사 작업. (PMO조직의) 비니지스 담당자들이 작업한다.

출처: http://plustag.tistory.com/47 [자료창고]