본문 바로가기

자격증/정보처리기사 3과목

3-8강. 응용 SW 기초 기술 활용-기본 개발환경 구축

[ 목차 ]

 

1. 웹서버

1) 브라우저의 요청을 받아 html 파일이나 이미지, 그림, 자바스크립트의 정적인 컨텐츠를 제공

2) 웹 브라우저와 같은 클라이언트로부터 HTTP요청을 받아들이고 html 문서와 같은 웹페이즈를 반환하는 컴퓨터 프로그램

3) 주된 기능은 웹 페이지를 클라이언트에게 전달하는 것(그림, css, 자바스크립트)

4) 주된 기능은 컨텐츠를 제공하는 것이지만 클라이언트로부터 컨텐츠로 전달 받는 것도 웹 서버의 기능에 속함(파일 업로드를 포함한 클라이언트에서 제출한 웹 폼을 수신하는 것)

동적 컨텐츠는 웹 애플리케이션서버(WAS)를 통해 제공

자바 스크립트
1) 웹을 풍부하게 만들어주는 작고 가벼운 언어
2) html이 큰 뼈대를 제공하며, css는 디자인 요소, 자바스크립트는 크로스 플랫폼(이기종), 객체지향 스크립트 언어로 웹페이지의 동작을 담당

2. 웹 서버 특징

1) 보통 대다수 웹 서버는 active server page(asp), php등의 서버 사이드 스크립트 언어를 지원

2) 서버 소프트웨어 변경 없이도 웹 서버가 수행할 동작을 분리된 서버 사이드 스크립트 언어에서 기술 할  수 있음

3) 보통 서버 사이드 스크립트 언얼르 통해 구혆되는 기능이랑 html 문서를 동적으로 생성하는 것

4) 정적컨텐츠는 동적컨텐츠(was)보다 빠르게 동작하고 쉽게 캐쉬 가능하지만 반환되는 컨텐츠의 내용이 항상 동일

asp : 서버 측에서 동적으로 처리되는 페이지를 만들기 위한 마이크로소포트사 언어
php : 리눅스 둥 다양한 운영체제에서 사용 가능한 스크립팅 언어

3. 웹서버의 기능

1) 요청한 페이지를 브라우저에게 등답

2) 브라우저와 웹서버 사이의 통신은 http를 통해 수행

3) 기능

  1] http

  2] 통신기록 : 처리 기능을 로그화시켜 추적성 보장

  3] 인증 : 허용된 사용자, 관리자를 위한 인증

  4] https 지원 : 보안이 강화된 버전으로 전자상거래에 사용

  5] 정적 컨텐츠 관리 : 동적보다 빠른 동작과 캐시에 사용되어 신속한 서비스 제공

  6] 가상 호스팅 : 하나의 서버에 여러 개의 도메인 이름을 호스팅

  7] 대역폭 스트롤링 : 대역폭을 제한해 과부하를 막아 QoS를 보장

 

4. 웹서버 종류

1) 아파치 웹 서버

  1] 아파치 

  2] OPEN-SSL, MOD-SSL을 설치해서 보안을 강화 할 수 있음 /

  3] 로컬호스트 내부 IP 환경에서 http://127.0.0.1로 초기 화면을 확인가능

  4] 웹 서버는 방화벽과 별개로 작동하여 방화벽에서 웹서버의 기본 포트 80번 등을 열어주지 않는 이상 외부에서 접속 불가

  5] 리눅스 운영체제, 아파치 웹 서버, 마이sql, php를 이용해 오픈소스로 서버를 운영하는 것을 LAMP라 지칭

2) IIS : 마이크로소프트

3) GWS : 구글

 

5. DB서버

1) 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합 서버

2) 논리적으로 연관된 하나 이상의 자료의 모음으로, 내용을 고도로 구조화해 검색과 갱신의 효율화를 꾀함

3)_ 항목의 중복을 제거하고 자료를 구조화해 기억시켜 놓은 자료의 집합체

 

6. MySQL DB 서버 구축

1) 다중 스레드, 다중 사용자 형식의 구조질의어 형식의 데이터 관리 시스템으로서 관리 및 지원

2) 구축과정

  1] 클라이언트가 sql서버에 요청

  2] 커넥션, 쓰레드가 클라이언트로부터의 접속 및 쿼리 요청을 처리(핸들링)

  3] 쿼리 캐시 : 자주 사용되는 쿼리의 성능을 증가

  4] 파스 : 쿼리 문장을 토큰으로 분리해 트리 형태의 구조로 제작

  5] 옵티마이저 : 쿼리를 최적으로 실행

  6] 스토리지 엔진 : 데이터 특성에 따라 스토리지 엔진을 설정 가능

      - MyISAM : mysql 기본 스토리지 엔진으로 트랜잭션 처리가 필요없고, 주로 db 조회 작업에 사용. 소규모 사이트 사용, 3개의 파일로 디스크에 저장

      - 이노db :  트랜잭션 처리가 필요하고 높은 퍼포먼스를 요구하는 대용량 사이트에 사용

      - memeory : 데이터는 오직 메모리 안에만 존재

