기본 콘텐츠로 건너뛰기

eclipse rcp project study 01

rcp development

1. development build automation
2. server communication

I need to save and restore everything of all views stackoverflow
-- https://stackoverflow.com/questions/22787018/how-to-save-view-part

EMF 를 언급 했다. emf가 모든 뷰 상태를 저장 할 수 있는 느낌인데


EMF 프로젝트는 구조적인 데이터 모델에 기반한 애플리케이션을 위한 모델링 프레임워크이자 코드 생성기술이다.
실용 기술적인 측면에서 EMF는
  1. XMI[1]에 기술된 모델 명세를 바탕으로 해당 명세를 구현하는 Java 클래스들을 생성하는 도구를 제공하며,
  2. 생성된 코드가 작동하는데 필요한 런타임을 지원한다.
  3. 이러한 런타임 지원은 커맨드 기반의 기본 모델 편집기, 모델의 UI노출등을 돕는 어댑터 클래스들을 포함한다.

EMF가 제공하는 도구:
  • 메타 모델 편집기(통칭 Ecore 편집기)
  • Ecore 다이어그램 편집기(시각 기반 Ecore 편집기)
  • Java 소스 코드 생성 모델 편집기 및 생성기

생성되는 코드:
  • 모델 명세에 대한 구현을 담은 Java 클래스들
  • 모델 팩토리 및 패키지 추상화 클래스, 모델 유틸리티 클래스.
  • 모델을 UI와 연결시키는 다양한 어댑터
  • 기본 모델 편집기

EMF가 제공하는 런타임 API:
  • 메타모델 리플렉션 API
  • 트랜잭션/커맨드 API
  • 직렬화 API
EMF의 작업 흐름은 매우 현실적며 실천적이다. 간단하게 말하면 UML 클래스 다이어그램을 정의하면, Java 코드를 즉시 생성할 수 있다. 추상적이거나 뜬 구름과 같은 MDA가 아니며, 실제로 유용한 모델 구현을 즉시 얻을 수 있다.
모델이 파일로 저장되고 UI를 통해 편집되는 애플리케이션을 개발하는 중이라면, EMF도입을 강력하게 권장한다.


모델 변경 감시

일반적으로 모델은 상태 보존, 직렬화 외에도 모델 상태 변경 통지의 임무를 갖는다. EMF가 생성한 모델에도 물론 그러한 기능이 갖춰져 있다.
그러나 일반적인 addXXXListener(...)의 형태와는 다소 다르고, 이를 학습하기전에 어댑터 패턴의 기본 개념을 이해해야 한다.

일반적인 MVC 패턴에서 모델의 실제 상태가 변경된 경우에만 뷰를 업데이트 하므로, isTouch()를 이용하여 불필요한 뷰 갱신을 억제해야 한다.

Model Driven Architecture란 소프트웨어 시스템 개발을 위한 디자인 접근법 중 하나이다. MDA는 모델이라고 하는 구조적 명세의 집합을 가이드 라인으로 제공하는 도메인 공학의 일종이다. 또한 모델 중심 공학을 지원한다. Object Management Group(OMG)에 의해 2001년에 제안되었다.


http://www.eclipse.org/articles/Article-EMF-goes-RCP/rcp.html

http://developer.eclipsesource.com/technology/crossplatform/

http://data.ceh.vn/Ebook/ebooks.shahed.biz/JAVA/

댓글

이 블로그의 인기 게시물

윈도우 톰캣 네트워크 드라이버 잡기

윈도우 톰캣 네트워크 드라이버 설정(windows tomcat network driver setting) TOMCAT_HOME/conf/server.xml 의 Host 노드 아래 경로 추가     <Context path="/resources" docBase="//192.168.200.100/cifs/pds" /> 서버스 재구동 하면 다음 메시지 뜸 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.beforeStart Exception fixing docBase for context [/resources] java.io.IOException: 사용자 이름 또는 암호가 올바르지 않습니다 at java.io.WinNTFileSystem.canonicalize0(Native Method) at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428) at java.io.File.getCanonicalPath(File.java:618) at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:593) at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:744) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)...

Jsp 서버 아이피 확인

한줄버전 <% String svrIP =  InetAddress.getLocalHost() .getHostAddress(); %> <%@ page language="java" import="java.net.InetAddress" %> InetAddress inet = InetAddress.getLocalHost(); String svrIP = inet.getHostAddress(); Reference http://yoontaesub.egloos.com/m/1925800

윈도우 톰캣 버전확인

cmd 창을 연 후 cd C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin version.bat 실행 ======================================================== Using CATALINA_BASE:   "C:\Program Files\Apache Software Foundation\Tomcat 8.0" Using CATALINA_HOME:   "C:\Program Files\Apache Software Foundation\Tomcat 8.0" Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 8.0\temp" Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_91" Using CLASSPATH:       "C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin\tomcat-juli.jar" Server version: Apache Tomcat/8.0.33 Server built:   Mar 18 2016 20:31:49 UTC Server number:  8.0.33.0 OS Name:        Windows Server 2012 R2 OS Version:     6.3 Architecture:   amd64 JVM Version:    1.8.0_91-b14 JVM Vendor:     Oracle Corporation ...