문서 매핑 Mendix 연결하는 데 도움이 됩니다 Mendix 외부 웹 서비스와 같은 다른 시스템에 앱을 연결합니다. 이를 위해 번역 방법을 지정하도록 도와줍니다. Mendix XML 스키마 또는 WSDL 문서를 기반으로 객체 및 XML. Mendix 6.1 이 문서는 상당히 개선되었으며, 이 블로그에서는 이를 통해 어떻게 더 복잡한 상황을 처리하고, 매핑 문서를 더 쉽게 사용하고, 귀중한 시간을 절약할 수 있는지 설명하겠습니다.
차례
- 매핑 문서의 가치 Mendix
- 이름 변경 및 화살표 방향
- 가져오기 매핑을 사용하는 방법
- 내보내기 매핑을 사용하는 방법
- 선택 요소에 대한 개선된 선택 트리
- 중요한 기타 개선 사항
- 맺음말
1. 문서 매핑의 가치 Mendix
와 Mendix 완벽하게 작동하는 독립 실행형 애플리케이션을 개발할 수 있습니다. 그러나 많은 실제 세계 애플리케이션은 진공 상태에서 존재하지 않으며 외부 세계와 통합하고 통신해야 합니다. 이를 위해 데이터를 내보내고 가져와야 합니다. Mendix 앱. 때문에 Mendix 그리고 다른 애플리케이션은 다른 도메인 모델을 가지고 있으므로 데이터에 대한 형식에 합의해야 합니다. 데이터에 대한 이러한 형식을 지정하는 표준화된 방법은 XML 스키마(XSD)입니다. 이 형식은 WSDL(웹 서비스 설명 언어) 파일의 일부로 웹 서비스 표준에서도 사용됩니다. Mendix XML 스키마와 WSDL을 모두 지원합니다.
형식을 선택한 후에는 데이터를 어떻게 저장할지 지정해야 합니다. Mendix 도메인은 해당 데이터 형식에 맞게 변환되어야 합니다. 여기서 매핑 문서가 등장합니다. 데이터를 변환하는 방법을 지정하는 것은 쉬운 작업이 아닙니다. 매핑 문서는 Mendix 변환을 시각화하여 더 쉽게 만들도록 설계되었습니다. 이는 비즈니스 분석가가 매핑을 읽고 이해할 수 있게 해주기 때문에 매우 중요합니다. 이를 통해 매핑이 올바른지 검증하고 매핑을 직접 만들 수도 있습니다. 이는 비즈니스 분석가가 비즈니스 지식을 가지고 있기 때문에 중요합니다. 다른 사람이 구현을 해야 하는 경우 정보가 손실될 수 있습니다. 통합의 가장 큰 과제는 구문이 아니라 의미론입니다.
매핑을 별도의 엔터티로 정의하는 또 다른 이점은 다음과 같습니다. Mendix 재사용이 가능하다는 것입니다. 매핑을 재사용하면 시간이 절약되고 비용이 절감됩니다. 문제가 이미 해결된 경우 다시 할 필요가 없습니다. 또한 기존 매핑을 재사용하면 프로젝트 크기가 줄어들고 일반적으로 프로젝트가 클수록 버그가 더 많아지기 때문에 버그를 방지하는 데 도움이 될 수 있습니다. 마지막으로, 대규모 프로젝트는 유지 관리 및 확장이 더 어렵기 때문에 시간이 더 많이 걸립니다. 매핑을 재사용하면 프로젝트가 더 작아지고 따라서 이러한 문제를 피할 수 있습니다.
마지막으로, 매핑은 크고 복잡한 인터페이스 작업을 더 쉽게 해줍니다. 이는 처음으로 구현할 때, 특히 유지 관리할 때 그렇습니다. 크고 복잡한 인터페이스는 기업 환경에서 매우 흔하고 ERP 시스템을 통합할 때 중요하기 때문입니다.
In Mendix 6.1 매핑 문서를 개선하고 사용하기 더욱 쉽게 만들었습니다. 다음 섹션에서는 가장 중요한 변경 사항을 살펴보겠습니다.
2. 이름 변경 및 화살표 방향
이전 버전에서 Mendix 두 가지 유형의 매핑 문서는 XML-to-domain 및 도메인-to-XML 매핑이라고 불렸습니다. 우리는 이를 가져오기 및 내보내기 매핑으로 이름을 바꾸기로 했습니다. 우리는 문서가 귀하로부터 나가는 데이터를 어떻게 변환할지 지정하는지 즉시 명확하게 하기 위해 이렇게 했습니다. Mendix 외부 세계로 앱을 내보내거나(내보내기) 외부 세계에서 들어오는 데이터를 사용자로 내보내는 것 Mendix app(가져오기). 이를 더욱 명확하게 하기 위해 데이터 흐름이 그려지는 방향도 변경했습니다. 이제 다음을 수정했습니다. Mendix 왼쪽은 도메인이고 오른쪽은 외부 세계입니다. 이 때문에 화살표는 내보내기 매핑의 경우 왼쪽에서 오른쪽을 가리키고 가져오기 매핑의 경우 오른쪽에서 왼쪽을 가리킵니다. 이전에는 화살표가 항상 왼쪽에서 오른쪽을 가리켰습니다. 이 문서의 나머지 부분에서는 그림 1에 표시된 가져오기 매핑 예제와 그림 2에 표시된 내보내기 매핑 예제를 사용하여 매핑 문서의 다른 변경 사항을 설명합니다.
그림 1. 가져오기 매핑의 예
그림 2. 내보내기 매핑의 예
3. 가져오기 매핑을 사용하는 방법
데이터를 가져오는 프로세스 Mendix 3단계로 구성됩니다.
- 획득 Mendix 객체(키나 마이크로플로로 생성, 찾기).
- 획득한 객체에 XML 속성을 매핑합니다.
- 선택적으로 부모 개체와의 연결을 설정합니다.
매핑 문서에서 이러한 단계의 가시성이 개선되어 이해하고 구성하기가 더 쉬워졌습니다. 이 섹션에서는 이에 대해 더 자세히 설명하겠습니다.
3.1 얻는 방법 Mendix 목적
가져오기 매핑의 경우 들어오는 화살표는 이제 다음을 얻는 방법을 보여줍니다. Mendix 이후 단계에서 사용할 개체입니다. 그림 1에서 모든 화살표 위에 "새 개체 만들기"가 쓰여 있는 것을 볼 수 있습니다. 즉, 각 요소에 대해 새 개체가 Mendix 객체가 생성됩니다. 그 후 속성이 해당 객체에 매핑됩니다. Mendix 매핑 세부 정보에 지정된 대로 개체입니다. 변경하려면 Mendix 객체를 얻으면 매핑 요소 중 하나를 두 번 클릭할 수 있습니다. 예를 들어 'ReceivedClient' 엔티티를 두 번 클릭하면 그림 3에 표시된 화면이 표시됩니다.
그림 3. 엔티티 'ReceivedClient'에 대한 매핑 세부 정보
이 화면 상단에서 다음을 얻는 방법을 정의할 수 있습니다. Mendix 들어오는 XML의 속성을 매핑할 개체와 실패할 경우 수행할 작업입니다. "개체 만들기" 외에도 "개체 찾기" 또는 "마이크로플로 호출"을 선택할 수 있습니다. "개체 찾기"를 선택하는 경우 맵 속성 섹션에서 하나 이상의 속성을 키로 선택해야 합니다. 매핑이 실행되면 데이터베이스에서 선택한 속성을 키로 갖는 개체를 찾습니다. 매핑에서 그림 4와 같이 화살표 위에 "키로 찾기"가 표시됩니다.
그림 4. 이 가져오기 매핑에서 키로 객체를 찾았습니다.
"마이크로플로우 호출"을 선택하면 매핑은 실행 시 선택된 마이크로플로우를 호출하여 다음을 얻습니다. Mendix 객체. 선택한 마이크로플로우에 해당 속성과 부모 객체를 전달합니다. 2단계의 속성 매핑이 마이크로플로우에서 객체에 대해 설정한 속성 값을 재정의할 수 있다는 점에 유의하세요. 그림 5에서 "마이크로플로우로 호출"을 선택하면 화살표가 어떻게 보이는지 확인할 수 있습니다. 마이크로플로우를 선택하면 모든 매개변수가 강조 표시됩니다. 이 경우 이는 'ReceivedOrder' 부모 엔터티와 클라이언트 XML 요소의 모든 속성입니다.
그림 5. Mendix 이 가져오기 매핑에서 마이크로플로를 통해 객체를 얻습니다.
그림 6에서 보듯이, 화살표를 마우스 오른쪽 버튼으로 클릭하고 옵션을 선택하면 마이크로흐름으로 이동하거나 마이크로흐름의 이름을 변경할 수 있도록 했습니다.
그림 6. “마이크로플로우 호출”의 컨텍스트 메뉴
3.2 획득한 객체에 XML 속성 매핑
XML의 속성이 속성에 매핑되는 방식을 정의하는 방법에는 아무런 변경이 없습니다. Mendix 객체. 이것은 여전히 그림 3의 하단에 표시된 그리드에서 수행됩니다. 매핑 문서 자체에서 우리는 그것을 더 눈에 띄게 만들었습니다. XML 요소에서 속성을 선택하면 해당 속성이 mendix 객체에서 자동으로 선택되고 그 반대의 경우도 마찬가지입니다. 그림 7에서 이에 대한 예를 볼 수 있습니다. 속성 'dati'는 XML 요소 Client에서 선택되고 해당 요소 'dati'는 Mendix 엔터티 'ReceivedClient'도 선택되었습니다. 속성의 이름이 Mendix 객체와 XML 요소는 일치할 필요가 없습니다.
그림 7. 속성 매핑은 서로 매핑되는 속성을 강조하여 표시됩니다.
3.3 연관성 설정
마지막으로, 각 매핑 요소에 대해 부모에 대한 연결을 설정할지 여부를 결정해야 합니다. 이는 그림 3에 표시된 매핑 세부 정보 화면을 사용하여 수행됩니다. 연결을 설정하기로 선택한 경우 매핑에 그려집니다(예: 그림 1 참조). 연결을 설정하지 않기로 선택한 경우 매핑에서 간단히 생략됩니다. 그림 8에서 'ReceivedOrder'와 'ReceivedClient' 엔터티 간의 연결을 제외했습니다. 모든 객체는 여전히 생성됩니다. 이들 간의 연결만 설정되지 않습니다.
그림 8. ReceivedClient와 ReceivedOrder 사이에 연결이 설정되지 않음
4. 내보내기 매핑을 사용하는 방법
데이터를 내보내는 프로세스 Mendix 두 단계로 구성됩니다.
- 획득 Mendix 객체(연관성 또는 마이크로흐름에 의해).
- 획득한 객체의 속성을 XML로 매핑합니다.
두 번째 단계는 가져오기 매핑과 동일하기 때문에 객체를 얻는 방법을 보여주는 데 집중하겠습니다. 그림 2의 예에서 'Orderlines' 엔터티를 두 번 클릭하면 그림 9에 표시된 화면이 표시됩니다.
그림 9. 매핑 세부 정보 순서 라인
이 화면에서는 해당 방법이 "연관성으로 가져오기"로 설정되어 있는 것을 볼 수 있습니다. 그림 2를 보면 'Orderlines'와 'ReturnListOrderlines' 사이에 'Orderlines_InputOrderlinesList'라는 연관이 그려져 있는 것을 볼 수 있습니다. 대신 "마이크로플로우로 가져오기"를 선택하고 마이크로플로우를 선택하면 마이크로플로우가 그림 10과 같이 그려집니다.
그림 10. 마이크로플로우로 얻은 수출 매핑
5. 선택 요소에 대한 개선된 선택 트리
어떤 XML 요소가 무엇에 매핑되는지 정의하기 전에 Mendix 객체와 어떤 속성이 서로 매핑되는지, 먼저 매핑하려는 요소를 선택해야 합니다. 가져오기 매핑의 경우 수신된 XML의 대부분에 관심이 없다고 결정할 수 있습니다. 내보내기 매핑에서는 선택적 요소만 생략할 수 있습니다. 선택적 요소는 최소 발생 횟수가 0인 요소입니다(예: 0..1 또는 0..*). 매핑에 포함하거나 생략할 수 있는 요소와 속성을 더 명확하게 하기 위해 요소 선택 화면이 개선되었습니다. 이 화면을 열려면 "요소 선택..."을 클릭하면 그림 11과 같은 화면이 표시됩니다.
그림 11. 내보내기 매핑을 위한 요소 선택
이 예에서 일부 체크박스는 비활성화되어 있고 다른 체크박스는 활성화되어 있는 것을 볼 수 있습니다. 체크박스가 비활성화되어 있으면 체크박스의 값을 변경할 수 없음을 의미합니다. 따라서 예를 들어 'Orderlines' XML 요소의 'bool' 속성을 선택 해제하는 것은 불가능합니다. 'Orderlines' XML 요소가 선택되어 있고 bool 속성이 1번 발생하기 때문입니다. 마찬가지로 'Order' XML 요소의 'HighPriority' 속성을 선택하는 것은 불가능합니다('Order' XML 요소가 선택되지 않았기 때문). 그림 12에서 볼 수 있듯이 비활성화된 체크박스 위에 마우스를 올리면 툴팁에 비활성화 이유가 표시됩니다.
그림 12. 체크박스가 비활성화되면 툴팁을 사용할 수 있습니다.
6. 기타 중요한 개선 사항
지금까지 논의한 개선 사항 외에도 매핑 문서에는 더 많은 개선 사항이 있습니다. 이것들을 여러분에게 숨기고 싶지 않으므로 이 섹션에서 살펴보겠습니다.
6.1 내보내기 매핑을 위한 자동 매핑
새 매핑 문서를 만들 때 처음에 XML 요소를 엔터티, 연관 및 속성과 연결하는 것은 매우 번거로울 수 있습니다. 특히 매핑이 크고 매핑할 기존 도메인 모델이 없는 경우 이 작업은 매우 많습니다. 이때 Map 자동 도우미 기능이 등장합니다. 이 기능은 도메인 모델 엔터티와 연관을 찾거나 생성하여 매핑에 추가하여 많은 수동 작업을 덜어줍니다. 이 기능을 실행하면 프로젝트에 적용한 변경 사항에 대한 자세한 보고서가 표시됩니다. 이전에는 이 도우미 기능이 가져오기 매핑에만 사용할 수 있었습니다. 이제 내보내기 매핑에도 사용할 수 있습니다.
6.2 확장을 통한 XML 상속 지원
XML 스키마는 다른 complexType의 확장으로 complexType을 정의하여 상속 관계를 포함할 수 있습니다. 이를 XML 상속이라고 합니다. Mendix 오랫동안 부분적으로 지원해 왔지만 버전 6.1에서는 완전히 지원됩니다. 이는 널리 사용되는 일부 표준이 XML 상속을 사용하기 때문에 중요합니다(예: 거래 파트너 간 보험 데이터의 전자 교환을 위한 ACORD 전자 데이터 표준). 이제부터는 XML 스키마에 정의된 대로 도메인 모델에서 유사한 상속 구조에 매핑해야 합니다. 매핑하려는 하위 유형도 결정해야 합니다. 이러한 변경 사항으로 인해 이제 가져오기 및 내보내기 매핑에서 특정 상위 유형의 혼합 목록을 지원할 수 있습니다. 이 개선 사항에 대한 자세한 내용은 다음을 참조하세요. 이 전담 블로그 게시물.
6.3 모델러의 성능 개선
이전 버전에서는 100개 이상의 요소가 있는 특히 큰 매핑을 작업할 때 매핑 편집기가 느려질 수 있었습니다. 지금은 훨씬 나아졌고, 이는 크고 복잡한 인터페이스가 엔터프라이즈 환경에서 일반적이며 ERP 시스템을 통합할 때 중요하기 때문입니다.
6.4 Mendix 엔티티 컨텍스트 메뉴
이제 마우스 오른쪽 버튼을 클릭할 수도 있습니다. Mendix 그림 13에서 볼 수 있듯이 매핑 문서에서 엔터티를 클릭하여 컨텍스트 메뉴를 가져옵니다. 이전에는 XML 요소를 마우스 오른쪽 버튼으로 클릭해야만 이 메뉴를 사용할 수 있었습니다.
그림 13. 매핑 문서의 엔터티에 대한 컨텍스트 메뉴
6.5 접을 수 있는 매핑
매핑 문서는 깊은 중첩과 많은 XML 요소 및 속성으로 인해 상당히 커질 수 있습니다. 이런 경우 작업하는 동안 매핑 개요를 유지하기 어려울 수 있습니다. 이러한 이유로 매핑의 일부를 축소할 수 있도록 했습니다. 축소하면 매핑의 일부가 보기에서 숨겨지며 XML 요소 아래의 구성 기호 아래에 있는 빼기 기호를 클릭하면 됩니다. 이를 설명하기 위해 그림 14에서 '클라이언트' XML 요소 아래의 모든 것을 축소했습니다.
그림 14. 매핑의 일부 축소
6.6 가져오기 매핑 선택 매개변수
내보내기 매핑에는 항상 입력 매개변수가 정의되어야 합니다. Mendix 내보내야 하는 개체입니다. 가져오기 매핑의 경우 입력 매개변수를 정의하는 것은 선택 사항입니다. 매핑에 대해 하나를 정의하기로 선택한 경우 전달된 개체를 두 가지 방법으로 사용할 수 있습니다. 첫째, 마이크로플로를 호출할 때 매개변수로 사용할 수 있습니다. 둘째, 매핑과 매개변수 엔터티에 의해 생성된 개체 간의 연결을 설정할 수 있습니다. 이전 버전의 Modeler에서는 이 기능이 속성 그리드에 숨겨져 있었지만 이제는 매개변수에 대한 플레이스홀더가 그려지고 다른 엔터티 플레이스홀더와 마찬가지로 엔터티를 끌어올 수 있습니다. 선택적 매개변수 엔터티에 대한 이러한 플레이스홀더의 예는 그림 1의 왼쪽 상단 모서리를 참조하세요.
6.7 XML 문자열과 속성 매핑 Mendix 열거
속성 매핑에서는 호환되는 데이터 유형 간에만 매핑할 수 있습니다. 매핑하는 데이터 유형이 매핑하는 데이터 유형 대신 사용될 수 있는 경우 데이터 유형이 호환됩니다. 호환되지 않는 속성 간에 매핑하려면 변환 마이크로플로를 만들어야 합니다. 이전에 문자열 유형의 XML 속성 간에 매핑한 경우 Mendix 열거형을 사용하려면 이러한 마이크로플로가 필요합니다. 매핑하려는 모든 열거형에 대해 이 작업을 수행해야 하므로 이러한 마이크로플로를 대량으로 만들어야 할 수 있습니다. 이 문제는 해결되었으며 이제 문자열 유형의 XML 속성을 매핑할 수 있습니다. Mendix 직접적으로 열거합니다.
7. 결론
이 블로그 게시물에서는 우리가 수행한 매핑 문서 개선 사항에 대한 개요를 설명했습니다. Mendix 6.1. 여러분도 저희만큼 이것을 시도하는 데 흥분하셨으면 좋겠습니다. 여러분이 직접 매핑을 만들고 다른 사람이 만든 매핑을 이해하는 것이 훨씬 쉬워질 것이라고 믿습니다. 변경 사항이 마음에 드시나요? 다른 피드백이 있으신가요? 알려주세요.













