본문 바로가기

Course

[마이크로서비스] Micronaut를 사용하여 Java 애플리케이션 구축

Oracle Cloud에서
Micronaut를 사용하여
Java 애플리케이션 구축

오라클 클라우드 및 자율 구동
데이터베이스에 GraalVM Enterprise와
Micronaut Framework를 사용한
Java 애플리케이션 구축

배울 내용

마이크로넛 프레임워크 (Micronaut Framework)

디펜던시 인젝션 (Dependency Injection) 및 역제어 통제(IoC)

자바 11 설치 및 어플리케이션 구현 (JDK 11)

오라클 클라우드 인프라스트럭쳐(Oracle Cloud Infrastructure)

오라클 자율 운영데이터베이스 연동 (Oracle Autonomous Database)

그랄 VM (GraalVM Enterprise Edition 21.x)

Billy Lee

'Engineering Technician' using Java

네오아베뉴 대표
센터니얼 칼리지 Software Eng. Technician 졸업


이런 분들에게 추천해요

자바 개발자로서 오라클 클라우드 웹 어플리케이션 개발에 착수하고자 하실 분

마이크로넛 프레임워크 새로 배우고자 하실 분

초고속 어플리케이션 제작에 관심 있으신 분

JVM-Based Micronaut (자바 버추얼 머신 베이스 프로그래밍) 개발하고자 하실 분

초급자를 위해 준비한 [마이크로넛 백엔드, 웹 개발] 강의입니다.
자바 오라클 클라우드 네이티브 어플리케이션을 제작하면서 비동기 처리, I/O 처리, 고성능 웹 어플리케이션, 게다가 JIT 컴파일러 기술로 2배 이상의 빠른 어플리케이션 실행 처리로 네트워크 입력에 부하 없는 초고속 어플리케이션을 제작할 예정입니다.

왜, 지금 마이크로넛을 배워야 할까요?
인간이 사용하는 개발 언어와 기계가 인식하는 컴퓨터 언어 사이의 매개체 역할을 하는 프로그램 개발 언어를 인식하고 습득하는 데는 한계가 있기 마련입니다.

마이크로서비스 개발을 위한 오픈소스 JVM 기반 프레임워크, 마이크로넛(Micronaut)을 통해 보다 손쉽고 강력한 마이크로서비스 어플리케이션을 제작할 수 있습니다.
마이크로넛 프레임워크를 사용하는 기관
JVM-Based Micronaut(마이크로넛)은 JVM-Based 어플리케이션 제작에 있어 자바스크립트와 R, Ruby, Python 언어까지 GraamVM 기술과 접목시킨, 매력적일 수밖에 없는 유니크한 기술입니다. 이 강의에서는 이러한 다양한 언어 (All-in-one language)들을 소개하는 정도로 그치지만, 다양한 언어를 한 번의 설치로 개발할 수 있는 장점을 가지고 있는 만큼 다양한 서비스에서의 수요를 만족시킬 것입니다.

마이크로넛으로 개발하는 자바 클라우드 애플리케이션 
오라클에서 야심차게 내놓은 마이크로넛 프레임워크는 국내보다는 국외에서 더욱 활발하게 사용되고 있습니다. 더욱이 국내에서는 관련 강의를 찾아보기 어려워 쉽게 접근하지 못하는 것이 현실입니다.

JVM-Based Micronaut(마이크로넛)은 컴퓨터 지침서인 Computer Instruction 바탕 위에 제작한 자바 인터프리터와 JavaC 컴파일러의 한계를 넘어 최단 컴파일과 인터프리터 기술을 가진 컴플레이션 타임(Compilation Time)의 핵심 키를 가지고 있습니다. 뿐만 아니라 미리 정의된 자바 빈 클래스들을 생산할 수도 있으며, AOT 컴플레이션을 향하여 최적화된 런타임 기술을 경험할 수 있습니다.

매력적인 마이크로넛 기술을 나누고자 강의를 기획하였습니다. 국내에 최초로 마이크로넛을 소개하는 짜릿한 감동을 함께 누리시길 바라는 마음도 이 강의를 통해 함께 전하고자 합니다.

