GUI 샘플 (에키스파아토 웹 서비스)의 환경을 Docker로 간단하게 구축한다

발 연구소 Advent Calendar 2018 4일째의 기사입니다.
오늘은 역 스파아토 웹 서비스GUI 샘플을 Docker로 빠르게 구축하는 방법을 소개하려고합니다.

GUI 샘플



역 스파아토 웹 서비스 은 기본적으로 XML/JSON 응답을 반환하는 WebAPI 서비스이며, 검색 결과의 경로나 운임 등은 사용자 측에서 응답을 파싱해야 합니다. 응답으로부터 이용자 자신이 필요로 하는 데이터만을 폐기 선택할 수 있다고 하는 점에서는 좋습니다만, GUI 화면에 짜넣고 싶은 경우는 조금 힘듭니다.

이러한 이용 형태를 상정해, HTML5에 대응한 GUI 샘플를 제공하고 있습니다. OSS의 형태로 제공하고 있어 기본적으로 무보증이지만, 역 스파아토 웹 서비스 를 웹 어플리케이션에 짜넣고 싶은 용도로 편리하게 이용하실 수 있습니다.

GUI 샘플을 신속하게 사용할 수 있기를 원합니다.



GUI 샘플역 스파아토 웹 서비스 의 API 를 각각 컴퍼넌트화한 형태의 구성으로 제공하고 있습니다.
  • EkispertWebService/GUI

  • 예를 들어, 역명 입력 파트 (expGuiStation)이나 경로 표시 부품 (expGuiCourse) 같은 느낌으로, API와 대응하는 기능마다 JavaScript/CSS가 나뉘어져 있습니다. 사용자는 필요한 기능만을 <script> 로 자신의 웹 어플리케이션에 받아들이는 형태가 됩니다.

    하지만, 이 방식의 단점으로서, 이용자가 GUI 샘플 를 사용할 때에 빠져 버리는 경우가 있습니다. 필요한 JavaScript/CSS의 로드 설정을 추가하는 것을 잊어서 제대로 작동하지 않는 경우입니다. 의외로 이 케이스에 빠져 버리는 경우가 많아, 어떠한 방법으로 GUI 샘플 를 신속하게 사용할 수 있도록(듯이) 하고 싶은 것입니다.

    Docker를 사용하여 환경을 구축할 수 있도록 허용



    그래서 Docker를 이용하여 GUI 샘플 환경을 신속하게 구축할 수 있도록 해 보았습니다.
    우선은 순서를 보는 것이 빠를까라고 생각합니다.

    이번 샘플은 GitHub에서 공개하고 있습니다.
  • ValLaboratory/advcal

  • 먼저 다음과 같이 Docker 이미지를 만듭니다. <액세스 키>에 역 스파아토 웹 서비스 액세스 키를 지정하십시오.
    셋째 날 기사에서 Amazon SaaS 스토어에서 역 스파아토 웹 서비스 (액세스 키)를 구입하는 방법을 알려 드리겠습니다.
    ./work_dir/hello_ews/setup_ews_gui.sh에서 GUI 샘플을 git clone하고 필요한 위치에 액세스 키를 설정했습니다.
    $ git clone https://github.com/ValLaboratory/advcal.git
    $ cd advcal/2018/docker_env/
    $
    $ # GUIサンプルのgit cloneとアクセスキーの設定をおこなう。
    $ ./work_dir/hello_ews/setup_ews_gui.sh <アクセスキー>
    $
    $ # Dockerイメージをビルドする。
    $ docker-compose build ews_gui
    

    그리고는 Docker 컨테이너를 기동해 준비 완료입니다.
    $ docker-compose up ews_gui
    

    로컬 호스트에 액세스하면 다음과 같은 GUI 샘플 화면이 열립니다.
  • http://localhost-8080.com/



  • 탐색과 같은 기본 기능을 사용할 수 있는 상태로 되어 있습니다.



    HTML 파일이나 JavaScript는 로컬 호스트측의 work_dir/hello_ews/public_html/ 디렉토리에 놓이게 되어 있으므로, 필요에 따라서 수정해 이용자측에서 화면을 만들거나 HTML 파일의 내용을 바탕으로 개발중의 웹 앱에 통합하는 것도 가능합니다.

    또, GUI 샘플 의 리포지토리를 git clone 한 상태로 환경을 구축하고 있으므로, 이쪽도 이용자측에서 필요에 따라서 GUI 샘플을 수정할 수도 있습니다.
    (수정 내용으로 유용한 것이 있으면, 꼭 issue를 주시면 좋겠습니다)

    요약



    GUI 샘플 환경을 Docker로 쉽게 구축하는 방법을 소개했습니다. GUI의 사용법보다 환경 구축에 관한 문의가 많기도 하기 때문에, 이 기사가 역 스파아토 웹 서비스 이용자의 도움이 되면 좋다고 생각합니다.

    내일은 역 스파아토 노선도에 대해 이야기하려고합니다.

    좋은 웹페이지 즐겨찾기