런타임 아키텍처
이것은 Mendix 런타임은 무엇이고 주요 아키텍처 원칙을 어떻게 지원하나요?
따라서 Mendix 런타임은 클라우드 네이티브 아키텍처의 컨텍스트 내에서 애플리케이션을 실행합니다. 이 섹션에서는 핵심 구성 요소를 살펴보겠습니다. Mendix 런타임과 관련 기능. 또한 런타임 실행의 몇 가지 중요한 측면을 더 자세히 살펴보겠습니다.
모델 실행을 담당하는 구성 요소는 무엇입니까?
따라서 Mendix 런타임은 앱의 모델을 해석하고 실행합니다. 런타임에는 12가지 요소 앱 호환 업계를 선도하는 Java와 Scala 기술을 사용하여 디자인했습니다.
어떻게합니까 Mendix 모델을 실행하시겠습니까?
따라서 Mendix 런타임은 모델을 직접 실행합니다. 즉, 모델은 문자 그대로 애플리케이션이며 중개자가 아닙니다. 시각적으로 모델링된 디자인이 실제로 코드를 생성하는 접근 방식(예: Java 또는 .NET)과 달리 Mendix 모델 해석 접근 방식에는 아래에 설명된 여러 가지 고유한 특성과 장점이 있습니다.
변경 관리
애플리케이션 변경 사항을 보다 쉽게 수용할 수 있습니다. 또한 모델이 애플리케이션이기 때문에 Mendix 애플리케이션과 모델의 호환성을 보호합니다.
맞춤 확장
사용자 정의 코드로 모델을 확장하는 것은 모델이 사용자 정의 코드를 인식하고 일관성 검사에 포함하므로, 생성된 코드에 사용자 정의 코드를 삽입하는 방식과 달리 더욱 우아하게 제어됩니다. Mendix'의 모델 해석 방식은 코드 생성의 근본적인 왕복 문제를 해결하는데, 이는 모델의 변경 사항이 사용자 정의 코드 확장과 충돌하기 때문입니다. 또한 생성된 코드에 사용자 정의 변경 사항이 없기 때문에 모델에 영향을 미치지 않고 플랫폼의 기술 아키텍처를 현대화할 수 있습니다. 즉, 기술 혁신의 혜택을 더 쉽고 저렴하게 누릴 수 있습니다.
모니터링
런타임에서 애플리케이션 동작을 모니터링하고 분석하는 작업은 사전에 모니터 매개변수를 정의하는 것보다 더욱 동적이고 유연하게 설정할 수 있습니다.
디버깅
개발자는 생성된 코드가 시각적 모델과 어떻게 관련이 있는지 이해할 필요가 없으므로 디버깅과 문제 해결이 더 쉬워집니다. 디버깅과 문제 해결은 생성된 코드가 아닌 모델에서 수행됩니다.
어떻게합니까 Mendix Stateless 아키텍처를 구현하시겠습니까?
확장성, 성능 및 고가용성을 보장하려면 Mendix 상태 없는 런타임을 구현했습니다. 즉, 사용 가능한 모든 런타임 인스턴스가 이전 요청이나 후속 요청에 관계없이 사용자 요청을 처리할 수 있습니다.
이를 달성하기 위해 런타임 인스턴스는 사용자 요청 기간 동안 상태를 유지합니다. 요청이 끝나면 모든 커밋된 상태가 데이터베이스에 저장됩니다. 모든 커밋되지 않은 상태는 클라이언트에 필요한 다른 모든 데이터와 함께 클라이언트로 반환됩니다.
자세한 내용은 다음 링크를 참조하세요 클러스터 Mendix 런타임 인간을 Mendix 스튜디오 프로 가이드.
구성 요소는 무엇입니까? Mendix 실행 시간?
런타임은 2개의 주요 아키텍처 계층으로 구성됩니다.
- 클라이언트 런타임 – 웹 및 모바일 클라이언트 서비스 제공
- 서버 런타임 – 서버 측 로직을 처리하기 위한 확장 가능한 런타임
아키텍처
따라서 Mendix 런타임 아키텍처는 여러 구성 요소로 구성됩니다. 클라이언트 런타임은 사용자 상호작용을 담당하며 UI 위젯 계층, 오프라인 로직을 실행하는 로직 계층, 그리고 오프라인 저장을 위한 데이터 계층으로 구성됩니다. 서버 런타임은 로직 실행, 데이터 관리, 클라이언트와의 통신, 보안 구현을 담당합니다.
아래 다이어그램은 클라이언트 런타임과 서버 런타임의 주요 구성 요소에 대한 개요를 보여줍니다.

