1. 서버 개발의 개요
- 웹 패을리케이션의 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버 WAS에 탑재하는 것
- 웹 애플리케이션 서버에 구현된 서버 프로그램은 웹 서버로부터 받은 요청을 처리하여 결과를 반환하는 역할
- 서버 개발에 사용되는 프로그래밍 언어 : Java, JavaScript, Python, PHP, Ruby 등
2. 서버 개발 프레임워크
- 서버 프로그램 개발 시 다양한 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어
- 서버 개발 프레임워크에 따라 지원하는 프로그래밍 언어가 제한적이므로 선정할 수 있는 프레임워크도 제한적
- 프레임워크 Framework : 특정 기능을 수행하기 위해 필요한 클래스나 인터페이스 등을 모아둔 집합체
- 대부분이 모델-뷰-컨트롤러 MVC 패턴을 기반으로 개발
- 모델-뷰-컨트롤러 MVC : 시스템을 세부분으로 분리하여 서로 영향을 받지 않고 개발할 수 있는 아키텍처 패턴
- 서버 개발 프레임워크의 종류
- Spring : JAVA를 기반으로 만들어진 프레임워크, 전자정부 표준 프레임워크의 기반 기술
- Node.js : JavaScript를 기반으로 만들어진 프레임워크, 비동기 입출력 처리와 이벤트 위주의 높은 처리 성능을 갖고 있어 실시간으로 입출력이 빈번한 애플리케이션에 적합
- Django : Python을 기반으로 만들어진 프레임워크, 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원
- 플러그인화 : 재사용과 비슷한 의미로 전원 플러그처럼 마음대로 꼈다 뺏다할 수 있다는 것
- Codeigniter : PHP를 기반으로 만들어진 프레임워크, 인터페이스가 간편하여 서버 자원을 적게 사용
- Ruby on Rails : Ruby를 기반으로 만들어진 프레임워크, 테스트를 위한 웹서버를 지원하여 데이터베이스 작업을 단순화, 자동화시켜 개발 코드의 길이가 짧아 신속한 개발이 가능
3. 서버 프로그램 구현
- 응용 소프트웨어와 동일하게 모듈 및 공통 모듈을 갭라한 후 모듈을 통합하는 방식으로 구현
- 모듈 : 모듈화를 통해 분리된 시스템의 각 기능, 서브 루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미
- 루틴 Routine : 기능을 가진 명령들의 모임
- 메인 루틴 Main Routine : 프로그램 실행의 큰 줄기가 되는 것
- 서브 루틴 Subroutine : 메인 루틴에 의해 필요할 때마다 호출되는 루틴
- 모듈 개살 시 기능적 독립성을 고려하여 다른 모듈과의 과도한 상호작용을 배제함으로써 특정 모듈의 수정이 다른 모듈들에게 영향을 미치지 않아야 함
- 모듈의 독립성 : 결합도와 응집도에 의해 측정되며, 독립성을 높이려면 모듈의 결합도를 약하게 하고 응집도를 강하게 하며 모듈의 크기를 작게 만들어야 함
- 결합도 Coupling : 모듈 간에 상호 의존하는 정도, 두 모듈 사이의 연관 관계
- 응집도 Cohesion : 정보 은닉 개념을 확장한 것, 명령어나 호출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정도, 모듈이 독립적인 기능으로 정의되어 있는 정도
- 공통 모듈 : 여러 프로그램에서 재사용할 수 있는 모듈, 자주 사용되는 계산식이나 매번 필요한 사용자 인증 같은 기능들이 공통 모듈로 구성될 수 있음
- 재사용 Reuse : 이미 개발된 기능들을 파악하고 재구성하여 새로운 시스템 또는 기능 개발에 사용하기 적합하도록 최적화시키는 작업
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 서버 프로그램 구현 - 096. 배치 프로그램 (0) | 2025.02.18 |
---|---|
[정보처리기사 필기] 서버 프로그램 구현 - 095. 보안 및 API (0) | 2025.02.18 |
[정보처리기사 필기] 데이터 전환 - 093. 오류 데이터 측정 및 정제 (0) | 2025.02.17 |
[정보처리기사 필기] 데이터 전환 - 092. 데이터 검증 (0) | 2025.02.17 |
[정보처리기사 필기] 데이터 전환 - 091. 데이터 전환 방안 (0) | 2025.02.17 |