본문 바로가기

Miscellaneous

ASP/JSP/PHP 무엇이며 차이!

서론


일반 HTML인 경우에는 단순히 보여주는 역할밖에는 못한다.
만약 관리자가 TABLE을 만들었다면 이 TABLE은 어느 누구가 보든지 간에 똑같은 모양으로밖엔 볼 수 없는 것!
하지만 이런 웹 언어들은 동적으로 보여줄 수 있다는 것이다.

이런 웹 언어들은 그 자체 만으로도 사용할 수 있지만 MSSQL이나 MySQL 같은 DATABASE와 연동해서 쓴다면 더더욱 다양하게 활용할 수 있게 되는 것이다. 회원 정보를 DB에 넣어두고 회원이 로그인을 한다면 이 디비에서 회원정보를 가져와서 HTML로 가공을 할 수 있게 한다.

간단하게 예를 들면

DB-----------------> ASP, JSP, PHP -----------------> HTML 요런 식~!

ASP는 IIS라는 웹서버에서 동작하는 언어이며 비베스크립트라고 불린다.
PHP는 APACHE 혹은  PHP용 웹서버가 있는 웹서버에서 동작하는 언어. 가볍다 빠르다.(IIS에서도 돌릴 수 있다.)
JSP는 자바에서 나온 웹 언어. 자바용 서버인  TOMCAT이나 RESIN, JSERV에서 돌릴 수 있다.


*APACHE : 공개용 웹서버, 작고 빠르기 때문에 중소형 웹서버에 많이 쓰인다. APCHE는 보통 리눅스에 많이 설치한다.
(무료인 데다가 안정성 또한 우수하기 때문이지~)


JSP(JavaServer Pages)란 무엇인가?

 

서블릿의 사용을 통해 웹페이지의 내용이나 모양을 제어하는 기술

마크업(HTML이나 XML)과 연결된 동적인 웹 페이지를 만드는 자바 코드들.
각 페이지는 처음 요청되었을 때 JSP엔진에 의해 자동으로 서블릿으로 컴파일되어 실행된다.
JSP는 자바 클래스, 서블릿들, 애플릿, 웹 서버 등과의 다양한 대화 방법을 제공한다.
이것을 이용해서 웹 어플리케이션의 기능들을 컴포넌트들로 나누고, 잘 정의된 public 인터페이스들로 각 컴포넌트들을 단단히 연결해 줄 수 있다.

이 모델은 작업을 작은 부분으로 나누어 준다.(개발자는 각 컴포넌트들을 만들고, 페이지 설계자는 
몇 번의 적절한 메소드 호출로 애플리케이션을 짜 맞춘다.)
이런 "짜 맞춘 애플리케이션" 모델에서는 비즈니스 로직이 데이터 조회 부분과 분리된다.

JSP는 여러 웹서버가 이미 구현되어 있는 프로그램이다. 이 위에서는 코드를 다른 변경 없이 실행시켜도 더 뛰어난 이식성을 갖게 되어 경쟁사들의 서버 시장보다 경제력을 갖추게 된다.



*마크업 : 파일이 프린터로 출력되거나 화면에서 어떻게 보여야 할 것인지를 나타내기 위해, 또는 그 문서의 논리적인 구조를 묘사하기 위해, 텍스트나 워드프로세싱 파일의 특정 위치에 삽입되는 일련의 문자들이나 기호를 말한다.(마크업에 사용되는 표지를 흔히 "태그"라고 부른다)

*애플릿 : 작은 응용프로그램을 의미.
(웹 상에서는 자바와 같은 객체지향 프로그래밍 언어를 써서 웹 페이지와 함께 사용자 측은 로 보내질 수 있도록 작게 만든 프로그램을 애플릿이라 함)

*서블릿 : 서버에서 실행되는 작은 프로그램. 자바 애플릿의 맥락에서 만들어진 신조어.
대게 자바 애플릿들은 사용자들을 위해 간단한 계산업무를 수행하거나 사용자의 반응에 기반하여 이미지를 위치시키는 등과 같은 서비스를 위해 대게 클라이언트에서 실행되도록 만들어진다. 그러나, 사용자의 입력에 따라 데이터베이스와 연계되는 프로그램들은 서버에서 실행될 필요가 있다. 보통, 이러한 것들은 CGI를 이용하여 구현된다. 그러나, 서버에서 실행되는 Java 가상머신을 이용하면, 그러한 프로그램들을 자바 언어로 구현할 수 있다. 서버에 있는 자바 서블릿의 장점은 CGI 응용프로그램보다 더 빠르게 실행될 수 있다는 것! 서블릿은 각 사용자의 요청마다 별도의 프로세스가 생기는 대신, 단 하나의 데몬 프로세스 내에서 스레드로 호출되는데, 이는 각 요구에 따른 시스템 오버헤드가 적다는 것을 의미.

