Java 기술

완료됨

이 단원에서는 다양한 유형의 Java 프레임워크, 서버 및 플랫폼을 구분합니다.

Spring Framework

Spring Framework는 애플리케이션 프레임워크이자 제어의 역전(IoC) 컨테이너입니다. Spring은 지금까지 EJB(Enterprise JavaBeans) 모델을 보완하는 데 사용되었습니다. 핵심 기능은 다음과 같습니다.

  • 종속성 주입
  • 측면 지향 프로그래밍
  • 비즈니스 추상화

Spring Boot

Spring Boot는 Spring Framework를 기반으로 실행되며 자동 구성이 있습니다. Spring Boot 애플리케이션은 독립 실행형으로 실행되며 마이크로 서비스에 적합합니다.

Spring 데이터

Spring Data는 관계형 및 비관계형 데이터베이스, MapReduce 프레임워크 및 클라우드 기반 데이터 서비스에 대한 데이터 액세스를 간소화합니다.

Spring Security

Spring Security는 스프링 기반 애플리케이션을 보호하기 위한 사실상 표준입니다. 높은 수준의 인증 및 액세스 제어를 제공합니다. 예를 들어 Spring Security는 Active Directory와 잘 통합됩니다.

스프링 클라우드

Spring Cloud는 분산 시스템에 사용됩니다. Spring Cloud에는 서비스 검색, 구성 관리, 모니터링 및 좋은 개발자 환경이 제공됩니다.

Spring Batch

Spring Batch는 일상적인 작업에 필수적인 강력한 일괄 처리 애플리케이션을 위한 간단한 프레임워크입니다.

MicroProfile 및 Jakarta EE

MicroProfile 및 EE(Jakarta Enterprise Edition)를 Java EE 사양의 오픈 소스 후속 작업으로 볼 수 있습니다.

MicroProfile은 마이크로 서비스 아키텍처에 대한 사양 집합입니다. 자체적인 오픈 포럼을 호출하여 마이크로 서비스 아키텍처에 엔터프라이즈 Java를 최적화합니다. MicroProfile은 여러 구현에서 혁신하고 공통 관심 영역에서 공동 작업하는 것을 목표로 합니다.

Jakarta EE는 엔터프라이즈 애플리케이션을 빌드하기 위한 일련의 사양입니다. 모듈화된 구조를 통해 개발자는 효율적인 소프트웨어 솔루션을 만들 수 있습니다. Jakarta EE 애플리케이션을 EAR 파일 또는 WAR 파일로 패키지할 수 있습니다.

웹 프로필은 웹 포커스가 있는 백 엔드 서비스를 위한 Jakarta EE의 하위 집합이지만 걱정하지 마세요! 그 위에 엔터프라이즈 플랫폼의 특정 API를 추가할 수 있습니다.

애플리케이션 서버

Java EE 애플리케이션은 Java EE 규격 애플리케이션 서버(Weblogic, WebSphere, WildFly, GlassFish, Payara 등)에 배포해야 합니다.

  • Apache Tomcat 은 HTTP 서버 및 Java Servlet 컨테이너입니다. Servlet, JSP(Java Server Pages), Java 식 언어 및 Java WebSocket 사양을 구현합니다.

  • Oracle Weblogic Server 는 엔터프라이즈 애플리케이션을 개발, 배포 및 실행하기 위한 통합되고 확장 가능한 플랫폼입니다. Weblogic Server는 Java EE 및 Jakarta EE의 강력하고 완성도 높은 구현을 제공합니다.

  • Red Hat JBoss EAP(Enterprise Application Platform )는 온-프레미스 및 가상 구현 또는 프라이빗, 퍼블릭 또는 하이브리드 클라우드 모두에서 엔터프라이즈급 보안 및 성능을 제공합니다.

  • WildFly 는 JBoss EAP의 오픈 소스 업스트림입니다. 이 커뮤니티 기반의 다양성은 개발 및 테스트에 적합합니다.

  • WAS(IBM WebSphere Application Server )는 엔터프라이즈 애플리케이션을 위한 유연하고 보안이 풍부한 Java 서버 런타임 환경입니다. 높은 안정성에 중점을 둡니다. 마이크로 서비스 및 표준 기반 프로그래밍 모델을 지원합니다. 사용자 고유의 속도로 현대화하고, 워크로드 전반에서 가시성을 높이고, 엔터프라이즈 애플리케이션을 분석하고, Kubernetes로의 여정을 진행할 수 있습니다.

  • Open Liberty 는 WAS의 커뮤니티 기반 오픈 소스 버전입니다.

  • Oracle GlassFish 는 많은 Java EE 웹 표준(Servlet 및 JSP 포함)의 참조 구현입니다.

마이크로 서비스 지향 아키텍처에 대한 기타 프레임워크

  • Netty 는 NIO(비 차단 I/O) 클라이언트/서버 프레임워크입니다. 이를 통해 프로토콜 서버 및 클라이언트와 같은 네트워크 애플리케이션을 빠르고 쉽게 개발할 수 있습니다. TCP 및 UDP 소켓 서버와 같은 네트워크 프로그래밍을 크게 단순화하고 효율화합니다. Netty는 유지 관리 가능한 고성능 프로토콜 서버 및 클라이언트를 신속하게 개발하기 위한 비동기 이벤트 기반 네트워크 애플리케이션 프레임워크입니다.

  • Quarkus 는 OpenJDK HotSpot 및 GraalVM에 맞게 조정된 Kubernetes 네이티브 Java 스택입니다. 쿼쿠스는 점점 더 많은 기세를 얻고 있다. 그런데 Vert.x, Helidon, Payara Micro 및 KumuluzEE와 같은 성능 중심 프레임워크가 더 많이 있습니다.

  • Micronaut 은 모듈식, 쉽게 테스트할 수 있는 마이크로 서비스 및 서버리스 애플리케이션을 빌드하기 위한 최신 JVM 기반의 전체 스택 프레임워크입니다. Micronaut은 리플렉션을 사용하지 않는 종속성 주입 및 측면 지향 프로그래밍 런타임을 특징으로 하므로 Micronaut 애플리케이션이 GraalVM에서 더 쉽게 실행할 수 있습니다.