JBoss EAP 7 베타는 이제 출시레드햇, 그리고 특히 WildFly 팀! 이번 릴리스에는 다음 문서에 설명된 대로 많은 개선 사항이 있습니다. 릴리스 정보. 주요 테마 중 하나는 Java EE 7 규정 준수입니다.

JBoss EAP 7 및 Java EE 7

IBM과 오라클은 이미 상업적으로 지원되는 Java EE 7 호환 애플리케이션 서버를 제공하고 있습니다. 이제 Red Hat도 곧 이 대열에 합류할 예정입니다. WildFly는 2년 이상 Java EE 7을 지원해 왔지만, 오픈 소스가 전사적으로 채택되기 위해서는 상용 지원이 필수적입니다. 따라서 이것은 좋은 소식입니다! 다양한 디존 레프카드의 자바 EE 7 API 와 함께 저술한 알루빈저.

Java EE 7 Refcards

 

"헬로 월드"가 많이 있습니다. Java EE 7 샘플 모두 JBoss EAP와 함께 실행되어야 합니다. 누군가가 pom.xml 을 클릭하고 새 프로필을 추가합니다.

왜 NoSQL인가요?

기존 엔터프라이즈 애플리케이션을 구축하는 경우 RDBMS를 사용해도 괜찮을 수 있습니다. RDBMS를 사용하면 많은 이점이 있지만 대신 NoSQL 데이터베이스를 사용하면 몇 가지 장점이 있습니다:

  • 미리 정의된 스키마가 필요하지 않으므로 스키마 없는 데이터베이스. 기존 개체에 새 속성을 쉽게 추가할 수 있으며 ALTER TABLE이 필요하지 않습니다. 기존 객체의 비정형 데이터 는 다운타임이나 서비스 수준 저하 없이 언제든지 데이터 형식을 유연하게 변경할 수 있습니다. 또한 구조가 없기 때문에 서버에서 조인이 발생하지 않으며, 따라서 조인 간의 관계도 없습니다.
  • 확장성, 민첩성 및 성능 는 일반적으로 RDBMS에서 제공하는 전체 기능 세트보다 더 중요합니다. 이 데이터베이스 세트는 최종적인 일관성 및/또는 단일 항목으로 제한된 트랜잭션을 제공하지만 CRUD에 더 중점을 둡니다.
  • NoSQL은 다음을 위해 설계되었습니다. 스케일 아웃 (수직) 확장 대신 (수평) 확장으로 전환합니다. 이는 데이터베이스뿐만 아니라 다른 모든 것이 클라우드로 이동하고 있다는 사실을 아는 것이 중요합니다. RBDMS는 샤딩을 사용하여 스케일아웃할 수 있지만 복잡한 관리가 필요하며, 마음이 약한 사람에게는 적합하지 않습니다. 샤드 간에 조인이 필요한 쿼리는 다음과 같습니다. 매우 비효율적.
  • RDBMS에는 임피던스 불일치 데이터베이스 구조와 도메인 클래스 사이에 매핑이 필요합니다. 이러한 경우 Java 지속성 API 또는 Hibernate에서 제공하는 것과 같은 객체 관계형 매핑이 필요합니다.
  • NoSQL 데이터베이스는 관리가 용이하도록 설계되었으며 데이터 모델이 더 단순하여 다음과 같은 이점을 제공합니다. 관리 비용 절감 도 마찬가지입니다.

이제 여러분 모두 NoSQL에 대해 관심을 갖고 자세히 알아보고 싶으실 것입니다:

간단히 말해, NoSQL 데이터베이스에는 네 가지 유형이 있습니다:

  • 문서: 카우치베이스, 몽고 및 기타
  • 키/값: Couchbase, Redis 및 기타
  • 그래프: Neo4J, OrientDB 및 기타
  • 칼럼: 카산드라 및 기타

Java EE 7은 NoSQL을 지원하지 않는 Java 지속성 API를 제공합니다. 그렇다면 JBoss EAP 7로 NoSQL을 어떻게 시작할 수 있을까요? 이 블로그에서는 JBoss EAP 7 베타에 배포된 간단한 Java EE 애플리케이션을 사용하여 Couchbase 데이터베이스를 쿼리하는 방법을 보여드립니다.

카우치베이스란 무엇인가요?

카우치베이스 는 오픈소스 NoSQL 문서 데이터베이스입니다. 고성능 데이터 액세스를 위한 통합 분산 캐싱을 활용하면서 JSON 문서에 액세스하고, 색인하고, 쿼리할 수 있습니다. 개발자는 다양한 언어(Java, Go, .NET, Node, PHP, Python, C)를 사용하여 Couchbase에 애플리케이션을 작성할 수 있습니다. 여러 SDK. 이 블로그에서는 다음을 사용하여 CRUD 애플리케이션을 쉽게 만드는 방법을 보여줍니다. 카우치베이스용 Java SDK.

JBoss EAP 7 실행

JBoss EAP 7을 시작하는 방법에는 두 가지가 있습니다.

