20장 Delphi에서 CGI 에플리케이션 만드는 방법
Delphi에서 개발할 수 있는 실제 인터넷에서 사용할 수 있는 에플리케이션은 다음과 같은 다양한 방법이 있다.
1) CGI프로그램 제작방법
2) ActiveX로 제작
3) ActiveForm으로 제작
이외에도
4) CORBA형태와의 결합
5) MTS형식의 서버와의 결합
물론 서버를 구성한는 방법에는 여러가지 방법이 있으나 이장에서는 단순한 형태의 인터넷 에플리케이션을 제작하는 방법을 알아 보겠다.
1) CGI프로그램 제작방법
Delphi에서 만들 수 있는 단순한 CGI프로그램은 일종의 하드(Hard)코딩(coding)입니다. 실제로 Delphi는 GUI를 제작할 수 있는 툴에 가까운데 CGI를 제작할 경우에 실제 화면에 보이는 내용은 HTML형식의 출력을 제시하여 주어야 하는데.. Delphi Form에서 만들어진 폼을 그대로 화면에 제시할 수 있다면 얼마나 좋겠습니까? 그 방법은 ActiveForm에서 설명할 것이고 여기서는 기본적인 CGI를 만드는 방법을 살펴보겠습니다.
델파이에서 만들 수 있는 CGI의 형식에는 다음과 같은 형식이 있습니다.
표에서 보듯이 ISAPI와 NSAPI를 지원함으로써 양대 Web Server의 지원 API를 모두 지원합니다. 혹은, Console CGI나 Windows CGI도 지원함으로써 CGI개발툴로써도 사용할 수 있습니다.
0. 델파이로 CGI프로그램을 작성하는 이유..
사실상 CGI를 작성하는 이유가 무었인가? 왜? GUI개발툴로 각광을 받고 있는 델파이에서 CGI개발의 필요성을 요구하는가? 그이유를 간단히 알아보자
현재 인터넷에플리케이션을 제작하는 방법은 크게 3가지로 나뉜다.
1) WebServer에서 지원되는 기본적인 스크립트를 사용하는 방법 : 대표적으로 ASP, Vbscript, JavaScript, Perl등
2) ISAPI나 NSAPI를 통한 CGI 에플리케이션을 사용하는 방법
3) Java를 사용하여 서블릿이나 에플릿형태의 개발
물론, 각각의 방법만 가지고도 어렵지만(!) 한가지 방법으로 웹서버의 모든 기능(?)을 만족시킬 수 있다. 그러나, 프로그램의 성능과 보안문제등 다양한 문제를 해결하기 위해서는 이러한 방법들을 혼용하여야 한다.
물론, CGI로 제작되는 방식은 이미 구세대적인 방식인지는 모르나 현재시점에서 DB에 접근하여 작업하는 경우에 가장 효율적인 방법은 CGI 에플리케이션을 제작하는 것이다.
델파이는 이러한 CGI를 제작하는 경우에 효율적인 방법을 제공하는데 그것은 CGI의 4가지 방식을 따로 구분할 필요없이 한가지 방식으로 개발한 다음 필요한 내용을 링크하여 CGI를 Build하기만 하면 된다는 것이다.
약간의 차이는 있겠지만 크게 다른점은 없다. 일단, 이곳에서는 Console CGI를 개발하는 예제를 살펴보기로 하자.
1) Console CGI제작
델파이의 Demo중에 Iservcgi프로그램을 살펴보자. 해당 소스를 Build한다음 해당 프로그램을 IIS의 CGI-Bin위치에 복사한다음 해당 내용을 Browse하여 보자.
하단에 보이는 화면과 같이 동작하는 것이 보일것이다. 이 예제가 바로 CGI Application 을 알아보기 위한 기본적인 Application입니다.
그리고 다음의 화면은 해당 화면의 Customer의 코드의 코드의 링크를 누르면 다음의 화면이 나타난다.
이처럼 Delphi에서는 기본적인 데이터를 View하는 것 이외에 Grid를 사용하듯이 HTML화면에 표를 만들어서 해당 코드에 링크되는 부분을 자동으로 만들어 낼 수 있다.
좌측의 화면은 데이터리스트를 보여주는 것이고 우측의 화면은 GRID형태의 표형식으로 나타내는 것이다.
실제 좌측의 링크부분을 살펴보면 다음의 코드가 나타나있다.
실행화일.exe/runquery?custono=1645
이 코드는 CGI에 파라메터로 runquery와 custono=1645라는 코드를 전달하는 것이다.
CGI프로그램을 구동시키기 위해 실행화일을 단독으로 수행하는 것과 파라메터를 전달하는 방법이 있다는 것을 알 수 있다. 이러한 파라메터를 처리하는 방법을 알아보자.
실제 해당 소스의 Webmodule을 살펴보면 다음과 같은 코드가 나열되어 있다.
WebModule
'Dev... > 델파이4의 모든것' 카테고리의 다른 글
델파이4의 모든 것 오픈예정 (0) | 2008.07.29 |
---|---|
24장 CORBA부분에서 빠진 부분.. (0) | 2004.04.27 |
13장 데이터베이스 프로그래밍 기초_초고 (0) | 2004.04.26 |
CORBA 어플리케이션의 제작이라는 빠진 부분이었습니다. (0) | 2004.04.26 |
이페이지는 제가쓴 델파이4모든것에서 편집으로 짤렸던 부분을.. (0) | 2004.04.26 |