서버 런타임
따라서 Mendix 서버 런타임은 다음과 같은 주요 구성 요소로 구성됩니다.
- HTTP 서버 – 포함됨 Mendix 웹 및 모바일 클라이언트의 요청을 처리하고 서비스 요청을 처리하는 런타임
- 클라이언트 인터페이스 – 웹 및 모바일 클라이언트와의 통신을 담당합니다. API는 데이터 검색, 데이터 변경 사항 유지 및 마이크로플로우 로직 실행에 사용됩니다.
- API 요청 핸들러 – REST, SOAP, oData와 같은 API를 담당하거나 구현합니다. 서버 런타임은 사용자 지정 요청 핸들러를 통한 확장 기능도 지원합니다.
- 핵심 런타임 – 애플리케이션의 올바른 시작 및 종료와 필요한 라이브러리 및 확장 로드를 담당합니다.
- 엔티티 모델 엔진 – 엔터티 모델과 엔터티 활동을 실행합니다.
- 마이크로플로우 엔진 – 마이크로흐름(논리)과 마이크로흐름 활동을 실행합니다.
- 워크 플로우 엔진 – 워크플로, 워크플로 작업 및 활동을 실행합니다.
- 쿼리 핸들러 – 애플리케이션에 연결된 데이터베이스에 대한 데이터베이스 쿼리 실행을 처리합니다.
- 데이터베이스 커넥터 – 애플리케이션 데이터베이스에서 데이터 객체의 유지 및 검색을 담당합니다. 또한 데이터 유지에 필요한 데이터베이스 구조를 생성하고 업데이트합니다. 서버 런타임은 서로 다른 데이터베이스 관리 시스템을 지원하는 여러 데이터베이스 커넥터를 지원합니다. (자세한 내용은 섹션 참조) 데이터베이스의 기능 Mendix 지원하다? 데이터 저장소에서)
- 보안 요원 – 인증 및 권한 부여를 위한 표준 프로토콜을 사용하여 사용자와 애플리케이션에 대한 액세스를 처리합니다.
- 이벤트 및 액션 핸들러 – 동기 및 비동기 통신과 프로세스를 모두 처리합니다.
- 사용자 정의 라이브러리 – 서버 런타임은 또한 Java 작업 등을 사용하여 표준 런타임 기능과 성능을 강화하는 확장 기능을 제공합니다.
클라이언트 런타임
따라서 Mendix 클라이언트 런타임은 다음 구성 요소로 구성됩니다.
- 페이지 엔진 – UI를 생성하고 위젯과 클라이언트 코어 런타임 간의 상호작용을 처리합니다.
- 나노플로우 엔진 – 클라이언트 측 데이터 검증 및 보다 복잡한 클라이언트 측 로직을 처리합니다. Mendix 나노플로우
- 플러그형 위젯 – UI는 위젯을 사용하여 구성됩니다. 위젯은 플러그인 방식으로, 클라이언트 런타임을 사용자 정의 위젯으로 확장할 수 있습니다.
- 핵심 런타임 – 통신을 처리합니다. Mendix HTTP 프로토콜을 통해 안전한 JSON을 사용하는 서버 런타임입니다. React Flux 패턴을 기반으로 프런트엔드에서 사용되는 데이터를 관리하여 상태를 처리하고 UI 구성 요소에 변경 사항을 푸시합니다.
- 이벤트 및 액션 핸들러 – 비동기 통신 및 프로세스 처리.
- 로컬 저장소 – 클라이언트 장치에서 데이터 캐싱(저장)을 처리합니다.
- 사용자 지정 작업 – 클라이언트 런타임은 JavaScript 작업을 사용하여 표준 런타임 기능과 성능을 강화하는 확장 기능도 제공합니다.
웹 클라이언트
웹 클라이언트는 단일 페이지 아키텍처를 사용하여 설계되었으며, 여기서 단일 JavaScript 웹 페이지가 브라우저에 로드되어 페이지를 업데이트하고 상호 작용합니다. Mendix 사용자의 동작에 따라 필요한 런타임. 여기에는 웹 페이지의 일부를 검색하고 데이터를 검색하고 저장하는 것이 포함될 수 있습니다. 모든 브라우저 기반에서 사용됩니다. Mendix 프로그레시브 웹 애플리케이션을 포함한 애플리케이션.
네이티브 모바일 클라이언트
Mendix 네이티브 모바일 앱은 실제로 네이티브로 실행되는 앱입니다. 네이티브에 반응하다. 이 프레임워크는 최첨단 네이티브 기술을 사용하여 구축된 모바일 앱이 최고의 모바일 사용자 경험을 제공할 수 있도록 합니다.
- 접근 용이성 – 앱은 표준 기기 앱 스토어에서 검색하여 모바일 기기에 설치하고 아이콘을 통해 열 수 있습니다.
- 오프라인 가용성 – 앱이 모바일 기기에 설치되기 때문에(필요한 모든 리소스와 네이티브 클라이언트 포함) 최종 사용자는 다음을 사용할 수 있습니다. Mendix 앱이 오프라인 상태이고 관련 앱 데이터는 장치의 SQLite 데이터베이스에 저장됩니다.
- 네이티브 사용자 인터페이스 – 네이티브 앱은 자연스러운 애니메이션과 자연스러운 모양과 느낌을 특징으로 하는 네이티브 사용자 인터페이스 구성 요소를 사용합니다.
- 네이티브 기능 지원 – React Native를 사용하면 애플리케이션에서 기본 장치 기능을 사용할 수 있으므로 카메라 및 마이크와 같이 모바일 장치에서 사용 가능한 모든 센서의 이점을 활용할 수 있습니다.
자세한 내용은 Mendix 모바일 장치 지원, 참조 네이티브 모바일 앱.