sdn-logo-72x25.png jPuzzle Project Home  

About

글쓴이: D.K. | 작성일: 2010-05-25

jPuzzle은 DCL Web Application Framework의 자바서블릿 구현으로 Tomcat과 같은 자바서블릿 컨테이너의 어플리케이션입니다.

다음은 DCL Web Application Framework에 대하여 간략히 소개합니다.

 

  • UI 디자인과 서버 프로그램의 분리

    단일 페이지를 생성하는 웹 어플리케이션을 개발하는데 있어서, 스킨이라 불리는 UI(User Interface) 디자인과 서버프로그램을 분리하여 생산성의 향상, 품질제고, 인력배치 유연성의 증대를 꾀하고 있고, 서버프로그램의 변경 없이 웹 사이트의 디자인을 변경할 수 있습니다.

    스킨파일은 XHTML, CSS, Java Script와 같이 웹 브라우저에 최종적으로 표시되는 텍스트만으로 이루어져 있으며, 뷰 클래스의 기본 스킨파일을 참고하여 쉽게 작성할 수 있습니다.

    이 특징은 프로그래밍 언어에 대한 지식이 없는 웹 디자이너가 HTML, CSS에 대한 지식만으로 게시판과 같은 동적인 기능을 포함시키는데 몇 가지의 간단한 설정만으로도 적용하는 것이 가능하게 합니다.

    서버 프로그램은 C/C++, Java과 같은 컴파일러 언어로 개발됩니다.

  • 데이터베이스 기반

    프레임워크의 환경이 데이터베이스의 기반을 전제로 합니다. 따라서, 어플리케이션이 사용하는 데이터뿐만 아니라 프레임워크 자체에 대한 설정 데이터도 데이터베이스에 저장됩니다.

  • 서비스문맥의 개념

    HTTP 요청에 대한 서비스는 서비스문맥 단위로 이루어집니다. 서비스문맥은 카페사이트의 하나의 카페, 블로그사이트의 하나의 블로그일 수 있습니다.

    모든 서비스문맥은 자신만의 데이터원본들을 소유합니다.

    서비스문맥은 자신만의 페이지구성을 소유한 독립문맥과 다른 문맥의 페이지구성을 빌려서 자신의 데이터원본을 표시하는 의존문맥으로 구분됩니다.

  • 데이터원본의 개념

    데이터원본은 프레임워크의 어플리케이션 컴포넌트가 사용하는 데이터의 논리적 개념으로 보안적용의 기본단위이기도 합니다.

    데이터원본은 하나이상의 데이터베이스 테이블로 구성될 수 있고, 단일 테이블에 하나 이상의 서비스문맥 데이터원본이 있을 수 있습니다. 예를 들어, 게시판을 위한 데이터원본은 메시지, 첨부파일을 위한 테이블로 구성되고, 이들 테이블을 서로 다른 서비스문맥이 함께 사용할 수 있습니다.

  • 데이터원본 단위의 보안적용

    데이터원본은 프레임워크에서 보안을 적용하는 기본단위입니다. 데이터원본의 정의에는 데이터원본의 각 항목인 데이터아이템에 대하여 목록, 내용열람, 첨부파일열람, 작성권한이 설정되며, 게시판과 같은 구조적 데이터원본의 경우 시작글 및 답글의 작성권한 등이 개별적으로 적용될 수 있습니다.

    보안의 적용은 데이터아이템에 접근하는 웹 페이지가 서로 다른 경우에도 동일하게 적용되고, 권한이 없는 경우 HTML 페이지의 생성시점에 링크를 제거하여 사용자의 불편을 미리 방지할 수 있습니다.

  • 페이지와 뷰

    페이지는 HTML 페이지의 기본단위로 하나이상의 뷰로 구성됩니다.

    뷰의 역할은 연관된 데이터원본을 사용하여 데이터아이템의 목록생성, 내용열람, 수정 등의 트랜잭션 처리를 하는 것입니다.

    HTTP 요청에서 페이지식별자만 지정하면 HTML 페이지를 생성하고, 뷰번호를 함께 지정하면 뷰가 HTTP 요청을 처리하게 됩니다.

    프레임워크에서 페이지구성은 모두 데이터베이스에 저장되며 그 자체로 문서화됩니다.

  • 뷰 전용 스타일시트

    XHTML에서 스타일시트는 원칙적으로 <head></head>내에 위치해야 합니다. 뷰에서 지역적으로 정의한 스타일시트는 프레임워크에 의해 <head></head>에 통합됩니다.

  • 자동화된 미디어첨부파일의 처리

    첨부파일이 오디오나 비디오이면 웹사이트에서 기본적으로 사용하는 형식으로 변환합니다.

  • URI에서 경로와 쿼리문자열

    프레임워크가 설치된 시작위치에서 경로를 구성하는 각각의 항목은 다음의 의미를 가집니다.

    http://www.domainame/jPuzzleROOT/PAGE_ID/VIEW_NO/ITEM_ID/ATTACH_ID/SESSION/Filename?QUERY_STRING

    PAGE_ID
    페이지식별번호
    VIEW_NO
    페이지 내의 뷰 번호
    ITEM_ID
    뷰와 연관된 데이터원본에서 데이터아이템 식별자
    ATTACH_ID
    데이터아이템의 첨부파일
    SESSION
    동영상플레이어등과 같은 웹 브라우저 추가기능에 전달할 GET 세션정보
    Filename
    첨부파일의 이름
    QUERY_STRING
    뷰 클래스의 구현에 의존
  • 강화된 보안환경의 정보시스템

    DCL Web Application Framework의 설계목표는 강화된 보안환경에서 동작하는 웹 기반 정보시스템을 쉽게 구축하도록 하는 것 이었습니다.

    잘 알려진 주류 웹사이트들에서 웹 페이지에 표시되지는 않지만. 인증되지 않은 상태에서 첨부파일들을 다운로드 할 수 있는 보안구멍들이 발견됩니다. DCL Web Application Framework는 이러한 문제는 애초에 발생하지 않도록 설계되었습니다.

 

DCL Web Application Framework은 시스템 개발에 있어서 인력배치 및 생산성, 시스템의 성능, 유용성 및 안정성 모두를 고심한 결과입니다.

프레임워크가 많은 이들을 이롭게 하고 생명력을 가진 소프트웨어가 되길 소망합니다.

개발자 D.J. Kim

Copyright © 2010 Daejung Kim, All rights reserved.
jPuzzle: DCL Web Application Framework for Java
Generate Elapsed: 0.005 seconds