728x90
데스크톱 어플리케이션 -> 클라이언트-서버 어플리케이션
서버소켓 클래스 - 네트워크를 통해 들어오는 요청을 기다림. 요청에맞게 일을 수행하고 결과 리턴.
데스크톱 어플리케이션
설치해서 쓰는.
배포가 번거롭다
보안에 취약
해결방안으로 나온 게
클라이언트 서버 어플리케이션
- 어플리케이션 기능을 클라이언트-서버로 분리
- 수정용이
- 서버쪽에서 디비접속 -> 보안강화.
다중접속 문제 해결방안
멀티 프로세스 - 원본 프로세스의 메모리 모두 복제 -> 메모리 낭비
멀티 스레드 - 클라이언트 요청을 처리하는 코드만 별도로 분리 실행 -> 메모리 들 낭비
문제점
DB연결관리나 트랜잭션 보안 등 다양한 어플리케이션 자원 관리위한 프로그래밍도 필요. -> 자동화할수있으면 프로그래밍이 훨씬 간결해질것.
----
클라이언트/서버 아키텍쳐
옛날 - 서버는 단지 데이터만 처리 -> DBMS라고 불림
현재 - 비지니스 로직을 수행하는 어플리케이션 서버도 포함.
전통적인 cs구조
비즈니스 로직이 클라이언트에 있음
단점
- 프로그램 변경시 재설치 필요 -> 수정이 불편.
- 클라이언트가 바로 dbms로 접속하기 때문에 보안문제
개선된 cs 아키텍처
앱서버에 비지니스로직
-보안문제 해결
---
웹 애플리케이션 아키텍처
개선된 점
- 수정될때마다 재설치 안해도 됨.
- 인터넷과 웹브라우저만 있으면 어디서든 실행 가능
- 네트워크 프로그래밍(다중처리위해 멀티 스레드 등) 안해도 됨.
=> html로 UI만들기 간편, 설정 및 네트워크 관련 일은 웹 어플리케이션 서버가 맡아주니 비즈니스 로직에 집중 가능.
728x90
'study' 카테고리의 다른 글
자바 웹개발 워크북 4장 서블릿과 JDBC (0) | 2023.03.09 |
---|---|
자바 웹개발 워크북 3장 서블릿 프로그래밍 (0) | 2023.03.08 |
자바 웹 개발 워크북 2장 Http 프로토콜 (0) | 2023.03.07 |
spring & spring boot (0) | 2023.02.22 |
리눅스 (0) | 2022.11.19 |
댓글