2012-10-16 8 views
1

사용할 수있는 MDA (Model Driven Architecture) 도구를 찾고 있습니다. EMF (Eclipse Modeling Framework)로 시작했습니다.Eclipse Modeling Framework를 사용하여 응용 프로그램 개발

핵심 클래스 생성에 문제가 없습니다.

하나의 엔드 투 엔드 애플리케이션을 생성하는 것이 유용한 방법은 무엇입니까?

To generate UI elements (JSP/JSF/so on...) 
To generate Entities and ORM's 
To generate EJB's/Web Services 

이러한 요구 사항을 충족시키기 위해 EMF에 광범위한 모델링이 제공 되었습니까?

또는 다른 도구를 사용하여 모델링에서 엔드 투 엔드 응용 프로그램을 캡처하고이를 개발에 사용할 수 있습니까?

답변

3

Eclipse Modeling Framework는 ECORE라는 MOF 언어 (http://www.omg.org/spec/MOF)의 구현을 제공합니다. 메타 - 메타 - 모델로서 작용하는 ECORE에 의해, 모델링 언어의 메타 - 모델 (즉, UML 메타 - 모델 등)이 정의된다. EMF를 기반으로하는 Papyrus 또는 TopCased를 사용하여 UML 다이어그램을 편집 할 수 있습니다. 이러한 다이어그램을 정의 할 때 관련된 ECORE 메타 모델을 준수하는 XMI 컨텐츠로 모델 파일을 작성하십시오. OMG 표준 MOFM2T 변환 언어 (http://www.omg.org/spec/MOFM2T)의 구현 인 ACCELEO라는 이클립스 플러그인을 사용하여 모델을 텍스트 변환에 적용 할 수 있습니다.

그래서 (ECORE를 통해) 고유 한 도메인 특정 모델링 언어를 정의하고 UIElement (Jsp, Jsf 등) DBEntity 등의 개념을 사용하여 일등급 엔티티로 모델을 만들고 이에 따라 모델을 만들고 모델은 실행 코드로 그들을 튜링 변환 (ACCELEO)를 텍스트에

또는

당신은 정의 (또는 이미 존재하는 재사용)는 UI 요소를 DB 엔티티 표현하는 UML 모델의 요소에 태그를 지정할 수있는 방법으로 UML 프로파일을 수 등을 만들고 모델을 텍스트로 변환하여 실행 코드로 변환합니다.

+0

을 제공하는 또 다른 JET의 질문에 대한 내 대답에 대한 링크입니다 모델을 내 플러그인에 대한 플러그인 종속성으로 설정하십시오. 내 인스턴스 모델 프로젝트에서는 코드 생성을 위해 MTT (ACCELEO)를 사용해야합니다. 나 맞아? – Murugesh

+0

아니요. 여러 가지 방법으로 진행할 수 있습니다. 가장 쉬운 방법은 사용자가 필요로하는 특정 정보를 추가하기 위해 스테레오 타입 (프로파일에서 사용자가 정의)이있는 UML 클래스를 <> 또는 <>으로 사용하는 것입니다. 따라서 입력 모델에서 코드를 자동으로 생성하기 위해 ACCELEO를 통해 정의 할 수있는 m2t 변환에 해당 모델을 입력으로 제공 할 수 있습니다. 좀 더 복잡하고 더 정확할 필요는 없지만 ECORE를 통해 자신의 DSML을 정의하고 편집기를 생성하며 모델을 만들고 M2T 변환을 적용하는 것이 중요합니다. – Sindico

+0

은 ECORE 만 메타 메타 모델이고 UML은 메타 모델이고 자신의 UML 모델은 UML 메타 모델의 모델 인스턴스라는 점을 유의하십시오. – Sindico

1

이것에 가장 적합한 기술은 M2T-JET입니다. 하나의 모델을 사용하도록 강요하지 않는 매우 가벼운 템플릿 프레임 워크입니다. JET를 사용하면 전체 다중 프로젝트 응용 프로그램을 생성 할 수 있습니다. 내가 메타 메타를 사용하여 그것의 인스턴스 모델을 만들기 위해 Ecore를 모두 내 메타 메타 모델 사양을 정의하면 다음

, 나는 그래서 JET example

+0

Chris., JET를 사용하여 템플릿을 JSP처럼 정의 할 수 있습니까? 서비스에 대한 UI와 어떤 버튼이 어떤 서비스를 호출 할 것인지, 어떤 필드 값이 어떤 서비스 매개 변수와 일치하는지 등을 정의하는 모델링이 제공됩니까? – Murugesh

+0

모델링에 관해서, 필자는 항상 두 가지 모델, 즉 템플릿에서 사용되고 템플릿에 최적화 된 모델과 디자인, 구현 등을 캡처하는 데 사용하는 모델을 따로 보관할 것을 강력히 제안했습니다. 그들이 아주 다른 두 가지 일을하기 때문에 그것들을 별도로 유지하십시오. 모델과 모델 - 텍스트 JET 변환을 정의한 경우에만 상류 모델에서 템플릿 모델로 이동하는 두 번째 변환을 작성해야합니다. 이 변환 순서를 유지함으로써 자신을 훨씬 쉽게 할 수 있습니다. –

+0

그러나 구체적인 질문을하기 위해 모델 - 텍스트 변환에 의해 모델이 소비되는 방식에 대해 걱정할 필요없이 모델링 환경과 도구를 선택할 수 있습니다. –

관련 문제