Jhipster로 Microservice Application 개발하기 1편

Updated:

Jhipster란 무엇일까?

Jhipster란, modern 웹 애플리케이션과 마이크로서비스 아키텍처를 빠르게 적용, 개발, 배포할 수 있도록 도와주는 오픈소스 개발 플랫폼이다.

최근 Jhipster를 활용해 웹 애플리케이션을 개발하는 기업들이 많아졌는데, 직접 Jhipster를 사용해본 결과 정말 편리하고 좋은 플랫폼임을 느낄 수 있었다. Jhipster는 Spring boot 프로젝트를 생성해주는 도구인데, 편리한만큼 장단점 또한 굉장히 뚜렷했다.

고려해야할 점은, Spring Boot에 대해 잘 알지 못하면 Jhipster가 제공해주는 것 외에 아무것도 할 수 없다. Entity 생성과 Server Config방법, Front-end 작성, Business Logic 개발 등 은 오롯이 개발자의 몫이라는 것은 알고 시작하는 것이 좋다.

Jhipster가 지원해주는 영역은 아래와 같다.

  • Front-end 영역 지원 : Angular, React, Vue.js
  • Back-end 영역 지원 : Spring Boot (Java & Kotlin 포함), Micronaut, Quarkus, Node.js, and .NET.
  • Deployment 영역 지원 : Docker and Kubernetes for AWS, Azure, Cloud Foundry, Google Cloud Platform, Heroku, and OpenShift.

실제로 Jhipster를 활용해 프로젝트를 생성하면 위 3가지 영역과 관련된 옵션들을 선택해야한다. 따라서, 미리 Jhipster에서 지원하는 영역과 그 영역 내 옵션의 상세 기능 및 개발환경을 알고 있어야한다.

그렇다면 Jhipster 사용 목적은 뭘까?

Jhipster 사용의 목적은 완전하고 현대적인 웹 애플리케이션과 마이크로서비스 아키텍처의 생성이며 다음과 같은 항목들을 통합하는 것이 목표이다.

  • 광범위한 테스트를 커버할 수 있는 우수한 성능의 강력한 서버 스택
  • 세련되고 현대적인 모바일 친화적 UI를 위한 Angular, React, Vue + Bootstrap를 갖춘 CSS
  • Webpack 및 Maven 또는 Gradle을 사용하여 애플리케이션을 빌드하는 강력한 워크 플로우
  • 클라우드에 빠르게 배포할 수있는 코드 기반 인프라

말은 거창하지만, 짧게 요약해보면 매우 빠르고 예쁜 UI를 갖춘 클라우드에 최적화된 웹 애플리케이션 을 만들어준다.

Jhipster는 어떤 구조일까?

Jhipster의 구조는 아래 이미지와 같다.

  • JHipster 레지스트리 : MSA의 필수요소, 다른 모든 구성요소를 서로 연결하고 서로 통신할 수 있게 함
  • Microservice : 백엔드 코드가 들어있고, 실행 후 도메인에 대한 API를 노출. 여러 마이크로서비스로 구성 될 수 있으며 몇 개의 엔티티와 비즈니스 규칙이 포함된다.
  • Gateway : 모든 프론트 엔드 코드를 가지고 있으며 전체 마이크로 서비스에서 생성한 API 를 사용한다.
  • Back-End : src/ main / java 폴더에 존재한다.
  • Front-End : src / main /webapp 폴더에 존재하고, Angular JS 모듈의 대부분을 포함한다.

Jhipster 환경 구축 (Mac & Windows 동일)

아래 3가지를 설치하지 않으면 Application 실행 시 엄청난 오류들을 볼 수 있다. 그러므로, 반드시 설치 및 설치 확인을 하도록 하자!

  1. Java 11 설치 -> AdoptOpenJDK builds
  2. Node.js 설치 -> 반드시 LTS 64-bit version 설치 Node.js website
  3. JHipster 설치 ->
    npm install -g generator-jhipster
    

    추가적으로 Git과 Docker도 설치하자. Git과 Docker는 필수 설치 사항은 아니나, 있으면 매우 편리해진다.

  • git : https://git-scm.com/
  • Docker : https://www.docker.com/products/docker-desktop

MacOS의 경우

Mac을 사용하는 경우 brew를 사용하여 단 한줄로 설치할 수 있다.

brew install jhipster

참조 : Jhipster공식 설치가이드 링크


이제 환경설정을 마쳤으니 2탄부터 간단한 서비스 생성 및 Entity 추가를 진행해보고, 잘 실행되는지 확인해보자.

2탄 Comming Soon!