c# 으로 된 dll 파일을 spring boot 로 만들어진 프로젝트에서 사용하는 방법 질문이요

안녕하세요! DLL 관련 질문이 있습니다!

C# 으로 작성 된 DLL 파일이 있는데요, 이 DLL 을 spring boot 로 만들어진 웹 프로젝트에서 사용 할 수 있나요? 사용 할 수 있다면 어떤 방법으로 사용하는지 알려주시면 감사하겠습니다!

서버 사이드 자바를 사용해보지는 않았지만 일반적인 자바에서 DLL을 호출하는 것과 크게 다르지 않을 것입니다.
몇 가지 방법이 존재하지만 이기종에서 클래스 레벨의 사용을 위해서는 Wrapper 클래스(인터페이스)를 작성해줘야 합니다.

  1. NET DLL을 Native DLL 인터페이스로 노출시켜 JNA 통해 호출하는 방법

이 방법은 .NET의 함수를 Native DLL형태로 노출시키는 방법이기에 클래스 레벨의 사용은 어렵고 static 함수 정도를 사용하기에 적합합니다. 클래스 인스턴스를 사용하는 방법이 없는 것은 아니지만 직관적이지 않고 객체 생성 및 소멸 관리가 번거로울 수 있습니다.

  1. Wrapper를 생성해주는 상용 솔루션 사용 (유료)

위 제품들은 상용 제품인 만큼 Wrapper 인터페이스를 생성해주는 툴을 제공해주기 때문에 Java에서 클래스 인스턴스 생성 및 운용도 가능한 것으로 보입니다.

두 가지 방법 모두 장단점이 있으나 결론적으로는 두 런타임 간의 최소한의 인터페이스만 정의해서 운용하는 것이 성능적인 면이나 인터페이스 정의에 대한 비용적인 측면에서 유리할 것 같습니다.

3개의 좋아요

자세한 답변 감사합니다!!