[사내 세미나] jboss 1st
TRANSCRIPT
![Page 1: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/1.jpg)
JBoss Application Server /Enterprise Application Platform
Kj Nam
![Page 2: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/2.jpg)
E. J. B. O. S. S. ?
![Page 3: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/3.jpg)
E. J. B. O. S. S. Enterprise Java Beans Open Source Software
• 1999년 EJB 컨테이너를 오픈 소스로 개발하기 위해 시작된 프로젝트- SUN과의 상표권 문제로 앞의 E를 빼고 JBoss 라고 이름 변경
• 자바를 기반으로 하는 오픈소스 미들웨어의 총칭- 40개 이상의 다양한 프로젝트. - 대표적으로 Java EE 스펙을 지원하는 A.S.
• 2006년 Redhat이 인수
![Page 4: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/4.jpg)
JBoss Enterprise Middleware 제품군
http://www.techweekeurope.it/workspace/red-hat-aggiorna-la-propria-offerta-middleware-33238
JBOSS ProjectEnterprise Application Platform(EAP) - enhances JBoss Application Server to provide a complete solution for Java applications.기업용 JBoss...돈주고 사는거
Enterprise Web Platform(EW) - a lightweight platform for building light and rich Java applicationsEAP의 서브셋으로 구성되어 있고 개발컴포넌트(하이버네이트같은)들이 포함 되어 있음EJB Profile은 제거 되어 있음
Enterprise Web Server(EWS) - a single solution for large scale websites and simple web applications.(Apache+Tomcat으로 서블릿만 운영하는 중소규모 사이트용 like Sun Web Servertomcat은 클러스터를 제거하여 제공된다.)https://access.redhat.com/site/articles/111723
정리 :EAP는 Full 버젼, 돈되는고객,EW은 EJB불필요 + EAP 보다는 작으나 물리적 3Tier구성을 요구하는 중형, (거의 비지니스 없는듯)EWS는 EJB불필요 + 로지컬 3Tier이나 WAS별도 구성보다는 대규모 단순트레픽 대응 용
Enterprise Communications Platform - a development platform for the telecommunications industry.https://access.redhat.com/site/documentation/en-US/JBoss_Communications_Platform/The JBoss Communications Platform (JBCP) is an open source VoIP platform certifiedfor JAIN SLEE 1.1 and SIP Servlets 1.1 compliance.뭐임....VOIP 서버도 있음????
Enterprise Portal Platform - to build and deploy portals for SOA user interaction and personalized presentation.말그대로 표준을 따라서 만드는 포탈...우리나라 사람들은 맘대로 만드는거 좋아하니...표준따라 만든 생산성있는 포탈보다안 예쁘면 쓰레기 취급이므로 기업기간시스템 아니면 적용하기 어렵고웬만큼 큰 기업 아니면 단독으로 사업하기란 안되는게 맞을것 같음
SOA Platform - integrates applications and orchestrates services to automate business processes in a service-oriented architecture.ESB, jBPM, Drools,EAP, MQ, 등등...기업내부 데이터통합을 위한 모든 단위 솔루션을 뭉뜽그려놓은 제품아래것들은 엔진수준으로 이해함
Business Rules Management System (BRMS) - enables business policy and rules development, access, and change management.BPM등에서 이벤트 발생시 이벤트를 미리정의된 정책을 기반으로 처리하기위해 별도 고안됨BRMS(Bisiness rule management system) 정책기반관리시스템BRE(Business Rule Engine) 정책관리를 위해 사용되는 엔진룰엔진 : RHEL Drools
Data Services - a management system to work with data across diverse systems옛날에 DB Middleware와 유사한..다양한 레거시DB와 연결하여 표준화된 스키마제공이 목적
JBoss Hibernate - industry-leading[citation needed] O/R mapping and persistence개발 프레임워크, 좋다고 말은 많지만 쓰는곳 한번도 못본...우리는 스프링+iBatis+Dbcache에 편중된 환경이라....이미 사용중인 프레임워크변경은 문화를 바꾸는수준으로 보아야할듯...
JBoss Seam - for simplifying web 2.0 application developmentJBoss Web Framework Kit - for building light and rich Java applicationsJBoss RichFaces - adding Ajax capabilities to the JavaServer Faces web application framework.제품이라고 하기에는...프로그레밍모델, 울나라 개발자들 스프링에 종신계약했듯이 이거쓰면 RHEL하고
JBoss Operations Network - a customizable management-platform for JBoss deploymentsJBoss가 설치된 팜에서 WAS를 모니터링하기 위한 솔루션, 배포나 스넵샷등은 긍정적이나 모니터링성능은 고려필요국산 EMS업체나 제니퍼와같이 전문 APM과는 비교어렵다.
JBoss Developer Studio - offers developers an environment for building rich web applications, transactional enterprise applications, and SOA-based integration applications.이클립스기반 IDE...돈주고 사는사람은 없을듯
JBoss Fuse Service Works 6ESB와 프레임워크통합 솔루션, 메시징 기반 데이터 교환의 확장형태
Red Hat JBoss Data Virtualization 6
Red Hat JBoss Data Grid 6.2VM가상화, 세션및 데이터케싱등...오라클 FusionMiddleware 코헤런스 제품과 유사
![Page 5: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/5.jpg)
JBoss AS Timeline
JSE
JEE
JBoss CE
JBoss EAP
2004 2006 2008 2010 2012 2014 2016
J2SE 5.02004-11
Java EE 52006-05
AS 52008-12
EAP 52009-11
Java SE 62006-11
Java SE 72011-07
Java SE 82014-03
Java EE 62009-12
Java EE 72013-05
AS 62010-12
AS 72011-07
EAP 62012-12
Wildfly 82014-02
Wildfly 92015-06
Wildfly102016-01
EAP 7 (beta)2015-12
Red Hat이JBoss, Inc 인수
2006-04
상용제품과혼돈 피하기 위해
이름 변경
![Page 6: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/6.jpg)
JBoss AS Release Schedule
• AS버전의 버그, 보안업데이트, 안정성과 품질 테스트를 거쳐 EAP 버전 출시
http://redhat.com
![Page 7: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/7.jpg)
2014 Top Java EE Application Server Report- http://blog.arungupta.me/jboss-wildfly-top-javaee-appserver-zeroturnaround-report/
![Page 8: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/8.jpg)
JAVA EE
자바 플랫폼, 엔터프라이즈 에디션(Java Platform, Enterprise Edition; Java EE)은 자바를 이용한 서버측 개발을 위한 플랫폼이다. Java EE 플랫폼은 PC에서 동작하는 표준 플랫폼인Java SE에 부가하여, 웹 애플리케이션 서버에서 동작하는 장애복구 및 분산 멀티티어를 제공하는 자바 소프트웨어의 기능을 추가한 서버를 위한 플랫폼이다. 이전에는 J2EE라 불리었으나 버전 5.0 이후로 Java EE로 개칭되었다.- Wikipedia
https://steveschols.wordpress.com/2013/12/11/devoxx-2013-java-ee-7/
Java EE 7 Technologies• Java Servlet• Java Server Pages• JDBC
.
.
• EJB (Enterprise Java Beans)• JNDI (Java Naming and Directory Interface)• JMS (Java Message service)• JTA (Java Transaction API)
등 엔터프라이즈를 위한 API
Web Application Technologies
Java API for WebSocketJava API for JSON ProcessingJava Servlet 3.1JavaServer Faces 2.2Expression Language 3.0JavaServer Pages 2.3Standard Tag Library for JavaServer Pages (JSTL) 1.2
![Page 9: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/9.jpg)
EJB
엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리
케이션이다. EJB 사양은 Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다.- Wikipedia
EJB의 종류
• 세션 빈 (Session Bean) : DB 연동이 필요 없음• 엔티티 빈 (Entity Bean)
– 데이터베이스의 데이터를 관리하는 객체– Insert(삽입), Update(수정), Delete(삭제), select(조회)– DB 관련쿼리는 자동으로 만들어지고 개발자는 고급 업무처리에집중할 수 있음– DB가 수정되면 코드 수정 없이 다시 배포(설정 문서 만들어서 복사)
• 메시지 구동 빈 (Message-driven Bean) : JMS로 빈을 날려줌.
![Page 10: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/10.jpg)
일반적인 Java EE 구축https://docs.oracle.com/cd/E19798-01/821-1841/6nmq2coj7/index.html
![Page 11: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/11.jpg)
• 지나치게 복잡하고 무거워진 Java EE & EJB
• 경량 프레임워크의 인기 (Spring, Play and more)
• Java EE 풀스펙을 지원하는 WAS 불필요
- 경량화 된 서블릿 컨테이너 Tomcat 인기
![Page 12: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/12.jpg)
JBoss EAP 6Enterprise Application Platform
• JAVA EE6 호환 애플리케이션 서버 (JAVA EE 풀스펙 지원)• 빠른 부팅 시간 (EAP6 이전 버전 대비 약 20배)• 모듈형 클래스 로딩• 다이어트 된 메모리 사용 (EAP6 이전 버전 대비 약 10배)• 중앙 집중화 된 설정 파일과 편리한 관리 도구
![Page 13: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/13.jpg)
JBoss EAP 디렉터리 구조
http://www.slideshare.net/ienvyou/j-boss6-7
![Page 14: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/14.jpg)
JBoss EAP 운영모드
머신 #1 머신 #2
서버1 서버2 서버1 서버2
Standalone Mode
• 전통적인 싱글 서버 모델 (단일JVM)
• 각 서버마다 모듈세팅 필요
ex) datasource, mail …
• Lifecycle 관리가 없음
![Page 15: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/15.jpg)
JBoss EAP 운영모드
Domain Mode
머신 #1
프로세스컨트롤러 도메인컨트롤러
콘솔
서버1
서버2
서버3
서버4
호스트컨트롤러
프로세스컨트롤러
호스트컨트롤러
프로세스컨트롤러
머신 #2 머신 #3서버 그룹
• 멀티 JVM, 멀티 Server 모델
• 설정을 중앙에서 관리
• 호스트에서 여러 서버 인스턴스(JVM) 사용
• 프로세스 컨트롤러로 Full Lifecycle 관리
![Page 16: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/16.jpg)
JBoss EAP 관리도구
Management Console (관리콘솔)
• 웹브라우저 기반의 관리도구
• 배포, 제거, 시작, 정지, 인스턴스 모니터링 등
• 변경할 수 있는 설정 항목은 CLI 보다 적음
CLI (Management Command Line Interface)
• 명령행 형식의 관리도구
• 관리 자원의 오퍼레이션 실행, 일반 명령 실행 등
![Page 17: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/17.jpg)
JBoss EAP 애플리케이션 배포
배포 방식
1) MANAGED: JBoss가 애플리케이션 배포 파일을 관리
2) UNMANAGED: 사용자가 애플리케이션 배포 파일을 관리
ARCHIVEEXPLODED
• 웹애플리케이션(.war)• EJB 애플리케이션(.jar)• Enterprise 애플리케이션(.ear)• Resource Adapter (.rar)• 웹서비스애플리케이션(.wsr)• JBoss 서비스(.sar)
![Page 18: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/18.jpg)
scanner path를 참조하여 배포를 수행 (서버 default 옵션)
$ JBOSS_HOME/standalone/configuration/standalone.xml
$ cp jboss-helloworld.war $JBOSS_HOME/standalone/deployments
1) 배포스캐너를 이용한 배포 (도메인모드는 불가)
![Page 19: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/19.jpg)
CLI 실행
$ JBOSS_HOME/bin/jboss-cli.sh --controller=서버IP:포트번호 --connect
[standalone@localhost:9999 /] /deployment=jboss-helloworld.war:add(runtime-name=“jboss-helloworld.war”, content=[{“path”=>”/home/admin/Downloads/jboss-helloworld.war”, “archive”=>false}])
2) CLI 를 통한 배포
배포
[standalone@localhost:9999 /] /deployment=jboss-helloworld.war:deploy
[standalone@localhost:9999 /] /deployment=jboss-helloworld.war:undeploy
배포중지, 삭제
[standalone@localhost:9999 /] /deployment=jboss-helloworld.war:remove
• runtime-name: 실제 배포될 이름• name: JBoss 에서 관리하는 이름• path: 실제 파일 경로• archive: 압축(war, jar or other) 파일 여부
![Page 20: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/20.jpg)
3) 관리콘솔에서 배포
![Page 21: [사내 세미나] JBoss 1st](https://reader030.vdocuments.mx/reader030/viewer/2022020119/587595cc1a28abc06e8b4ad9/html5/thumbnails/21.jpg)
참고자료
• 거침 없이 배우는 JBoss. 전준식 저, 지앤선 출판. 2014.
• 주식회사 오픈소스컨설팅 - JBoss6&7 교육자료• http://www.slideshare.net/ienvyou/j-boss6-7• http://www.slideshare.net/ienvyou/session-clustering• http://www.slideshare.net/ienvyou/jboss-as7eap6-jms• http://www.slideshare.net/ienvyou/session-iij-bosseap6
• Redhat – Jboss 제품소개• https://www.redhat.com/ko/technologies/jboss-middleware/application-platform
• JBOSS 관리자 개발 가이드• http://ldg.pe.kr/framework_reference/jbossAdmin/index.html
• Introduce JBoss AS / EAP and Java EE6 • http://www.slideshare.net/dandreadis/jboss-as-eap-and-java-ee6