• 검색 결과가 없습니다.

컨텐츠 관리 시스템의 프로세스

많은 컨텐츠 관리 시스템은 충분한 저장소와 관리 기능을 제공 한다.

(1) 버전 관리 기능

생성되는 컨텐츠는 버전을 통해 관리 되도록 지원 되어야 한다. 또한 재해 및

시스템 장애로부터 컨텐츠를 보호하기 위해 백업 및 복구 기능을 지원해야 한 다.

(2) 워크플로우의 지원

컨텐츠를 분산적으로 생성하는 것은 워크플로우의 지원에 있다. 워크플로우를 통해 생성 및 관리 기능을 커스터마이즈 할 수 있으며 조직의 변화에 시스템이 유연하게 대처할 수 있다.

(3) 보안 지원

보안 및 감사 기능을 통해 공개 불가 컨텐츠를 통제 할 수 있으며 사용자 및 그 룹별 접근 권한 등을 통해 보안을 유지 할 수 있다.

(4) 외부 시스템과의 연동

컨텐츠 관리 시스템은 기업에 있어 여러 정보 시스템 중 하나이다. 따라서 다양 한 외부 시스템과의 정보 교환 기능을 통해 컨텐츠 관리를 확장 할 수 있으며 시스템의 효율성도 높아지게 된다. 이러한 기능은 표준 기술이나 산업별 표준 프로세스를 통해 지원 될 수 있다.

(5) 보고서 생성

컨텐츠 관리 시스템은 사용자 및 관리자에게 유용한 폭넓은 보고서 기능을 지원 해야 한다. 시스템 상에서 일어나는 모든 이벤트에 대해 기록하고 통보하는 기 능을 통해 컨텐츠 변경 및 사용자 접속 등을 추적 할 수 있다.

3) 배포

배포 기능은 시스템의 저장소에 있는 컨텐츠를 최종 사용자 화면으로 출력 하는 기능으로서 실시간(real-time) 혹은 배치 프로세스(batch-process)를 통해 지 원 된다. 배포 측면에서의 평가 요소는 다음과 같다.

(1) 스타일쉬트(stylesheets)

스타일쉬트를 통한 최종사용자 화면의 생성은 확장성 및 유연성을 보장해 준다.

(2) 페이지 템플리트(page template)

사용자가 기술적인 노력을 들이지 않아도 최종사용자 화면의 컨텐츠 배치를 유 연하게 지원할 수 있는 기능이 필요 하다.

(3) 확장성

시스템이 다양한 스타일쉬트와 페이지 템플리트를 가질 수 있도록 확장 기능을

제공 해야 한다.

(4) 다양한 컨텐츠 포맷의 지원

컨텐츠 관리 시스템은 HTML, PDF, WAP 등과 같은 사용자 단말기에 따른 다 양한 컨텐츠 포맷을 지원해야 한다. 또한 지원 가능한 포맷을 확장 할 수 있도 록 기능을 지원해야 한다.

(5) 개인화(Personalization)

사용자에 따라 다양한 형태의 컨텐츠 화면을 제공 해야 한다. 이러한 기능은 특 히 많은 사용자가 이용할 경우 유용한 기능이다.

(6) 다양한 브라우저 지원

사용자 및 관리자의 위치에 구애받지 않고 시스템을 이용하기 위해서는 전용 브 라우저의 사용을 지양해야 한다. 표준 브라우저를 통해 인터넷이 연결된 어디서 나 접근 및 사용이 가능해야 한다.

4) 비즈니스 측면의 평가 요소 (1) 시스템 속도

출력되는 페이지 사이즈가 너무 커서 사용에 지장을 받지 않아야 한다. 또한 시 스템 성능이 낮아 출력이 느려서는 안 된다.

(2) 표준의 지원

시스템은 HTML, WAP 등의 표준을 최대한 준수하여야 한다. 이러한 표준이 준 수되지 않으면 사용 및 관리에 있어 어려움을 겪게 된다.

(3) 효과적인 탐색 기능의 제공

컨텐츠의 위치에 대한 탐색을 쉽게 할 수 있는 기능을 제공해야 한다.

(4) 적절한 비용

