안녕하세요~

오늘은 자바 8, jdk8에  대해 공부??? 복습을 해볼까 합니당..


나온지는 이제 꽤 된거 같은데.. 아직 저도 현업 프로젝트에서 jdk 8을 쓰는 걸 보지도 못했네요..ㅠㅠ

(난 아닌 척 하시는데.. 다들 그러신거 압니다ㅋㅋ)


초급 개발이니 부지런히 익혀둬야겠죠.. ㅋㅋ

제가 즐겨 듣는 youtube 방송의 신? 호주의 한국 개발자 ㅎㅎ Kevin 방송을 보여드리겠습니다. 아주 훌륭하신 분이세요

이해가 굉장히 잘되게 설명해주시고... 일단 재미있으세요(존경하는 분..)


제가 봤던 자바 8에 대한 동영상 유투부 입니다 여러분들도 보고 공부~ㄱㄱ


<소개영상>


       <왜 배워야 하나?>


       <왜 배워야 하나?-2>


이번 포스팅은 여기까지.. 들어가시면 걍 리스트로 쭉 나오는데..ㅋㅋ 계속 포스팅 하겠습니다..(내일)

양이 많습니다. 한 20?챕터 정도 ㅎㅎㅎ 다음 포스팅에서는 Function 관련된 내용을 포스팅 해볼께요..


물론 제 강의? 영상이 아닌 Kevin 님 방송을요 ㅎㅎ

'스터디' 카테고리의 다른 글

WAS 와 WEB 서버의 차이 -2  (0) 2016.11.23
WAS 와 WEB 서버의 차이 -1  (2) 2016.11.23
WAS와 WEB 서버의 차이 두번째 파트 입니다.

웹 개발자라면 흔히들 생각해보았을 법 했던 근본적인 ?? 질문

열심히 구글선생님에게 질문은 한 결과 한 사이트의 내용을 그대로 인용해보고자 한다


WAS 앞에 웹 서버를 두는 이유는 무엇인가

라고 물어보면 대부분 정적인 데이터를 처리하기 위하여 웹 서버를 둔다고 설명하는 경우가 많다.

그런데 이해 안가는 부분이 있다. 웹 서버가 꼭 정적인 처리만 하는 것은 아니지 않은가?
CGI를 사용하거나 PHP 등을 사용하면 동저인 처리를 하지 않는가? 그렇다면, 웹 서버 앞에 또 정적인
처리를 하는 웹 서버를 또 둬야 하는가? 하는 것이다.

그러던 중 아래와 같은 글을 발견하였다.
http://toby.epril.com/?p=1125

토비님의 블로그에 있는 글이다. 톰캣의 5.5부터는 아파치 웹 서버의 모듈을 그대로 사용하기 때문에 톰캣의
임베디드한 웹서버 부분이 아파치의 그것과 성능이 유사하다는 것이다.
즉, 정적인 데이터 처리 때문에 톰캣을 둘 필요가 없다는 것이다.

다만, 위의 링크의 글을 보고 오해를 할 것 같아 추가적인 내용을 덧붙인다면 컴퓨터가 한대라면
웹 서버를 톰캣 앞에 붙일 필요가 없다는 의미일 것이다. 물론 PHP나 CGI를 사용할 일도 없다는 전제가
붙어야 할 것이다.

그러나 컴퓨터가 2대 이상이고 각각의 컴퓨터에 웹 서버와 톰캣을 설치한다면 웹 어플리케이션의 부하가
어디에 많이 가느냐에 따라서 웹 서버의 컴퓨터를 좀 더 좋은 것을 사용해야 할지, 톰캣을 좀 더 좋은 것을
사용해야 할지 결정되야 할 것이다.

만약 이미지를 많이 보여주는 일을 많이 하는 갤러리사이트를 만들고 컴퓨터가 2대 이상으로 배치한다면,
톰캣에게 온전히 동적인 처리만 맡기고 앞단의 웹 서버가 정적인 처리를 하는 것이 부하 분산면에서는
좋은 선택이라는 생각이 든다. 그런 면에서 보면 WAS 앞에 웹 서버를 두는 이유는 정적인 처리를 하기 위하여
 
