SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
JBoss Modules Internal
JBUG Korea
@tedwon
Build JBoss Modules
git clone git@github.com:tedwon/jboss-modules.git
cd jboss-modules
git remote add upstream git@github.com:jboss-modules/jboss-modules.git
mvn clean install javadoc:javadoc
JBoss Modules
● https://github.com/jboss-modules/jboss-modules
● http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html
● 순수 JDK 만으로 만든 프로젝트
● 다른 프로젝트의 근간
○ WildFly, Infinispan, ...
● David Lloyd는 이걸 왜 만들었을까?
● 단순한 실행 환경 제공, not a container
○ No need a container
● 하나의 묶음으로 로드할 클래스들의 논리적 단위
● 모듈 하나당 하나의 클래스 로더
● 그래프 클래스 로더 구조
JBoss Modules
● 클래스패스는 사용되든 안되든 언제나 모든 클래스를 로드한다.
○ jar간의 visibility를 조절 할 수 없다.
● 각 모듈은 isolated
● 명시적으로 의존성을 정의
● 모듈의 클래스 패스는 모듈의 클래스와 직접적인 의존성을 갖는 것만
포함한다.
● No need class path to execute
● flat classpath
● graph modular class loading
● desiner, tool이 있으면 좋을 듯
JBoss Modules
● java.* 의존성 기본 포함
● Static module
○ module.xml
○ 의존성을 명시적으로 선언
● Dynamic module
○ deployment
○ 의존성 선언 MANIFEST.MF 또는 jboss-deployment-structure.xml 에 선언
○ war 하나의 모듈
○ ear 여러 개의 모듈
■ ear/lib 부모 모듈
■ ejb/war 각 하나의 모듈
● java -jar jboss-modules.jar -mp modules -deptree org.jboss.as.standalone
●
References
1. http://jboss-modules.github.io/jboss-modules/manual/
2. http://el4j.sourceforge.net/plugins/maven-depgraph-plugin/plugin-info.html
3. http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html
4. https://github.com/tedwon/hello-jboss-modules
5. https://vimeo.com/32211344
6. http://www.theserverside.com/news/thread.tss?thread_id=62647
7. http://word-bits.flurg.com/circular-module-dependencies-and-the-real-world/
8. http://in.relation.to/david-lloyd/
9. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track1session1.pdf
10. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track3session5.pdf
11. http://in.relation.to/2010/09/10/modularized-java-withjboss-modules/
12. https://www.yumpu.com/en/document/view/51887543/eap6-nuts-to-bolts-red-hat-summit/14
13. https://github.com/bparry02/jboss-modules-demo

Contenu connexe

Tendances

자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅Yoonsung Jung
 
지속적인 통합
지속적인 통합지속적인 통합
지속적인 통합중선 곽
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드수정 김
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기Manjong Han
 
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleBackend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleKyunghun Jeon
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodedpTablo
 
Jenkins with Unity3d & Android
Jenkins with Unity3d & Android Jenkins with Unity3d & Android
Jenkins with Unity3d & Android 종국 임
 
안드로이드를 위한 Gradle 맛들이기
안드로이드를 위한 Gradle 맛들이기안드로이드를 위한 Gradle 맛들이기
안드로이드를 위한 Gradle 맛들이기DongHwan Yu
 
2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리Jay Park
 
Welcome to Android Studio
Welcome to Android StudioWelcome to Android Studio
Welcome to Android StudioWonKyun Lim
 
Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01SangHun Lee
 
20130709 gradle
20130709 gradle20130709 gradle
20130709 gradleSukjin Yun
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridappNAVER D2
 

Tendances (19)

Es6 module
Es6 moduleEs6 module
Es6 module
 
자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅
 
지속적인 통합
지속적인 통합지속적인 통합
지속적인 통합
 
Cooking jquery
Cooking jqueryCooking jquery
Cooking jquery
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기
 
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleBackend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCode
 
Jenkins with Unity3d & Android
Jenkins with Unity3d & Android Jenkins with Unity3d & Android
Jenkins with Unity3d & Android
 
안드로이드를 위한 Gradle 맛들이기
안드로이드를 위한 Gradle 맛들이기안드로이드를 위한 Gradle 맛들이기
안드로이드를 위한 Gradle 맛들이기
 
Swt bot
Swt botSwt bot
Swt bot
 
iOS9 소개
iOS9 소개iOS9 소개
iOS9 소개
 
