# KSB 프레임워크 SW 개발환경 구성 KSB 프레임워크를 이용한 신규 컴퍼넌트의 개발과 scala clientSDK를 이용한 워크플로우 실행 시나리오 작성 및 실행을 요청하기 위한 개발환경 구성방법을 설명합니다. KSB 프레임워크 SW 개발을 위한 환경을 구성하기 위한 절차는 다음과 같습니다. - KSB 프레임워크 실행 및 테스트 환경구성 ( 툴박스 설치 참조 ) - Scala IDE 설치 - Java8 sdk 설치 - Maven 빌드도구 설치 - ksb-oss_dist(KSB ClientSDK 포함) 설치 - Eclipse 프로젝트 Import - Maven을 이용한 ksb-oss_dist(KSB Client SDK 포함) 프로젝트 빌드 ## KSB 프레임워크 실행(테스트) 환경구성 [KSB 툴박스 설치][c87a2fc0] 에서 제시하는 절차에 따라 KSB 프레임워크 실행(테스트) 환경을 구성합니다. [c87a2fc0]: https://csleoss.etri.re.kr/images/contents/manual_1903/1.2.HowToInstallKsbToolBox-1903.html "KSB 툴박스 설치" ## Scala IDE (개발도구) 설치 운영체제 (Ubuntu 또는 Mac osx)에 따라서 아래의 방법에 따라 Scala IDE를 설치합니다. 운영체제가 아래의 두 가지에 해당하지 않는 경우에는 [Eclipse scala IDE 사이트][8580869d] 에 접속하여 직접 Eclipse scala IDE 를 다운로드합니다. 이때 Scala의 버전이 2.12로 구성된 버전을 다운로드 하면 됩니다. 적당한 곳에 압축을 풀면 Eclipse 실행파일이 해제되어 나타나는데 이 파일을 실행하면 Eclipse SDK가 실행됩니다. 이 파일을 적당한 위치에 옮겨둡니다.(optional) [8580869d]: http://scala-ide.org/ "scala IDE" ### Ubuntu 예제: ```sh # Scala IDE 다운로드 wget http://downloads.typesafe.com/scalaide-pack/4.7.0-vfinal-oxygen-212-20170929/scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz # 압축해제 unzip scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz # 적당한 위치에 옮겨둡니다. cd scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64 ``` ### Mac Osx 예제: ```sh # Scala IDE 다운로드 wget http://downloads.typesafe.com/scalaide-pack/4.7.0-vfinal-oxygen-212-20170929/scala-SDK-4.7.0-vfinal-2.12-macosx.cocoa.x86_64.zip # 압축해제 unzip scala-SDK-4.7.0-vfinal-2.12-macosx.cocoa.x86_64.zip # 적당한 위치에 이동. Mac의 경우 Application 폴더에 넣어 줍니다. cd scala-SDK-4.7.0-vfinal-2.12-macosx.cocoa.x86_64 mv ./eclipse.app /Applications/ # Mac의 경우 왼쪽처럼 Applications 폴더에 넣어두면 편리합니다. ``` 설치가 완료된 후, 커맨드라인 상에 아래의 명령을 입력하여 현재 설치된 Scala 버전을 확인합니다. ```sh $ scala -vsersion Scala code runner version 2.12.2 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc. ``` ## Java8 sdk 설치 [Oracle Java SDK 배포 사이트][753654a8] 에 접속하여 Java sdk를 다운로드하여 실행하면 설치가 완료됩니다. 아래 명령을 입력하여 설치가 잘 설치되었는지 확인합니다. [753654a8]: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html "Oracle Java SDK 배포 사이트" ```sh $ java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) ``` ## Maven 빌드도구 설치 ### Ubuntu 예제: Host PC의 터미널에서 아래의 명령으로 maven 3.3.9를 설치합니다. ```sh $ sudo wget --no-verbose -O /tmp/apache-maven-3.3.9.tar.gz http://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz echo "516923b3955b6035ba6b0a5b031fbd8b /tmp/apache-maven-3.3.9.tar.gz" | md5sum -c $ sudo tar xzf /tmp/apache-maven-3.3.9.tar.gz -C /opt/ $ sudo ln -s /opt/apache-maven-3.3.9 /opt/maven $ sudo ln -s /opt/maven/bin/mvn /usr/local/bin $ sudo rm -f /tmp/apache-maven-3.3.9.tar.gz $ sudo apt-get clean ``` maven 버전을 확인합니다. ```sh $ csle@csle1:~$ mvn -v Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00) Maven home: /opt/apache-maven-3.3.9 Java version: 1.8.0_161, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-8-oracle/jre Default locale: ko_KR, platform encoding: UTF-8 OS name: "linux", version: "4.13.0-26-generic", arch: "amd64", family: "unix" ``` ### Mac Osx 예제: 보다 편리한 설치를 위해서 아래의 방법으로 Home brew를 설치합니다(optional). Mac의 경우 설치 툴이 brew를 설치하면 편리하게 패키지를 설치할 수 있습니다. ( 추가적인 자세한 설치 방법은 [설치방법 참고][13f64dda] ) ```sh $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ``` Home brew를 설치하고 나면 brew 명령을 이용해서 최신의 Maven을 쉽게 설치할 수 있습니다.. ```sh $ brew intall maven ``` [13f64dda]: https://brew.sh/index_ko.html "Home brew 설치" ## KSB 인공지능 프레임워크 오픈소스 설치 [다운로드][3c996289] 에 로그인하여 KSB 인공지능 프레임워크 오픈소스인 ksb-oss_dist (실행 바이너리 포함)를 다운로드 합니다. - ksb_oss_v1_0.tar.gz : KSB 인공지능 프레임워크 오픈소스 압축파일 [3c996289]: https://csleoss.etri.re.kr/kor/sub02_01.do "KSB 프레임워크 다운로드 페이지" 다운로드한 파일을 압축해제하면 ksb-oss_dist 디렉토리가 생성되며, 다음과 같이 출력되는 것을 확인합니다. ```sh $ tar -zxvf ksb_oss_v1_0.tar.gz $ cd ksb-oss_dist $ ls -al 3rd_Party_Libraries.txt 3rd_Party_Library_Licenses.txt LICENSE.txt Notice.txt component-pipe libs components pom.xml InsightSwitch conf project didentification pyML examples scalastyle-output.xml bin jars src codeInspection-ruleSets ksb-core component-custom ksb-knowledge ``` ## Eclipse 프로젝트 Import 다운로드 받은 ksb-oss_dist를 임포트하여 이클립스 프로젝트 환경을 구성하는 것을 설명합니다. ### 프로젝트 임포트 * Package explorer 창에서 오른쪽 클릭> Import 단축메뉴을 선택하여 디렉토리 탐색버튼을 통해 ksb-oss_dist 프로젝트 디렉토리를 선택한 후 pom.xml 이 있는지 확인하고 임포트를 실행하여 아래의 그림과 같이 프로젝트가 생성되는 것이 확인합니다. 이클립스 프로젝트 화면 (Eclipse Project) * ksb-core-digest_2.11 프로젝트는 다음 과정을 따라 별도로 임포트 합니다. - (Optional) Package explorer> 아랫방향 화살표 클릭> Top Level Element> Working Set 선택 ( *최상위에 ksb-parent 가 표시됨* ) Working Set - ksb-parent 오른쪽 클릭> Import 선택> Import> General> Existing Projects into Workspace> Next> ksb-core 프로젝트 경로 선택> Finish import ksb-core ### 스칼라 (Scala) 버전 동기화 Maven 빌드에서 사용하는 Scala 버전은 2.11 이므로 이클립스 프로젝트 상에서도 2.11 라이브러리가 사용되도록 동기화 합니다. 각 프로젝트 구조로 들어가면 그림과 같이 Scala 라이브러리 2.12.3이 기본 라이브러리로 설정되어 있습니다.(다운로드한 이클립스 ScalaIDE 버전에 따라 상이할 수 있음.) * Scala Library container 오른쪽 클릭> Properties> 2.11 또는 2.11.11 선택> Apply and Close import ksb-core 이 것으로 이클립스 개발환경 구성은 완료되었습니다. 수고 많으셨습니다.