현대적 앱 개발 - SaaS 확장
Oracle Applications Cloud는 HCM(Human Capital Management), ERP(Enterprise Resource Planning), SCM(Supply Chain Management), CX(Customer Experience) 등의 영역에 대한 솔루션을 제공하는 완전한 SaaS(서비스형 소프트웨어) 앱 제품군입니다.
모든 SaaS 앱과 마찬가지로, 커스터마이징된 UI 레이아웃이나 추가 비즈니스 프로세스와 같이 조직에 고유한 확장 기능이 필요할 수 있습니다. 이러한 확장은 Oracle Applications Cloud의 정보와 통합되거나 다른 시스템의 데이터를 결합하는 앱으로 구현됩니다. 이 앱은 동일한 보안 계층을 사용하며 Oracle Applications Cloud와 원활하게 통합되는 사용자 경험을 제공합니다. 일부 확장 앱은 Oracle Applications Cloud 인터페이스에 내장되어 있거나 외부 고객을 대상으로 하는 경우 Oracle Applications Cloud 환경 외부에서 작동합니다.
설계 원칙
다음 설계 원칙을 사용하여 SaaS 확장 앱을 구축합니다.
- 경량 오픈 소스 프레임워크 및 성숙한 프로그래밍 언어 사용
UI 층에 Oracle JET(Oracle JavaScript Extension Toolkit)을 사용합니다. Oracle JET는 Oracle Applications Cloud 팀이 Redwood 기반 UI를 개발하는 데 사용하는 Oracle 및 오픈 소스 JavaScript 라이브러리의 오픈 소스 툴킷입니다. JET는 이와 동일한 Redwood UI 패턴, 스타일 및 템플리트를 제공합니다.
HTML5 및 CSS와 함께 UI 층에 대해 JavaScript를 사용합니다. 백엔드의 경우 Java를 사용합니다.
- REST API를 사용하여 통신하는 마이크로서비스 제품군으로 앱을 구축할 수 있습니다.
REST API로 표시되는 마이크로서비스로 비즈니스 프로세스 및 데이터 조작 서비스를 개발합니다. 이렇게 하면 서비스를 쉽게 처리, 확장 및 액세스할 수 있습니다.
Oracle Visual Builder Studio로 개발된 UI는 Oracle Applications Cloud에 의해 노출된 서비스 및 다른 소스의 데이터를 REST API로 노출하는 서비스를 포함하여 REST 기반 백엔드 서비스를 사용합니다.
- 구축, 테스트 및 배포 자동화
Oracle Visual Builder Studio를 사용하여 인프라 계층에서 플랫폼 계층까지 SaaS 확장의 빌드, 패키지 및 배치 단계를 자동화합니다. 여기에는 시각적 앱, 통합, 데이터베이스 객체 및 미들웨어 코드와 같은 아티팩트가 포함됩니다. Oracle Visual Builder Studio는 Git 저장소, 문제 추적, 민첩한 계획 및 추적, 팀 협업 기능을 CI/CD(지속적인 통합/지속적인 배포) 파이프라인과 통합합니다.
- 완전 관리형 서비스를 활용하여 앱 개발, 런타임 및 데이터 관리의 복잡성 해소
Oracle Applications Cloud를 사용하는 대부분의 조직은 자체 인프라를 관리하려는 욕구나 리소스가 없습니다. 대신 완전 관리형 서비스를 사용하여 비즈니스 앱의 배포 및 유지보수를 간소화합니다.
Oracle Visual Builder Studio는 웹 및 모바일 앱을 호스팅하는 전담 관리 플랫폼을 제공합니다. 또한 커스터마이징 비즈니스 오브젝트와 이러한 오브젝트를 노출하는 REST 계층, 외부 REST 서비스에 대한 접근을 보호합니다. 관리 통합 서비스인 Oracle Integration을 통해 외부 데이터 소스에 대한 액세스를 구성할 수 있습니다. 또한 REST API로 표시되는 함수로 추가 비즈니스 논리를 구현할 수 있습니다. 일부 앱의 경우 데이터가 독립형 데이터베이스에 복제될 수 있으며, 이 경우 Oracle REST Data Services를 사용하여 해당 데이터에 액세스하기 위해 일련의 REST 서비스를 구현할 수 있습니다.
- 앱 계층을 Stateless로 유지
Oracle Visual Builder Studio는 REST API를 통해 백엔드 서비스와 통신하는 Stateless 앱을 생성합니다. Oracle Functions는 추가 서버측 업무 논리에 대해 Stateless 기능을 제공할 수도 있습니다.
- End-to-End 모니터링 및 추적 구현
Oracle Application Performance Monitoring을 사용하여 앱 계층을 모니터하고 추적합니다. 이 서비스를 사용하면 UI 경험, REST 호출, 함수 및 데이터베이스를 추적할 수 있습니다.
또한 많은 Oracle 관리 서비스에서는 관리하는 아티팩트를 모니터링하고 추적합니다. 예를 들어, Oracle Integration은 통합의 사용 및 상태를 보여 주는 모니터링 대시보드를 제공합니다.
- 앱 수명 주기를 보호하기 위한 다계층 접근 방식 구현
심층 방어 메커니즘을 적용하여 적절한 역할을 가진 담당자만 데이터와 상호 작용할 수 있도록 합니다. 앱과 Oracle Applications Cloud 간에 SSO(Single Sign-On)를 사용하여 REST API를 통해 데이터에 액세스하는 사용자가 Oracle Applications Cloud에서 정의된 롤을 준수하는지 확인합니다. Oracle Cloud Infrastructure API 게이트웨이 및 웹 애플리케이션 방화벽을 사용하여 해당 규칙을 기반으로 REST 서비스 및 웹 인터페이스에 대한 사용자 접근을 제한하는 규칙을 생성합니다.
Oracle Visual Builder Studio는 SSO로 사전 구성되어 있으며 ID 전달을 제공합니다. 예를 들어, Oracle Visual Builder Studio에서 REST API로의 호출은 Oracle Visual Builder Studio 사용자를 API 호출로 자동으로 전달합니다.
구조
이 의견이 있는 구조를 기반으로 배치를 사용하여 설계 원칙을 구현할 수 있습니다.
Oracle은 SaaS 확장 아키텍처에서 다음 구성요소를 권장합니다.
- UI
Oracle JET(Oracle JavaScript Extension Toolkit)는 여러 장치에 걸쳐 있는 다양한 UI를 구축하기 위한 경량 오픈 소스 툴킷을 제공합니다. 또한 Redwood 사용자 환경을 지원하므로 Oracle에서 제공하는 앱과 동일한 환경을 제공하는 Oracle Applications Cloud의 확장을 개발할 수 있습니다. Oracle JET 애플리케이션 개발을 단순화하고 가속화하려면 개발에 대해 보다 선언적이고 시각적인 접근 방법을 제공하는 Oracle Visual Builder Studio를 사용하십시오.
- 웹 서버
Oracle Visual Builder Studio는 웹 앱을 호스팅하는 전담 관리 서비스를 제공하고 Oracle Applications Cloud 내의 데이터와 외부 REST 기반 서비스에 대한 보안 접근을 제공합니다. 또한 사용자정의 확장 앱과 Oracle Applications Cloud 간의 SSO(Single Sign-On)를 지원합니다.
- 비즈니스 논리
비즈니스 논리 요구사항을 구현하려면 Oracle Functions 및 Helidon과 같은 확장 가능한 서버 미사용 기술을 사용하고 손쉽게 사용할 수 있도록 REST API로 표시합니다.
- 통합
Oracle Integration은 애플리케이션을 통합하고, 프로세스를 자동화하고, 비즈니스 프로세스에 대한 통찰력을 확보하며, 시각적 애플리케이션을 생성할 수 있는 전담 관리 서비스입니다.
간소화된 버전의 Oracle Integration인 Oracle Integration for SaaS은 SaaS에 중점을 두고 Oracle Integration의 특징과 이점을 제공합니다.
- 데이터베이스
Oracle Database는 Oracle Applications Cloud에 데이터를 직접 액세스하고 처리할 수 있는 간단하거나 성능이 뛰어난 방법이 부족한 경우 보다 액세스 가능한 방식으로 데이터를 저장할 수 있는 방법을 제공합니다.
- API 게이트웨이
Oracle API Gateway를 사용하면 네트워크 내에서 접근할 수 있는 전용 엔드포인트를 사용하여 API를 게시할 수 있으며, 필요한 경우 공용 인터넷에 노출할 수 있습니다. 엔드포인트는 API 검증, 요청 및 응답 변환, CORS, 인증 및 권한 부여, 요청 제한을 지원합니다.
대안 및 안티패턴
- 대체
애플리케이션 클라우드 인터페이스에 대한 통합이 필요하지 않은 앱의 경우 대체 UI 프레임워크 사용을 고려할 수 있습니다.
기존 시스템에서 애플리케이션 클라우드의 데이터에 액세스해야 하는데 외부 요청으로 애플리케이션 클라우드를 오버로드하려는 경우 데이터 집합을 외부 데이터베이스로 추출할 수 있습니다.
- 안티패턴
외부 시스템의 애플리케이션 클라우드에 이미 정의된 비즈니스 프로세스, 검증 및 보안을 복제하려고 시도하지 마십시오. 그러면 원래 시스템과 동기화되지 않을 위험이 발생합니다.
사용 사례 예
- 맞춤형 내부 시스템
새로운 직원 정착지원, 공간 할당 주차, 출장 승인, 송장 준수 확인 등을 추적합니다.
- 매시업 시스템
SalesForce와 같은 외부 시스템의 고객 정보를 사용하여 애플리케이션 클라우드 인벤토리를 매쉬업합니다.
- 외부 시스템
주문 입력, 파트너 카탈로그 및 Selve 서비스 지원 포털.
공공 사례 연구
- Panasonic
Oracle Advertising and Customer Experience(Oracle CX)에서 데이터에 접근하는 웹 포지셔닝 파트너 포털을 구축했습니다.
- Yum! 브랜드
시간 보고와 같은 태스크에 대한 내부 HCM 확장 세트를 생성했습니다.
- 시저스 엔터테인먼트
ERP를 확장하는 송장 규제 수정 시스템을 구축했습니다.