prosource

Java EE Framework 중 Oracle ADF 11g의 위치는 무엇입니까?

probook 2023. 6. 12. 21:33
반응형

Java EE Framework 중 Oracle ADF 11g의 위치는 무엇입니까?

다음은 두 부분으로 구성된 질문입니다.

Oracle ADF 11g가 웹/Java EE 애플리케이션을 개발/배포하는 프레임워크로서 다른 프레임워크에 비해 어느 정도 위치에 있는지 알고 싶습니다.Oracle ADF가 웹 애플리케이션 개발을 위한 프레임워크로 얼마나 사용되고 있습니까?Oracle ADF Developer로서 좋은 일자리가 있는지, Oracle ADF 스킬을 보유한 사람들의 미래는 어떤지를 관점에서 묻고 있습니다.

또한 Oracle이 Fusion Applications의 핵심 기술로 ADF를 사용할 계획인데, 지금이 siebel 개발자로서 Oracle ADF 기술을 구축하기에 좋은 시기입니까?ERP와 같은 미래의 Oracle CRM 애플리케이션으로서, SCM은 개발자들이 ADF 스킬을 구축하기 시작하면 ADF를 기반으로 할 것입니다.고객은 언제쯤 ADF 기반의 애플리케이션을 구현하기 시작할 것입니다.이러한 서비스는 온프레미스 방식으로 제공됩니까, 아니면 대부분 온 디맨드 방식으로 제공됩니까?

우리는 프로젝트 중 하나로 오라클 ADF를 선택했습니다.안타깝게도, 이것은 큰 실수로 판명되었습니다.저는 개인적으로 Oracle 제품, 특히 그들의 DB를 사용해 왔지만 퓨전 미들웨어에 관해서는 멀리하는 것이 좋습니다. ADF는 제가 설계자로서 사용한 것 중 가장 최악의 프레임워크였습니다.제가 주목한 기능 중 일부는 매우 복잡한 Oracle이 수년 전 Java 커뮤니티에 의해 잘못된 관행으로 입증된 일부 개발 접근 방식을 "발명"하거나 강제하는 것입니다.ADF는 다른 프레임워크에 비해 매우 느립니다.속도가 느리다는 것은 ADF 페이지가 느리게 실행된다는 것을 의미합니다.그 이유는 매우 복잡한 생성 html과 javascript 때문입니다.Firebug를 열고 생성된 html을 검사하면 이를 확인할 수 있습니다. 90년대 것처럼 보입니다.형편없었어요.지나치게 현학적이지는 않지만 ADF 페이지에는 모든 브라우저에서 실행되도록 하는 데 문제를 일으키는 엄청난 양의 유효성 검사 오류가 있습니다.제가 보기에 ADF의 구조는 지저분합니다.예를 들어 Struts2는 훨씬 깨끗한 프레임워크이므로 jQuery 등과 같은 타사 라이브러리와 매우 쉽게 통합할 수 있습니다.Oracle은 ADF를 MVC 프레임워크로 지지하지만 솔직히 그곳에서 실제 MVC 아키텍처를 보지 못했습니다. ADF는 jQuery나 Prototype과 같은 다른 것들에 비해 크고, 실질적으로 수정이 불가능하며, 최적화되지 않고 느리다는 자체 자바스크립트 라이브러리를 사용합니다.J2EE의 최근 추세는 종속성 관리를 위한 Spring, 스크립트를 위한 jQuery, 지속적인 통합을 위한 CC와 같은 다른 도구와 쉽게 통합되는 경량 플러그형 프레임워크입니다.ADF는 다른 ORacle 툴과 긴밀하게 통합된 중량 프레임워크로, Oracle이 고안한 것과 다른 방식으로 사용하기가 매우 어렵습니다.

ADF를 개발할 때 사용해야 하는 개발 도구는 말할 것도 없고, 매우 버그가 많고 정기적으로 충돌하는 JDeveloper입니다.ADF에는 JDeveloper가 자동으로 생성하는 수많은 "특정" 파일이 있기 때문에 Eclipse에서 개발하는 것은 문제가 있습니다.

대체적으로...ADF는 우리에게 큰 실망이었습니다.우리는 몇 달 동안 문제를 일으켰고, 마침내 고객이 애플리케이션이 너무 느리고 지원하기 어렵다고 판단하여 이를 모두 취소했습니다.

제 경험에 비추어 볼 때, 저는 그것에서 떨어져 있다고 말할 수밖에 없습니다.Struts2 또는 Spring과 같이 보다 지원되고 구조적으로 깨끗한 솔루션 중 하나를 선택합니다.

