반응형
개발환경 구축
1. 하드웨어 환경
사용자와의 인터페이스 역할을 하는 클라이언트(Client) 그리고 클라이언트와 통신하여 서비스를 제공하는 서버(Server)로 구성된다.
- 클라이언트는 PC, 스마트폰등
- 서버는 사용목적에 따라 나뉨
- 웹 서버(Web Server) : 클라이언트로 부터 직접 요청받아 처리하는 서버로, 저용량의 정적 파일 제공
- 웹 애플리케이션 서버(WAS; Web Application Server) : 사용자에게 동적 서비스를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 가공 작업을 수행하거나, 웹 서버와 데이터베이스 서버 또는 파일 서버 사이에서 인터페이스 제공
- 데이터베이스 서버(DataBase Server) : 데이터베이스와 이를 관리하는 DBMS 운영하는 서버
- 파일 서버(File Server) : 데이터베이스에 저장하기에는 비효율 적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버
정적 파일(Static File) : 별도의 처리과정 없이 사용자에게 바로 보여지는 파일로, CCS, HTML, 이미지 등
2. 소프트웨어 환경
클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성된다.
- 시스템 소프트웨어에는 운영체제(OS), 웹 서버 및 WAS 운용을 위한 서버 프로그램, DBMS등이 있다.
- 개발 소프트웨어
- 요구사항 관리 도구 : 요구사항 수집, 분석, 추적 도와주는 도구
- 설계/모델링 도구 : UML지원, 개발 전과정에서 설계 및 모델링 도와주는 언어
- 구현 도구 : 개발 언어 통해 애플리케이션 실제 구현 지원하는 소프트웨어
- 빌드 도구 : 구현 도구를 통해 작성된 소스의 빌드 및 배포, 라이브러리를 지원하는 소프트웨어
- 테스트 도구 : 모듈들이 요구사항에 적합하게 구현되었는지 테스트하는 소프트웨어
- 형상 관리 도구 : 산출물들을 버전별로 관리하여 품질 향상을 지원하는 소프트웨어
서버 개발
웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버(WAS)에 탑재하는 것을 의미
1. 서버 개발 프레임워크
프레임워크 | 특징 |
Spring | JAVA를 기반으로 만들어진 프레임워크로, 전자정부 표준 프레임워크의 기반 기술로 사용 |
Node.js | JavaScript를 기반으로 만들어진 프레임워크로, 비동기 입/출력 처리와 이벤트 위주의 높은 처리성능을 갖고있어 실시간으로 입/출력이 빈번한 애플리케이션에 적합하다. |
Django | Python을 기반으로 만들어진 프레임워크로, 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원한다. |
Codeigniter | PHP를 기반으로 만들어진 프레임워크로, 인터페이스가 간편하며 서버 자원을 적게 사용한다. |
Ruby on Rails | Ruby를 기반으로 만들어진 프레임워크로, 테스트를 위한 웹 서버를 지원하며 데이터베이스 작업을 단순화, 자동화 시켜 개발 코드의 길이가 짧아 신속한 개발이 가능하다. |
2. 서버 프로그램 구현
응용 소프트웨어와 동일하게 모듈 및 공통 모듈 개발한 후, 모듈 통합하는 방식으로 구현
모듈, 공통모듈 알아보기
배치 프로그램
1. 개요
사용자와 상호작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것
- 정기 배치 : 일, 주, 월과 같이 정해진 기간에 정기적으로 수행
- 이벤트성 배치 : 특정 조건을 설정해두고 조건이 충족될 때만 수행
- On-Demand 배치 : 사용자 요청시 수행
배치 프로그램이 갖추어야할 필수 요소
대용량 데이터 | 대량 데이터 가져오거나, 전달, 처리 가능해야함 |
자동화 | 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입없이 수행되어야한다. |
견고성 | 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행되어야 한다. |
안정성 / 신뢰성 | 오류가 발생하면 오류의 발생위치, 시간등을 추적할 수 있어야한다. |
성능 | 다른 응용 프로그램의 수행을 방해하지 않아야 하고, 지정된 시간내에 처리가 완료되어야한다. |
2. 배치 스케줄러(Batch Scheduler)
일괄 처리(Batch Processing) 작업이 설정된 주기에 맞춰 자동으로 수행되도록 도와주는 도구이다.
- 배치 스케줄러는 특정업무를 원하는 시간에 처리할 수 있도록 도와주는 특성 때문에 잡 스케줄러(Job Scheduler) 라고도 불린다.
스프링 배치(Spring Batch)
- Spring Source 사와 Accenture 사가 2007년 공동 개발한 오픈 소스 프레임워크
- 스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능 모두 사용가능
- 데이터베이스나 파일 데이터 교환하는데 필요한 컴포넌트 제공
Job | 수행할 작업 정의 |
Job Launcher | 실행을 위한 인터페이스 |
Step | Job 처리를 위한 제어정보 |
Job Repository | Step 의 제어 정보를 포함하여 작업 실행을 위한 모든 정보 저장 |
Quartz
스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈소스 라이브러리
수행할 작업과 수행 시간 관리하는 요소 분리하여 일괄처리 작업에 유연성 제공
Scheduler | 실행 환경 관리 |
Job | 수행할 작업 정의 |
JobDetail | Job의 상세정보 |
Trigger | Job의 실행 스케줄 정의 |
출처
자료 참고:
시나공 정보처리기사 필기 2022를 참고하여 작성되었습니다
반응형
'정보처리기사 > 4과목' 카테고리의 다른 글
[정보처리기사 필기] TCP/IP 의 구조와 특성 (0) | 2022.02.24 |
---|---|
[정보처리기사 필기] 인터넷, OSI 참조모델 (0) | 2022.02.24 |
[정보처리기사 필기] 프로세스, 스케줄링 (0) | 2022.02.23 |
[정보처리기사 필기] 운영체제(OS; Operating System) (0) | 2022.02.23 |
[정보처리기사 필기] 프로그래밍 활용 - 데이터 타입, 변수, 연산자, 입/출력 (0) | 2022.02.22 |
댓글