웹 기반 프로그램(웹 브라우저에서 실행되는 서비스)
클라이언트 PC에서 실행되는 자바 로 구현한 환율 계산기
파운드로 유로화 변환 기능이 추가된 환율 계산기
-> 소스 코드를 추가 후 다시 모든 클라이언트 PC에 설치하거나 업그레이드를 해야 한다 ㅠ 자동 업그레이드가 안되는 것!
클라이언트(사용자) : 사용자 pc에서 실행되면서 입력받는 기능 그리고 서버에서 전송된 데이터를 화면에 출력해 주는 기능(데이터 송수신 기능만 제공)
서버 : 모든 중요한 실제 기능을 실행!
클라이언트 프로그램응은 화면 기능과 데이터 송수신만 제공
모든 기능은 서버에서 수행 !!
서버가 담당하는 계산기 기능
클라이언트/서버 기반 프로그램의 특징
화면과 데이터 처리를 모두 서버에서 수행함
웹 기반 환율 계산기 동작 과정
1. 화면에서 처리할 데이터를 입력 후 서버에 요청
2. 서버는 브라우저에서 전송된 데이터를 받아서 처리
3. 서버는 처리 결과를 브리우저로 전송해서 결과를 보여준다!
웹 기반 프로그램의 특징
화면과 계산 기능을 모두 처리하는 환율 계산기
🔺 웹 기반 프로그램이 인기가 있는 이유
플랫폼 독립성 : 웹 기반 프로그램은 특정 운영 체제나 플랫폼에 종속되지 않음. 사용자는 웹 브라우저만 있으면 어디서든 웹 기반 프로그램에 접근 가능. 이는 모바일 기기, 태블릿, 데스크톱 등 다양한 장치에서 일관된 사용자 경험을 제공할 수 있음을 의미.
쉬운 배포와 업데이트 : 사용자가 소프트웨어를 설치할 필요가 X. 개발자는 새로운 버전의 sw를 배포하거나 업데이트가 간편해진다. 사용자는 항상 최신버전을 사용할 수 있고 업데이트에 대한 번거로움이 줄어든다.
다중 사용자 접근 : 여러 사용자가 동시에 애플리케이션에 접속하여 데이터를 공유하고 협업 가능.
업데이트와 버그 수정의 용이성 : 서버에서 실행되기 때문에 업데이트와 버그 수정이 상대적으로 쉽다. 사용자들은 새로운 기능과 개선사항을 빠르게 받아볼 수 있고, 버그 수정이 이루어지면 모은 사용자에게 즉시 반영.
🔺 웹 기반 프로그램이 인기가 있는 이유
접근성과 편의성 : 인터넷에 연결된 장치에서 접근할 수 있으므로 지리적 제약이X. 사용자는 집, 사무실, 카페 또는 이동 중에도 엑세스 할 수 있다. 또한 사용자가 소프트웨어를 설치하거나 구성할 피료가 없으므로 사용자 경험이 간소화되고 사용이 편리.
상호 운용성 : 다른 시스템과의 상호 운용성 달성 가능. API를 통해 다른 애플리케이션과 데이터를 공유하고 통합 가능
사용자 경험 개선 : 최신 웹 기술과 디자인을 활용하여 풍부하고 직관적인 사용자 인터페이스를 구성.
정적(static) 웹 프로그래밍 구성요소 (고정된 화면이나 정보표시에 사용)
정적 웹프로그래밍의 문제점
실시간 정보를 미리 db에 저장해 놓고 클라이언트가 요청시 결과 전송
WAS : 환율 조회 기능을 메모리에 업로드해서 데이터뷰에 연동 후 조회한 결과를 반환
브라우저 요청시 스레드 방식으로 실행하므로 CGI보다 효율적으로 기능을 수행함
스레드 방식 : 프로그램이 동시에 여러 작업을 처리할 수 있는 실행 모델 동기화 처리에 주의해야 하고 프로그래머가 직접 추가적인 동기화 기능을 구현해야 한다.
JSP 동작 방식의 특징
JSP 프로그램은 다수의 사용자가 동시에 요청하는 웹 프로그램에 적합하다!
프로그램 실행에 가장 많이 시간이 걸리는 부분은 메모리에 로드하는 과정