SlideShare a Scribd company logo
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
●
JBoss Modules Internal
JBoss Modules Internal
JBoss Modules Internal
JBoss Modules Internal
JBoss Modules Internal
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

More Related Content

PDF
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
PDF
Goorm소개
PDF
Cloud ide를 이용한_모바일_개발의_가능성과_전망
PDF
웹 IDE 비교
PDF
클라우드 IDE, 구름 프로젝트 | Devon 2012
PPTX
Gradle 사용하기
PPTX
빠른 프로토타이핑을 위한 웹앱 자동화 툴 - YEOMAN
PDF
[24]안드로이드 웹뷰의 모든것
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
Goorm소개
Cloud ide를 이용한_모바일_개발의_가능성과_전망
웹 IDE 비교
클라우드 IDE, 구름 프로젝트 | Devon 2012
Gradle 사용하기
빠른 프로토타이핑을 위한 웹앱 자동화 툴 - YEOMAN
[24]안드로이드 웹뷰의 모든것

What's hot (19)

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

More from Ted Won (18)

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

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 ●
  • 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