시스템이 아무리 좋아도 기업이 지출 할 수 있는 비용 이상의 가격이라면 시스 템 도입에 문제가 발생 한다. 주어진 비용에서 최적의 시스템을 도입 하는 것이 중요 하다.

(5) 시스템 제약성

시스템이 다양한 플랫폼 및 데이터베이스 에서 실행 될 수 있다면 비용 및 성능 측면에서 유연한 운영 계획을 수립 할 수 있으며 기업이 보유하고 있는 정보 기 술을 최대한 활용 할 수 있다.

컨텐츠 관리 시스템의 도입은 기업에 있어 많은 비용이 소모되곤 한다. 따라서 시스템 도입에 있어 무엇보다도 중요한 것은 기업의 전략과 목표에 합치되는 시 스템을 도입해야 한다는 것이다. 전략과 목표를 중심에 두고 도입 시스템의 요 구 사항을 평가 한다면 효율적인 도입이 될 것이다.

제 4 절 웹 기반 컨텐츠 관리 시스템의 구현을 위한 기술

1. Java

Java는 초기에 임베디드(Embedded) 시스템을 위해 개발된 언어이다. 임베디 드 시스템은 생산기계, 자동판매기, 기전기기 등과 같이 다양한 마이크로프로 세서와 다양한 주변기기를 사용하는 시스템이기 때문에 값싸게 구축할 수 있 는 반면 시스템마다 구성이 판이하게 달라서 유지 보수가 힘든 단점을 갖는 다. 이러한 시스템에 공통적으로 적용할 수 있는 작고 효율적인 어플리케이션 개발을 위해 설계된 것이 Java 시스템이다. 따라서 Java는 플랫폼 독립적이며 비교적 작은 코드를 가질 수 있다.

Java는 인터넷의 발전으로 대중화되기 시작했다. 초기 인터넷에서 컨텐츠를 전달하기 위한 언어인 HTML은 정적인 문서만 제작이 가능했기 때문에 동적 인 인터렉티브 컨텐츠의 제공에 어려움이 있었다. 또한 인터넷 속도의 증가와 사용자의 폭발적인 증가로 인터넷이 일반인에게 까지 대중화 되면서 인터넷상 에서 제공하는 컨텐츠가 양적 및 질적으로 확장의 요구를 받게 되었다. 이에 넷스케이프사는 SUN의 Java 시스템을 네트워크용으로 변환시켜 애플릿의 형 태로 HTML에 포함시킬 수 있도록 하였는데 이것이 자바가 널리 알려진 계 기가 되었다. Java 애플릿은 작고 빠르면서도 다양한 플랫폼에서 사용할 수 있었기 때문에 다양한 시스템을 사용하는 인터넷 환경에 적합하다. 또한 Java

는 네트워크에서 중요한 보안문제에서도 안전성을 제공하였기 때문에 사용자 들의 지지를 받고 있다.

2. Java Platform

Java는 프로그래밍을 위한 언어와 프로그래밍 된 자바를 이기종 플랫폼 환경 에서 실행시키기 위한 Java 플랫폼으로 구성되어 있다.

<그림 2-5> Java의 구조

Java 플랫폼은 Java 가상 기계(Java Virtual Machine : JVM)와 Java API(Application Programming Interface)로 이루어져 있다. JVM은 Java의 바이트코드(bytecode)를 실행시킬 수 있는 것으로 브라우저나 각 플랫폼의 JDK(Java Development Kit)을 통해서 제공이 된다. Java는 JVM에 의해 플 랫폼 독립성을 보장받는 것이다.

Java API는 핵심 API(Core API)와 표준 확장 API(Standard Extension API) 로 나뉘는데 프로그램이 공통으로 사용할 수 있는 라이브러리를 제공한다. 대 부분의 중요한 API는 핵심 API에 포함되어 있으며 거의 변화하지 않기 때문 에 핵심 API만 사용하는 경우는 자바의 버전이나 플랫폼 사이에서 JVM의 차 이에 거의 영향을 받지 않는다. 반대로 표준 확장 API의 경우는 플랫폼마다 약간 다르거나 아예 구현되지 않는 경우도 생기고 자바 버전마다 호환되지 않 을 수 있다.

