복합 이벤트 처리 라이브러리 Esper를 VScode에서 실행해보기

프로그래밍 팁 2022. 10. 9. 11:20

 

 업무 목적으로 EsperTech사의 Esper를 개발하게 되면서 오랜만에 Java를 사용하게 되었습니다. 학생때 Android 프로그래밍을 하면서 Java를 애용했던 기억이 있고, 그 당시 안드로이드 애플리케이션 개발을 열정적으로 했던 경험이 생생합니다.

 어느샌가 안드로이드 앱 개발 환경은 Kotlin으로 재편되면서 자바의 입지는 예전보다 줄어든 경향이 있어보입니다. 그러나 운영체제와 상관 없이 자바 가상머신(JVM)만 설치되어 있으면 그 어떤 기기에서도 Java를 사용할 수 있다는 매력 만큼은 무시할 수 없기에 Java는 2022년 현재에도 애용되는 언어입니다. Espertech의 Esper는 Java로 설계되어 있으며 그 덕에 운영체제를 가리지 않고 손쉽게 사용할 수 있다는 점은 개발자의 관점에서는 편하다고 할 수 있지요.

 Espertech사의 esper는 복합 이벤트 처리(Complex Event Processing)를 위한 라이브러리로, 영상, 센서 등에서 복합적으로 발생하는 데이터를 수신하여 이벤트가 발생하였을 때, 각 센서에서 수신되는 데이터 값을 esper가 수신하였을 때 각 센서의 값들을 복합적으로 판단하여 해당 이벤트의 속성을 분석하여 이를 올바르게 판단하는 것을 목표료 합니다.

 예를 들어, 공사 현장에 카메라와 마이크가 설치되어 있을 때, 현장에서 작업자가 쓰러지는 모습과 그 과정에서 발생하는 소음들을 카메라와 마이크가 해당 영상 및 소리를 데이터화 하여 esper에 전달하였을 때, esper는 이 이벤트를 위급한 상황이라 판단하고 이를 조치하기 위한 요청을 발생하는 것을 목표로 한다고 생각하시면 되겠습니다.

 

 

 복합 이벤트 처리 라이브러리인 esper를 Visual Studio code에서 실행해보도록 합니다. 먼저 esper 공식사이트 혹은 공식 github 사이트를 통해 esper 라이브러리를 다운로드 받습니다.

https://www.espertech.com/esper/esper-downloads/

 

Downloads - EsperTech

Esper is distributed in several packaged formats for your convenience. […]

www.espertech.com

 

https://github.com/espertechinc/esper

 

GitHub - espertechinc/esper: Esper Complex Event Processing, Streaming SQL and Event Series Analysis

Esper Complex Event Processing, Streaming SQL and Event Series Analysis - GitHub - espertechinc/esper: Esper Complex Event Processing, Streaming SQL and Event Series Analysis

github.com

 

 다음으로 자신이 esper를 사용하고자 하는 환경에 맞추어 Java, Maven, Visual Studio Code를 설치합니다.

 VS Code를 설치한 다음 확장 탭에서 Debugger for Java를 설치해주세요.

 

 

 이어서 EsperEPL 확장 프로그램을 추가로 설치합니다.

 

 

 다음으로 설정 탭에서 Maven for Java 탭을 선택한 후 Maven > Executable: Path 메뉴에서 설치된 maven의 bin 경로를 입력해줍니다.

 

 

 다음으로 esper 소스의 example 폴더를 엽니다.

 

 

 이제 Example 소스코드들을 컴파일 해봅니다. test모드를 적용하기 위해 탐색기의 maven 탭에서 Lifecycle > test-compile 버튼을 클릭하여 아래와 같이 예제 코드가 컴파일 되는 것을 확인합니다.

 

 

 이제 컴파일된 esper 예제 코드를 실행해봅니다. Ctrl+F5를 누르면 실행하고자 하는 메인함수를 선택할 수 있으며 선택된 예제 코드가 실행되는 것을 확인하실 수 있습니다.

 

300x250