YOLO

[ ASP ] - Active Server Page

1. 소개
  Active Server Page의 약자로 현재 웹 서버상에서 많이 쓰이는 CGI보다도 Server에 부담율을 덜 수 있다는 측면에서 각광 받고 있는 최근의 기술로 CGI에 대응하기 위한 MicroSoft사의 IIS(Internet Information Server)에서 쉽게 프로그래밍 할 수 있게 한 기능 즉, MicroSoft의 최신 서버 기반 기술로써 WWW나 인트라넷에 사용될 수 있는 대화형 HTML 페이지를 제작할 수 있도록 고안되어진 언어이다.

2. 특징
   Web Application을 쉽게 개발할 수 있도록 MS사의 IIS에 내장되어 있는 기술
   다양한 객체와 컴포넌트 지원으로 패키지화 가능
   ADO(ActiveX Data Object)를 이요해 객체지향 데이터베이스를 액세스
   서버컨트롤을 생성하여 확잘할 수 있음
   MTS(Microsoft Tracsaction Server)와 MSMQ(MicroSoft Message Queue)를
    이용해 분산 트랜잭션을 지원
   Window NT의 IIS(Internet Information Server)와 최적의 환경을 지원

ASP : 원도우서버에 사용
           DB = ms-sql
          라이센스를 구입
          중규모 이상 싸이트 개발에 적합
          각종 컴포넌트를 사용, 싸이트의 확장이 용이
          윈도우 기반 DLL 사용이 가능, 윈도우용 어플리케이션과 연동이 가능



[ PHP ] - Personal Home Page Tools

1. 소개
  PHP는 1994년 가을 Rasmus Lerdorf가 처음 고안하였고 외부에 사용된 것은 1995년 초부터이며 그 때부터 Personal Home Page Tools라고 불리게 되었다. PHP는 서버에서 해석되는 스크립트 언어로 유사한 언어로는 MicroSoft의 ASP가 있다. 이런 서버용 언어는 서버에서 해석되어 그 결과를 HTML형태로 만들어서 클라이언트(웹 브라우져)로 보내주게 되므로 내부 소스 코드는 볼 수가 없다.
  서버용 스크립트가 해석되는 과정은 우선 클라이언트가 웹서버에 특정 URL을 요청하면 웹 서버가 요청받은 URL을 찾아 어떤 언어로 만들어졌는지 확인한다. 만일 PHP언어로 만들어져 있다면 서버에서 가지고 있는 PHP해석 엔진으로 보내고 해석 엔진에서는 해당 코드를 해석해서 결과를 웹 서버로 보내게 되고 웹서버는 전달 받은 결과를 그대로 클라이언트(웹 브라우져)로 전달하는 원리이다.

2. 특징
    100% 무료
    대부분의 웹 어플리케이션을 구현
    빠른 속도
    Linux의 Apache Web Server와 최적환경을 이룸
    다양하고 손쉬운 데이터베이스 지원
    멀티플렛폼 지원(Unix, Windows)

PHP : 원도우서버, 리눅스서버 사용가능  
           DB = my-sql, ms-sql
           사용료가 없음
           중소규모 싸이트 개발에 적합
            Open Source이기 때문에 커스터마이징이 가능함
           파일 접근이 쉬움
           GD 를 이용, 웹에서 이미지 프로세싱이 유연함


[ Java ]

1. 소개
  Java의 아버지격인 James Gosling은 C++를 이용해 하드웨어 독립적인 저가의 Software 개발환경을 만들 계획으로 C++의 단점을 없앤 새로운 언어인 Oak를 개발하였고, 여기에 Run-Time Syste, API 등 현재 자바가 가진 비슷한 환경을 사용하게 되었다.
  1993년, 그래픽 기반의 WWW이 발표되고 자바의 개발자들은 이러한 웹 기반의 응용프로그램에는 자바와 같은 기계 중립적인 언어가 이상적이라는 것을 발견하였고 그들이 개발한 것이 나중에 핫자바(HotJava)로 이름이 바뀐 웹러너이며 자바라는 이름은 지역의 어느 커피점안에서 얻었다고 합니다. 그래서 웹 페이지에 항상 끓고 있는 커피를 볼 수 있다.
  이 후 Oak에서 Java로 명칭이 변경되었고 Sun Sparc Solaris, Windows NT, Windows 95, Linux 기반의 Hot Java, Java, Java context, source code가 Web에 공개되면서 Sun Microsystems에서는 Java beta1 발표하였으며 Netscape에서 지원을 결정하는 등 대부분의 운영체제에 이식되기 시작하였다.

2. 특징
    다른 언어에 비해 코딩이 간단
    TCP/IP 라이브러리가 포함되어 네트워크 분산환경을 지원
    높은 이식성 - 유형 정의를 시스템에 무관하게 정의
    멀티 스레딩을 지원
    플랫폼의 독립성(Platform independence)
    객체지향언어(Object Oriented Programming)
    보안(Security)
    예외처리(Exception)
    JDBC를 이용한 데이터베이스 연동

