Forms 현대화에 대한 파트너 패널 토론
소프트웨어 개발 부사장 Joel Kallman과 전세계 APEX 커뮤니티의 전문가들의 Oracle Forms 현대화에 대한 토론을 시청하여 Oracle APEX를 사용한 Oracle Forms 애플리케이션 현대화의 긍정적인 측면과 당면 과제를 알아보십시오. 실제 성공 사례, 과제 및 팁에 대해 논의합니다.
참가자
Joel Kallman(호스트)
Oracle 소프트웨어 개발 부사장, 미국 오하이오 콜럼버스
Dario Bilić
BiLog 이사 및 관리자, 크로아티아 자그레브
Simon Greenwood
Explorer UK Ltd. 개발 서비스 책임자, 영국 리드
Sergei Martens
Smart4APEX 파트너 관리, 네덜란드 틸버그
Francis Mignault
Insum Solutions CTO 겸 공동 설립자, 캐나다 몬트리올
이 녹취는 APEX Office Hour의 일부로 수행되었습니다. https://apex.oracle.com/officehours
주요 토론 쟁점
질문 1
완료했거나 진행 중인 프로젝트 중 한 가지에 대해 간단히 설명해 주시겠습니까?(11:55)
Dario:
- 광범위한 지역의 유럽 은행
- Oracle Forms 500개; Oracle Reports 600건
- APEX, Java 및 Angular, .NET을 사용한 시범 적용, Forms 12c로 업그레이드
- 시범 선택된 Oracle APEX 기반
Simon:
- 에너지 부문 ISV의 가스 및 전기 측정을 위한 스마트 미터 관리
- 영국 최대 에너지 공급업체 중 4/6에서 사용
- 전환된 Forms 100개
-
현대화가 필요한 이유 =
- 소프트웨어 구현을 위한 SaaS 제공 필요(브라우저 한정)
- 데스크톱이 아닌 태블릿을 위한 반응형 최신 설계
- 진입 지점 비용 감소
- Oracle Forms 클라우드 서비스가 아닌 미래형 클라우드 옵션 필요
- 유럽 지사 확장에 따른 다국어 기능 필요
- Forms 개발자가 APEX에 필요한 선행 기술 보유
Sergei:
- 석유가스 산업의 탱크 터미널 기업
- Oracle Forms 현대화로 미래 및 예상 성장 대비 및 비즈니스 요구사항에 더 적합한 리팩토링
- 초기 ADF로 문제를 겪어 APEX가 더 신속할 것을 확신
- 각 10인으로 구성된 개발팀 2팀에서 중요 앱 개발 중
Francis:
- 주요 미국 크루즈 항로, 선상 자산 관리 시스템(탑승, 상륙 관광, 고객 서비스, 백오피스 보고서)
- 수년간 여러 프로젝트
- 현대화된 Forms 300개 및 보고서 다수
-
현대화가 필요한 이유 =
- 성능 문제
- 향상된 UI
- 모든 PL/SQL 투자 활용 가능
질문 2
다시 쓰기, 부분 이전, 기존 Oracle Forms 앱에 인접한 새 앱 생성 등의 APEX 현대화 접근법 중 어떠한 방식을 사용하고 계십니까?(20:50)
Simon:
- 환경에 따른 모든 요소 고려 필요
- 일반적으로 라이센스 비용 등의 절감이라는 이점을 활용하여 다시 쓰기 완료
- 동일한 수단을 사용할 수 있으나 필수는 아님 – Forms는 기본적으로 클라이언트/서버
- APEX를 사용하여 최신 “웹” 앱 구축
- Forms에서 이전할 때의 “만능 해결책”이 없음 – 반드시 재개발 필요
- 가능한 한 많은 코드를 재사용
Sergei:
- 1:1(이상) 이전으로 시작하여 개발자에게 APEX 학습 기회 제공
- 트리거 논리를 데이터베이스 논리로 이동
- 성과를 빨리 얻을 수 있는 새 기능을 선택하여 비즈니스 만족도 얻기
- Forms 및 APEX 모두에 작업할 필요 없도록 “사용자 그룹” 이전 살펴보기
Francis:
- 한 프로젝트에서 모든 것을 실행하는 경우 “대대적인 규모” 정당화가 어려움
- 기존 앱을 확장하는 부분적 다시 쓰기 사용 – 모듈 활용
- 먼저 APEX를 이해한 다음 기존 테이블에서 사용하기 시작
질문 3
이러한 유형의 프로젝트에서 가장 큰 과제로는 어떤 것이 있었습니까?(29:40)
Sergei:
- 페이지에 가능한 한 많은 콘텐츠를 담는 방식에서 웹 친화적인 디자인으로 Forms 개발자의 사고방식을 전환시킵니다.
- 대규모 프로젝트의 경우 UI 표준 설정 및 일관성을 유지합니다.
- 범위 추가 – 비즈니스는 지속적으로 새 기능을 요구합니다.
Simon:
- Forms 개발자는 지속적인 데이터베이스 연결에 익숙하므로 임시 테이블 사용 – APEX에서는 APEX 모음을 사용해야 합니다.
- 다중 행 편집 페이지
- APEX에서는 페이지 제출 시에 검증하는 대신, 항목 및 블록 트리거를 사용하여 검증합니다.
- 100% Forms 처리 복제(예를 들어 여러 페이지 간) 시도의 문제
질문 4
고객이 얻은 가장 큰 이점은 무엇이었습니까? 고객이 결과에 대해 만족스러워했습니까?
Dario:
- 이미 APEX(데이터베이스 라이센스를 통해)를 결제하고 있는 경우, Forms에서 이전하는 비용을 절약할 수 있습니다.
- Forms 개발자에게 APEX 사용 재교육 가능 – 비용이 현저히 절감됩니다.
- 웹 기술로 즉각적 이동 – 수천 명의 일반 사용자에게 각각 배치하는 대신 웹(중앙화됨)을 통해 배치합니다.
- APEX를 활용해 모바일 및 REST 서비스 기능을 제공합니다.
- 비즈니스 사용자에게 매력적인 현대화된 앱을 제공합니다.
Francis:
- Oracle 기존 투자 활용 – 라이센스, 데이터 모델, 동일 기술 스택을 활용합니다.
- Forms 개발자에 대한 APEX 교육은 다른 웹 기술에 비해 훨씬 쉽습니다.
- 21세기형
질문 5
항상 백엔드 비즈니스 논리인 SQL 및 PL/SQL에 대한 투자를 보호해야 한다는 이야기를 하는데, 잘못된 생각일까요? APEX를 활용하는 새로운 환경에서 작동하도록 백엔드 코드를 수정하는 범위는 어느 정도여야 합니까?(41:50)
Francis:
- 논리가 Forms 내부가 아닌 데이터베이스에 있는 경우, 거의 모든 코드를 활용할 수 있습니다.
- Forms(또는 설계자 생성) 내부에 있는 경우 비즈니스 논리를 검토하기가 더 어렵습니다.
- APEX에 내장된 APEX Forms 이전 기능으로 논리 주석을 지정할 수 있습니다.
- APEX는 Forms 개발과 가능한 한 유사한 접근법을 사용하여 재사용이 더욱 쉽습니다.
Dario:
- Forms 내에 대부분의 코드가 있는 경우 – 데이터베이스로 모두 이동시키도록 해야 합니다.
- 코드가 이미 데이터베이스에 있는 경우 아주 쉽게 재사용할 수 있습니다.
질문 6
APEX를 통한 현대화에 적합한지 여부를 평가하는 프로세스에 대해 설명해 주시겠습니까? APEX를 사용하여 현대화하지 않을 Forms 앱의 예를 들어 주시겠습니까?(46:30)
Simon:
- web_util(데스크톱 작동 수행) 등의 일부 코드는 웹 프레임워크에 적합하지 않은 경우가 있습니다.
- Forms 트리거에 필요한 코드의 양을 판단하여 노력의 정도를 파악합니다.
- 여전히 활용 가능한 섹션이 무엇인지 검토합니다(더 이상 사용하지 않는 일부 = 현대화하지 않음).
Dario:
- APEX는 웹 기반으로, 일부 제한이 있는 클라이언트/서버 기반이 아닙니다.
- Forms는 클라이언트측의 사실상 “웹” 작업이 아닌 부분에 대한 통제력을 높였습니다.
- 플러그인과 기타 기술을 사용하여 클라이언트측 요구사항을 달성할 수 있습니다.
질문 7
Forms 배경 지식이 있는 대상에게 어떻게 APEX를 교육하십니까? APEX는 웹으로, 웹은 차이가 있습니다.(50:55)
Sergei:
-
3단계로 시행되는 전사적 Forms 개발자 교육
- 초급 – APEX 기본; 이후 개발자가 활용을 통해 추가 학습
- 중급 – 렌더링 단계, 고객 단계, 처리 단계
- 고급 – 모범 사례 및 표준; 일관성
- 개발을 시작한 후 JS 및 CSS 언급
- JS, CSS, HTML 웹 개발 전문가를 보유하는 것이 최선
Dario:
- 웹 기술 전문가를 팀에 보유하여 새로운 웹 기술을 이해하는 것이 가장 좋습니다.
- Forms로 현대화가 필요한 워크숍을 대상으로 합니다.
- 강력한 APEX 커뮤니티(twitter, apex.world)에 대해 인식합니다.
- 질문(및 Google 검색까지)을 독려합니다.
- 여러 페이지/앱 간에 필요한 공통 기능을 위한 플러그인을 구축합니다.
- FOEX 등 타사
Francis:
- 웹 작동 방식과 “마인드 변화”에 있어 Forms 개발자 교육은 가장 중요합니다.
- 단순한 앱을 구축하며 자유롭게 활용하도록 합니다.
- 개발자와 협업하고 주의사항을 교육합니다.
- 앱 디버깅/추적 방법을 익힙니다.
- 일반 사용자도 교육해야 합니다 – 보는 것과 실행하는 것은 다릅니다.
질문 8
기존 Forms 개발자가 APEX와 웹 개발 능력을 함양하는 데 어느 정도 시간이 소요됩니까? 이후 도움을 받지 않고 추후 개발을 실시할 수 있었습니까?(1:01:45)
Dario:
- 42분
- 교육 후에는 지원을 받으며 수주 안에 생산성을 발휘할 수 있습니다.
- 1-2개월 후에는 지원을 많이 받지 않고도 생산성을 발휘합니다.
Simon:
- 며칠 안에 가동이 가능하고, 몇 주 안에 역량이 생깁니다.
- JavaScript 또는 jQuery와 같은 다른 웹 기술의 경우 더 오랜 시간이 소요되며 수개월이 걸리기도 합니다.
- 개발자는 APEX를 수용하여 시간과 경험에 이점을 얻어야 합니다.
질문 9
고객이 직접 이전을 수행할 수 있습니까? 이 Office Hour 포럼은 많은 파트너로 구성되어 있는데, 시청 중에 이전을 완료하는 데 외부 지원이 필요하겠다는 생각이 들 수도 있을 것 같습니다. 그럴 경우 어떻게 답변하시겠습니까?
Francis:
- 이미 APEX를 알고 있는 경우 직접 바로 시작할 수 있습니다.
- 숙련된 코치/파트너를 얻을 수 있어 매우 유용합니다.
- 파트너는 도구를 보유하고 교육 등을 제공할 수 있습니다.
- 파트너는 문제, 보안, 접근법 등에 대한 광범위한 경험을 보유하고 있습니다.
- 고객은 소규모 견본으로 시작할 수 있습니다.
Sergei:
- 규모가 작은 앱은 문제가 되지 않습니다.
- 규모가 큰 앱은 모범 사례(버전 관리, 환경, 플러그인…)를 활용하는 것이 중요하며, 파트너가 이를 제공할 수 있습니다.
- 초기 몇 개월간 도움을 받는 것은 특히 중요합니다.
질문 10
APEX를 사용하여 Forms 앱 일부의 현대화를 고려하는 시청자를 위한 조언이 있습니까?(1:08:40)
Dario:
- 비즈니스 사용자도, 관리자도, 개발자도 모두 매우 만족하므로 한번 시도해 보십시오.
- Oracle 또는 APEX 컨퍼런스로 이동하여 탁월한 콘텐츠와 열정을 직접 확인하십시오.
Simon:
- 최신 APEX 버전을 다운로드합니다.
- apex.oracle.com에 가입합니다.
- Forms 개발자는 APEX에 금세 적응할 수 있습니다.
- 기존 앱을 검토하고 페이지가 아직 사용되는지 확인합니다.
- 이전에 대한 “만능 해결책” 부재 – 기본적으로 재설계가 필요합니다.
- Forms: “Java Client Roadmap”에 대한 백서를 확인하고 미래를 평가하십시오.
{ https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf}
Sergei:
- 소규모 시작 – 작은 프로젝트로 시작해 빠른 결과를 달성하십시오.
- 대화식 보고서, 대화식 그리드 등 보고 기능을 살펴보십시오.
Francis:
- 지금 바로 APEX 사용 시작 – 자유로운 시도
- UI 계획, 보안 계획(인증 및 권한 부여) 및 탐색 계획 수행
- “대대적인 규모”가 아닌 단계별 개발
- 단순함 – 부가 기능 최소화
- Forms를 복제하는 것이 아님
- 관리 변화 – 사용자, 개발자, 분석가, DBA 교육 필요
- APEX 커뮤니티에 참여