DOI QR코드

DOI QR Code

Implementation of R-language-based REST API and Solution for Security Issues

R 언어 기반의 REST API 구현 및 보안문제의 해결 방안

  • Kang, DongHoon (Dept. of Data Science, Dankook University) ;
  • Oh, Sejong (Dept. of Software Science, Dankook University)
  • Received : 2018.11.21
  • Accepted : 2019.01.05
  • Published : 2019.01.31

Abstract

Recently, the importance of big data has been increased, and demand for data analysis for the big data is also increased. R language is developed for data analysis, and users are analyzing data by using algorithms of various statistics, machine learning and data mining packages in R language. However, it is difficult to develop an application using R. Early study proposed a method to call R script through another language such as PHP, Java, and so on. However, it is troublesome to write such a development method in addition to R in combination with other languages. In this study, we introduce how to write API using only R language without using another language by using Plumber package. We also propose a solution for security issues related with R API. If we use propose technology for developing web application, we can expect high productivity, easy of use, and easy of maintenance.

최근 빅 데이터의 중요성이 부각되면서 데이터 분석에 대한 수요가 증가하고 있다. R 언어는 데이터 분석을 목적으로 고안된 언어로서, 사용자들은 R언어의 다양한 통계, 머신러닝, 데이터 마이닝 패키지의 알고리즘을 활용하여 데이터를 효과적으로 분석 할 수 있다. 그러나 R 언어는 분석 결과를 어플리케이션으로 만들어 활용하기 어렵다는 단점이 있다. 이를 보완하기 위해 PHP, Java등과 같은 다른 언어를 통해 R 스크립트를 호출하는 법이 제안되었다. 그러나 이러한 개발 방식은 R 이외에도 다른 언어를 혼용해서 작성해야 하는 번거로움이 있다. 본 연구에서는 R 언어의 Plumber 패키지를 활용하여 다른 언어를 사용하지 않고 오직 R 언어만을 이용하여 API를 작성하는 방법을 제안하였다. 또한 API를 구현할 때 고려해야할 보안 이슈와 해결 방안에 대해서도 제시하였다. 본 연구에서 제안한 기술을 이용하여 웹 응용 프로그램을 개발 한다면 높은 생산성과 개발의 편리성, 운영의 효율성을 기대할 수 있다.

Keywords

References

  1. T. Baier, R: Windows Component Services Integrating R and Excel on the COM Layer. Proceedings of the 3rd International Workshop on Distributed Statistical Computing, (2003) March 20-22, Vienna, Austria
  2. D. Firth, CGIwithR: Facilities for processing web forms using R. Journal of Statistical Software, (2003). Vol.8, No.10, pp1-8.
  3. S. Urbanek, Rserve--a fast way to provide R functionality to applications. In PROC. OF THE 3RD INTERNATIONAL WORKSHOP ON DISTRIBUTED STATISTICAL COMPUTING (2003).
  4. S. Urbanek, FastRWeb: fast interactive web framework for data mining using R. In ISAC 2008 World Congress. (2008).
  5. A. M. Mineo and A. Pontillo, Using R via PHP for Teaching Purposes: R-php. Journal of Statistical Software. (2006), Vol.17, No.4, pp.1-20. https://doi.org/10.1360/jos170001
  6. Youngjun Ko, Yongmin Park, and Jinseog Kim. WebER: Web Based Statistical Tool Interfacing R for Teaching Purposes. CSAM (Communications for Statistical Applications and Methods). (2012), Vol.19, No.2, pp.257-266.
  7. R. T. Fielding and R. N. Taylor, Architectural styles and the design of network-based software architectures Vol. 7, Doctoral dissertation: University of California, Irvine. (2000).
  8. KunWoong Moon, Web-Based Analysis without R in Your Computer, Hannarae (2015).
  9. https://www.rplumber.io/docs/security.html#networking, March 19 (2018).
  10. https://www.rplumber.io/docs/security.html#dos, March 19 (2018).
  11. https://www.rplumber.io/docs/security.html#sanitization, March 19 (2018).