Chúng ta có một thư viện với logic rất phức tạp được thực hiện trong C. Nó có giao diện dòng lệnh với các đối số dựa trên chuỗi không quá phức tạp. Để truy cập vào điều này, chúng tôi muốn bọc thư viện để nó có thể được truy cập bằng RPC XML đơn giản hoặc thậm chí các cuộc gọi HTTP POST đơn giản.Làm thế nào để bọc một thư viện C để nó có thể được gọi từ một dịch vụ web
Có một số kinh nghiệm với Java, ý tưởng đầu tiên của tôi sẽ là
- Bó thư viện trong JNI/JNA
- Sử dụng một WS chồng mỏng và một servlet engine
- yêu cầu Proxy thông qua Apache để servlet engine
Tôi tin rằng cần phải có một cái gì đó đơn giản mà có thể được sử dụng, vì vậy tôi đăng câu hỏi này ở đây. Một giải pháp có các yêu cầu sau
- Nó sẽ được triển khai tới một bản phân phối Linux hiện nay, tốt hơn đã có sẵn thông qua quản lý gói
- Nó cần tích hợp với một máy chủ web chuẩn (như trong ví dụ của tôi Apache)
- nhỏ thay đổi giao diện của thư viện nên có thể kiểm soát được
- End-to-end (HTTP-WS-thư viện-WS-HTTP) là giải pháp nên không phải chịu quá nhiều chi phí, nhưng độ tin cậy là rất quan trọng
Ngoài đề xuất JNI/JNA, tôi nghĩ rằng trong thế giới C# không nên quá khó để viết một dịch vụ web và gọi đây là mô-đun không được quản lý, nhưng tôi hy vọng ai đó có thể cung cấp cho tôi một số gợi ý các yêu cầu.
Tôi đã bỏ phiếu cho tất cả các câu trả lời hay, nhưng đây là con đường chúng tôi thực sự đã thực hiện. Cảm ơn, Bob. – Kariem