대메뉴 바로가기 본문 바로가기

데이터 기술 자료

데이터 기술 자료 상세보기
제목 Oracle Application Development Framework - IDC 기술평가
등록일 조회수 4579
첨부파일  

Oracle Application Development Framework - IDC 기술평가

단일 개발 환경, 자유로운 개발 방식 선택, 뛰어난 생산성을 지닌 오라클의 Application Development Framework

Rikki Kirzner

단일 개발 환경, 자유로운 개발 방식 선택, 뛰어난 생산성을 지닌 오라클의 Application Development Framework가 제공하는 기능 및 디자인 원칙에 대해 조사한 자료를 제공합니다.

오라클은 실패를 경험한 많은 툴 공급업체와는 달리 성공을 거둔 것으로 보인다. 오라클은 애플리케이션 개발 문제에 대한 새롭고 혁신적인 접근 방식을 제공하고 있다. 오라클의 ADF는 Java 개발자들이 다양한 기술을 관리해야 하는 어려운 문제를 해결하고 동시에 비즈니스 설계자와 분석가의 모든 요구 사항들을 단일 프레임워크로 지원하는 획기적인 쾌거 이룩하였습니다. 이번 연구 조사에서 IDC는 다음과 같은 결론을 내렸다.

▣ Oracle JDeveloper 10g는 다양한 스타일의 개발자들과 다양한 Java 기술 수준의 개발자들을 지원한다.

▣ Oracle ADF는 개발자들에게 친숙한 개발 환경을 제공하는 동시에 여러 개발 방식을 사용해야 하는 프로젝트에 적합하다.

▣ Oracle ADF는 Java 코드를 사용할 수 있는 장점을 비롯하여 모델 구동 접근 방식을 사용할 수 있는 장점을 제공한다.

▣ Oracle ADF는 동일한 환경 내에서 동시에 진행되는 여러 애플리케이션 개발 단 계를 지원한다.

본 연구 결과의 내용

대부분의 Java 툴과 Java IDE는 더 이상 향상된 Java 사용 기능을 제공하지 못한다. 개발 환경을 효율적으로 활용하고 모든 기능을 충분히 사용하기 위해서는 개발자가 먼저 Java 언어를 능숙하게 다룰 수 있어야 한다. 또한 3GL 툴과 분석, 모델링 및 디자인 툴 간에는 차이가 많다. 본 연구에서 IDC는 이와 같은 두 가지 문제를 단일 개발 환경으로 해결할 수 있는 오라클의 혁신적인 솔루션인 Application Development Framework 가 제공하는 기 능 및 디자인 원칙에 대해 조사하였다.

조사 환경 개요

Java 개발 환경의 문제