근래 들어 인터넷에 자주 사용되는 말로 케바케라는 말이 있다.
Case By Case를 한글로 줄여서 하는 말인데, WAS 앞에 웹 서버를 두는 이유가 무엇이냐고 물어본다면
케바케라고 말하고 싶다.

웹 서버가 발달하면서 다양한 모듈이 함께 사용된다. 웹 서버의 다양한 모듈 중에서 특정 모듈이 사용되어져야
하는 상황이라면 웹 서버를 사용해야 할 것이다. 웹 서버와 연관된 기능이 필요없다면 WAS만 사용해도 될 것이다.
다만, 정적인 데이터와 동적인 처리를 분리하고 싶다면 웹 서버와 WAS를 사용하면 될 것이다.
이때 정적인 데이터 처리량과 동적인 데이터 처리량이 어느정도인지 예상할 수도 있어야 할 것이다.

'스터디' 카테고리의 다른 글

Modern Java-자바8 공부  (0) 2016.11.24
WAS 와 WEB 서버의 차이 -1  (2) 2016.11.23
     Web 서버와 Apach에 대해서 정확히 알기

웹서버와 WAS의 차이

 


 웹 서버
 Web Client(웹 브라우저)에게 제공하는 컨텐츠를 제공하는 서버. 정적인 HTML 혹은 jpeg나 gif같은 이미지를 HTTP프로토콜을 통해 웹 브라우저로 제공.
 
 WAS
 Server단에서 어플리케이션을 동작할 수 있도록 지원. 일반적으로 컨테이너라는 용어로 사용됨. Servlet, JSP, ASP, PHP 등의 프로그램으로 사용됨.  

초기 web: 이미지 혹은 단순 HTML

현재       : 게시판, 방명록 등 Server-Client간 상호대화하는 페이지를 제공.
                 -> 내부 어플리케이션을 동작시킬 수 있는 컨테이너를 내장. 동적인 요구에 대응하기 위해 이에 적합한 형태로 변화.
               각 사이트가 많은 사용자에게 원활한 서비스를 제공하기 위해 기능적인 layer를 나누게 됨.
               -> 여기서 웹서버와 WAS의 구분이 나타나게 됨.


*출처 = http://gap85.tistory.com/45



 

* 웹 서버와 WAS의 기능적 분류를 통해 효과적 분산을 유도한 예

 

정적인 데이터(image, CSS, js-javascript- 파일 등의 리소스)는 구조족으로 앞에 존재하는 웹 서버에서 처리하고

WAS로 서비스 요청이 넘어가지 않게 한다.

동적인 데이터는 WAS가 처리한다. WAS는 웹 어플리케이션의 수행에 집중할 수 있다.

 

Extended Description

 

- 웹서버 기능

  1. Clustering 기능: 사용자 요청이 발생하면 상황에 따라 각각의 WAS에 요청을 넘김.

  2. Cache 기능: css, js, image 등의 리소스 파일을 가지고 있다가 was를 거치지 않고 사용자에게 직접 넘김.

                      사용자는 cache period동안 전달받은 리소스를 사용함.

 

- WAS 기능

  Servlet 페이지를 html 형태로 변환함.

  예를 들어 jsp의 경우 jsp를 WAS에서 java class파일로 컴파일 후 html형태의 페이지를 사용자에게 전달하게 됨.

  

 

----------추가-------------------

 

Web Server

웹서버는 클라이언트/서버 모델과 웹의 HTTP를 사용하여 웹 페이지가 들어 있는 

파일을 사용자들에게 제공하는 프로그램이다. 

웹사이트가 운영되고 있는 인터넷상의 모든 컴퓨터들에는 모두 웹서버 프로그램이 설치되어 있다.

가장 보편적인 웹서버들로는 32 비트 윈도우와 유닉스 기반의 운영체계에서 모두 쓸 수 있는 아파치와, 

