728x90
하드웨어 환경
- 사용자와 인터페이스 역할을 하는 클라이언트, 클라이언트와 통신하여 서비스 제공하는 서버로 나뉨
- 클라이언트 : PC, 스마트폰
- 서버 : 웹 서버, 웹 애플리케이션 서버(WAS), 데이터베이스 서버, 파일 서버
- 웹 서버 : 클라이언트로부터 직접 요청을 받아 처리하는 서버, 정적 파일 제공(Apache HTTP Server, Google Web Server)
- 웹 애플리케이션 서버 : 사용자에게 동적 서비스 제공, 웹-데이터베이스, 웹-파일 서버 간 인터페이스 역할 (Apache Tomcat, WebSphere)
- 데이터베이스 서버 : 데이터베이스 관리, DBMS 운영(MySQL Server, Oracle Server)
- 파일 서버 : 서비스 제공을 목적으로 파일 저장하는 서버 (AWS 83)
소프트웨어 환경
- 클라이언트와 서버 운영을 위한 시스템 소프트웨어, 개발에 사용되는 개발 소프트웨어로 나뉨
- 시스템 소프트웨어 : OS, 웹 서버 및 WAS 운영을 위한 서버 프로그램, DBMS
- 개발 소프트웨어 : 요구사항 관리 도구, 설계/모델링 도구, 구현 도구, 빌드 도구, 테스트 도구, 형상 관리 도구
- 요구사항 관리 도구 : 요구사항 수집 분석, 추적(JIRA, IBM DOORS, Reqtify_
- 설계/모델링 도구 : UML을 지원, 개발에서 설계 및 모델링을 도와줌(DB Designer, PlantUML)
- 구현 도구 : 애플리케이션의 실제 구현 지원 SW(Eclipse, IntelliJ IDEA, Visual Studio)
- 빌드 도구 : 구현 도구를 통해 작성된 소스의 빌드 및 배포, 라이브러리 관리 지원 SW(Ant, Gradle, Maven, Jenkins)
- 테스트 도구 : 테스트하는 SW(CppUnit, JUnit, NUnit)
- 형상 관리 도구 : 버전별로 관리하여 품질 향상을 지원 SW(GIT, CVS, Subversion)
서버 개발
- 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 WAS에 탑재
- 각 프로그래밍 언어에는 서버 프로그램 개발을 위한 프레임워크가 존재
서버 개발 프레임워크
- 서버 프로그램 개발 시 다양한 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스, 인터페이스 제공 SW
- 대부분 MVC 패턴을 기반으로 개발
- Spring(JAVA 기반, 전자정부 표준 프레임워크의 기반 기술), Node.js(JavaScript 기반, 실시간 입출력에 사용), Django(Python 기반)
서버 프로그램 구현
- 응용 소프트웨어와 동일하게 모듈 및 공통 모듈 개발 후, 모듈을 통합하는 방식
- 결합도 약하게, 응집도 높게
- 공통 모듈(재사용 할 수 있는 모듈), 자주 사용하는 계산식, 사용자 인증에 사용
'자격증 > 정보처리기사' 카테고리의 다른 글
133. 변수(A) (0) | 2023.02.05 |
---|---|
130. 배치 프로그램(B) (0) | 2023.02.04 |
120. 쿼리 성능 최적화(C) (0) | 2023.02.04 |
114~116. 프로시저, 트리거, 사용자 함수(C) (0) | 2023.02.04 |
107~110. SQL의 개념 / DDL / DCL / DML(A) (0) | 2023.02.04 |