J2EE(Java 2 Enterprise Edition)와 같은 Java 언어는 개발자에게 가장 인기 있는 언어 중 하나가 될 정도로 많은 장점을 지니고 있다. 개발자는 기업용 솔루션을 구축하는 데 필요한 다른 언어들 대신 Java 언어를 사용함으로써 성능과 확장성이 더욱 뛰어난 보다 안전하고 신뢰할 수 있는 코드를 작성할 수 있다. 즉 J2EE는 다양한 기능을 제공하는 매우 융통성 있는 프레임워크다. 또한 J2EE는 기존의 투자 설비를 활용할 수 있을 뿐만 아니라 개발자에게 애플리케이션 개발을 위한 다양한 범위의 기술, API 및 표준을 제공한다. J2EE는 또한 트랜잭션, 보안 및 데이타베이스 연결성과 같은 애플리케이션 서비스에 대한 지원을 포함 하는 서버측 구성 요소인 EJB(Enterprise Java Beans)를 지원한다. Java 구성 요소 프레임워크는 지난 몇 년 동안 변화와 발전을 거듭하여 애플리케이션 개발에 많은 이점들을 제공하고 있다.
Java의 인기가 증가하고 있지만, IDC는 실제로 Java를 사용하는 전문 개발자가 전세계적으로 3백만 정도에 그칠 것으로 추정하고 있다. 이러한 이유는 부분적으로는 Java 언어가 가진 수많은 기능과 변종을 사용하기가 어렵기 때문이기도 하지만, Java를 아직 능숙하게 다루지 못하는 사용자에게 있어서는 종종 부담이 되는 수많은 선택 요소들이 이에 대한 원인으로 작용하고 있다. 실제로 Java 및 J2EE를 새로 시작하거나 이에 익숙하지 못한 개발 자들은 특정 개발 작업을 수행하는 데 있어서 어떤 기능을 사용해야 할지 혼란스럽다는 불만을 자주 제기하고 있다.
Java 언어가 상용화된 이후부터 지금까지 툴 공급 업체들은 개발 환경의 생산성을 향상시키기 위해 Java IDE에 더욱 많은 기능들을 추가해왔다. 대중적인 믿음이나 수년 간의 기능 향상에도 불구하고 현재 제공되고 있는 대부분의 Java 툴과 Java IDE는 더 이상 향상된 Java 사용 기능을 제공하지 못한다. 현재 대부분의 Java IDE가 안고 있는 문제는, 개발 환경을 효율적으로 활용하고 모든 기능을 충분히 사용하기 위해 개발자가 먼저 Java 언어를 능숙하게 다룰 수 있어야 한다는 것이다.
이러한 문제를 해결하기 위해 여러 공급 업체들은 Java 개발을 쉽게 수행할 수 있도록 자신의 툴 및 개발 환경을 개선해왔다. 하지만 기존의 여러 Java 개발자를 수용하고 동시에 개발 회사들이 원하는 애플리케이션 개발 환경을 충족시킬 수 있는 툴을 개발해야 하기 때문에 이 분야에서 성공한 업체는 거의 없었다.
지금까지 Java 툴 공급 업체들의 과제는 Java 기술이 부족한 개발자에게도 동일한 유형의 툴 또는 IDE를 통해 숙련된 Java 개발자와 동일한 수준의 작업 성과를 발휘할 수 있는 방법을 찾아야 했다. 또한 공급 업체들은 기술 수준에 관계없이 모든 Java 개발자들이 사용할 수 있고 서비스 지향 아키텍처, 씬 클라이언트 프로필을 지니는 다양한 기능의 클라이언트 애플리케이션 및 포탈을 개발하는 데 필요한 기능을 비롯하여 다양한 주요 작업을 수행할 수 있는 툴을 개발해야 한다.
더욱이 대부분의 IDE 프레임워크에는 Java 개발을 위한 보다 향상된 용량 및 성능이 요구되고 있다. 하지만 이를 위해서는 공급업체별로 특화된 기술을 배타적으로 도입해야 하는 문제가 수반된다. 일반적으로 이러한 툴을 사용하는 개발자들은 다른 공급업체의 툴과는 다른 특별한 방식으로만 작업을 수행할 수 밖에 없기 때문에 처음에 채택한 툴만 사용하게 된다. 특정 공급 업체의 툴 선택 문제는 해당 공급업체의 기술 및 방법 선택에 따른 부담으로 이어지게 되는 것이다.
이상적인 Java IDE는 소프트웨어 프로젝트에 참여하는 모든 개발자가 개발에 필요한 모든 방법에 대한 전문 지식을 쌓아야 하는 부담 없이도 자신의 기술 수준에 따라 모든 개발 작업을 편안하게 수행할 수 있는 환경을 제공할 수 있어야 한다. 이상적인 툴은 다양한 범위의 개발자들이 사용할 수 있어야 하고, 개발 팀의 모든 참여자들이 편안한 방식으로 작업할 수 있는 기능을 제공해야 하며, Java 코드 작성, 모델 작업 또는 스크립트 언어 작성과 같은 작업에 관계없이 공통의 단일 아키텍처로 작업할 수 있도록 하는 것이어야 한다. 하지만 지금까지는 어떤 회사의 단일 툴도 이러한 모든 작업들을 해결할 수 없었다.

Oracle ADF

