개발 기술 환경 정의

운영체제란?
- 하드웨어와 소프트웨어 리소스를 관리하고
- 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어
- Windows, UNIX, Linux, iOS, Android
운영체제 관련 고려 사항

신뢰도 : 장기간 시스템을 운영할 때 운영체제 고유의 장애 발생 가능성
성능 : 대규모 동시 사용자 요청 처리
기술지원 : 안정적인 기술 지원, 다수의 사용자들 간의 정보 공유
주변기기 : 설치 가능한 하드웨어, 다수의 주변 기기 지원 여부
구축비용 : 유지 및 관리 비용
DBMS 관련 고려 사항
- 사용자, 다른 애플리케이션, 데이터베이스와 상호작용하여
- 데이터를 저장하고 분석하기 위한 소프트웨어 애플리케이션
- 데이터베이스 생성, 조회, 변경 등의 관리가 주요 기능
- Oracle, IBM, DB2, Microsoft SQL Server, SQLite, MongoDB, Redis
DBMS 관련 고려 사항

가용성 : 장기간 시스템을 운영할 때 고유의 장애 발생 가능성
성능 : 대규모 데이터 처리 성능
기술지원 : 안정적인 기술 지원, 다수의 사용자들 간의 정보 공유
상호호환성 : 설치 가능한 운영체제 종류
구축비용 : 유지 및 관리 비용
DPMS 관련 고려사항
- 운영체제와 소프트웨어 애플리케이션 사이에 위치
- 소프트웨어 애플리케이션에 운영체제가 제공하는 서비스를 추가 및 확장하여 재공하는 컴퓨터 소프트웨어
미들웨어의 종류
- RPC(Remote Procedure Call) - 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템
- MOM(Message Oriented Middleware) - 분산 응용 프로그램 간에 메시지를 보내고 받으면서 데이터를 전달하고 교환할
수 있게 해 주는 미들웨어
- ORB(Object Request Brocker) - 객체 지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원하는 미들웨어.
- DB 접속 미들웨어 - 애플리케이션과 데이터베이스 서버를 연결해주는 미들웨어
- TP 모니터 (Transaction Processing(TP) monitor) - 분산 시스템의 애플리케이션을 지원하는 미들웨어. 트랜잭션 처리
를 감시/제어
- 웹 애플리케이션 서버(Web Application Server) - 웹 애플리케이션을 지원하는 미들웨어
미들웨어 관련 고려 사항

가용성 : 장기간 시스템을 운영할 때 고유의 장애 발생 가능성
성능 : 대규모 거래 요청 처리 성능
기술지원 : 안정적인 기술 지원, 다수의 사용자들 간의 정보 공유
구축비용 : 유지 및 관리 비용
오픈소스란?
- 소스 코드를 공개해 누구나 특별한 제한 없이 그 코드를 보고 사용할 수 있는
- 오픈소스 라이선스를 만족하는 소프트웨어
오픈소스 관련 고려 사항

1. 기술 환경 정의를 위한 자료 수집
온라인 트랜잭션 처리(OLTP : Online Transaction Processing)를 위한 기초 자료 조사 항목
| 항목 | 설명 |
| 시스템 구축 형태 | 단독 시스템(Single System), 고가용성 시스템(HA System), 병렬 구성 여부 |
| 사용자 수 | 전체 사용자 수, 동시 사용자 비율, 동시 사용자당 평균 질의 수(1일), 가동 시간 중 피크타임의 시간 |
| 트랜잭션 수 | 연간 트랜잭션 수, 1일 평균 트랜잭션 수, 피크타임 트랜잭션 수, 예상 연간 트랜잭션 중가율 |
| 온라인 업무 | 검색, 갱신, 삽입, 삭제 별 레코드 크기 및 전체 건수 |
| 배치 업무 | 온라인 업무에 대한 배치 업무 비중, 배치 업무 구분, 대랭 배치 기준으로 데이터 건수 및 길이 |
| 데이터베이스 | 데이터 크기(초기, 1년차, 2년차, 3년차 및 이후 데이터 중가율), 데이터 중 이미지, 사운드 |
| 데이터 백업 | 데이터 백업, 데이터 백업 서버의 운영 여부, 백업 장치의 접속 패턴, 백업 데이터의 양 |
| 운영 시간 | 운영 시간 7x24 여부 |
2. 조사자료 분석 및 개발 환경 결정
| 구분 | 내용 |
| 운영체제 | 리눅스(Linux) : 비용 저렴, 유지 관리를 위한 기술 인력을 보유 필요 유닉스(UNIX) : 안정적, 대량의 처리 가능, 기술 자원이 용이, 높은 비용 윈도즈(Windows) : 유지 관리 기술 인력 확보가 용이 유닉스(UNIX)에 비해 상대적으로 비용이 저렴 대용량 처리 서버에 설치 불가능 |
| DBMS | 상용 DBMS : 안정적, 뛰어난 확장성, 기술 지원을 받기 용이, 높은 비용 오픈 소스 DBMS : 비용 저렴, 관련된 기술력을 자체적으로 확보 해야 함 |
| 웹 애플리케이션 서버 |
개발용과 운영용 개발용은 가볍고, 빠른 오픈소스 웹 애플리케이션 서버(WAS)를 선택하여 사용 상용 웹 애플리케이션 서버(WAS) : 안정적, 대량 처리가 검증됨. 기술지원 받기 용이 오픈 소스 웹 애플리케이션 서버(WAS) : 일반적으로 널리 사용하는 웹 애플리케이션 서버(WAS) |
조사한 자료를 이용하여 시스템 용량을 산정한다.
수집 및 분석된 온라인 트랜잭션 처리(OLTP : Online Transaction Processing), WEB/WAS 기초 조사 항목의 값을 이용하여 CPU, 메모리, 디스크 용량을 계산합니다.
개발 기술 환경 요구사항 파악
1. 기술 환경 정의를 위한 관련 자료를 수집합니다.
- 시스템 구축 형태, 사용자 수, 트랜잭션 수, 온라인 업무
2. 조사 자료 분석 및 개발 기술 환경을 결정합니다.
3. 요구사항 정의서, 목표 시스템 구성도에 반영한 후 검토합니다.