Server Side 개발 언어 - JSP , ASP , PHP

Posted by oimb
2018. 7. 30. 14:27 JSP


오늘은 JSP ASP PHP 에 대해서 소개하고자 한다. 

다만 이 글을 쓰기에 앞서 , 앞으로 소개할 장점 단점은 일반적인 것이지 절대적인것이 아님을 말씀 드리고 싶다. 


웹을 개발 할 때 가장 초기에 작성하는 HTML 과 CSS는 단순하게 정적으로 페이지를 보여주는 역할 밖에 못한다.

이러한 정적인 웹을 동적으로 만들어 주는것이 바로 오늘 소개할 웹 언어이다.


위 세가지 언어를 공부하기전에 무엇이 좋지? 라는 고민을 하게 된다. 

하지만 공부하다 보면 알겠지만 무엇이 좋지? 라는 고민은 쓸데없는 고민이라는 사실을 알게 된다.



1.JSP


출처 - 위키

JSP 먼저 소개를 하자면 JAVA를 기반으로 하는 언어이며 객체지향적 성격을 가지고 있다. 그래서 배우기에는 다른 언어에 비해 어려울 수 있다고 한다.

OS 환경은 윈도우와 리눅스 환경에서 사용 가능 하며  WAS의 경우 톰캣 JEUS 등을 사용한다.

DB 환경의 경우 MYSQL , MSSQL , ORACLE 이 가능하다.  썬마이크로 시스템즈에 의해 배포되었으며 이후 ORACLE이 인수 하였다.

속도는 느린편에 속하다고 하는데 , 트래픽이 과다한 상태에서도 일정한 속도를 내므로 느리다고만은 할수 없을것 같다.

추가로 JSP의 컴파일 과정을 지난번에 간단하게 설명한 적이 있는데(http://history1994.tistory.com/7?category=670131) 추가적인 설명은 (참고)로 추가하겠다


2. ASP

ASP에 대한 이미지 검색결과

ASP는 베이직을 기반으로 하는 웹언어이다. MS에서 개발 하였으며 배우기 쉽고 적용하기도 쉽다고 한다.

OS 환경은 WINDOWS. 그리고 WAS는 IIS , DB환경에는 MSSQL을 사용한다는 점이 있다.

나는 ASP를 접하지 못해 이를 제대로 설명하지 못할 수도 있지만 여러 자료들을 찾아보며 느낀점은 "폐쇄적"이라는 표현을 많은 사람들이 느끼고 있다는 점이다.

이는 OS 환경이 WINDOWS 에서만 돌아간다는 점 때문인것 같다. 물론 이러한 점도 asp.net에서는 여러가지 이슈가 해결 되었다고 한다.

그리고 진입장벽이 낮다는 장점도 있다고 한다. 제공하는 컴포넌트와 툴이 다양하기 떄문이라고하는데 또 이러한 점소규모 사이트에는 적합하지 않다고 한다. 또 알수없는 에러가 가끔 떠서 대규모 프로젝트에서는 기피한다고 한다.



3. PHP

관련 이미지

PHP는 C를 기반으로 하는 웹언어 이다. 이 점이 곧 장점이다.

OS는 리눅스와 윈도우환경에서 가능하며 WAS는 아파치 , DB는 MYSQL , MSSQL , ORACLE을 사용한다. 그리고 기업이 아닌 라스무스 러도프라는 사람이 고안했고 개인 홈페이지를 좀더 쉽게 만들기위한 가벼운 툴에서 시작되었다.

php는 진입 장벽이 낮고 오픈소스이기 때문에 개발 속도가 빠르다고 한다. 다만 대규모 서비스에서는 불안정한 모습을 보인다고 한다.





세 가지 언어에 대해서 간단하게 알아봤다. 추가로 실무에서 많은 분들이 써보고 하시는 말씀을 덧 붙이자면


이 세가지 언어를 속도로 비교하는것은 옳지 못하다고 한다. 또 보안상 이슈 , 대용량 트래픽 이슈등 가지고도 세 언어를 나눌수는 없다고 한다.

다만 개발자의 익숙함과 하나의 비지니스 모델의 요구사황과 개발기간을 조금더 빠르게 완수 할수 있는 언어를 그때그때 맞게 선택해서 개발하는 것이 맞다고 하신다.

즉 학교에서 배우는 a는 b이다 같이 정의 해서는 안된다고 한다. 







.참고.)

JSP의 컴파일 과정을 지난번에 간단하게 설명한 적이 있는데(http://history1994.tistory.com/7?category=670131) 조금더 설명하자면


1. 클라이언트가 HTTP 프로토콜을 통해 서버에 특정 데이터를 요청하게된다.

2. 이 데이터가 JSP와 관련된 파일을 웹 컨테이너에 요청을 하게되고 

3. 웹 컨테이너는 이 JSP 파일을 .java 파일로 변환하게 된다.

4. 이후 .java 파일은 ,class(서블릿 클래스) 파일로 컴파일 하게 되고

5. 웹서버가 이를 받아 정적페이지(HTML)로 구성한후

6. 클라이언트에게 이 정보를 전달 한다.


이 댓글을 비밀 댓글로