웹서버 [Web Server] 백과사전 :
- 웹 서버 (소프트웨어) : 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지에서 흔히 찾아 볼 수 있는 자료 콘텐츠에 따라 HTTP에 반응하는 컴퓨터 프로그램
- 웹 서버 (하드웨어) : 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터
웹 애플리케이션 서버 [ WAS, Web Application Server ] 용어사전 :
웹과 기업의 기간 시스템 사이에 위치하면서, 웹 기반 분산 시스템 개발을 쉽게 도와주고 안정적인 트랜잭션 처리를 보장해 주는 일종의 미들웨어 소프트웨어 서버. 3계층 웹 컴퓨팅 환경에서 기존 클라이언트/서버 환경의 애플리케이션 서버와 같은 역할을 하며, 클라이언트와 서버 환경에서 트랜잭션 처리 및 관리와 다른 기종 시스템 간의 애플리케이션 연동 등을 주된 기능으로 하고 있다.
WAS는 웹이 탄생한 이래, 주로 데이터베이스 조회나 일반적인 비즈니스 로직에 대한 처리를 위해 다양한 언어로 개발된 인터넷/인트라넷 환경의 소프트웨어를 지칭한다. 자바스크립트나 JSP 등과 같은 스크립트 및 서비스들은 대개 최신의 데이터를 검색하기 위해 데이터베이스에 접근하고, 브라우저 또는 클라이언트 프로그램을 통해 사용자들에게 검색 결과를 제공한다.
WAS를 비롯한 애플리케이션 서버들은, 웹서버 즉 HTTP 서버와 같은 컴퓨터를 공유할 수도 있지만, 별개의 컴퓨터를 독립적으로 사용하는 경우도 많다. 대규모 사이트에서는, 오히려 WAS와 웹서버 등을 위해 여러 대의 컴퓨터가 동원되기도 한다. 넷스케이프의 Netscape Application Server, BEA의 Weblogic Enterprise, 볼랜드의 AppServer, 그리고 IBM의 Websphere Application Server 등이 WAS의 대표적인 제품들이다.
Web server와 WAS의 이해
- Web Server의 정의 : Web Client(웹 브라우저)에게 컨텐츠를 제공하는 서버, 정적인 HTML이나 jpeg, gif 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 전송함 => WebToB
- WAS(Web Application Server)의 정의
-
- Server 단에서 Application을 동작할 수 잇도록 지원함. => Jeus
- 기존 웹 서버와 달리 동적인 요구에 대응하기 위해 적합한 형태로 변화, Web Client(브라우저)에게는 결과값만 전송함.
- Container(컨테이너)라는 용어로 쓰이며, 초창기는 CGI, 그 후에서는 Servlet, JSP, ASP 등의 프로그램으로 사용됨
- 웹서버와 WAS의 구성에 따른 분류
-
- WAS & WebServer : 모든 컨텐츠를 한고에 집중시켜, 웹서버와 WAS의 역할을 동시에 수행, 스위치를 통한 로드 밸런싱, 사용자가 적을 경우 효율적
- WAS X WebServer : 웹서버와 WAS의 기능적 분류를 통해 효과적인 분산을 유도, 정적인 데이터는 웹서버에서 처리, 동적인 데이터는 WAS가 처리
- WAS X WAS X WebServer : WAS단을 프리젠테이션 로직와 비즈니스 로직으로 구분하여 구성, 특정 logic의 부하에 따라 적절한 대응, 구성이 복잡해지는 단점
WAS 도입효과 및 기술표준
- WAS 도입효과
-
- 안정된 시스템 구성 : 안정적 서비스 보장, 자동적인 어플리케이션 복구기능 제공, 업무 로직이 중간 어플리케이션 서버에 존재, 쉽고 빠르게 구축할 수 있다.
- DB 성능 보장 : WAS서버가 DB서버와의 최적 사용을 조절화, DB connection pool을 총해 DB connection 관리 및 트랜잭션 처리
- 비용절감 : 서버 리소스의 원할한 사용
- WAS 기술 표준
-
- J2EE : Java 기반의 분산객체 아키텍쳐
- WAS는 J2EE 아키텍쳐를 구현한 플랫폼 솔루션
- WAS의 일반적인 기능
-
- Web 환경을 위한 n-tier Architecture 플랫폼
- Presentation(GUI)과 Business Logic의 분리 운영
- Thread 관리
- 부하조절(Load Balancing) 기능 지원
- 장애대책(Fail-Over) 기능 지원
- Transaction 처리 자동화
- Web Service 플랫폼으로써의 역할
Was Server 종류 : tomcat, tMax jeus, BEA Web Logic, IBM Web Spere, JBOSS,
Bluestone, Gemston, Inprise, Oracle, PowerTier, Apptivity, SilverStream
Web Server 종류 : IIS, apache, tMax WebtoB
Tomcat
톰캣은 아파치 소프트웨어 재단의 애플리케이션 서버로서, 자바 서블릿을 실행시키고 JSP 코드가 포함되어 있는 웹페이지를 만들어준다. 자바 서블릿과 JSP 규격의 '참조용 구현'으로 평가되고 있는 톰캣은, 개발자들의 개방적 협력 작업의 산물로 바이너리 버전과 소스코드 버전 둘 모두를 아파치 웹사이트에서 얻을 수 있다. 톰캣은 자체적으로 보유하고 있는 내부 웹서버와 함께 독립적으로 사용될 수도 있지만 아파치나 넷스케이프 엔터프라이즈 서버, IIS, 마이크로소프트의 PWS 등 다른 웹서버와 함께 사용될 수도 있다. 톰캣을 실행시키기 위해서는 JRE 1.1 이상에 부합되는 자바 런타임 환경이 필요하다.
Jeus
JEUS 는 국내 기업인 Tmax 에서 만든 것으로 제품 완성도나 지명도에서 떨어진다. 하지만 명성/악명 높은 강력한 기술지원력으로 국내 시장에서는 시장 점유율 1위로 올라선지 꽤 됐다.
1) 다양한 프리젠테이션 로직 지원
· Servlet
동적 HTML 문서 작성을 위한 Java 프로그래밍 모델을 지원하며, Servlet 엔진이 Multi-threading으로 구현되어 성능이 우수하고, EJB 등과 부드러운 연동이 가능합니다.
· JSP (Java Server Page)
Servlet 사용을 통해 웹 페이지의 내용이나 모양을 제어하며, 웹 서버에 의해 실행될 자바 프로그램을 호출하게 합니다.
· XML
웹 상에서 구조화된 문서를 전송 가능하도록 설계된 표준화된 텍스트 형식으로, 안전한 전자상거래 구축을 가능하게 하는 등 웹을 좀 더 다양한 목적으로 이용할 수 있게 합니다.
2) 편리한 비즈니스 로직 지원
· EJB (Enterprise Java Beans)
자바 기반의 객체지향 프로그래밍 모델로서 새로운 프로그램 컴포넌트가 추가되거나 변경될 때마다 각 개별 컴퓨터를 갱신하지 않고서도 서버에서 변화를 통제할 수 있도록 하는 이점을 제공합니다.
3) J2EE (Java 2 Enterprise Edition) 플랫폼과 호환
· JMS (Java Messaging Service)
메시지 기반의 프로그래밍 기초를 제공합니다.
· JNDI (Java Naming and Directory Interface)
네이밍 서비스를 제공합니다.
· JTS (Java Transaction Service)
이기종 데이터베이스에 걸친 글로벌 트랜잭션을 제공합니다.
· JDBC (Java Database Connectivity) Connection Pool
데이터베이스와의 연결을 효율적으로 관리합니다.
4) 부하 조절
다음과 같은 다양한 부하 조절 방식을 제공합니다.
· 각 서버(호스트)로의 동적 부하 조절
서버들의 Load를 실시간으로 수집해 클라이언트의 요청을 처리 가능한 최적의 서버로 분배하여 부하를 조절합니다.
· 각 서비스별 처리능력의 동적 조절
클라이언트 요청의 증가에 따라 각 서비스 루틴이 자동적으로 증가하게 되어 서비스 처리 능력을 동적으로 조절합니다.
· 하드웨어 성능에 따른 정적 부하 조절
예를 들자면, 메인프레임급에는 80%의 Load를, 워크스테이션급에는 20% Load를 배분하는 식으로 하드웨어 성능에 따라 부하를 조절합니다.
5) 장애 대책
· 서버(호스트)간의 상호 감시
장애 발생시 서비스를 백업 서버로 이전시켜 중단없는 서비스 처리가 가능합니다.
· 어플리케이션 프로세스에 대한 감시
프로세스 모니터가 어플리케이션 프로세스츨 감시하여 장애 발생시 프로세스를 자동적으로 재시작하게 합니다.
6) 다양한 보안 기능 제공
다음과 같은 다양한 보안 기능들을 사용할 수 있습니다.
· Login Name & Password
· 각 서비스에 대한 Access 권한 제한
· 클라이언트의 IP 어드레스 또는 도메인 제한
· CA (Certificate Agent)를 통한 사용자 인증
· SSL (Secure Socket Layer)의 사용
7) 편리한 관리자 도구의 제공
· 리소스 배치를 간편하게 할 수 있습니다.
· 실시간으로 시스템을 모니터링할 수 있습니다.
· 멀티 서버 (호스트) 시스템을 통합적으로 제어할 수 있습니다.
8) WebInOne과의 연동 기능
JEUS는 WebInOne과 통합하여 사용되어 질 때, CORBA 클라이언트, TP-Monitor 클라이언트 등 다양한 클라이언트들로부터 서비스 요청을 받아들일 수 있게 되며, WebInOne의 다른 구성요소인 WebtoB (웹 서버), Tmax (TP모니터), CORBA ORB와 함께 사용되어 미들웨어 요소들 간에 연동을 필요로 하는 시스템 구성시에 강력한 솔루션을 제공하게 됩니다.
WebLogic
웹로직은 미국의 거대 기업인 BEA 가 만든 것으로 역사도 길고 제품 완성도도 JEUS 보다 낫다. 가격이 엄청 비쌌지만 요즘은 거의 덤핑가로 들어간다 (JEUS 효과라 할 수도 있다). 기술지원의 속도나 수준이 낮은 것이 국내 상황에서의 최대 단점이다.
Webspere
IIS
apache
데이터를 저장하고 클라이언트(받는쪽)로 데이터를 전송해주는 물리적인 장치를 서버(보내는쪽)라고 한다.
하지만 서버가 있다고 혼자 작동하는것은 아니다. 서버를 구동시킬 수 있는 소프트웨어가 있어야 한다.
아파치 웹서버도 그중 하나 이다. 서버 프로그램의 종류는 여러가지로 분류할 수 있다..
http로 시작하는.. 인터넷창에서 볼 수 있는 문서들을 저장하고 유저의 브라우저로 전송시켜주는 서버를 웹서버라고 한다.
파일을 전송할 수 있는 FTP(File Transfer Protocol)서버 메일을 저장하고 전송하는 메일 서버 등 여러가지가 있다.
그중에 아파치는 웹서버 웹브라우저로 보내는 문서를 저정할 수 있다.
html뿐이 아닌 php(동적인 웹프로그램언어)를 지원할 수 있다. 웹 서버의 종류에 따라 사용할 수 있는 프로그래밍 언어도 다르다.
아파치는 리눅스 뿐만 아니라 윈도우즈에서도 사용할 수 있다.
<참고>
WebtoB
http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=105&oid=009&aid=0000124218
http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=110&oid=009&aid=0000202707
http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=101&oid=009&aid=0000049524
Was & Web
http://blog.naver.com/yeppni/50015742437
Jeus & WebtoB
http://blog.naver.com/seong_han/110033488465
Weblogic & Webspere
http://blog.naver.com/essbihan/100052720122
IIS
http://blog.naver.com/bestone13/150001060677
출처 : http://blog.naver.com/you0124861?Redirect=Log&logNo=140055402042
'course > 개발관련' 카테고리의 다른 글
톰캣(Tomcat) 웹 어플리케이션 환경 설정 (0) | 2012.02.11 |
---|---|
Tomcat 설정 (1) | 2012.02.11 |
자바 개발환경 설정 (0) | 2012.02.11 |