posted by changhozz 2012. 8. 16. 18:13

어플리케이션의 동작원리

-. 어플리케이션이란 을 기반으로 실행되는 프로그램을 말한다.

-. 프로그래밍(Web Programming)을 한다는 것은 어플리케이션을 구현한다는 것을 의미한다.

어플리케이션의 동작 순서

① 사용자가 브라우저의 주소 란에 특정 사이트의 주소를 입력하게 되면 브라우저가 해당 서버에

홈페이지를 요청하는 것이 된다.

② 해당 서버에는 브라우저의 요청이 있을 경우 이를 받아들여 요청한 페이지를 응답할 책임을 지고 있다.

요청한 페이지는 서버에서 바로 공급되지 못하고 어플리케이션 서버(WAS : Web Application Server)에서

다양한 로직이나 데이터 베이스와의 연동을 통해서 완성되어야만 공급된다.

어플리케이션 서버(WAS)는 서버가 클라이언트에게 제공할 페이지를 완성하기 위해서 이에 필요한 로직이나

데이터베이스와의 연동과 데이터 처리를 담당한다.

④ 로직이나 데이터베이스 작업 처리 결과를 서버에게 보낸다.

서버는 이 결과를 클라이언트 측 브라우저에 응답하게 된다.

 

---------------------------------------------------------------------------------------------------------

어플리케이션(WAS : Web Application Server)이란 ? (스피어, 로직, 아이플리넷, 제우스..)

을 기반으로 실행되는 프로그램

프로그래밍이란?(JSP, PHP, APS)

클라이언트 요청하게 되면 서버가 이를 처리한 후 결과를클라이언트에게 응답.. 동적으로 변화하는 데이터를 처리하는 역할.

이 둘의 관계는 프로그래밍을 통한 어플리케이션의 구현

<< 어플리케이션의 구조>>

1. 브라우저가 서버에 어떠한 페이지를 요청하게 되면

2. 해당 서버는 브라우저의 요청을 받아서 요청된 페이지의 로직 및 데이터베이스와의 연동을 위해 어플리케이션 서버에 이들의 처리를 요청

3. 어플리케이션 서버는 데이터베이스와의 연동이 필요하면 데이터베이스와 데이터의 처리를 수행한다.

4. 로직 및 데이터베이스 작업의 처리결과를 서버에 돌려보낸다.

5. 서버는 결과를 다시 브라우저에 응답하게 된다!!

<< 어플리케이션의 구성요소 >>

- 브라우저 : 에서 클라이언트이며, 사용자의 작업창이라 할 수 있다. 즉 사용자에게 보여지는 화면(유저 인터페이스 :UI)

- 서버 : 브라우저의 요청을 받아들이는 곳으로 작업의 결과를 브라우저에게 응답을 하는 곳이다. 브라우저의 요청을 받아서 알맞은 결과를 브라우저에 전송한다. 만약 프로그램 처리가 필요하다면 어플리케이션 서버를 사용하거나 프로그램을 직접 호출하여 결과를 생성한다.

요청된 페이지의 로직 및 데이터베이스와의 연동을 위해 어플리케이션 서버에 이들의 처리를 요청하는 작업을 수행한다.

- 어플리케이션 서버(WAS) : 요청된 페이지의 로직 및 데이터베이스와 연동을 처리하는 부분.. 게시판의 글 목록, 고르인 처리와 같은 기능을 처리하고 그 결과를 서버에 전달한다.! ex) 로직, 스피어, 제우스...

- 데이터베이스 : 데이터의 저장소로 에서 발생한 데이터는 모두 이곳에 저장된다.(사이트의 정보를 저장) ex) 게시판의 글, 회원정보 등

<< 어플리케이션 서버 방식>>
CGI방식과 비교하면 쉽게 이해할 수 있다. CGI방식과 어플리케이션 서버방식을 비교해서 설명해 보자.
두 서버방식의 기본 구조는 같지만

서버가 어떤 방식으로 사용하는가의 차이가 있다.

(1)CGI 방식(실행코드 방식) :
- 서버가 어플리케이션 프로그램을 직접 호출하는 구조
즉, 한 요청에 대해 한 프로세스가 생성 되어 요청을 처리한뒤 종료된다.
따라서 시스템에 많은 부하를 가져온다.

* 프로세스 : 메모리 할당을 받은 프로그램으로 실행중인 프로그램을 의미한다.

(2) 어플리케이션 서버 방식(스크립트 코드 방식) :
서버가 어플리케이션 서버에게 처리를 넘겨주고 어플리케이션 서버가 어플리케이션 프로그램을 처리한다.
한 클라이언트 당 1개의 프로세스만을 할당 하고 사용자의 요청을 쓰레드 방식으로 처리.

* 쓰레드 : 프로세스 내의 명령을 블록으로 프로세스 내에 존재.
쓰레드는 메모리를 따로 할당받지 않는다.
하나의 프로세스를 여러개의 쓰레드로 나누어 동시에 처리하는 것을 다중 쓰레디ㅇ이라 한다.
메모리를 점유하지 않으면서 프로그램 수행 속도를 향상시킨다.


<< 어플리케이션의 구현 방식>>
- 클라이언트 사이드 스크립트(Client Side Script) : 클라이언트 쪽에서 처리
ex) JavaScript, VBScript

- 서버 사이드 스크립트(Server Side Script) : 서버에서 처리
ex) ASP, JSP : PHP

1) 실행코드방식 :

미리 컴파일된 실행 프로그램을 사용자의 요청에 따라 실행.
2) 스크립트 코드 방식 :

사용자의 요청이 있을 때 스크립트 코드를 번역해서 번역된 코드를 실행.
스크립트 코드 방식을 사용하는 스크립트 언어를 사용하는 것이 쉽고 빨르게 어플리케이션을 구현할수 있다.


 

'JSP > JSP 정리' 카테고리의 다른 글

DB정리!!!  (0) 2012.09.26
JSP 수업.  (0) 2012.09.25
Chpater 1. 웹 프로그래밍 기초.  (0) 2012.08.16
웹 서버란  (0) 2012.08.16
JSP란 무엇인가.  (0) 2012.08.16