JDeveloper 10과 11을 ADF와 함께 유명 방위산업체를 위한 두 개의 엔터프라이즈 ADF 프로젝트에 사용했습니다.저는 ADF가 복잡하다는 것에는 동의하지만 JDev가 자주 충돌하거나 페이지 렌더링이 느리다는 것에는 동의하지 않습니다.

왜 ADF죠?JDeveloper와 ADF가 Java EE 개발을 "비즈니스" 프로그래머가 더 쉽게 액세스할 수 있도록 한다는 Oracle의 개요를 아래에서 읽어 보십시오.이것이 우아한 프로그램을 보장하지는 않지만, 이 개발자들이 ADF와 문제가 생기면, 그들은 아마도 완전히 길을 잃고 후드를 열고 내부에 도달하는 방법을 거의 알지 못할 이라는 것을 거의 확실히 보장합니다.반대로, 그들은 현재의 J2EE 오픈 소스 코뉴코피아를 통합하려고 시도하는 훨씬 더 빨리 사라질 것입니다.


설교 출처: ADF 개발자 가이드(문단)

"Jave 엔터프라이즈 플랫폼은 1990년대 후반의 Java 초기부터 대규모로 성장했으며 오늘날 대규모 개발자 커뮤니티에서 사용되고 있습니다.그러나 개발자 커뮤니티는 동질적이지 않으며 전문 Java 프로그래머가 아닌 업계 핵심 역량을 보유한 비즈니스 개발자를 포함합니다.Java EE 플랫폼커뮤니티가 성장함에 따라 평균 프로그래머 기술 수준이 저하되고 있습니다.

Java EE 플랫폼의 모든 측면을 심층적으로 이해하는 단일 개발자가 있다는 것은 상상하기 어렵습니다.Java EE에서 해결해야 할 문제는 개발자가 민첩성을 제한하지 않고 최첨단 웹 및 SOA 앱을 구축할 수 있는 기술을 제공하는 것입니다.

Struts, Spring, JSF, EJB, GWT 등과 같은 기존 Java 프레임워크는 더 단순한 제어 기능을 사용할 수 있는 복잡한 영역을 포괄합니다.프레임워크를 사용하여 개발자는 더 이상 자바 코어 API로 작업하지 않고 프레임워크에 의해 노출된 인터페이스 및 서비스와 상호 작용합니다.

아, 아, 아...

숙련된 자바 개발자들에게 작은 문제처럼 보이는 것은 자바와 EE 개발을 처음 하는 비즈니스 개발자들에게 또 다른 장애물입니다.이러한 유형의 개발자는 단일 기술 선택에서 앱 개발의 모든 측면의 통합을 약속하는 단일 개발 환경으로 전환할 수 있습니다.4GL 데스크톱 개발 배경의 개발자는 PLSQL, .NET, Adobe Flash에 끌릴 수 있습니다.

경험이 풍부한 Java 개발자는 이를 큰 실수로 간주할 수 있지만, Java가 단일 솔루션을 제공하지 않는 한 이러한 개발자가 어떻게 알 수 있을까요?이 솔루션은 다양한 프레임워크와 기술을 하나의 제품으로 결합하여 시각적이고 선언적인 개발 제스처를 주요 프로그래밍 방법인 ADF에 노출시키는 엔드 투 엔드 프레임워크입니다."

저는 지난 6개월 동안 ADF와 함께 일했고, ADF가 강력한 데이터베이스 통합과 함께 특히 큰 응용 프로그램이라는 것을 깨달았습니다.데이터베이스가 풍부한 응용프로그램을 빠르고 쉽게 개발할 수 있는 다른 프레임워크는 본 적이 없습니다.

네, 약간의 버그가 있다는 것에 동의하지만, 그래도 당신이 그것을 다루는 방법을 안다면 잘 작동합니다.

ADF에 대한 저의 인식과 경험은 ADF가 매우 견고하고 견고한 프레임워크라는 것입니다(불행히도 개발 도구는 그렇지 않습니다).저는 적어도 하나의 프레임워크에서 경쟁이 심하지는 않을 것이라고 확신합니다. ADF 자체는 수년에 걸쳐 여러 다른 프레임워크들이 결합되어 대부분의 응집력 있는 제품이 되었습니다.Oracle이 Java를 소유하고 있기 때문에 많은 ADF가 Java EE에 적합할 것으로 기대하고 있습니다. 따라서 대체 구현과 더 나은 개발 툴을 확인할 수 있을 것입니다.만약 그렇게 된다면, 이는 ADF의 미래를 상당히 공고히 할 것입니다(Oracle이 그 동안 Java 커뮤니티를 망쳐서 다른 VM 플랫폼으로 밀어넣지 않는 한).

