커스텀 API 설계에 대해 알아보기
Oracle Mobile Hub에서 모바일 앱에 사용할 수 있는 사용자정의 REST API를 생성할 수 있습니다.
모바일 앱 개발자인 경우 API 디자이너를 사용하여 정의한 끝점을 스케치 아웃 및 테스트한 다음 서비스 개발자가 API의 세부정보(리소스 유형 또는 특성 추가, 스키마 제공, API 및 해당 끝점에 대한 액세스 설정)를 채우고 JavaScript에서 구현하도록 합니다. 서비스 개발자인 경우 API Designer를 사용하여 모의 데이터로 테스트할 수 있는 완전한 API를 명시적으로 구성합니다. 또는 코드를 작성하지 않고도 REST 또는 Fusion Applications 커넥터에서 사용자정의 API를 생성할 수 있습니다.
핵심 알려진 서비스 세트를 제공하는 Oracle Mobile Hub 플랫폼 API와 달리 사용자정의 API를 사용하면 Node.js를 사용하여 REST 인터페이스를 통해 게시된 모바일 앱에 필요한 모든 서비스를 코딩할 수 있습니다. Oracle Mobile Hub 커넥터를 백엔드 서비스에 사용하여 데이터를 중계할 수 있습니다. 이 경우 복잡한 데이터가 모바일 친화적인 페이로드로 변환됩니다. 사용자정의 API를 사용하여 재사용 가능한 서비스 카탈로그를 구축하면 모바일 애플리케이션에서 구현 세부정보를 주기적으로 재생성하고 유지 관리하는 데 많은 시간을 절약할 수 있습니다.
API 설계 프로세스 정보
API Designer는 커스텀 API 생성 프로세스를 안내합니다.
몇 단계만으로 API 초안 버전을 빠르게 생성할 수 있습니다.
-
기본 사항(API 이름, 메시지 매체 유형 및 간략한 설명)을 추가합니다.
-
리소스 및 적어도 하나의 메소드를 설정하여 끝점을 정의합니다.
-
액세스 보안을 설정합니다.
-
리소스를 하나 이상 정의한 후 끝점을 테스트합니다.
모의 데이터를 생성하여 API 구성을 완전히 완료하지 않은 경우에도 엔드포인트를 빠르게 테스트하고 검증할 수 있습니다. 메시지 본문을 정의할 때 위치 표시자 값을 제공하여 올바른 데이터가 전송되거나 반환되는지 확인할 수 있습니다.
API를 완전히 완성하려면 API Designer를 사용하여 강력한 API에 대한 필수 구성요소 추가를 지원합니다.
-
API 메타데이터(즉, API 표시 이름, API 이름 및 간단한 설명인 API의 기본 속성)를 제공하거나, API 구성이 포함된 RAML 문서가 이미 있는 경우 API Designer에 업로드할 수 있습니다. 모든 정보(메타데이터, 리소스, 메소드 및 메시지 본문에 대한 스키마)가 RAML 문서에서 추출되고 API Designer로 로드되어 끝점 테스트를 빠르게 진행하거나 API 구성을 편집할 수 있습니다.
-
하나 이상의 루트 및 중첩 리소스를 추가합니다.
-
리소스에 대해 수행할 메소드를 추가합니다.
-
데이터 본문을 설명하는 스키마를 생성합니다.
-
설계 시 샘플 데이터를 사용하여 엔드포인트를 테스트하고 필요에 따라 변경합니다.
-
API에 대한 익명 액세스를 허용하거나 API에 액세스할 수 있는 롤을 지정합니다.
-
사용자정의 API에 대한 설명서 추가
나중에 더 많은 API를 생성할 때 동일한 메소드를 반복적으로 정의하고 동일한 파라미터 등을 사용할 수 있습니다. 리소스 유형 및 특성을 만들어 중복성을 줄일 수 있습니다. API가 아직 초안 상태인 경우 구성으로 돌아가서 정의한 리소스 유형 및 특성을 추가할 수 있습니다.
커넥터용 사용자정의 API 생성 정보
Oracle Mobile Hub는 커넥터에서 커스터마이징 코드를 생성하여 외부 서비스에 연결할 수 있습니다. 서비스 개발자는 적합한 기술자로 생성된 Oracle Fusion Applications 커넥터 또는 REST 커넥터를 선택하고, 사용자정의 API를 생성하고, 생성된 API를 사용하여 사용자정의 API 구현에서 또는 모바일 애플리케이션에서 직접 해당 서비스를 쉽게 호출할 수 있습니다.
커넥터는 모바일 백엔드가 엔터프라이즈 시스템 또는 타사 API와 같은 외부 서비스와 통신할 수 있도록 하는 방법이며, 이를 통해 모바일 애플리케이션이 해당 서비스의 기능과 상호 작용할 수 있습니다. 커넥터 API는 데이터를 보내고 받기 위해 특정 외부 서비스와 통신하기 위한 구성입니다.
서비스 개발자는 커넥터 API의 메소드를 노출하고 코드 작성 없이 기본 구현을 제공하는 커스텀 API를 생성할 수 있습니다.
사용자정의 API는 커넥터 API의 각 리소스에 대한 끝점으로 생성되며, API Designer에서 열리므로 롤과 같은 API 세부정보를 계속 지정할 수 있습니다. 생성된 사용자정의 API에서 대상 커넥터 API로 들어오는 모든 요청을 통과하는 기본 구현도 생성되어 생성된 API에 지정됩니다. 커넥터에 보안이 필요한 경우 API에 롤을 지정하면 바로 구현을 사용하여 API를 테스트할 수 있습니다. 구현을 다운로드 및 수정한 후 업로드할 수 있습니다.
커넥터에 대한 사용자정의 API를 생성할 수 있다는 것은 커넥터 테스트에 사용하는 프로토타입을 훨씬 쉽게 생성할 수 있음을 의미합니다. 변경하려는 사항이 발견되면 커넥터를 빠르게 변경하고 새 사용자정의 API 및 구현을 생성할 수 있습니다. 만족스러우면 사용자정의 API 및 구현의 최종 버전을 생성할 수 있습니다.
- 기술자를 사용하여 정의된 REST 커넥터 또는 Oracle Fusion Cloud Applications 커넥터를 개발합니다.
- 커넥터에서 사용자정의 API를 생성합니다. 하나 이상의 롤을 정의하거나 API에 필요한 인증을 지정할 수 있는 API Designer에서 열립니다.
- 모바일 장치에서 생성된 API를 즉시 호출할 수 있습니다. 기본 구현은 생성된 API에서 대상 커넥터 API로 들어오는 모든 요청을 통과합니다.
- 구현을 다운로드하고 수정하여 반환된 데이터를 구성하려고 할 수 있습니다.
- 커넥터를 다시 방문하여 커넥터 리소스 또는 기술자를 변경할 수 있습니다. 그렇게 할 경우 새 사용자정의 API 및 구현을 생성해야 합니다. 생성된 사용자정의 API를 변경하면 해당 변경사항이 커넥터에 반영되지 않습니다. 커넥터에서 적절히 변경한 다음 사용자정의 API 및 구현을 다시 생성해야 합니다.
기술자를 사용하여 정의된 REST 또는 Oracle Fusion Cloud Applications 커넥터에 대한 사용자정의 API만 생성할 수 있습니다. 다른 유형의 커넥터에 대해 또는 REST 또는 Oracle Fusion Cloud Applications 커넥터에 기술자가 없는 경우 사용자정의 API를 생성할 수 없습니다.
멀티파트 폼 데이터를 전송하거나 http
옵션 객체를 사용하려면 구현의 callConnector
메소드를 고유 코드로 바꿔야 할 수 있습니다.
REST 커넥터 API
커넥터 API를 생성하여 외부 REST 서비스에 접속할 수 있습니다. 그런 다음 사용자정의 API 구현에서 해당 커넥터 API를 호출할 수 있습니다.
REST 커넥터 API 작동 방식
REST 커넥터 API는 엔터프라이즈 시스템 또는 타사 API에서 REST 엔드포인트를 호출하기 위한 중간 API입니다. 커넥터 API는 앱에 이러한 REST 서비스에 연결하는 표준 방법을 제공하고 Oracle Mobile Hub에서 제공하는 보안, 진단 및 기타 기능을 활용하는 구성 형식을 사용합니다.
커넥터는 HTTPS 프로토콜을 사용하여 클라이언트와 서버 간에 통신하고 정보를 전달합니다. 전달된 정보는 XML 또는 JSON 형식일 수 있습니다(Swagger 기술자를 기반으로 하는 서비스의 경우 JSON에만 해당).
REST 커넥터 API 마법사는 원격 서비스 지정 및 보안 정책 설정부터 끝점 테스트까지 REST 커넥터 API 생성 과정을 안내합니다.
외부 리소스에 대한 직접 호출 대신 커넥터를 사용하는 이유
REST 커넥터 API를 사용하면 앱 코드에서 외부 리소스로의 직접 호출 시 다음과 같은 이점이 있습니다.
-
단순화된 선언적 연결 및 정책 구성을 허용합니다.
-
Swagger 기술자를 사용하여 사용 가능한 리소스를 확인하고 끝점을 생성합니다.
-
Oracle Mobile Hub 진단 프레임워크와 긴밀하게 통합되어 있으므로 광범위한 진단 정보를 제공합니다. 커넥터 API를 통해 수행된 모든 아웃바운드 REST 호출이 기록되므로 디버깅에 큰 도움이 됩니다.
-
원격 API 사용에 대한 추적 및 분석을 허용합니다.
-
런타임 시 해당 상호 작용 조건이 사용자 입력에 종속되지 않도록 끝점의 유효성을 테스트할 때 서비스와의 상호 작용을 설계 시 정의할 수 있습니다. 이렇게 하면 엔드 시스템과 모바일 백엔드가 모두 손상되지 않도록 보호할 수 있습니다.
-
외부 서비스와 상호 작용하기 위해 여러 커넥터 유형 간에 일관된 설계 접근 방식을 제공합니다.
-
서비스에 대한 인터페이스가 변경되면 필요한 업데이트, 테스트 및 마이그레이션을 한 곳에서 처리할 수 있습니다.