Java 기술이 보다 폭 넓게 채택되도록 하려면 다양한 범위의 개발자를 포용할 수 있는 IDE가 필요하다는 인식에 따라, 오라클은 시각적이고 선언적인 패러다임을 통해 지금까지 이룩해온 성공 사례를 활용하고자 하였다. 오라클은 Java와 기타 다른 방법을 사용하는 애플리케이션 개발에 이러한 패러다임을 적용하기로 결정했다. 이를 위해 다양한 표준 및 표준코드를 사용하여 사용 용이성 및 향상된 생산성과 같은 장점을 통합하고, 개발 팀의 모든 참여자가 기술 및 개발 방법을 선택할 수 있도록 런타임과 디자인 타임을 명백하게 구분할 수 있기를 원했다. 마지막으로 오라클은 특정 툴이나 방법으로 개발자를 제한하지 않으면 서 이러한 목표를 달성할 수 있기를 원했다.
오라클은 개발자가 Java 및 J2EE 애플리케이션을 쉽게 디자인 및 개발할 수 있는 Oracle ADF라는 표준 기반의 J2EE Application Development Framework 를 고안했다. ADF 환 경은 서비스 지향 아키텍처와 웹 서비스를 보다 효율적으로 구축할 수 있도록 지원한다. 이 프레임워을 지원할 수 있는 포괄적이면서도 생산성이 뛰어난 환경이 될 수 있도록 디자인되었다. ADF 런타임 라이브러리는 애플리케이션 서버의 상위에서 개발자들이 J2EE 디자인 패턴과 쉽게 사용할 수 있는 메타데이타 구동 구성 요소를 활용할 수 있도록 도와준다. 개발자들은 ADF를 사용하여 자신들의 애플리케이션을 웹, 모바일 및 다양한 클라이언트 인터페이스를 지닌 일련의 비즈니스 서비스로 개발할 수 있다.
개발자들은 ADF의 융통성 있는 아키텍처 및 구성 요소 기반 라이브러리를 사용하여 생산성을 향상시키면서도 공급업체의 툴, 기술 또는 방법에 구애 받지 않는다.
오라클의 IDE인 JDeveloper는 ADF 기능을 보완하고 ADF의 기능을 충분히 활용할 수 있도록 돕는다. JDeveloper는 개발자를 위해 보다 시각적이고 선언적인 프로그래밍 환경을 제공하며 Java 및 XML 코드를 활용할 수 있도록 한다. 이 프레임워크에는 오라클에서 Technology Scopes 라고 부르는 다중 아키텍처 계층이 포함되어 있다. 이러한 Technology Scopes를 통해 개발자는 특정 프로젝트의 요구 사항을 가장 잘 충족시켜주며 편안하고 친숙하게 사용할 수 있는 특정 기술 뷰(코드, 모델 또는 개발 방법)를 선택함으로써 자신에게 가장 적합한 개발 방법을 선택할 수 있다. 개발자들은 JDeveloper를 사용하여 자신의 개발 환경을 개인화하여 가장 익숙한 UI(사용자 인터페이스)로 작업할 수 있다. 개발자들은 UML(통합 모델링 언어), Java 및/또는 제작할 애플리케이션의 흐름 및 관계에대한 시각 모델이나 다른 애플리케이션 제작 방법을 사용할 수 있다. 이 외에도 개발자는 가장 대중적인 웹 서비스 표준을 사용하여 웹 서버를 구축하고 Linux, Unix 또는 Windows 및 자신이 선택한 애플리케이션 서버에서 애플리케이션을 구축할 수 있다.
Java 개발자는 기존 코드, EJB, JSF(Java Server Faces), JSP(Java Server Pages), ADF Business Components 및 기타 기술과 함께 Oracle ADF를 사용하여 애플리케이션을 개발할 수 있다. 나아가 ADF는 J2EE 애플리케이션 개발의 모든 단계를 최적화, 개선 및 구축하기 위한 모델링, 테스트, 디버깅 작업을 통합적으로 지원함으로써 개발 팀의 전반적인 생산성을 향상시킨다.
개발자는 Oracle JDeveloper 10g를 사용하여 자신의 기술 수준, 현재 작업과 능력에 적합한 기술들만 포함하도록 개발 환경을 사용자 정의할 수 있다. 개발자가 자신이 사용할 기술을 결정하고 나면 현재 사용 중인 기술에 대한 걱정 없이 ADF가 애플리케이션에 대한 비즈니스 로직 개발에만 전념할 수 있도록 적합한 개발 환경을 제공한다.
JDeveloper에는 개발자가 선호하는 기술이 포함되도록 개발 환경을 구성하기 위한 다양한 내장 애플리케이션 템플릿이 포함되어 있다. J2EE에 익숙하지 않은 개발자도 일련의 기본 템플릿을 사용하여 신속하게 작업을 시작할 수 있다. 고급 J2EE 사용자도 기본 템플릿 뿐만 아니라 다른 여러 가지 템플릿을 사용하여 자신의 개발 프로젝트를 사용자 정의할 수 있다.
또한 프로젝트 책임자나 관리자는 선호하는 솔루션 또는 일련의 기술에 적합한 고유 템플릿을 작성함으로써 최적의 사례(best practices)를 적용할 수 있다. 뿐만 아니라 이 프레임워크는 동일한 환경 내에서 코더와 비즈니스 개발자를 동시에 지원하며 이러한 사용자들이 완전히 동일한 데이타로 작업할 수 있도록 도와준다.
오라클은 Technology Scopes 라는 기술을 통해 이러한 모든 성능을 제공한다.
Technology Scopes는 사용자 정의가 가능한 특정 프로젝트에 적용되는 일련의 기술이다.
이러한 작업이 두 가지 개발 단계가 포함된 프로젝트로 변화하는 일반적인 예로는, 프론트엔드 사용자 인터페이스 프로젝트와 백 엔드 J2EE 프로젝트를 들 수 있다. 백 엔드 프로젝트에서 개발자가 인스턴스에 EJB와 TopLink를 사용할 경우, 개발 단계에 필요한 모든 메뉴, 갤러리, 팔레트 및 기술들이 포함되도록 개발 환경을 구성할 수 있다.
프로젝트의 프론트 엔드 사용자 인터페이스의 경우, 개발자는 EJB 요소는 제거하고 모든 개발자가 HTML 및 JSF 요소만 사용할 수 있도록 개발 환경을 다시 구성할 수 있다.
예를 들어, EJB를 작성하는 개발자가 컴파일러, 에디터 및 디버거만 사용하길 원하면서도 JSP와 Struts를 사용할 때는 보다 시각적인 드래그 앤 드롭 환경을 만들길 원한다고 가정해 보자. 대부분 이러한 두 가지 유형의 프로젝트가 있는 상황에서, 개발자는 두 가지 다른 프로그래밍 스타일을 함께 지원하기 위해 두 가지 툴을 번갈아가면서 사용해야 한다. 하지만 오라클은 개발자가 툴을 채택하도록 강요하는 대신 개발자에게 적용될 수 있는 툴을 개발하기로 결정하였다.
개발자는 자신의 툴과 개발 방식에 대해 특별한 신념을 갖고 있기 때문에 자신이 사용하고 싶은 방식대로 툴을 사용하려고 한다. Oracle JDeveloper 및 ADF에서 제공되는 추가적인 장점을 활용하려는 경우, 개발자는 이러한 제품을 사용하여 작업을 진행하면서도 자신에게 필요하지 않거나 사용하길 원하지 않는 일부 툴은 사용하지 않을 수 있다.
Oracle ADF는 사용자 인터페이스 구성 요소, 컨트롤러, 모델 층 및 비즈니스 서비스의 네가지 계층 아키텍처로 구성되는 일반적인 J2EE 비즈니스 애플리케이션에서 핵심적인 아키텍처 요소를 지원한다(그림 1 참조). 첫 번째 계층은 스윙이나 JSP, ADF UIX 또는 JSF를 사용하려는 개발자의 요구를 최대한 만족시켜줄 수 있는 기술이 포함된 뷰 계층이다.
ADF UIX는 HTML 및 무선 애플리케이션을 위한 선언적 페이지 정의와 다양한 기능의 일련의 사용자 인터페이스 구성 요소를 제공한다. ADF 컨트롤러 계층은 Jakarta Struts에 대한 통합 지원을 제공한다.

