Я создаю пару сервисов, которые мне нужны для удаленного доступа друг к другу. В настоящее время я использую Spring RmiServiceExporter, но мне интересно, есть ли рамки, которые не зависят от классов java, серийного номера и т. Д. Другими словами, я не хочу делиться Java-кодом/классами между службами ,RPC Framework для Java
ответ
С RMI вы всегда будете преданы Java-классам. Могу ли я предложить вам взглянуть на подход веб-сервиса RESTful?
Ваши варианты включают в себя:
- SOAP Web Services
- XML-RPC
- Apache Thrift
- Protocol Buffers (см также this question)
- Apache Avro
- RESTful веб-сервисы
ОТДЫХ, в частности, на самом деле не RPC; он требует другого стиля мышления, где вы фокусируетесь на определении богатого набора ресурсов (существительных), а не на богатом наборе методов (глаголов).
Другие могут обеспечить более традиционный RPC, но с менее жесткой связью с Java, и поэтому независимы от языка программирования.
В SOAP вы можете написать интерфейс в WSDL или сгенерировать его из аннотированных классов Java.
В Thrift вы пишете интерфейс в TRLID IDL и генерируете классы Java из этого.
Вы можете проверить Spring HttpInvoker. Или Гессиан и Бурлап поддерживаются весной. См. http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html
Protocol Buffers - это хороший способ избежать проблем с сериализацией/версией и оставаться агностиком.
Другой вариант: Versile Java (Я - один из разработчиков). Он находится в разработке, но уже достаточно стабилен, поэтому вы можете попробовать, если лицензия GNU Affero GPL будет работать для вашего проекта.
Вертикальная Java обрабатывает взаимодействие на уровне объекта. Выставление объектов и методов осуществляется прямолинейно, наследуя соответствующий базовый класс и используя аннотации. Ниже приведен простой пример.
import org.versile.orb.external.*;
@Doc(doc="Provides an echo service")
public class Echoer extends VExternal {
@Publish(show=true, ctx=false)
@Doc(doc="Echo service, returns the provided argument.")
public Object echo(Object obj) {
return obj;
}
}
В качестве бонуса вы также можете использовать его для взаимодействия с клиентами Versile Python или услуг.
- 1. Framework для сервера RPC Java
- 2. Zend Framework XML-RPC?
- 3. Java framework для социальной сети
- 4. XML-RPC PHP Java
- 5. XML-RPC с Java
- 6. RPC Framework на C++ с использованием ZeroMQ
- 7. Entity Framework RPC против пакетной производительности
- 8. JSON-RPC в Spring Framework 3
- 9. Zend Framework 2 JSON-RPC Недопустимый запрос
- 10. Cocoa XML-RPC framework Методы XMLRPCConnection
- 11. Методы аутентификации для XML-RPC-сервера Zend Framework
- 12. протокол Буферы Java RPC Stack
- 13. предложение для java framework
- 14. java - Framework для GroupBy
- 15. XSLT Framework для Java
- 16. Настройка сервлета Java XML-RPC
- 17. Сравнение Java RPC vs WebServices
- 18. Java GWT - сотовый и RPC
- 19. Java RPC библиотека с capnproto?
- 20. Потребление xml-rpc в java?
- 21. RPC/literal против RPC/закодирован в Java WebService потребитель
- 22. Вызывать службу RPC GWT с Java, проблемы с политикой RPC
- 23. RPC/XML-RPC/JSON-RPC в PHP
- 24. UML для GWT RPC
- 25. RPC для издателя отсутствует
- 26. Framework для приложения Java CRUD
- 27. Java Framework для управления задачами
- 28. Java Framework для управления паролями
- 29. Порт LLVM framework для Java?
- 30. .NET Entity framework для java
Спасибо. Я посмотрю – Mikhas
@ Mikhas Надеюсь, что это соответствует вашим потребностям; не стесняйтесь использовать наш [форум] (https://versile.com/forum/), если у вас есть какие-либо вопросы – Versile