3) 특징

  1] 다양한 운영체제에서 사용 가능

  2] 여러 프로그램밍 언어 지원(크로스 플랫폼)

  3] 빠르고 효과적 처리 가능

  4]  표준 sol 형식 사용

  5] tkdydwkdml dydehdp akwrp tnwjd rksmd

4) 기능

  1] 크로스 플랫폼 서포트 : 다양한 종류의 플랫폼 지원

  2] 인디펜던스 스토리지 엔진 : 독립적인 스토리지 엔진 사용

  3] 트랜스액션 : 이노db 또는 berkeley db 스토리지 엔진을 이용해 트랜잭션 지원

  4] 쿼리 캐싱 : 자ㅣ주 사용되는 쿼리의 성능 증가

  5] 레플리케이션 : 하나의 주 서버를 족제한 다수의 종속 서버를 구성해 빠른 성능을 가진 시스템을 구축

다중 스레드
1) 응용 프로그램 실행 시 동시에 다수의 처리를 병행하기 위해 여러 개의 처리 단위인 스레드를 생성하여 운영하는 방법

캐시 메모리
1) 주기억장치와 cpu 사이에 존재
2) cpu 속도와 메모리(주기억장치) 속도 차이를 줄이기 위해 사용하는 고속 버퍼(임시기억장치)

7. 마리아db 서버 구축

1) 오픈 소스의 관계형 데이터베이스 관리 시스템(rdbms)

2) mysql과 같이 오픈소스코드 기반

3) GPL v2 라이센스를 따름

4) 데이터와 테이블 정의 파일(.frm) 파일이 바이너리 호환 가능

5) 모든 mysql 커넥터가 마리아db와 동일한 환경으로 작동

6) 기능

  1] 쓰레드풀 기능 : 자동으로 쓰레드의 개수를 조절하고 쓰레드를 자체 관리하여 비용을 낮춤

  2] 샤딩 기술 제공

  3] 가상칼럼

  4] 멀티소스 리플리케이션 : 하나의 서버가 여러대의 마스터를 가지고 레플리케이션으로 연결되어 있는 구조

  5] show explain

 

8. 패키지

1) 패키지 방식 개발을 여러 성공하여 개발된 제품을 이용해 시스템을 구축하는 방식

2) 사용자의 요구사항 70% 이상을 충족시키는 제품이 있을 경우 패키지sw 방식이 적합

3) 기존 레거시 시스템이 있을 경우 상호연동, 시스템과의 연계를 고민

4) 패키지를 통한 응용시스템 개발은 패키지 커스터마이징 방법론에 따라 진행(고객 요구에 맞춤제작)

5) 장점

  1] 기존에 필요한 기능이 사전에 모두 제공되어 표준으로 정착된 비즈니스 프로세스 적용 가능

  2] 품질이 검증된 우수 sw 사용으로 안정적 시스템 구축

  3] 전문업체의 지속적 업그레이드로 최신의 제품 기능 사용

  4] 개발 기간의 단축과 비용절감, 대량생산

  5] 패키지 sw 개발업체에서 관리가 용이

6) 단점

  1] 요구사항을 패키지sw가 모두 수용하지 않아 고객 요구사항 대처가 어려움

  2] 사용자의 업무프로세스를 패키지sw의 업무프로세스에 맞춰야 할 경우 프로세스 개선의 저항 발생 가능성

  3] 고객 요구사항이 까다롭거나 특수조건일 경우 buy&build 형식으로 구축할 수도 있음

7) 구축절차

  1] 준비

      - 커스터마이징 개발 계획 수립

      - 커스터마이징 요구사항 정의

      - wbs(세부작업계획) 수립

      - 요구사항 추적 및 검사기준서 작성

  2] 개발

      - 패키지를 요구사항에 맞게 커스터마이징 수행

      - 커스타미이징 개발을 위해 개발 단위별 단계적 개발 방법 적용

      - 각 개발 단위에서의 개발이 완료되면 고객의 검수담담과 공식적 통합테스트 진행

      - 사용자/운영자 매뉴얼 작성 및 패키지 전개계획 수립

  3] 전개

      - 커스터마이징된 패키지를 운영 환경에 전개

      - 사용자 승인 테스트를 준비 및 시정요구사항 조치

      - 유지보수지침서 작성

      - 프로젝트 종료를 위한 개발완료보고서 작성