2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리2020년 6월 13일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리
 
Welcome to Android Studio
Welcome to Android StudioWelcome to Android Studio
Welcome to Android Studio
 
Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01
 
20130709 gradle
20130709 gradle20130709 gradle
20130709 gradle
 
Grunt
GruntGrunt
Grunt
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
 

Plus de Ted Won

Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개Ted Won
 
JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개Ted Won
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드Ted Won
 
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...Ted Won
 
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesJenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesTed Won
 
Hawkular overview
Hawkular overviewHawkular overview
Hawkular overviewTed Won
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with EsperTed Won
 
JDG 7 & Spark Integration
JDG 7 & Spark IntegrationJDG 7 & Spark Integration
JDG 7 & Spark IntegrationTed Won
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기Ted Won
 
Nara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick ReviewNara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick ReviewTed Won
 
JBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformJBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformTed Won
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataTed Won
 
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Ted Won
 
Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects Ted Won
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링Ted Won
 
RHQ 공감 Seminar 6th
RHQ 공감 Seminar 6thRHQ 공감 Seminar 6th
RHQ 공감 Seminar 6thTed Won
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with EsperTed Won
 

Plus de Ted Won (18)

Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개
 
JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드
 
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
 
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesJenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
 
Hawkular overview
Hawkular overviewHawkular overview
Hawkular overview
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with Esper
 
JDG 7 & Spark Integration
JDG 7 & Spark IntegrationJDG 7 & Spark Integration
JDG 7 & Spark Integration
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
Nara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick ReviewNara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick Review
 
JBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformJBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring Platform
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured Data
 
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
 
Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
 
RHQ 공감 Seminar 6th
RHQ 공감 Seminar 6thRHQ 공감 Seminar 6th
RHQ 공감 Seminar 6th
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with Esper
 

JBoss Modules Internal

  • 2. Build JBoss Modules git clone git@github.com:tedwon/jboss-modules.git cd jboss-modules git remote add upstream git@github.com:jboss-modules/jboss-modules.git mvn clean install javadoc:javadoc
  • 3. JBoss Modules ● https://github.com/jboss-modules/jboss-modules ● http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html ● 순수 JDK 만으로 만든 프로젝트 ● 다른 프로젝트의 근간 ○ WildFly, Infinispan, ... ● David Lloyd는 이걸 왜 만들었을까? ● 단순한 실행 환경 제공, not a container ○ No need a container ● 하나의 묶음으로 로드할 클래스들의 논리적 단위 ● 모듈 하나당 하나의 클래스 로더 ● 그래프 클래스 로더 구조
  • 4. JBoss Modules ● 클래스패스는 사용되든 안되든 언제나 모든 클래스를 로드한다. ○ jar간의 visibility를 조절 할 수 없다. ● 각 모듈은 isolated ● 명시적으로 의존성을 정의 ● 모듈의 클래스 패스는 모듈의 클래스와 직접적인 의존성을 갖는 것만 포함한다. ● No need class path to execute ● flat classpath ● graph modular class loading ● desiner, tool이 있으면 좋을 듯
  • 5. JBoss Modules ● java.* 의존성 기본 포함 ● Static module ○ module.xml ○ 의존성을 명시적으로 선언 ● Dynamic module ○ deployment ○ 의존성 선언 MANIFEST.MF 또는 jboss-deployment-structure.xml 에 선언 ○ war 하나의 모듈 ○ ear 여러 개의 모듈 ■ ear/lib 부모 모듈 ■ ejb/war 각 하나의 모듈 ● java -jar jboss-modules.jar -mp modules -deptree org.jboss.as.standalone ●
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. References 1. http://jboss-modules.github.io/jboss-modules/manual/ 2. http://el4j.sourceforge.net/plugins/maven-depgraph-plugin/plugin-info.html 3. http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html 4. https://github.com/tedwon/hello-jboss-modules 5. https://vimeo.com/32211344 6. http://www.theserverside.com/news/thread.tss?thread_id=62647 7. http://word-bits.flurg.com/circular-module-dependencies-and-the-real-world/ 8. http://in.relation.to/david-lloyd/ 9. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track1session1.pdf 10. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track3session5.pdf 11. http://in.relation.to/2010/09/10/modularized-java-withjboss-modules/ 12. https://www.yumpu.com/en/document/view/51887543/eap6-nuts-to-bolts-red-hat-summit/14 13. https://github.com/bparry02/jboss-modules-demo