[ Jsp ]  (Java Server Page)

1. 소개
  기본적으로는 Java Servlet과 같다. 웹전용 스크립트 언어로써 문법은 PHP, ASP와 비슷하지만 자바의 막강한 기능을 그대로 가지고 있기 때문에 더욱 강력하다. HTML문법을 그대로 넣어서 코딩을 하기 때문에 코딩의 속도가 훨씬 빨라졌으나, Jsp를 해석하는 엔진이 필요하고 그 엔진을 통해서 Java, Class파일을 생성한다. 이때 처음 웹에서 요청을 하면 속도가 느리다. 그러나, 이렇게 엔진을 통해서 컴파일된 Java, Class파일을 웹에서 재요청시 사용하므로, 이후부터는 Java Servlet과 완전히 동일하다.

2. 특징
    자바의 장점을 모두 가짐
    직접 HTML코드를 소스안에 작성하므로 코딩속도가 훨씬 빠르다.
    Java파일을 컴파일(pre-compiling)할 필요가 없으므로, 디자인 및 잦은 수정도 쉽다.
    Beans의 사용으로 비즈니스 로직의 완벽한 비공개화가 가능하다.

JSP : 원도우서버에 사용
          DB = ms-sql
         라이센스를 구입
         중대규모 이상 싸이트 개발에 적합
         다양한 벤더들의 제품이 사용가능
         WAS 사용으로 대규모 프로젝트에 적합
         MVC 모델 접근으로 대규모 개발자와의 통합화가 쉬움


[ 각 언어의 비교 자료 ]

1. 구동 가능 웹서버

  ASP : IIS, PWS의 NT/Windows 환경에서만 작동하며 웹서버는 IIS, 데이터베이스는
         Ms-SQL을 사용할 경우가 최적화된 환경이다.
  PHP : 플랫폼이 독립적이므로 아무 환경에서나 동작하지만, Apache웹서버와 MySQL을
        사용할 경우가 가장 최적화된 환경이다.
  CGI : 모든 서버에서 기본적으로 지원하므로, 모든 환경에서 동작이 가능하다.
  Java Servlet, Jsp : 모든 환경에서 동작하고, 특별히 최적화되는 환경이 없다.

2. 시스템 자원에 관한 효율성

  Java(Jsp) > PHP > ASP > CGI
  : Java는 스레드를 통해서 프로세서를 실행시키기 때문에 자원을 적게 쓰고, 반면 CGI는
   요청이 있을 때마다 프로세서를 실행시키기 때문에 자원의 낭비가 제일 심하다.

3. 플랫폼 독립성

  Java(Jsp) = CGI = PHP > ASP
  : Java, CGI, PHP는 객체지향언어로서 플랫폼의 독립성이 뛰어나 어느 환경에서나
   어느 환경에서나 실행이 가능하나, ASP는 Window환경에서만 실행이 가능하다.

4. 확장성

  Java(Jsp) > PHP > ASP > CGI

5. Data 접근성

  Java(Jsp) = PHP > ASP > CGI

6. 프로그램 난이도

  ASP > PHP > Java(Jsp) > CGI
  : CGI 및 Jsp는 기존의 C언어 및 Java를 알아야 사용할 수 있는 언어이기 때문에
   스크립트 중심의 ASP 및 PHP에 비해 프로그래밍 난이도가 높다.

7. 프로세서의 처리 속도

  PHP > Java(Jsp) > CGI > ASP
  : 단독 처리속도는 스크립트 해석능력이 가장 뛰어난 PHP가 단연 빠르고, CGI기반의
    ASP 및 CGI같은 경우 프로세서의 지속된 생성으로 처리속도가 비교적 느리다.
    특히 ASP는 CGI로의 컴파일 과정이 포함되어 더욱 느리다. 그러나, 실제적으로는
    거의 차이가 없다.

[ Jsp + Servlet(Beans) ]

1. 소개
  위에서 설명했던 Jave Servlet과 Jsp 두 가지 언어를 동시에 사용하는 제 3의 프로그래밍 방법이다. Jsp의 장점과 Java의 장점을 모두 가지는 유용한 방식이다.

2. 특징
    화면에 보이는 Display부분을 Jsp로 개발하기 때문에 디자인 및 아주 작은 수정을
     바로 적용할 수 있으며, 컴파일을 할 필요가 없으므로 몇 차례라도 쉽게 수정이
     가능하다.
    비즈니스 로직을 Beans로 컴포넌트화 시키거나 class파일로 만들어 처리하므로,
     실제로 비즈니스 로직을 실행시키는 부분의 수행속도가 빠르다.
    비즈니스 로직의 비공개화가 가능하다. 특히 Beans로 적용시킬 경우, 그 효과는
     더욱 크다.
    Jsp를 코딩할 때 코딩 작업의 속도가 빨라지며, 콤포넌트들의 제공으로 코드의 수도
     줄일 수 있기 때문에 각 소스에 대한 효율적인 관리가 가능하다.

Comment +0