Oracle(관련) 제품에 이미 익숙하거나 관련 작업을 수행하고 싶다면 ADF가 좋습니다.Oracle의 시장 침투율을 고려할 때 Oracle이 앞으로도 우위를 유지할 것이며 귀사의 기술은 향후 몇 년 동안 시장성을 유지할 것이라는 점이 합리적일 것입니다.Oracle은 기업을 소유하고 유지하기 위해 많은 비용을 지출하고 많은 회사를 인수하고 있습니다.

SaaS 질문은, 저에게, 대답하기가 조금 어렵습니다.이러한 방향으로 움직이는 것처럼 보이지만, 대부분의 경우 마케팅이 이러한 방향으로 추진하는 것인지 아니면 비즈니스 요구가 이러한 방향을 주도하는 것인지는 분명하지 않습니다.또한 중요한 데이터 및 안정성에 대한 클라우드의 비즈니스 신뢰성과 같이 제가 추적하지 못하는 많은 질문들이 있습니다.

단답:

  • Enterprise 솔루션을 개발하고 제품 공급업체는 Oracle입니다. ADF가 최선의 선택입니다.
  • 인디 개발자 여러분, 여러분의 솔루션은 엔터프라이즈용이 아닙니다. Oracle 스택에서 다른 제품을 사용하지 않을 것입니다. ADF는 여러분을 위한 것이 아닙니다. 다른 프레임워크를 찾아보십시오.

긴 답변:

Enterprise로 이동하는 경우 일반 제품의 스택 공급업체가 Oracle인 경우.ADF를 사용하는 것이 가장 좋습니다. ADF는 주요 릴리스마다 더 좋아집니다.저는 11.1.1.2부터 ADF를 사용하기 시작했고, 10.x에서 12.1.3을 사용했으며, 11.1.1.6에서 대규모 엔터프라이즈 애플리케이션을 지원합니다.

크게 개선되었지만 전체 Oracle 스택에 대해 더 나은 통합과 지원을 제공하는 다른 제품을 찾는 것은 정말 어렵습니다.

그러나 다른 프레임워크에 대해 잘 알고 있거나 다른 Oracle 제품을 사용하지 않을 경우 고객이 ADF/Weblogic/DB/ECM 등에 대해 많은 비용을 지불할 수 없습니다.당신의 최선의 선택은 ADF를 피하는 것입니다.대규모 엔터프라이즈 솔루션에 적합합니다.

네, 사실 ADF Essentials의 무료 및 제한된 버전을 사용하여 개발할 수 있습니다. 다른 앱 서버를 Tomcat 또는 glassfish로 사용하면 다른 프레임워크를 사용하는 것이 더 낫습니다. ADF Essentials는 작은 경량 애플리케이션을 위한 솔루션이 아닌 대기업 세계로의 시작일 뿐입니다.

ADF의 발달은 마음의 고통입니다.신입생에게는 학습 곡선이 너무 가파릅니다.저는 그것이 닷넷을 배우는 것과 같았으면 좋겠습니다.

제 관점에서, 닷넷에서 기능을 배우고 구성하는 것은 ADF에서 동일한 작업을 수행하는 데 4분의 1의 시간이 소요됩니다.물론, 사람이 배우면서 불균형은 줄어들지만, 그것은 초보자들을 위한 시나리오입니다.답답해요.

저는 지난 3개월 동안 ADF와 함께 일해 왔습니다. ADF는 강력한 데이터베이스 통합 기능을 갖춘 대규모 엔터프라이즈 애플리케이션에 신속한 개발 프로세스를 제공하는 데 필수적인 상황에 매우 적합합니다.

Spring과 같은 다른 JavaEE 프레임워크와 비교하면,

  • ADF의 아키텍처 터어와 스프링과 관련된 개발 커뮤니티의 부족으로 인해 버그를 수정할 때 매우 복잡합니다.Spring은 프레임워크 주변에 큰 개발 커뮤니티를 가지고 있습니다.

  • ADF 인터컴포넌트 통합으로 MVC 아키텍처를 구현하는 것은 어렵습니다.

  • Spring Developers는 ADF Developers에 비해 훨씬 더 많은 명성과 수요를 가지고 있습니다.

  • ADF는 Spring 및 Oracle 툴과 통합된 프레임워크에 비해 매우 느리고 무겁고 긴밀하게 결합되어 있습니다.

이것이 당신의 문제를 해결하고 당신의 지식을 얻는 데 도움이 되기를 바랍니다.해피 코딩!!!

언급URL : https://stackoverflow.com/questions/3530942/where-does-oracle-adf-11g-stands-among-java-ee-frameworks

반응형