본문 바로가기
study

자바 웹개발 워크북 1장

by stilinski 2023. 3. 6.
728x90

데스크톱 어플리케이션 -> 클라이언트-서버 어플리케이션
 
 
서버소켓 클래스 - 네트워크를 통해 들어오는 요청을 기다림. 요청에맞게 일을 수행하고 결과 리턴.
 
 
 
 
 

데스크톱 어플리케이션

설치해서 쓰는.
배포가 번거롭다
보안에 취약
 
 
해결방안으로 나온 게

클라이언트 서버 어플리케이션

- 어플리케이션 기능을 클라이언트-서버로 분리
- 수정용이
- 서버쪽에서 디비접속 -> 보안강화.
 
 
다중접속 문제 해결방안
멀티 프로세스 - 원본 프로세스의 메모리 모두 복제 -> 메모리 낭비 
멀티 스레드 - 클라이언트 요청을 처리하는 코드만 별도로 분리 실행 -> 메모리 들 낭비
 
문제점
DB연결관리나 트랜잭션 보안 등 다양한 어플리케이션 자원 관리위한 프로그래밍도 필요. -> 자동화할수있으면 프로그래밍이 훨씬 간결해질것.
 
----

클라이언트/서버 아키텍쳐 

옛날 - 서버는 단지 데이터만 처리 -> DBMS라고 불림
현재 - 비지니스 로직을 수행하는 어플리케이션 서버도 포함.
 
 
 

전통적인 cs구조


 
비즈니스 로직이 클라이언트에 있음
 
단점
- 프로그램 변경시 재설치 필요 -> 수정이 불편.
- 클라이언트가 바로 dbms로 접속하기 때문에 보안문제
 

 

개선된 cs 아키텍처


 앱서버에 비지니스로직
 
-보안문제 해결
 
---

웹 애플리케이션 아키텍처 


 개선된 점
- 수정될때마다 재설치 안해도 됨.
- 인터넷과 웹브라우저만 있으면 어디서든 실행 가능
- 네트워크 프로그래밍(다중처리위해 멀티 스레드 등) 안해도 됨.
 
=> html로 UI만들기 간편, 설정 및 네트워크 관련 일은 웹 어플리케이션 서버가 맡아주니 비즈니스 로직에 집중 가능.

728x90

댓글