<그림 1>


비즈니스 서비스는 ADF 애플리케이션 모듈, EJB, 웹 서비스 또는 기타 모든 Java 클래스로 구현될 수 있다. 이 계층은 융통성 있는 프레임워크를 만들어 개발자가 계층 간 모든 경로를 따를 수 있도록 해준다. Oracle ADF는 개발자가 특정 순서로 특정 기술만 사용하도록 강요하는 미리 정의된 고정 경로를 필요로 하거나 이를 강제로 적용하지 않는다.
Oracle ADF는 선언적 빌딩 블록으로 사용되는 비즈니스 구성 요소 기술을 제공한다. 개발자는 이를 사용하여 확장 가능한 비즈니스 서비스와 데이타 액세스 객체를 만들고 구축할 수 있다. ADF는 또한 비즈니스 규칙을 적용하고 데이타베이스의 영속성(persistence)을 처리하기 위한 요소로 사용될 수도 있다. 모델 층에서 ADF는 다양한 백 엔드 비즈니스 서비스 기술에 대해 일관적이고 선언적인 데이타 바인딩을 제공한다. 이 계층은 또한 데이타바인딩과 비즈니스 서비스가 매끄럽게 작동되도록 해주는 기술을 제공한다.
기업들의 비즈니스 서비스는 각기 다르며, 각자 자사의 요구에 따라 조정되어야 하기 때문에 ADF는 최소한의 실패 위험만으로 애플리케이션을 쉽게 수정할 수 있도록 선언적인 데이타 검증 방식을 지원하고 있다. 한 예로, 백 엔드 데이타베이스, 미들 티어, 브라우저 클라이언트 및 스윙 클라이언트 등 모두 교환 데이타 형식이 있는 간단한 애플리케이션을 가정해 보자. 프레임워크가 없다면 개발자는 코드에서 이 모든 데이타를 선언해야 할 것이다.
또한 값 범위 확장을 위한 수정 또는 검증과 같이 데이타를 변경해야 할 경우에는 해당 값이 사용된 모든 경우를 확인하고 변경된 값이 전체 애플리케이션 내에서 제대로 반영되었는지 확인해야 한다. 해당 값이 사용된 모든 경우에 대해 변경 사항을 적용한 후에는 애플리케이션을 테스트하고 버전을 지정하고 다시 배포해야 한다. 이러한 종류의 데이타 변경은 비즈니스 로직이 변경될 때마다 추가적인 비용과 위험 부담을 초래한다. 또한 변경이 필요할 때마다 이러한 작업을 계속해서 반복적으로 수행해야 한다.
하지만 ADF를 사용할 경우, 개발자는 코드의 데이타 검증과 같은 작업을 단일 위치에서 수행하고 기술할 수 있다. 프레임워크는 다른 계층에서 실행되기 때문에 개발자는 각 계층에 대한 검증 규칙 액세스 및 사용 방법과 구현될 위치를 기술할 수 있다. 따라서 비즈니스 로직이 변경되더라도 비즈니스 전문가, 개발자 또는 분석가 등 모든 작업자가 해당 데이타 값을 변경하고 실행 시스템에 이를 다시 적용할 수 있으며, 앞에서 설명한 데이타 변경, 테스트, 검증 등과 같은 작업이 없이도 이 문제를 쉽게 해결할 수 있다.
Oracle ADF는 또한 비즈니스와 인프라 로직을 쉽게 구분할 수 있는 유용한 해결 방식을 제공한다. 오라클의 JDeveloper 모델링 제품은 사용자 정의가 가능한 메타데이타를 사용한다. 메타데이타는 또한 비즈니스 로직을 인프라 코드와 분리될 수 있게 해주는 유용한 툴이다. 이러한 방식에서는 비즈니스 로직이나 인프라 간에 어떤 영향도 주지 않으면서도 이 모두를 쉽게 변경할 수 있다. 개발자는 ADF를 사용하여 본질적으로 비즈니스 자체에 대해서만 기술하는 단일 위치로 모든 비즈니스 로직을 수집할 수 있다. 이러한 방식은 사용자가 검색이나 사용 사례 적용 등을 런타임에 실행할 수 있는 위치 또는 저장소로 비즈니스 로직 을 배치할 수 있기 때문에, 특히 웹 서비스와 서비스 지향 아키텍처를 작성하는 데 유용하다. 메타데이타의 또 다른 장점은 개발자가 코드를 생성 및 구문 분석하지 않고도 다양한 기능의 사용자 인터페이스를 런타임으로 구성할 수 있다는 점이다.
Oracle ADF는 XML 메타데이타를 지원하고 있다. 모든 변경 사항을 재컴파일해야 하는 코드 메타데이타와는 달리, XML 메타데이타를 사용하면 컴파일 없이도 변경 사항을 구성하고 배포할 수 있다. XML 메타데이타는 개별 저장소를 갖기 때문에 코드가 단일 위치에 저장된다. XML 메타데이타는 검색이 가능하며 분석 기능을 지원한다.