*API :  Application Program Interface (응용프로그램 인터페이스)
운영체계나 다른 응용프로그램에게 처리 요구를 할 수 있도록 컴퓨터 운영체계나 다른 응용프로그램에 의해 미리 정해진 특별한 메쏘드이다.



API는 응용프로그램이 운영체계나 데이터베이스 관리시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 말한다.


ASP는...

베이직을 기반으로 하는 웹언어이다.

MS쪽에서 밀고 있는 언어로 장점은 배우기 쉽고 적용하기 쉽다.

동작가능한곳은 MS계열의 서버(windows서버)이다.
따라서 데이터 베이스는 MS SQL을 쓴다.

하나 이상의 스크립트(작은 내장 프로그램)을 담은 HTML 페이지로 사용자에게 보내지기 전에 마이크로소프트 웹 서버에서 처리된다. ASP는 사용자에게 웹페이지를 만들어 제공하기 위해 서버에서 관련 프로그램이 모두 수행되는 SSI나 CGI 애플리케이션과 꽤 유사하다. 대개, 서버의 웹페이지 스크립트는 사용자의 요구에 따라 데이터베이스에 접속한 다음, 그 결과를 토대로 하여 요구자에게 보내기 전에 순간적으로 웹 페이지를 만들거나 특화하게 된다.

ASP는 마이크로소프트의 IIS 만의 특징이지만, 서버측 스크립트가 평범한 HTML 페이지를 만들어 주기 때문에 거의 모든 브라우저에서 무리 없이 사용될 수 있다.

ASP 파일은 HTML 파일 내에  VBScript 나 JScript가 포함되도록 작성한 다음 파일 확장자를 ".asp"로 바꿔주면된다.

PHP는...

C를 기반으로 하는 웹언어 이다.

장점은 C를 기반으로 하기때문에 표현이 자유롭다.

동작가능한 곳은 리눅스와 윈도우(패치 해야함) 둘가 가능
데이터베이스도 MSSQL 과 My SQL 둘다 가능.

JSP는...

마이크로소프트의 ASP 기술에 필적한다. JSP가 웹서버에 의해 실행될 자바프로그램을 호출하는데 반하여, ASP는 페이지가 사용자에게 보내지기 전에 스크립트 인터프리터(VBScript or JScript와같은)에 의해 해석될 스크립트를 포함시킨다.

JSP는 JAVA를 기반으로 하는 웹언어 이다. 장점은 보안성을 들 수 있다. 은행이나 중요회사의 경우 JSP를 쓴다. 하지만 코딩이 조금 어렵다. 초보자가 하기엔 힘들다. 동작 가능한곳은 리눅스와 윈도우 둘다 가능 하다.


JAVA의 큰 장점은 어떤 기종의 컴퓨터든지 사용할수 있다는 점!
JVM만 운영체제에 위에 설치되어 있다면 기종을 가리지 않고 사용할 수 있기때문에 asp 보다는 jsp를 사용하는것 같다.

그리고, 마이크로소프트에서 만드는 제품이란게 사용자에게 편리함을 추구하다 보니, 프로그램이 무거워지고, 가끔 이해할 수 없는 일이 생기곤 한다. 대표적으로 윈도우를 보면 "알수없는 오류"들을 쉽게 볼수 있는데, ASP 도 자주는 아니지만 가끔 그런 일들이 생긴다.(도저히 이해할 수 없는 오류들...리부팅하면 말짱해지는...)
그래서 대형 프로젝트에서는 마이크로소프트의 솔루션을 기피한다.

생각을 해보라! 은행 업무를 보는데 알수없는 오류가 나서 내돈이 날아갔다!!!???

그러다 보니 조금은 어렵더라도, 안정적인 시스템쪽으로 가는게 아닐까 싶다.
반응형

'Miscellaneous' 카테고리의 다른 글

Basic Computer Information  (0) 2011.12.23
Google TV & LG Smart  (0) 2011.12.23
JSP, JAVA 기초정리[용어정리]  (0) 2011.12.20
What is QR Code? [QR 코드란 무엇인가?]  (0) 2011.09.24
플래시 개발시 참고사항  (0) 2011.08.05