JDK2.0에 들어서면서 이전에 개발되었던 라이브러리와 툴을 통합하여 가정용 부터 기업 환경에 걸쳐 다양하게 사용할 수 있게 되었다. 이 시기부터 Java2

환경이라고 이야기 하는데 특징은 다음과 같다.

첫째, 서드 파티(third party)에 의존했던 라이브러리를 표준 API에서 제공하 게 되었다.

둘째, 이전 환경에서 보다 안정성과 속도의 향상이 있었다. 즉 자바의 핵심 라이브러리와 표준 확장 라이브러리로 API를 분리시켜 안정성과 빠른 업그레 이드가 필요한 분야를 동시에 만족시킬 수 있게 되었다.

셋째, 기업용 API(Enterprise API)를 풍부하게 제공하여 실제 업무에 사용할 수 있는 Java 어플리케이션의 제작 기반을 제공한다.

특히 기업용 API에서는 분산 환경의 표준으로 인정받는 CORBA, DB 표준 SQL 질의를 가능하게 하는 JDBC, 원격 함수 호출을 가능하게 한 RMI 등을 지원 하는데 이를 통해 복잡한 기업용 어플리케이션의 개발 지원이 원활 해 진다.

Java 2 플랫폼이 전체적인 구성은 <그림 2-6> 과 같다.

<그림 2-6> Java 2 Platform 자바 프로그램, 애플릿 등

Java Foundation Class(JFC) AWT, Swing, Accessbility, 2D

Graphic etc

OS, Java Terminal etc 자바 가상 기계(Hotspot Java VM)

기업용 라이브러리 IDL, RmI, JDBC etc

핵심 클래스

Language, Network, Security etc

확장 라이브러리 JMF Java HELP

Java Mail Servlet

etc

3. Java 2 Enterprise Edition

Java 2 Enterprise Edition(J2EE)는 기업 어플리케이션 환경이 복잡해지면서 트랜잭션이 폭발적으로 증가하고 대용량의 데이터를 다루어야 하는 현실에서 그 해결책으로 제시된 Java 기반의 엔터프라이즈 어플리케이션(Enterprise Application)개발 환경이다.

J2EE는 멀티 티어 상에 위치 가능한 엔터프라이즈 어플리케이션을 개발하기 위한 표준을 일컫는다. 엔터프라이즈 어플리케이션은 표준화되고 모듈화된 컴 포넌트로 구성된다. J2EE는 이러한 컴포넌트에 완벽한 서비스 군을 제공함으 로서, 개발자에게 복잡한 개발 과정 없이 해당 컴포넌트를 자동적으로 처리해 주는 환경을 제공한다. J2EE는 코드의 이동성, 데이터베이스 연동을 위한 JDBC API, 현존하는 엔터프라이즈 자원과의 연동을 위한 CORBA 기술, 인터 넷상의 데이터조차도 보호할 수 있는 보안 모델 등 Java의 장점을 엔터프라 이즈 환경으로 극대화 하였다. 또한, 이를 기반으로 EJB 컴포넌트, Servlet API, JSP와 XML 기술을 지원한다. J2EE은 현재 J2EE 표준을 준수하는 시스 템에 위치한 어플리케이션의 이동성을 보장하기 위하여 표준 규약과 호환성 테스트를 내재하고 있다.(SUN, 2002)

<그림 2-7> J2EE Standard Enterprise Services

J2EE의 엔터프라이즈 어플리케이션 모델은 그림 2-7과 같이 Client-Side Presentaton, Server-Side Presentation, Server-Side Business Logic, Enterprise Information System으로 구성되어 있다.

<그림 2-8> J2EE Enterprise Application Model

Client-Side Presentation 계층은 client단에서 표현되는 컨텐츠를 의미하며 정적 HTML이나 Java 애플릿 등이 이에 해당한다.

Server-Side Presentation 계층은 비즈니스 로직 계층을 통해 처리된 데이터 를 JSP 및 Servlet으로 처리하여 client에 넘겨주는 역할을 한다.

Server-Side Business Logic 계층은 어플리케이션의 핵심인 로직을 담고 있

Server-Side Business Logic 계층은 어플리케이션의 핵심인 로직을 담고 있

관련 문서