다양한 기능의 향상된 사용자 인터페이스 생성

여러 회사들은 드래그 앤 드롭 기능이나 기타 유용한 기능에 대한 지원을 비롯해 브라우저에서 실행되는 다양한 기능의 데스크톱 인터페이스를 효율적으로 만들기 위해 노력하고 있다. 오라클은 개발자의 애플리케이션 사용자 인터페이스 구축 및 씬 클라이언트 생성을 도와줄 렌더 키트(render kits)와 다양한 클라이언트 지원을 제공한다. 일반적으로 Java 프로그래밍을 수행하는 개발자는 다양한 기능의 사용자 인터페이스를 작성하기 위해 Java 스크립트, HTML, DHTML 등을 구현할 기술이 없거나 이러한 기술을 사용하길 꺼린다.
오라클은 다양한 기능의 사용자 인터페이스 처리 문제를 해결하기 위한 보다 효율적인 방식과 스마트 구성 요소를 제공함으로써 두 가지 문제를 모두 해결하였다. 프로그래머들은 표준 Java 인터페이스를 사용하여 이 구성 요소를 사용하고, 이 구성 요소는 내부적으로 Java 스크립트, DHTML 또는 기타 지정된 스크립팅 언어를 사용한다. 따라서 프로그래머는 다양한 기능의 최종 사용자 환경을 제공하기 위해 여러 가지 스크립팅 언어를 힘들게 사용할 필요가 없다. 이러한 구성 요소들은 브라우저 내의 드래그 앤 드롭 기능이나 일반적으로 구현이 매우 어려운 부분적 페이지 새로 고침 기능과 같은 다양한 기능을 제공한다.
오라클은 Java 웹 애플리케이션을 위한 표준 사용자 인터페이스 프레임워크인 JSF를 지원한다. JSF는 비즈니스 층 및 프레젠테이션 층을 구분하고 구성 요소 자체와 구성 요소의 표현문제를 구분한다. JSF는 상태 관리, 이벤트 처리 수행 및 기타 다양한 작업을 처리할 수 있는 UI 구성 요소인 일련의 클래스로 구성된다. JSF 애플리케이션은 일반적으로 웹 서버에서 실행되며 클라이언트에서 해당 UI를 렌더링한다. JSF는 UI 구성 요소 자체와 UI 구성 요소의 표현 문제를 명확하게 구분한다. 따라서 다양한 장치에서 다양한 방식으로 UI 구성 요소를 렌더링할 수 있다. JSF는 Java Specification Request(JSR) 127로 최종적으로 완성되었다.
오라클은 ADF 내의 UI 구성 요소에 대한 룩앤필을 렌더링할 수 있는 선언적인 방식을 추가하였다. Oracle 렌더 키트(render kits)는 XML 기반으로, 개발자는 어떤 코딩 작업도 수행하지 않고 자신의 애플리케이션이 갖고 있는 룩앤필과 동일한 방식으로 인터페이스를 구성할 수 있습니다. 오라클은 메타데이타 기술을 추가함으로써 이러한 기능을 지원하기때문에 개발자는 인터페이스를 코드로 작성할 필요가 없다. 개발자는 그 대신 메타데이타 설명을 읽고 ADF 환경에 대한 자신만의 또는 표준화된 룩앤필을 만들어내야 한다.

