Liferay의 Service Builder 도구는 비즈니스 업무를 만들어내는 도구이다. 그리고 Plugins SDK에 대해서 알아보도록 한다.
Service Builder 개념
- Service Builder 도구는 Model-Driven code generator이다.
- WEB-INF/service.xml 안에 entity로 정의되고 이를 참조하여 model, persistence, service 파일이 자동 생성되는 구조이다.
- 자동 생성된 내역은 여러다른 포틀릿에서도 공유할 수 있게 구성된다
> service.xml 에서 Entity를 추가하고 필드를 정의 할 수 있다
> 각 Entity에 대해서 Column을 정의한다
> Event와 Location을 추가했는데 두 entity간의 relation을 Diagram에서 맺어 줄 수 있다
- event-listing 프로젝트를 선택하고 컨텍스트메뉴를 보면 "Liferay" -> "Build Services" 를 선택하여 파일을 자동 생성한다
> WEB-INF/src , sql 밑으로 소스가 자동 생성되었다
기존에 있는 프로젝트 Import하여 분석하기
- "New" -> "New Liferay Project form Existing Source" 로 기존의 플러그인을 Eclipse에 불러서 사용할 수 있다
- Plugins SDK 안에 존재하는 플러그인을 불러오고 싶다면 "Import..." -> "Liferay Projects from Plugins SDK"를 선택한다
> Liferay에서 선택
> SDK를 선택하면 Plugins SDK에 포함된 플러그인을 자동 열거하여 준다. 원하는 것을 선택하고 Runtime을 선택한다
Plugins SDK 이해하기
- Plugin SDK 설치는 지난 블로그에서 다루었다. 이제 Plugins SDK의 환경설정은 build.properties에서 한다
> 환경설정 주의
~/development/liferay_portal/plugins-sdk-6.2/build.properties 는 절대로 변경하지 말자
대시 build.<username>.properties 파일을 변경한다.
- SDK 디렉토리 구조
clients/ - client applications directory.
dist/ - archived plugins for distribution and deployment.
ext/ - Ext plugins directory. See Advanced Customization with Ext Plugins.
hooks/ - hook plugins directory. See Customizing and Extending Functionality with Hooks.
layouttpl/ - layout templates directory. See Creating Liferay Layout Templates.
lib/ - commonly referenced libraries.
misc/ - development configuration files. Example, a source code formatting specification file.
portlets/ - portlet plugins directory. See Developing Portlet Applications.
themes/ - themes plugins directory. See Creating Liferay Themes and Layout Templates.
tools/ - plugin templates and utilities.
webs/ - web plugins directory.
build.properties - default SDK properties.
build.<username>.properties - (optional) override SDK properties.
build.xml - contains targets to invoke in the SDK.
build-common.xml - contains common targets and properties referenced throughout the SDK.
build-common-plugin.xml - contains common targets and properties referenced by each plugin.
build-common-plugins.xml - contains common targets and properties referenced by each plugin type.
Ant 기반 빌드하기
- build.xml은 Ant 빌드 파일이다
build-service - builds the service layer for a plugin, using Liferay Service Builder.
clean - cleans the residual files created by the invocations of the compilation, archiving, and deployment targets.
compile - compiles the plugin source code.
deploy - builds and deploys the plugin to your application server.
format-source - formats the source code per Liferay’s source code guidelines, informing you of violations that must be addressed. See the Development Sytle community wiki page for details.
format-javadoc - formats the Javadoc per Liferay’s Javadoc guidelines. See the Javadoc Guidelines community wiki page for details.
- CLI (Command Line Interface) 기반으로 포틀릿 만들기
> SDK/portlets/ 안에 보면 create.bat/create.sh 파일이 존재한다
$ cd ~/development/liferay_portal/plugins-sdk-6.2/portlets
$ ./create.sh test-listing "test listing"
> 해당 디렉토리에서 배포하기
$ ant deploy
> 배포에 성공하게 되면 하기 디렉토리에 war파일 두개(event-listing-portlet, test-listing-portlet)이 생성된다
$PORTAL_HOME/deploy/*.war 파일은 tomcat에 배포된다
다음 블로그에서는 Maven 기반 빌드를 보도록 하자.
<참조>
'Study Frameworks > Liferay Portal' 카테고리의 다른 글
[Liferay Portal] Portlet개발 (포틀릿 생성하기) - 1 (0) | 2014.05.06 |
---|---|
[Liferay Portal] 개발환경구성 (Maven Build 환경) - 6 (0) | 2014.05.05 |
[Liferay Portal] 개발환경구성 (프로젝트,플러그인 생성) - 4 (0) | 2014.04.30 |
[Liferay Portal] 개발환경구성 (기초) - 3 (0) | 2014.04.30 |
[Liferay Portal] 개발환경구성 (Eclipse IDE 와 Plugins SDK) - 2 (0) | 2014.04.30 |