안녕하세요! DLL 관련 질문이 있습니다!
C# 으로 작성 된 DLL 파일이 있는데요, 이 DLL 을 spring boot 로 만들어진 웹 프로젝트에서 사용 할 수 있나요? 사용 할 수 있다면 어떤 방법으로 사용하는지 알려주시면 감사하겠습니다!
안녕하세요! DLL 관련 질문이 있습니다!
C# 으로 작성 된 DLL 파일이 있는데요, 이 DLL 을 spring boot 로 만들어진 웹 프로젝트에서 사용 할 수 있나요? 사용 할 수 있다면 어떤 방법으로 사용하는지 알려주시면 감사하겠습니다!
서버 사이드 자바를 사용해보지는 않았지만 일반적인 자바에서 DLL을 호출하는 것과 크게 다르지 않을 것입니다.
몇 가지 방법이 존재하지만 이기종에서 클래스 레벨의 사용을 위해서는 Wrapper 클래스(인터페이스)를 작성해줘야 합니다.
이 방법은 .NET의 함수를 Native DLL형태로 노출시키는 방법이기에 클래스 레벨의 사용은 어렵고 static 함수 정도를 사용하기에 적합합니다. 클래스 인스턴스를 사용하는 방법이 없는 것은 아니지만 직관적이지 않고 객체 생성 및 소멸 관리가 번거로울 수 있습니다.
위 제품들은 상용 제품인 만큼 Wrapper 인터페이스를 생성해주는 툴을 제공해주기 때문에 Java에서 클래스 인스턴스 생성 및 운용도 가능한 것으로 보입니다.
두 가지 방법 모두 장단점이 있으나 결론적으로는 두 런타임 간의 최소한의 인터페이스만 정의해서 운용하는 것이 성능적인 면이나 인터페이스 정의에 대한 비용적인 측면에서 유리할 것 같습니다.
자세한 답변 감사합니다!!