尝试将WCF映射到Java术语

通过写这篇文章,我冒着被.NET和Java社区拒绝的巨大风险。 试图解释Java术语WCF (代表Windows Communication Foundation)是什么。

服务按钮-150x150 从WCF到Java的映射并不是很简单。 我缺乏对WFC使用者应该了解的与服务通信类型的了解:请求/响应或异步消息传递。 我很难想象这对于用户来说是完全透明的……除非WCF框架“消除”消息传递的异步性并照顾等待响应消息。 如果最新发生,那么实际上没有异步消息!

像往常一样,使用Java(我真的很想念它与.NET一起使用),存在技术规范,并且这些规范有各种实现。 尽管通常使用这些应用程序进行测试,因此声称可以支持所用规范的明确实现,但从理论上讲,最终选择是在部署期间或在应用程序启动之前完成的。

每当我们谈论服务时,我们都会拥有实际的服务及其消费者。

让我们从消费者开始。 为了发送异步消息,最好针对JMS (Java消息系统规范)编写它们。 JMS的使用者只需要知道目标队列或主题的逻辑名称即可。 对于请求/响应通信,应该针对普通的服务接口编写消费者。 该接口与服务端和传输层中使用的技术无关。 为了在运行时获得接口的显式实现,使用者使用外部可配置的Factory。 该工厂将为Web服务使用JAX-WS ,为RESTful服务使用 JAX-RS ,为远程EJB(企业Java Bean)使用RMI或为进程内服务使用纯对象(PO​​JO)。

你还在吗? 然后,我们转到服务端。 如果服务使用消息,则可以直接使用JMS或将其作为消息驱动Bean(EJB风格)来实现。 最后一个选项为您提供了来自Application Server(类似于IIS)的所有事务性和可伸缩性。 如果服务应该提供响应(包括失败),则黄金法则是让它们实现一个简单的接口,即服务使用者将使用的接口。 然后,通过向接口实现代码中添加注释或通过在Application Server中使用外部配置,您的实现都可以作为Web Service或Session EJB进行访问。 实际上,如今,大多数服务器都能够将会话EJB公开为Web服务。 如果使用代理模式,那么您还将拥有一个干净,完好的接口实现,供进程内使用方使用。

这是一个很冗长的解释。 “ 所有跨层实体都是WCF服务 ”的简短翻译是:

“所有实体均由其接口定义,并针对其他实体的接口编写。 实体的实现是普通的旧Java对象(PO​​JO),可能由EJB代理包装”

翻译自: https://www.javacodegeeks.com/2014/04/attempt-to-map-wcf-to-java-terms.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值