일반적인 웹 서비스의 배포 구조


서버의 구성은 다양하게 할 수 있다.
Java VS JAR(Java Archive)
JAR는 여러 개의 자바 클래스 파일과 클래스들이용하는 관련 리소스등 메타 데이터를 하나로 모아 자바플랫폼에 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다.컴퓨터 사용자들은 JDK에 포함된 jar명령어를 이용하여 Jar를 만들거나 풀 수 있다. Zip 포맷이라고 생각하면 될 듯 싶다.
jar,war등을 사용하는 이유는 파일을 압축해 용량을 가벼워지게 하고 관리하기가 편하기 때문이다.
Spring Boot 프로젝트를 빌드하면 jar이라는 파일이 나온다.
Jar 파일을 풀면 바이코드를 다시 소스코드로 변환을 시킨다. Jar 파일의 구조 Mainfest(나침반)라는 파일에서 파일구조를 파악 할 수 있다. 프로그램에서 Main이란 프로그램의 Entry point 즉 시작점이라고 부른다. = Main 함수이다.
jar 파일은 java -jar이라는 명령어로 실행할수 있다.
Web application의 구조

백앤드가 작동하는 과정

Dispatcher Servlet은 프레임워크 내부에 구현됨
백엔드 엔지니어가 다루는 것은 크게 3가지 이다. Controller(클래스형태로 정의) , Service(클래스로 정의) , Repsitory는 Database와 소통