강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
Zope에 관하여
조회 : 5,223  


 

 - Zope에 관하여 -

작성일 : 2006. 08. 08.

 프로그램명

 라이센스

 ZOPE

 ZPL

 리뷰버전

 지원언어

 Zope-2.9.4-final.tgz
Zope-2.9.4-win32.exe

 Python

 운영체제

 제작사

 All(i386)지원

Zope Corporation - ajung

 권장사항

 평가

 

★★★★☆

 참고
Homepage

 http://www.zope.org
http://www.zope.co.kr

 작성자

리눅스포털 (주)수퍼유저코리아 (www.superuser.co.kr) 서버관리팀 주진은

 소개 및 작동원리

 

 ZOPE(Z Object Publishing Environment)는 Python이란 프로그램으로 작성된 오픈 소스 웹 애플리케이션 서버이다. ZOPE로 이름을 정한 이유는 1998년말에 비어 있는 도메인을 그것 밖에 찾지 못해서 ZOPE로 정해졌다고 합니다. ZOPE로 사용하는 것이 바른 표기법이지만 보통명사화 되어 zope라고 사용하기도 한다.

 

 HTTP, FTP, WebDAV, XML-RPC 등의 기능을 기본 포함하고 있으면, 아파치와 같은 다른 웹서버와 함께 사용할 수도 있다.

[ZOPE 내부 구성도]

 

 특  징

 

[ZOPE의 기능]

 -. 데이터베이스 통합

 -. 템플릿 기반 페이지 구현

 -. 사용자 인증

 -. 사이트의 특정 부분을 특정 사용자가 업데이트 할 수 있도록 선택적 권한설정

 -. 사용자 코드 배포을 위한 객체 지향 패러다임

 -. 객체 및 세션의 지속적인 관리

 

 ZOPE에서 페이지는 ZOPE 데이터베이스의 객체이다. ZOPE은 폴더 개념을 사용하는 객체로 URL를 매핑(mapping)한다. 페이지 개념은 HTML이지만 동적 콘텐츠를 HTML로 삽입할 수 있다. 그래서 웹 사이트를 구성하는 정적 HTML과 동적CGI프로그램이라는 근본적으로 다른 두 개를 가지는 대신 ZOPE 페이지 객체를 갖게 되는 것이다.

 HTML이 프로그램을 효과적으로 삽입할 수 있다. 이것을 템플레이딩(templating)이라고 하며 DTML(Document Template Markup Language)을 사용하여 제어된다. SSL(server-side includes)와 많은 부분 비슷하지만 더욱 유연하다. 다른 비슷한 기술로는 ASP와 JSP가 있다.

 

 ZOPE에서 객체는 지속된다. 각각의 동적 페이지 히트를 시작하고, 초기화하면, 계산 및 정리하는 프로세스 대신 ZOPE 객체는 미리 초기화되고 프로세스를 실행한다. 사용 빈도가 많은 사이트의 경우 퍼포먼서가 뛰어나다는 의미가 된다.

 

 ZOPE은 데이터베이스 커넥션을 유지하기 때문에 각각의 페이지 히트에 대해서는 쿼리 자체만 신경 쓰면 된다. 이러한 퍼포먼스는 Apache의 mod_perl로도 얻을 수 있다. 하지만 플랫폼에서 모두 같이 작용할 지 불투명한 Perl, mod_perl, HTML::Mason, 기타 모듈들을 설치하는 대신 ZOPE은 이 모든 것을 가져다가 한데 모아 사용 할 수 있다.

 

 개별 파일에 페이지들을 저장하는 대신 ZOPE사용자는 FTP 또는 파일을 관리하는 그와 유사한 툴을 사용하여 모든 페이지를 ZOPE 객체 데이터 베이스에 저장한다. 이러한 방식이 세련되지 못한 듯이 보이지만 ZOPE은 소수의 파일을 실행할 수 있고 자주 사용되는 페이지를 캐싱 할 수 있다. 또한 각 페이지에 대한 액세스를 관리하여 사용자가 액세스 할 수 있는 공간을 지정하여 OS에 액세스하는 위험부담 없이도 매우 쉽게 사용자와 그룹을 설정할 수 있다. 게다가 사용자들은 웹이 가능한 머신에서 편집을 수행할 수 있다. 별도 FTP서버를 구현 사용할 필요가 없다.(ZOPE에서 기본 지원하고 있다.)

 

 역사

 

 -. 1998년말부터 시작된 공개소스 프로젝트

 인터넷 서비스 제공자로 Zope의 핵심기술을 "Zope Corporation"(Digital Creations에서 회사명 변경)이 설계했다. 그 당시는 신문사의 web페이지를 제공되었다. 다음에 이러한 신문사로부터「신문사의」고객용web 페이지를 제공하고, 같은 환경에서 규모를 확대하기 위해서는, web 사이트의 임의의 레벨로 여러 사용자 그룹에 제어권한을 안전하게 위임 할 수 있도록 Zope가 설계되었습니다.

 사용용도

 

 ZOPE는 웹 어플리케이션 서비스를 목적을 생성된 공개소프트 솔루션이다. 간결한 게시판에서 극도로 복잡한 보안에 세심한 신경을 써야 하는 웹 어플리케이션 사이트(예: MedcastWeb )까지 각자의 취향과 기술수준에 따라 다양한 방식으로 활용할 수 있다.

 비지니스의 관점에서 보면 ZOPE의 유용성은 강력한 공동작업, 컨텐츠의 단순한 관리, web 컴퍼넌트의 강력함이 무기가 될 것이다.

 

 평가에 대한 이유