다운로드 및 실행

  • 다운로드 JBoss EAP 7 베타 을 클릭하고 압축을 풉니다.
  • 로 애플리케이션 서버를 시작합니다:

도커 실행

컨테이너화된 세상에서는 도커 실행 를 사용하여 JBoss EAP를 실행합니다. 그러나 JBoss EAP 이미지는 다음과 같이 존재하지 않습니다. 도커 허브 를 사용하므로 이미지를 명시적으로 빌드해야 합니다. 여전히 JBoss EAP를 명시적으로 다운로드한 다음 다음을 사용해야 합니다. 도커파일 를 클릭해 이미지를 작성합니다:

이미지가 다음과 같이 빌드됩니다:

그런 다음 JBoss EAP 7 컨테이너를 다음과 같이 실행할 수 있습니다:

애플리케이션 및 관리 포트가 모든 네트워크 인터페이스에 바인딩되는 방식에 주목하세요. 이렇게 하면 나중에 이 JBoss EAP 인스턴스에 애플리케이션을 배포하는 것이 간단해집니다. 나중에 더 쉽게 시작할 수 있는 방법을 보여드리기 위해 서버를 중지합니다.

애플리케이션 서버 및 데이터베이스 시작

Java EE 애플리케이션은 Couchbase에 저장된 JSON 문서를 통해 HTTP CRUD 인터페이스를 제공합니다. 애플리케이션 자체는 JBoss EAP 7 베타에 배포됩니다. 따라서 Couchbase와 JBoss EAP를 시작해야 합니다. 다음에서 Docker Compose 파일을 사용합니다.  github.com/arun-gupta/docker-images/blob/master/jboss-eap7-nosql/docker-compose.yml 를 클릭하여 Couchbase 및 JBoss EAP 7 컨테이너를 시작합니다:

애플리케이션은 다음과 같이 시작됩니다:

시작된 컨테이너는 다음과 같이 볼 수 있습니다:

카우치베이스 서버 구성

복제 카우치베이스-자비 애플리케이션입니다. 이 Java EE 애플리케이션은 다음을 사용합니다. Couchbase Java SDK API 를 클릭하여 Couchbase 서버에 연결합니다. 부트스트랩 코드는 다음과 같습니다:

에서 호출되며 데이터베이스 추상화. 카우치베이스 서버는 다음을 사용하여 구성할 수 있습니다. REST API. 이러한 REST API는 Maven 프로필에 정의되어 있습니다. pom.xml 로 설정합니다. 따라서 Couchbase 서버를 다음과 같이 구성합니다:

Java EE 애플리케이션을 JBoss에 배포하기

Java EE 애플리케이션은 다음을 사용하여 JBoss EAP 7 베타에 쉽게 배포할 수 있습니다. 와일드플라이 메이븐 플러그인. 이것은 또한 다음에서 Maven 프로필로 정의됩니다. pom.xml 도 사용할 수 있습니다. 애플리케이션을 다음 이름으로 배포합니다:

애플리케이션에 액세스

앞서 언급했듯이 이 애플리케이션은 Couchbase에 저장된 JSON 문서를 통해 HTTP CRUD API를 제공합니다. 애플리케이션에 다음과 같이 액세스합니다:

애플리케이션의 항공사 리소스에서 CRUD 작업(GET, POST, PUT, DELETE)을 수행할 수 있습니다. 전체 CRUD API는 다음 문서에 설명되어 있습니다. github.com/arun-gupta/couchbase-javaee. 이 블로그에서는 JBoss EAP 7에서 NoSQL 데이터베이스에 액세스하는 방법을 설명합니다. Couchbase 4에 대해 자세히 읽어보세요:

최근 개발자 중심 웨비나에서 Couchbase에 대해 자세히 알아보세요:

작성자

게시자 Arun Gupta, 개발자 지원 부문 부사장, Couchbase

아룬 굽타는 Couchbase의 개발자 지원 담당 부사장입니다. 그는 Sun, Oracle, Red Hat에서 10년 이상 개발자 커뮤니티를 구축하고 이끌었습니다. 그는 콘텐츠, 마케팅 캠페인 및 프로그램의 전략, 계획 및 실행을 개발 및 실행하는 교차 기능 팀을 이끄는 데 있어 깊은 전문성을 보유하고 있습니다. 그 전에는 Sun에서 엔지니어링 팀을 이끌었으며 Java EE 팀의 창립 멤버입니다. Gupta는 기술에 관한 블로그 게시물을 2,000개 이상 작성했습니다. 40여 개국에서 수많은 주제에 대해 광범위한 강연 경험을 가지고 있으며, 3년 연속 JavaOne Rock Star로 선정되었습니다. 또한 미국에서 Devoxx4Kids 지부를 설립하여 어린이를 대상으로 한 기술 교육을 지속적으로 장려하고 있습니다. 기술에 관한 여러 권의 책을 저술했으며, 열렬한 마라토너이자 지구를 횡단하는 사람, Java 챔피언, JUG 리더, NetBeans 드림팀 멤버, Docker 캡틴이기도 한 그는 @arungupta에서 쉽게 만나볼 수 있습니다.

댓글 남기기