이 강의에서는 세 가지 프레임워크 기반 곧 모던 기술(Modern), 자바 버추얼 기반(JVM-Based), 풀스택(Full-Stack) 기반 프레임워크 기반으로 모듈러 빌딩하며, 간결한 테스트 기반의 마이크로서비스 그리고 서버리스 어플리케이션을 제작하는 기술들을 배울 예정입니다.
모노리스 어플리케이션에서 마이크로서비스 어플리케이션으로의 변화

다음 내용을 학습합니다
Oracle GraalVM Enterprise Edition 21.2.0 and Java, Javascript, R, Ruby, Python 기술을 동시에 제작하는 All-in-one Technology
● 오라클에서 제공하는 네이티브 클라우드 기반 웹 어플리케이션 제작
● 백엔드 클라우드 런타임 기반 위에 오라클 자율 운영 데이터베이스 연동으로 웹 어플리케이션 제작
● 마이크로넛 3.x 버전의 모던 프레임워크 최신 기술 습득
● 윈도우 오라클 버추얼박스 설치 및 우분투 20.04 LTS 운영체제 기술 습득

강의 한 편으로 완성하는 올인원 테크놀로지
● 그랄 VM 고성능 런타임을 설치하면서 적어도 자바를 포함한 5가지 다양한 언어들 (Java, Javascript, R, Ruby, Python) 을 설치하고 제작할 기술을 습득하게 됩니다.
● 오라클 클라우드 계정을 무료로 30일 혜택을 누리면서 동시에 30일이 되면 마이크로넛 어플리케이션 제작을 평생무료와 클라우드에서 제공하는 IP를 무료로 사용 가능합니다.
● 그랄VM 네이티브 이미지 기술을 통한 자바 웹 어플리케이션 제작은 물론, 추후 자바스크립트 어플리케이션 제작까지 할 수 있는 잠재력을 기르게 됩니다.
● 마이크로넛에서 오라클 자율 운영 데이터베이스 연동 처리, DB 인스턴스 생성 세팅과 스키마 생성 구현 및 오라클 전자 지갑 (OKV) 중앙 집중형 키 관리 플랫폼으로 금고와 암호키 생성 처리 기술을 학습합니다.
● 마이크로넛에서 제공하는 마이그레이션 툴인 마이크로넛-플라이웨이 툴을 통해 데이터베이스 연동 및 데이터 마이그레이션 방법과 SQL 마이그레이션 스크립트 생성 기술을 습득합니다.

그리하여 다수 프로그램 언어로 개발 (Ployglot Programming to write ployglot applications as truffle) 가능한 트리플 언어 구현 프레임워크 개발자로 한 단계 진보된 개발 수행 능력을 터득할 수 있습니다.

상세 커리큘럼 
1~2) 마이크로넛 소개와 어플리케이션 사전 작업
JVM 기반 프레임워크이자 모던 프레임워크 중 하나인 마이크로넛에 대한 이해와 정의 그리고 서버레스 어플리케이션 (Serverless Application) 빌드를 중심으로 손쉽게 제작하는 테스트용 마이크로서비스과 모듈 제작에 입문하게 될 것입니다.

3) 그래들 빌드 툴(Gradle Build Tool)과 함께 하는 마이크로넛 웹 어플리케이션 - 헬로 미니 프로젝트 제작 (Back-End)

4) 의존성 주입과 DIP 기술로 구현된 미니 프로젝트 구현
하이레벨 프로그램 언어와 로우 레벨 프로그램 언어와의 의존성에 대한 정확한 의미를 진단 및 한계를 설명하고 그 예제를 통하여 DI, DIP (IoC)에 대한 이해력을 길러주는 통찰력을 짚어줄 것입니다.

