서버프로그램구현
Framework 프레임워크의 개념
- 사전적으로 뼈대, 골조를 의미하며 소프트웨어에서는 특정 기능을 수행하기 위해 필요한 클래스나 인터페이스 등을 모다운 집합체
프레임워크의 특징
- Modularity 모듈화
- 캡슐화를 통해 모듈화를 강화하고 설계와 구현의 변경에 따른 영향을 최소화하여 소프트웨어의 품질을 향상시킴
- Reusability 재사용성
- 재사용 가능한 모듈들을 제공함으로써 개발자의 생산성을 향상시킴
- Extensibility 확장성
- 프레임워크는 다형성을 통해 인터페이스의 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능함
- Inversion of Control 제어의 흐름
- 프레임워크 코드가 전체 애플리케이션의 처리 흐름을 제어하여 특정한 이벤트가 발생할 때 다형성을 통해 애플리케이션의 확장한 메소드를 호출함으로써 제어가 프레임워크로부터 애플리케이션으로 거꾸로 흐르게 함
서버 개발 프레임워크
1. 서버 개발 프레임워크의 개념
- 서버 프로그램 개발 시 다양한 네트워크 설정, 요청 및 응답처리, 아키텍처 모델 구현등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어
- 서버 개발 프레임워크에 따라 지원하는 프로그래밍 언어가 제한적이므로 선정할 수 있는 프레임워크도 제한적
- 서버 개발 프레임워크의 대부분은
모델-뷰-컨트롤러
MVC패턴을 기반으로 개발됨
2. 서버 개발 프레임워크의 종류
- Spring
- JAVA를 기반으로 만들어진 프레임워크로, 전자정부 표준 프레임워크의 기반 기술로 사용되고 있음
- Node.js
- JavaScript를 기반으로 만들어진 프레임워크로, 비동기 입,출력 처리와 이벤트 위주의 높은 성능을 갖고 있어 실시간으로 입/출력이 빈번한 애플리케이션
- Django
- Python을 기반으로 만들어진 프레임워크로, 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원
- Ruby on Rails
- Ruby를 기반으로 만들어진 프레임워크로, 테스트를 위한 웹서버를 지원하며 데이터베이스 작업을 단순화, 자동화시켜 개발 코드의 길이가 짧아 신속한 개발이 가능