|
웹 서비스
Application Express 웹 서비스 엔진은 느슨하게 정의된 타입과 문서 스타일 웹 서비스를 지원합니다. 따라서 JDeveloper에서 생성한 웹 서비스와 Oracle BPEL 동기식 웹 서비스를 지원하는 것이 가능합니다. 또 SSL(HTTPS) 기반 웹 서비스 또는 기본적인 인증을 요구하는 웹 서비스와 교신할 수 있습니다. 마지막으로, Application Express 엔진이 특정 서비스의 WSDL 문서를 올바르게 파싱할 수 없는 경우 웹 서비스 레퍼런스를 수작업으로 생성하는 기능이 지원됩니다. 이 방법으로 SOAP 리퀘스트 엔빌롭(request envelope)과 URL 엔드포인트를 지정할 수 있습니다.
스프레드시트 업로드
스프레드시트 마법사의 Create Application 기능을 이용하여 데이터베이스에 스프레드시트 데이터를 신속하게 업로드할 수 있습니다. 새로운 데이터베이스 테이블에 업로드된 데이터를 저장하거나, 또는 기존 데이터베이스 테이블에 저장할 수도 있습니다. 데이터 업로드가 완료된 후에는 바로 애플리케이션 생성이 가능합니다. 이처럼 편리한 마법사 기능을 이용하면, 단 몇 번의 클릭만으로 스프레드시트 환경에서 공유 애플리케이션 환경으로 이전할 수 있습니다.
세션 상태 관리
Oracle Application Express는 데이터베이스의 세션 상태(또는 애플리케이션 컨텍스트)를 투명하게 관리합니다. 폼은 자동으로 세션 상태를 저장하고, 세션이 변경되는 과정에서도 애플리케이션 컨텍스트를 기억합니다. 바인드 변수를 이용하면 SQL, PL/SQL에서 세션 상태를 쉽게 참조할 수 있습니다. 아래와 같은 SELECT 구문을 예로 들어 보겠습니다.
SELECT * FROM EMP WHERE EMPNO = :P1_ID
위의 예에서, 아이템 P1_ID의 값은 쿼리가 실행될 때 다이내믹하게 바인딩됩니다. 또 아이템 네임의 앞부분에 "&" 기호를, 뒷부분에 "." 기호를 붙여 정적 컨텍스트(static context)에서 세션 상태를 참조할 수도 있습니다. 그 예가 아래와 같습니다.
&P1_NAME.
Oracle Application Express는 2차원 데이터 세트의 관리를 위한 컬렉션 인프라스트럭처를 제공합니다. 세션 관리는 "stateless"로 수행되므로 메모리를 전혀 사용하지 않습니다.
사용자 인터페이스 테마
Oracle Application Express는 애플리케이션 로직으로부터 프리젠테이션(사용자 인터페이스 테마)를 분리한 형태로 설계되었습니다. 애플리케이션을 특정 테마(theme)에서 설계한 후 다른 테마로 변경하거나 커스텀 테마를 직접 생성할 수도 있습니다. 애플리케이션 로직(예: 쿼리, 프로세스, 브랜치 등)으로부터 HTML 렌더링을 분리함으로써, 애플리케이션을 재작성하지 않고도 새로운 디자인과 기타 새로운 기술을 쉽게 도입할 수 있습니다.
플로우 컨트롤 / 네비게이션
모든 웹 애플리케이션은 네비게이션(navigation)을 필요로 하며, 다이내믹 애플리케이션은 플로우 컨트롤(flow control)을 필요로 합니다. Oracle Application Express는 네비게이션 컨트롤의 개발 및 유지 보수를 단순화하기 위한 빌트인 컴포넌트를 제공합니다. 네비게이션은 선언형 탭(1 단계 또는 2 단계), 브레드크럼(breadcrumb), 트리 컨트롤, 링크 리스트 등을 통해 제어됩니다. 플로우 컨트롤은 선언형 브랜치(branch)를 이용하여 특정 이벤트 및 조건을 기준으로 수행됩니다. 네비게이션 컨트롤의 외양은 템플릿을 통해 관리되므로 변경이 용이합니다.
전체 컴포넌트의 조건부 수행
다이내믹 웹 애플리케이션의 애플리케이션 컴포넌트와 프로세싱은 대부분 조건부로 수행됩니다. 다시 말해, 애플리케이션 컨텍스트, 데이터, 이벤트, 권한 등의 조건에 따라 정보 중 일부만을 표시 또는 처리해야 합니다. Oracle Application Express는 모든 컴포넌트에 대한 조건을 선언적으로 정의하는 기능을 제공합니다. 따라서 탭, 버튼, 아이템, 리스트 엔트리 등에서 사용자에게 제공되는 정보를 정밀하게 통제할 수 있습니다.
외부 인터페이스 및 확장성
Oracle Application Express는 애플리케이션 구현을 위한 강력한 선언적 환경을 제공하고 있지만, 이와 별도로 커스텀 인터페이스/컨트롤을 개발하기 위한 옵션이 제공됩니다. 예를 들어, 컴포넌트가 환경의 요구 사항을 만족하지 않는 경우, PL/SQL을 이용하여 커스텀 HTML을 생성할 수 있습니다. 또 웹 서비스를 통해 외부 서비스를 호출하는 것도 가능합니다. Oracle Application Express는 이메일 경고를 애플리케이션에 쉽게 통합하기 위한 API를 제공하고 있습니다. 또, Oracle Application Express가 오라클 데이터베이스 내부에서 실행되므로, 외부 테이블, PL/SQL, 데이터베이스 링크, 게이트웨이, Java 등의 데이터베이스 기능을 이용하여 애플리케이션의 기능을 확장할 수 있습니다.
보안
Oracle Application Express를 이용하여 사용자 로그인이 불필요한 퍼블릭 애플리케이션을 생성하거나 인증을 요구하는 보안 애플리케이션을 생성할 수 있습니다. Oracle Application Express는 싱글사인온, Database Account Credentials, 사용자 관리 시스템 등의 빌트인 인증 환경을 제공합니다. 또는 Microsoft Active Directory, Oracle Applications와 같은 인증 서비스와 인터페이스하는 커스텀 환경을 구현할 수도 있습니다.
또, 환경의 요구 사항을 만족하는 커스텀 인증 환경을 생성하고 전체 애플리케이션, 특정 페이지 또는 페이지 컴포넌트에 인증 기능을 선택적으로 적용할 수 있습니다. 마지막으로, 혁신적인 세션 상태 보호 기능을 이용하여 URL 조작 시도, SQL 인젝션 공격, 크로스-사이트 스크립팅(XSS) 공격을 차단하는 것이 가능합니다.
SQL Workshop 툴
SQL Workshop은 웹 브라우저에서 데이터베이스 오브젝트를 조회, 관리하기 위한 툴을 제공합니다. SQL Command는 SQL, PL/SQL 구문을 실행하기 위한 툴입니다. Query Builder는 테이블의 드래그-앤-드롭 작업을 통해 오브젝트 간의 관계를 쉽게 정의할 수 있게 합니다. Object Browser는 데이터베이스 오브젝트의 조회, 생성, 수정, 삭제를 위한 편리한 그래픽 사용자 인터페이스를 제공합니다. 마지막으로, SQL Script를 이용하면 스크립트 파일을 생성, 편집, 조회, 실행, 삭제할 수 있습니다
Supporting Objects 유틸리티
패키지 애플리케이션을 이용하면 애플리케이션을 다른 Oracle Application Express에 내보내어 설치하는 작업을 단순화할 수 있습니다. Supporting Objects 유틸리티를 이용하여 애플리케이션 정의에 데이터베이스 오브젝트, 시드 데이터, 이미지, CSS, JavaScript 등의 생성을 위한 스크립트를 포함시킬 수 있습니다.
이처럼 패키지 애플리케이션을 생성함으로써 애플리케이션을 다른 개발/테스트/운영 인스턴스에 가져오고 설치하는 프로세스를 자동화할 수 있습니다.
성능
Oracle Application Express는 애플리케이션 개발자와 사용자에게 매우 뛰어난 수준의 성능을 제공합니다. Oracle Application Express는 오라클 데이터베이스 내부에서 실행되므로 네트워크 트래픽을 거의 발생시키지 않습니다. 또 Application Builder에 포함된 다양한 모니터링 리포트를 이용하여 애플리케이션 성능 문제를 확인하고 해결할 수 있습니다.
패키지 애플리케이션
패키지 애플리케이션(packaged application)이란 사용 및 커스터마이즈가 가능한, 완전한 기능을 구현한 애플리케이션을 말합니다. 패키지 애플리케이션은 단기적인 목표 하에 비즈니스 애플리케이션을 신속하게 구현하고자 할 때 매우 유용합니다. 패키지 애플리케이션은 데이터베이스 스키마, 시드 데이터, 이미지, 애플리케이션 정의 등 설치에 필요한 모든 것을 마법사를 통해 제공합니다.
|