자바 애플리케이션 윈도우 애저에서 구동하기 - 자바 스타터킷

윈도우
애저를
오픈
클라우드라고
이야기를


있는
이유는
특정
언어나
프레임워크를
제한하지
않기
때문
입니다. 간단히
말씀
드리면, 윈도우
서버 2008 에서
구동할

있게
개발

것은
난이도의
차이가
있지만, 대부분
윈도우
애저에서도
구동할

있습니다.

 
 

다시
말하면, 자바나
아파치
웹서버, PHP, JSP, 루비, 파이썬
등이
윈도우
서버에서
구동할

있는
것과
마찬가지로
윈도우
애저에서
구동을


있습니다. 이
포스팅에서는
최근에
업데이트된
자바
스타터
킷을
통해서
윈도우
애저에서 JSP를
구동하는
것을
간단히
설명
하려고
합니다. 실제로
따라
하실
경우에는
여기
원문
링크에
있는
내용으로
차근차근
하시는
것을
권장
합니다.

 
 

진행
하려는
것을
설명에
앞서
간단히
말씀
드리면, 윈도우
애저에
올라가는
패키지에
아파치
웹서버와
자바
런타임
환경(JRE)을
같이
포함
시키고, 윈도우
애저에서
해당
패키지의
인스턴스가
생성


아파치와 JRE를
시작
시키면
됩니다. 별로
대단할

없죠?

 
 


같은
작업을
자바
개발자들이
많이
사용하는
이클립스에
추가
모듈을
설치해서
보다
쉽게
진행을



있습니다. 먼저
스타터
킷의
설치를
위해서
이클립스를
다운로드
받은
후에
실행하시고, 아래처럼 Help 메뉴에서 Install New Software를
선택합니다.

 
 

 
 

그리고
자바용
윈도우
애저
스타터

플러그인을
설치하기
위해서
아래 URL을
입력
후에 Add 버튼을
눌러줍니다.

https://webdownload.persistent.co.in/windowsazureplugin4ej/

 
 

 
 

설치가
끝나고
이클립스를

시작하면
아래
처럼
메뉴
중 File의 New에서 Windows Azure Project를
시작하실

있습니다.

 
 

 
 

프로젝트
이름을
입력하고, Finish 버튼을
클릭하면
아래와
같은
파일
구조가
생성이
됩니다.

아래
폴더
구조를
보면
기존
윈도우
애저
프로젝트에
있는
정의
파일(ServiceDefinition.cscdef )과
설정파일(ServiceConfiguration.cscfg) 이외에
자바
애플리케이션을
구동하기
위해서
빌드
작업을
담당하는 .cspack.jar 파일과
실제
애플리케이션인 HelloWorld.zip 그리고
인스턴스가
시작
시에

서버와
자바
런타임
환경을
실행시켜주는 util\Startup.cmd 파일, 끝으로 ZIP 압축을
풀어주기
위해서
사용되는 unzip.vbs 스크립트
등이
있습니다.

 
 

 
 

자바
서버
환경
구성에
특별한
제한은
없지만, 편의

아파치
톰캣
서버를
사용하도록
하겠습니다.(원문에는
제티
서버도
같이
나와
있습니다.) 아래처럼 approot 폴더
안에 JRE나 tomcat과
같은
폴더를
만들고
각각에
대한
압축
파일을
추가 합니다. JRE 같은 경우는 JRE 설치 후에 생기는 C:\Program Files\Java\jre6 안의 내용을 압축해서 추가해 주면 됩니다.

 
 

 
 

간단히
테스트를
위해서
템플릿에서
기본적으로
생성하는 HelloWorld.zip 파일을
삭제하고
아래
처럼 JSP 파일을
하나
추가해
줍니다.

 
 

 
 



간단히 JSP 파일의
내용을
구성하고, 가장
중요한 startup.cmd 파일의
내용을
아래처럼
만듭니다. 아파치
톰캣의
버전이
다르다면
그에
맞게
적어주셔야
합니다. jre는
압축파일
안에 JRE 폴더가
있는
것으로
생각하고
구성되었습니다.

SET APPROOT=%CD%

@REM unzip Tomcat
cscript /B /Nologo %APPROOT%\util\unzip.vbs Tomcat\apache-tomcat-7.0.6-windows-x64.zip %APPROOT%

@REM unzip JRE
cscript /B /Nologo %APPROOT%\util\unzip.vbs JRE\jre6.zip %APPROOT%

@REM copy project files to server
md %APPROOT%\apache-tomcat-7.0.6\webapps\myapp
copy %APPROOT%\HelloWorld.jsp %APPROOT%\apache-tomcat-7.0.6\webapps\myapp

@REM start the server
cd %APPROOT%\apache-tomcat-7.0.6\bin
set JRE_HOME=%APPROOT%\jre6
startup.bat

이제
윈도우
애저에
올라가서
사용할
포트
넘버를
설정해야
하는데요, 프로젝트의
속성에 Windows Azure의
메뉴에
들어가서 Role의 Edit 버튼을
클릭
합니다.

 
 

롤의
이름

가상
머신의
크기
그리고
인스턴스의
개수
등을
설정하실

있고
다시 Edit 버튼을
누르시면
아래처럼 EndPoint를
설정하실

있습니다. Public Port는
클라우드에
올렸을
경우에 80 포트를
통해서
접속하는
것이며, Private Port는 Public 포트(80 )로
요청된
접속을
인스턴스의 8080 포트로
전달하는

입니다.

 
 

 
 

이제
설정은
끝났고, Project 메뉴에서 Build All 하시면
아래의 deply 폴더가
생기게
되고, 실제로
여기에
있는
파일들이
클라우드에
올라가게
됩니다.

 
 

 
 

로컬
머신에서
테스트를
하려면
가상
클라우드
에뮬레이터를
띄워야
하는데요, DisplayEmuatorUI.cmd 를
실행하시면 Windows Azure Compute 에뮬레이터가
뜨고, RunInEmulator.cmd 를
실행하시면
에뮬레이터에
윈도우
애저
인스턴스가
아래처럼
생성되어
작동
됩니다. 작동하는
것이
끝나면, 인스턴스를
에뮬레이터에서
제거하기
위해서 ResetEmulator.cmd 를
실행해
주면
됩니다.(cmd 실행해

때는 Open with … System Editor 로
하시면
됩니다)

 
 

 
 

https://localhost:8080/myapp/ URL에 접속해 보시면 작성한
JSP 파일이 윈도우
애저
가상환경의
아파치
웹서버
그리고
자바
런타임
환경에서
동작하는
것을
보실

있습니다.

 
 

이제
윈도우
애저에
올려야

차례인데요, 올리기
위해서는 package.xml 파일에서 packagetype을 local에서 cloud로
변경해
주면
클라우드에
올릴 .cspkg 파일이
생성됩니다. 이것과
환경
설정
파일인 .cscfg 파일을

윈도우
애저에
업로드하면
배포가
완료
됩니다.

 
 

제가
블로깅한
내용에
대한
보다
상세한
원문은
아래
링크를
보시길
바라며, 진행


안되시거나
궁금한
내용은

포스팅에
댓글을
달아
주시면
답변
드리도록
하겠습니다.

 
 

https://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-eclipse