윈도우 NT에 딸려 나오는 IIS, 그리고 넷스케이프의 엔터프라이즈 서버 등이 있다.

그밖에 네트웨어 운영체계를 쓰는 사용자들을 위한 노벨의 웹서버,

주로 IBM의 OS/390과 AS/400 고객들을 위한 IBM의 로터스 도미노 서버를 비롯, 다른 웹서버들도 있다.

웹서버들은 흔히 전자우편FTP 파일의 다운로드, 그리고 웹페이지 구축, 발간 등에 필요한 인터넷 및 

인트라넷과 관련된 프로그램들의 커다란 패키지의 일부로서 나온다.

웹서버를 고를 때 고려해야할 사항으로는, 운영체계나 다른 서버들과 얼마나 잘 어울려 동작할 것이냐 하는 것과,

서버 측의 프로그래밍, 퍼블리싱, 검색엔진 등을 처리하는 능력, 그리고 함께 따라오는 구축도구 등이 있다.


 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 프로토콜을 통해 웹 브라우저에게 전송하는 역할

- WAS(Web Application Server)의 정의 
   ○ Server 단에서 Application을 동작할 수 있도록 지원함 => Jeus
   ○ 기존 웹 서버와 달리 동적인 요구에 대응하기 위해 적합한 형태로 변화, 

       Web Client(브라우저)에게는 결과값만 전송함.
   ○ Container(컨테이너)라는 용어로 쓰이며, 초창기는 CGI, 그 후에서는 Servlet, 

      , JSP, ASP 등의 프로그램으로 사용됨

- Web Server와 WAS의 구성에 따른 분류
   ○ WAS와 WebServer를 분리하지 않는 경우  
   모든 컨텐츠를 한곳에 집중시켜 웹서버와 WAS의 역할을 동시에 수행, 

   스위치를 통한 로드 밸러싱, 사용자가 적을 경우 효율적
  
   ○  WAS와 WebServer를 분리한 경우 
   웹서버와 WAS의 기능적 분류를 통해 효과적인 분산을 유도,

   정적인 데이터는 웹서버에서 처리, 동적인 데이터는 WAS가 처리
 
   ○  WAS 여러개와 WebServer를 분리한 경우
   WAS단을 프리젠테이션 로직와 비즈니스 로직으로 구분하여 구성, 

   특정 logic의 부하에 따라 적절한 대응할 수 있지만 설계단
   계 유지보수 단계가 복잡해 질 수가 있다. 


 WAS 와 Web Server 종류

   ○ WAS 종류
   tomcat, tMax jeus, BEA Web Logic, IBM Webspere, JBOSS,Bluestone, Gemston,

   inprise, Oracle, PowerTier,Apptivity, silverStream
   ○ Web Server  
    IIS, apache, tMax, WebtoB

   - tomcat
       아파치 소프트웨어 재단의 애플리케이션 서버로서, 자바 서블릿을 실행시키고 JSP 코드가 포함되어

      있는 웹페이지를 만들 어준다. 

      자바 서블릿과 JSP 규격 '참조용 구현'으로 평가되고 있는 톰캣은, 

      개발자들의 개방적 협력 작업의 산물로 바이너리 버전과 코어버전 둘 

      모두를 아파치 웹사이트에서 얻을 수 있다. 톰캣은 자체적으로 보유하고 있는 내부 웹서버와 함께 독립
      적으로 사용 될 수도 있지만 아파치나 넷스케이프 엔터프라이즈 서버, 

      IIS, 마이크로소프트의 PWS 등 다른 웹서버와 함께 사용할 수도 있다. 

      톰캣을 실행시키기 위해서는 jre  1.1  이상에 부합되는 자바 런타입 환경이 필요하다


이해가 좀 되시나요???

글이 좀 긴데... 긴만큼 알 내용도 많습니다.




'스터디' 카테고리의 다른 글

Modern Java-자바8 공부  (0) 2016.11.24
WAS 와 WEB 서버의 차이 -2  (0) 2016.11.23

+ Recent posts