본문 바로가기
IBM - old/IBM Bluemix

막무가내로 시작해보는 cloud - IBM Bluemix - 5. 서비스 추가 및 연결

by freeman98 2016. 6. 7.

1) 서비스 추가 및 연결 - 시작


안녕하세요 freeman 입니다.


지난번 강좌에서는 eclipse 를 활용하여 개발자들이 선호하는 형태로 eclipse 도구를 이용해서 개발을 직접 수행하고 그 결과를 commit 및 push 하여 실제 서비스되고 있는 IBM Bluemix 에 반영하고 확인하는 강좌를 진행해보았습니다.


이번 강좌에서는 지금까지 보았던 App 이외에 추가로 이미 만들어져 있는 카탈로그의 다양한 서비스를 어떻게 연결하고 사용할 수 있는지에 대해서 살펴보도록 하겠습니다. 이를 위해서 가장 대표적으로 많이 사용하는 DB 서비스를 직접 이전에 만들어둔 Java APP 에 연결하고 샘플을 구동해 보면서 하나씩 하나씩 살펴보도록 하겠습니다.


그럼 막무가내로 "막무가내로 시작해보는 cloud - IBM Bluemix” 제5강 서비스 추가 및 연결을 시작하도록 하겠습니다.


2) SQL Database 서비스 추가


IBM Bluemix 는 Java, Node.js 등 다양한 Programming Language 를 운영할 수 있는 App 이외에 DB 나 리포팅, 캐싱, 모니터링, 보안과 같은 기업환경에서 추가적으로 필요한 다양한 서비스를 미리 서비스로 만들어서 제공하므로 이를 연결하여 빠르고 손쉽게 실제 서비스를 사용할 수 있습니다.


IBM Bluemix 에서 서비스를 추가 및 연결하기 위해서는 이미 지난 강좌에서 만들어 둔 Liberty for Java App 의 대시보드에서 “Add a new service” 메뉴를 선택하면 됩니다. 해당 메뉴를 선택하면 하단과 같이 바로 추가할 수 있는 다양한 서비스의 카탈로그가 확인 가능하며 이미 이야기 한 것처럼 SQL Database 를 확인하고 클릭하면 됩니다.
(여기서 사용하려는 SQL Database 서비스는 쉽게 설명 드리면 DB2 입니다.)


이전에 App 생성했을 때와 유사한 형태로 생성메뉴가 나오는 것을 확인할 수 있으며 Service name 을 지정하고 Create 버튼을 클릭하면 해당 서비스가 추가 됩니다.

 
이렇게 까지만 하시면 아주 쉽게 SQL Database 서비스 추가 및 연결의 시작을 완료되신 것입니다. 여기서 하나 꼭 확인하고 기억하셔야 할 부분이 있는데 추가된 서비스의 Show Credentials 정보를 확인해 두는 것입니다. 이 정보를 가지고 나중에 실제 App 이 해당 서비스에 연결작업을 수행할 수 있습니다.


3) SQL Database 서비스 관리


이전 파트에서 SQL Database 서비스를 생성하고 추가하였습니다. SQL Database 는 이미 말씀드린 것처럼 DB 이며 이제 막 생성했기 때문에 아무런 Data 가 들어가 있지 않습니다. 이를 IBM Bluemix 의 대시보드 메뉴를 활용해서 Data 추가 및 관리하는 작업을 진행해보도록 하겠습니다.


IBM Bluemix 의 대시보드에서 지금 막 생성한 SQL Database 서비스를 클릭한 후 LAUNCH 버튼을 클릭하면 하단과 같이 웹 브라우저를 활용하여 SQL Database 를 관리할 수 있는 콘솔을 실행할 수 있습니다.


