응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 하드웨어 및 소프트웨어 장비를 구축하는 것
하드웨어와 소프트웨어의 성능, 편의성, 라이선스 등의 비즈니스 환경에 적합한 제품들을 최종 결정하여 구축
사용자와의 인터페이스 역할을 하는 클라이언트와 클라이언트와 통신하여 서비스를 제공하는 서버로 구성됨
클라이언트 : PC, 스마트 폰 등
서버 : 웹 서버, 웹 애플리케이션 서버 WAS, 데이터베이스 서버, 파일 서버 등
Web Server : 클라이언트로부터 직접 요청받아 처리하는 서버로, 저용량의 정적 파일들을 제공 … Apache HTTP Server, Microsoft Internet Service, Google Web Server 등
WAS Web Application Server : 정적인 콘텐츠를 처리하는 웹 서버 Web Server와 반대됨 : 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어(=소프트웨어) : 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공 … Apache Tomcat, IBM WebSphere, Oracle WebLogic, JEUS, JBoss, Jetty, Resin 등
데이터베이스 서버 Database Server : 데이터베이스와 이를 관리하는 DBMS를 운영하는 서버 … MySQL Server, IBM WebSphere, Oracle WebLogic 등
파일 서버 File Server : 데이터베이스에 저장하기에는 비효율적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버 … AWS S3 등
기능 | 설명 |
---|---|
HTTP/HTTPS 지원 | 브라우저로부터 요청을 받아 응답할 때 사용되는 프로토콜 |
통신 기록 Communication Log | 처리한 요청들을 로그 파일로 기록하는 기능 |
정적 파일 관리 Managing Static Files | HTML, CSS, 이미지 등의 정적 파일들을 저장하고 관리하는 기능 |
대역폭 제한 Bandwidth Throttling | 네트워크 트래픽의 포화 방지를 위해 응답 속도를 제한하는 기능 |
가상 호스팅 Virtual Hosting | 하나의 서버로 여러 개의 도메인 이름을 연결하는 기능 |
인증 Authentication | 사용자가 합법적인 사용자인지를 확인하는 기능 |
클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성
시스템 소프트웨어 : 운영체제 OS, 웹 서버 및 WAS 운용을 위한 서버 프로그램, DBMS
개발 소프트웨어 : 요구사항 관리 도구, 설계/모델링 도구, 빌드 및 구현 도구, 테스트 도구, 형상관리 도구