상점의 위치정보를 Android앱에 뿌려줄 수 있는 Rest 시스템을 만들어서 해당 시스템을 공적 아이피를 사용하는 외부 서버에 마이그레이션 하기 위해 외부 서버 및 도메인을 알아보았다. 일단은 DB 서버를 테스트하기 위해 DB서버와 도메인을 임대하였는데 도메인의 경우 서버가 바뀌어도 도메인명만 갖고 있으면 그대로 쓰면 되기에 도메인 또한 임대를 하게 되었다.
내가 한 절차는 다음과 같다.
1. DB 서버 호스팅
1.1 DB 서버 구매
1.2 DB 서버 접속 확인
1.3 DB 서버 데이터 마이그레이션
2. Web 서버 호스팅
2.1 Web 서버 구매
2.2 Web 서버에 서비스 업로드
2.3 Web 서버와 도메인 연결
3. 안드로이드와 Rest Server 연결
내가 사용하는 호스팅 서버는 카페 24(http://www.cafe24.com)이다.
1. DB 서버 호스팅
카페24 첫화면이다. 스페셜 호스팅의 MariaDB를 선택하여 준다.(내가 사용하고 있는 DB가 MariaDB라서.. ㅋ)
나는 절약형을 신청하였다. 대략 연간만원정도의 비용이 소요될 것으로 보였다.
2. WAS(Tomcat) 호스팅 및 서비스 업로드
다음은 Tomcat 호스팅을 위한 서버를 임대하였다. 스페셜 호스팅 > Tomcat 호스팅으로 들어간다.
Tomcat또한 절약형으로 신청 하였다. 나중에 사용량이 많아질 경우 증설할 수 있으니 가장 저렴한 것으로 하도록 하자.
서버의 아이피를 확인한 후 FileZilla를 이용하여 War를 포팅하였다. 나같은경우 Rest API 서버를 Spring Boot, ORM 등을 이용하여 만들었는데 딱 내가 원하는 기능을 구현하기에는 정말 간단하게 만들 수 있었다.
파일질라 : https://filezilla-project.org/
소스코드 작성 : https://honeyinfo7.tistory.com/70?category=852824
War 파일 만들기 : https://honeyinfo7.tistory.com/77?category=852824
그런데 서비스가 DB의 데이터를 못읽어오는데 살펴보니까 카페 24의 DB의경우 접속이 허용되는
아이피를 따로 관리하고 있다. MySQL 외부 IP 접근설정을 통해서 설정하기를 누른다.
해당창에 들어가기 위해서는 좌측의 호스팅관리 > 서비스 사용현황 으로 들어간다.
3. 안드로이드 Rest 서버 연동
안드로이드와 Rest 서버를 연동하는 마지막 작업을 진행도중 문제가 생겼다. 이유는 안드로이드 상에서 URL 연결은 Thread를 통해 하게 되었는데 나는 더 편하게 하기위해 Volley 라이브러리를 사용했다. 하지만 한글 인코딩 깨짐 현상이 발생하였다.
이에대한 해결을 하였는데 그 과정은 다음의 링크에 담겨있다.
https://honeyinfo7.tistory.com/78?category=851573
모든 과정이 끝나서 나의 시스템의 최종 도식도를 그려보았다.
안드로이드 - Rest Server - DB 서버 - Crawler 의 사이클을 가지고 있다.
내가 원하던 바를 이뤄서 매우 뿌듯하다. ㅎㅅㅎ
오후중에는 독서나 운동을 하며 휴식을 취하도록 하여야 겠다.