콘솔에서 Work with Database Objects 메뉴를 클릭하면 지금 생성한 SQL Database 를 관리할 수 있는 화면이 하단과 같이 나타납니다.

 
그럼 여기서 실제로 Table 을 만드는 작업을 한번 수행해 보도록 하겠습니다.
(참고로 Table DDL 과 csv 는 “Import and export data from your Bluemix SQL Database with SQL Database service(http://www.ibm.com/developerworks/cloud/library/cl-sqldb-app/)” 자료를 참고하여 https://hub.jazz.net/project/pvanrun/SQLDBCSVExport/overview 프로젝트에 있는 샘플을 사용하였습니다.)


Run DDL 버튼을 클릭한 후 나타나는 에디터 창에 Create 명령을 하단과 같이 입력한 후 Run DDL 버튼을 클릭하여 DDL 을 수행합니다.


해당 수행이 완료되면 명령을 수행한대로 Table 이 만들어진 것을 확인할 수 있습니다.

 
Table 이 만들어졌으니 이번에는 해당 Table 로 data 를 로드해보도록 하겠습니다. 이를 위해서는 콘솔메뉴에서 Load Data 를 클릭합니다.

 
Quick Load 메뉴가 나오면 해당 Table 로 로드하고자 하는 csv 파일을 넣고 Load file 메뉴를 클릭합니다.

 
해당 파일이 업데이트 된 결과를 확인하고 Next 를 클릭합니다.

 
Data 를 로드하는 방식을 선택하고 Next 를 클릭합니다.

 
업데이트 된 Data 를 어떤 Table 로 로드할지 선택하고 Finish 를 클릭하여 실제 로드작업을 진행합니다.

 
로그가 정상적으로 완료되면 결과를 하단과 같이 확인할 수 있습니다.



4) SQL Database 서비스 연결


SQL Database 서비스를 추가한 후 Table 생성 및 Data 까지 적재를 완료하였으니 이제 이를 실제로 사용하기 위해 연결하기 위한 App 코드를 작성하는 작업을 진행하도록 하겠습니다.
(여기서 사용되는 소스 코드는 https://hub.jazz.net/project/pvanrun/SQLDBJava/overview 프로젝트의 샘플을 사용하였습니다.)


Eclipse 를 이용하여 이전 강좌에서 만들어 둔 샘플 애플리케이션에 Servlet 을 하나 만들고 SQL Database 연결 및 조회하는 SQLDBSample 클래스를 작성합니다.

 
SQLDBSample 클래스의 schemaName 과 tableName 을 각 환경에 맞게 변경하고 단순하게 하나의 이름을 검색해서 결과를 뿌려주는 형태로 변경합니다.

 
해당 소스를 수정하고 Build 를 해보면 빨간색 에러의 향연을 보실 수 있습니다. Error 가 발생하는 이유는 참조되고 있는 Library 가 없어서 발생하는 것이며 이를 해결하기 위해 하단과 같이 필요한 library 를 추가하고 Build Path 를 잡아둡니다.
(javax.servlet_3.0.0.v201112011016.jar, javax.servlet.jsp_2.2.0.v201112011158.jar 는 servlet 라이브러리이며 eclipse/plugins 디렉토리에 있습니다. IBM Bluemix 의 Liberty for Java App 도 기본으로 해당 라이브러리를 가지고 있기 때문에 dep-jar 에 위치한 것이며 db2jcc.jar, db2jcc_license_cu.jar, nosqljson.jar 는 이름 그대로 DB2 와 JSON 관련 라이브러리이며 배포되는 애플리케이션에 포함하기 위하여 WEB-INF/lib 에 위치시켰습니다.(별도 다운로드 필요))


여기까지 작업하신 후 Build 를 다시 수행하면 문제없이 Build 가 완료되는 것을 확인할 수 있습니다.

단, 여기서 하나 주의하실 점이 있는데 IBM Bluemix 는 ANT 를 이용해서 build 작업을 수행하게 됩니다. 그러므로 build.xml 에 새롭게 추가된 라이브러리의 위치를 하단과 같이 추가해야 합니다.

 
참고로 IBM Bluemix 전에 Eclipse 에서 Ant 를 이용하여 build 테스트를 수행하시는 것이 조금 더 나은 테스트 방안으로 보입니다.

 
 
이렇게 SQL Database 연결을 위한 샘플 소스 추가 및 Build 를 완료하셨다면 생성된 war 파일을 가지고 cf 도구를 이용해 IBM Bluemix 에 반영해도 되고 eclipse 의 commit/push 를 이용해서 해당 사항을 IBM Bluemix 에 반영해도 됩니다.


지금까지 정상적으로 강좌를 잘 따라왔다면 SQLDBSample 서블릿을 호출하면 하단과 같은 SELECT조회 결과를 확인할 수 있습니다.


5) 서비스 추가 및 연결 – 정리


카탈로그에 있는 여러 가지 다양한 서비스 중에 샘플로 SQL Database 라는 DB 서비스를 기존에 만들어둔 Java App 에 추가하고 연결하는 작업을 step-by-step 으로 쭉 따라서 강좌를 진행해봤습니다.


이미 해보셔서 아시겠지만 서비스를 추가하는 작업이나 연결하는 작업이 굉장히 복잡한 형태라고 하기 보다는 직관적으로 빠르고 쉽게 추가 및 연결하는 작업이 가능합니다. 이번 강좌에서는 여러 가지 다양한 서비스 중에 SQL Database 를 다룬 것이긴 하지만 나머지 다른 서비스들도 추가 및 사용하는 방법은 비슷합니다. 이번 강좌를 잘 따라서 마무리했다면 원하시는 다른 서비스도 한번 추가 및 사용하는 단계를 수행해보시면 보다 더 잘 IBM Bluemix 의 구조와 서비스를 이해할 수 있을 것입니다.


그럼 IBM Bluemix 를 이해하는데 한발 더 다가서기를 바라며 이번 강좌는 여기에서 줄이도록 하겠습니다. ^^&;

 
9) 참고 자료
1.    Getting started with SQL Database
https://www.ng.bluemix.net/docs/#services/SQLDB/index.html#SQLDB

2.    Import and export data from your Bluemix SQL Database with SQL Database service
http://www.ibm.com/developerworks/cloud/library/cl-sqldb-app/

3.    참조 프로젝트
https://hub.jazz.net/project/pvanrun/SQLDBJava/overview
https://hub.jazz.net/project/pvanrun/SQLDBCSVExport/overview

댓글