장점

 

 -. 공개 소스로 진행되고 있다.

 -. 인터페이스가 다양하다.
-. 여러 형태로 설치가 가능하다.

 -. 다양한 형식으로 데이터를 서비스 할 수 있다.

 -. ZOPE의 사용자 권한 관리는 Unix 보다 훨씬 쉽다.

 -. 재활용과 협동작업이 쉽다.

 -. 파이썬으로 작성되어 있다.

단점

 

 -. 언제 어디서나 작업할 수 있다.

 -. 파이썬으로 작성되어 있다.

 -. 속도 위주로 최적화되어 있지 않다.

 -. ZOPE설치시 플랫폼에 따라 설치가 조금 어려울 수 있다.

사용기

 

 저자는 웹프로그램을 잘하지 못한다. 하지만 ZOPE를 이용해서 아주 다양한 웹프로그램을 만들 수 있었다. 예를들면 서버의 상태정보를 받아드려 웹으로 표현하게 한다던지 사용하고 있는 프로그램들의 매뉴얼을 작성한다던지 하는 것을 일관된 웹페이지로 작성하여 편하게 사용할 수 있었다.

 

 이는 웹페이지 표현시 동적 HTML 페이지가 필요 없을 경우에도 ZOPE를 이용하면 몇 번의 타자로 간단히 만들 수 있었으며(일관된 외양을 갖춘 사이트를 만들기 위해 각종 point-and-click 프로그램들이 만들어내는 복잡한 HTML코드 볼 필요가 없었다), ZOPE를 사용하기 위해 구지 전문가(guru)일 필요가 전혀 없었다. HTML코드를 읽을 줄만 알면 금방 ZOPE를 활용하여 웹페이지 작성이 가능하였다.(물론 능숙해진다면 자신이 구축하고자 하는 웹서비스 제작하는데 걸림돌이 없어진다)

 

 Apache의 경우 다양한 설정들을 할 수는 있지만 어느정도의 수준이 되지 못하면 사용에 많은 제약이 있다. 하지만 ZOPE의 경우 너무 간단히 웹페이지만 열수 있고 간략한 HTML소스를 수정할 수 있을 정도면 누구나 사용할 수 있을 것 같았다.

단 플랫폼에 따라 설치 방법이 조금 복잡할 수 있다는 단점이 있지만 윈도우즈에 설치하여 사용한다면 클릭 몇 번만으로 곧바로 웹서비스를 시작할 수 있다.

 

ZOPE는 훌륭한 철학을 기반으로 유럽에서 왕성한 활동을 하고 있다. 아직 국내에는 ZOPE 커뮤니티 조차 찾기가 힘들다. 하지만 ZOPE의 간편함과 사용자 권한 관리와 등과 같은 기능은 Unix 보다 훨씬 쉽고, 보안 문제도 훨씬 났기 때문에 국내에서도 활발한 활동이 있을 것이란 기대를 가져본다.

 스크린샷

 

 

[처음 웹접속 화면]

 

 

[관리자 페이지 첫화면]

 [index 소스 코드 화면]

 

 [관리자 페이지 접속인증 화면]

 

 

[컨터롤 페널 화면]

 

[접근사용자 관리 화면]


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1195


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
주진은
본명 : 주진은
E-Mail : thinkbook골뺑이superuser.co.kr
소속 : (주)수퍼유저코리아