앞으로의 전망

오라클은 새로운 기술을 비롯하여 ADF의 모든 구성 요소를 새로운 Java 표준으로 표준화할 계획을 갖고 있다. 이러한 계획에는 보안 및 뒤로 버튼 지원과 같은 기능에 대한 JSF 표준의 확장 기능 개발도 포함된다. 현재 오라클은 개발자들이 작업을 수행하기 위해 프레임워크를 벗어나거나 다시 프레임워크를 활용할 수 있도록 유연한 프레임워크를 계속해서 제공할 계획이다. 또한 오라클은 이러한 프레임워크를 지속적으로 사용하는 개발자들의 생산성을 더욱 높일 것이며, 특정 툴에 대한 배타적 사용 환경을 지양하여 사용자가 이미 알고 있거나 다른 유용한 툴 또는 기술을 버리지 않도록 앞으로도 지속적인 노력을 기울일 것이다.

필수 지침

디자인에서 배포까지 완벽한 기능을 제공하는 개발 아키텍처를 찾는 개발자 및 IT 관리자들은 오라클의 JDeveloper와 ADF의 평가 및 사용을 신중하게 고려하기 바란다. 오라클은 과거 10년 동안 다소 어려운 여러 목표들을 달성해왔다. 개발자는 자신의 기술 수준이나 개발 방법에 대한 경험에 관계없이 오라클이 제공하는 생산성이 뛰어난 개발 프레임워크를 사용하여 미처 알지 못하거나 배울 필요가 없는 기술 또는 방법을 사용하지 않고도 자신 이 원하는 방식대로 자유롭게 개발할 수 있다.
IDC는 오라클이 3GL과 UDE 기술 간의 연결 고리를 제공하였으며, 오라클의 ADF에는 분석, 모델링 및 디자인을 위한 보다 향상된 추상적 방식들이 내장되어 있다고 믿고 있다. 이 프레임워크에서는 다양한 개발 방식을 사용하는 여러 개발자들이 서로의 작업에 영향을 주지 않으면서 동일한 프로젝트를 수행할 수 있다. IDC는 개발자가 항상 표준 데이타 집합으로 작업하고 데이타 추상 대신 이러한 표준 데이타로부터의 디자인 타임 추상을 구현할 수 있도록 전체 개발 팀 내의 생산성 및 정보 공유 능력을 크게 향상시키기 위한 오라클의 노력이야 말로 개발자에게 있어서 가장 큰 장점이라고 생각한다. ADF와 JDeveloper는 개발자와 비즈니스 분석가들에게 동일하지만 보다 효율적으로 구성된 데이타를 사용하여 디자인 타임 추상에 대한 다양한 계층으로 이동할 수 있는 자유를 제공한다. ADF는 개발자와 비즈니스 분석가의 다양한 요구를 모두 해결할 수 있는 확장된 진정한 개발 환경의 핵심요소 중 하나로 인식되어야 한다.
Oracle JDeveloper는 디자인 및 개발과 관련한 모든 기능을 지원할 수 있는 단일 툴을 추구하는 IT 관리자에게 매우 유용한 툴이다. 개발자는 자신이 원하는 방식대로 파일을 구성하고, 이러한 파일로 작업을 수행하고, 작업을 마친 후에는 다시 이를 검사할 수 있다. 여러 개발자들은 동일한 데이타를 갖고 작업을 수행하기 때문에 하나의 뷰에서 변경된 사항도 다른 모든 뷰에 그대로 반영된다. 이러한 기능 덕분에 오라클은 MDA(Model Driven Architecture) 사용과 관련된 주요 문제 중 하나를 극복할 수 있었을 것이다. MDA를 사용하여 작업할 경우 개발자는 애플리케이션을 디자인하고 메타데이타를 만들고 코드를 작성한다. MDA에서 항상 제기되어 온 문제는 코드를 작성한 다음에는 개발자가 항상 해당 모드로만 작업을 수행해야 한다는 점이었다. 코드 작성을 MDA로 시작할 경우??은, 회사들이 MDA 사용을 꺼리는 이유가 되기도 한다. ADF를 사용하면 모델 구동 방식 사용에 따른 장점을 얻는 동시에 메타데이타 작업에 따른 장점까지도 함께 얻을 수 있다. 애플리케이션 개발의 서로 다른 여러 단계도 동일한 환경 내에서 동시적으로 지원된다.
ADF는 자체적으로 진화하고 기능을 계속해서 확장해 나가는 개발 환경의 원동력이다. 현재 제공되는 기능 중 상당 부분이 아직 배타적인 성격을 지니고 있지만, 이 프레임워크에 대한 기술이 성장함에 따라 오라클은 지속적으로 새롭고 유용한 코드를 추가해나갈 것이다. 오라클은 표준 프로세스 전반에 고유 코드를 제공하고 배타적인 툴 사용 환경을 배제하기 위해 최선의 노력을 기울이고 있다. 지금까지 ADF에서 제공되는 기능에 비춰볼 때 이러한 오라클의 노력은 개발 환경의 발전을 위한 매우 밝은 출발점이 될 수 있을 것이다.

관련 보고서
▣ Worldwide Third-Generation Language Tools, 2004-2008 Forecas (IDC #30973 2004년 3월)
▣ Reaching Detente in the J2EE and .NET Skirmishes(IDC #30484, 2003년 12월)
▣ Myths and Revelations Regarding the Use of Open Source for Development (IDC #30336, 2003년 10월)
▣ Borland Delivers Advanced Development Capabilities for the C++ Market (IDC #30116, 2003년 9월)
▣ Sun"s Project Rave Extends Java"s Reach(IDC #29764 2003년 7월)
▣ Worldwide Third-Generation Language Tools Competitive Analysis, 2003 (IDC #29618, 2003년 6월)
▣ Borland Delivers Domain Agnostic Solutions with Janeva (IDC #29541, 2003 년 6월)
▣ As Sun Sets Its Sights on the Future, It May Be Dropping the Developer Ball (IDC #29203, 2003년 4월)
▣ Worldwide Third-Generation Language Tools Forecast, 2003-2007 (IDC #29038 2003년 3월)