5) 그랄VM 엔터프라이즈 21.2.0 소개 및 설치
리눅스용 그랄VM 엔터프라이즈 21.2.0 버전이 가진 JDK 및 다양한 유틸리티와 런타임들을 소개하면서 핵심 컴포넌트를 하나하나 개략적으로 설명하면서 우분투 런타임 환경변수 설정과 함께 설치 및 실행 과정을 자세히 설명할 예정입니다.

6) 오라클 클라우드 계정 생성 및 오라클 자율 운영 데이터베이스 생성 (스키마 생성 마이그레이션)

7) 자바 클라우드 마이크로넛 어플리케이션 제작
REST API 구현 처리 바탕으로 마이크로넛 데이터 디파지토리 쿼리 구현을 시작으로 마이크로넛 데이터 엔티티 제작 및 UUID, Many to one 테이블 구성 제작과 DTO (Data Transfer Object)기술 적용하여 간단한 미니 프로젝트 구현을 제작할 것입니다.

8) 그랄VM 네이티브 이미지 기술 적용 및 오라클 클라우드에 디플로이
자바 클라우드 어플리케이션 소스 전부를 마븐에서 사용하는 jar file 압축 기술을 토대로 압축하여 자바 클라우드 인프라스트럭쳐에 디플로이하는 작업 제반 사항을 공유할 것입니다.

Q&A ?
Q. 마이크로넛은 무엇인가요? 오픈 소스인 스프링이나 다른 자바스크립트 프레임워크와 비슷한가요?
마이크로넛은 자바 버추얼 머신 기반 오픈소스 소프트웨어 프레임워크(JVM-based software framework )입니다. 물론 가벼운 경량의 프레임워크(lightweight) 빌드로 구축 가능하며 모듈러 어플리케이션(Modular application) 빌드되어, 동시에 마이크로서비스 기반(Microservices) 어플리케이션 제작할 수 있는 자바 프레임워크입니다. 적은 메모리 풋프린트이며 단시간 스타트업 타임을 자랑합니다. 경쟁자 스프링을 비롯한 다른 웹 기반 프레임워크보다 무려 2배나 빠르답니다.

Q. 마이크로넛을 배우면서 JVM에 대한 이해가 필요한가요?
네, 당연히 기본 지식이 필요합니다. 자바 기술에서 2000년대 처리 속도와 처리량은 무척 향상되었으면서도 동시에 무거워지는 엔터프라이즈격 어플리케이션은 따라가지 못합니다. 1950년대부터 내려온 자바와 C언어를 비롯한 다양한 언어들은 인간 코드와 머신 언어 사이로 매개체, 컴퓨터 지첨서와 통역(Interpretation)에 대한 이해를 가지고 있으면 유익한 강의 습득이 될 것이며, 동시에 Converting Process, Compiler, JVM 과 더불어 JIT Compiler 에 대한 용어와 정의는 개발자들에게는 유익한 시간이 될 것입니다. 동시에 스프링에서 빠지지 않는 의존성 기술과 의존성 주입 그리고 IoC에 대한 이해력 역시 기업에서 다루어야 할 깊은 지식과 이해는 필수 불가입니다.

Q. GraalVM 엔터프라이즈 21.2.0 과 자바 JDK 11과 서로 다른가요?
두 가지는 서로 불가분의 관계입니다. 오라클에서 두 프로젝트를 동시에 진행하고 있으며, GraalVM은 자바 JDK 11뿐만 아니라 JDK 17까지 포함되어 있습니다. 물론 설치과정에서 사용자나 개발자들이 JDK 버전을 미리 선택하여 다운받아 사용가능합니다. 물론 JDK 11을 설치하고 나면 GraalVM을 별도록 설치할 필요 없지만 통상 GraalVM 엔터프라이즈 (유료이자만 개발용으로 가능)를 설치하면 자동으로 JDK를 설치될 것이니 멀티로 개발가능하게 됩니다. 그말은 R, Ruby, Python, Javascript (NodeJS/Vue.JS/AngularJS/ReastJS) 모두 동시에 가능합니다. 이를 Polyglot 이라고 하죠.

평생 이용권5시간 동영상
TV&모바일 엑세스 강의 수료증