728x90
반응형

1. 서버에서의 자바의 장점

 

 

 

우리가 Desktop에서 웹 브라우저를 이용해 접속한 서버의 모습을 표현한 그림입니다.

서버가 우리에게 보여주는 View는 Hello.html로 정적인 Text형식으로 우리에게 Data를 제공해 줍니다. 이 때 HTML파일 제공에 도움을 주는 도구들을 나열하자면 CSS, Java Script, Xml이 있습니다.

View에 대한 이야기는 이 정도로만 하고 전 포스팅에 언급한 자바가 서버에서 사용될 경우의 이점에 대해서 설명하겠습니다.

 

첫 번째로 Web Server에서 효율적으로 자원을 공유하기 어렵습니다. 절차를 지향하는 언어의 경우 Process / Request 의 작업이 순차적으로 진행되기 때문에 스레드를 지원받지 않는 이상 웹에서는 사용할 수 없게 됩니다. 하지만 대부분의 언어들이 스레드로 바꿔서 코딩을 하기 떄문에 OS와 하드웨어를 제어하는 API를 제공합니다. Nescape사에서는 NSAPI, Micorosoft사의 제공하는 인터넷 정보서비스인 IIS는 ISAPI를 제공하는 등 첫 번째 문제는 쉽게 해결 할 수 있습니다. 

 

두 번째 문제는 플렛폼에 대한 dependent입니다. 즉, JRE (Java Runtime Enviroment)를 제공하는 자바와는 달리 OS별로 다른 방식의 코딩이 필요하며 프로그래머가 수행할 업무는 과중됩니다.

Java의 경우 Write Once, Run Anywhere가 가능하기 때문에 JRE와 JVM이 있다면 한번 코딩한 프로그램은 어디서든지 사용할 수 있습니다. 또한 다음에 언급할 HTML파일을 Control하기위한 Suvlet을 지원하기 때문에 Platform에대한 independent를 실현할 수 있습니다. 

 

JAVA EE와 JAVA SE를 기반으로 다른언어와 달리 재사용과 이식성이 수월한 객체지향언어인 Java는 CGI에 간편한 언어라고 말할 수 있습니다. 다은편에서는 서버에서 자바가 동작하는 원리와 그와 연관되는 어려가지 용어에 대해서 설명 하겠습니다.

 

 

 

 

 

 

 

2. Web Server의 구조

 

 

 

 평균적으로 저의 경우 하루에도 여러사이트에 10번 정도 로그인과 로그아웃을 반복합니다. 이러한 작업을 반복적으로 하는것은 자바에 큰 장점이 있습니다. Java는 Sublet이라는 Controller를 사용하는데 그림으로 표현하면 다음과 같습니다.

 

 

 

 제가 로그인과 로그아웃을 하는작업을 서버로 Request한다고 말합니다. 그러면 Suvlet이라는 Controller에서 Java EE, Java SE를 통하여 서버, DBMS와 통신을 하여 Biz가 우리의 명령을 수행하게 됩니다. 이 후 그 결과를 HTML과 JSP를 통하여 우리에게 보여지게 됩니다.

이러한 모델을 우리는 MVC 2 Architecture 라고 합니다. 이것을 그림으로 표현하면 다음과 같습니다.

 

 

 

 

 

웹 서버에서 Request를 받아 Processing 되기전 서버의 형태이며 이런 모델이 어떤 형식으로 서버와 통신을 하며 Controller와 웹어플리케이션의 관계, 자바가 어떻게 웹 서버에 Web Application과 연동이 되고 Biz가 하는일은 어떤 것들이 있는지 다음편에서 알아보도록 하겠습니다.

 


 

 

728x90
반응형

+ Recent posts