本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】服务化体用术之用 —— JAX

时间:2017-01-25 20:37来源:报码现场 作者:www.wzatv.cc 点击:
前言 在 Java 的 Web 世界中,构建Web应用最为常见的 dispatcher 框架,老一点的 Struts 系列,现在最为流行的 SpringMVC。它们起初的目标都是构建基于模板的 web 应用程序,也就是作为一名当

码报:【j2开奖】服务化体用术之用 —— JAX

  前言

  在 Java 的 Web 世界中,构建Web应用最为常见的 dispatcher 框架,老一点的 Struts 系列,现在最为流行的 SpringMVC。它们起初的目标都是构建基于模板的 web 应用程序,也就是作为一名当时的程序员,前后端都得会。

  而随着分布式系统 和 互联网的发展,前后端分离、后端服务化的趋势越来越明朗,SpringMVC 加入了诸如 @RestController 这样概念性的 annotation 以 restful 风格的 webservice call 来语义上支持前后分离 和 后端的服务化。前端程序员不强调必须会后端,后端程序员也不强调必须要会前端,JAX-RS 不论用来做 Web 与前端程序员的分离,atv, 或者后端一系列的服务都是一个非常好的选择。

  从 51cto 来的图来表述前后端分离:

  从百度查来的后端分布式服务图:

  1对应后端概念

  相信资历比较老一些的研发,或多或少得接触过 SOA(Service Oriented Architecture)、ESB(Enterprise Service Bus)、RPC(Remote Procedure Call), 还有最近的微服务 这些概念即是为构建复杂的分布式系统而生,为后端服务化提供一套套解决方案的思路。

  ESB 企业资源总线例子图(百度来的与作者理解一致的图,作者很懒):

  2概念的 Implementations

  这些思路的出现,也有着对应的 java 框架进化着 ——— 从遥远过去的程序员制定规则到 SOAP 标准的出现到 Sun 建立的 Restful webservice 标准 — JAX-RS, 再到后来基于 Netty 的一系列 RPC 框架, 诞生了非常非常多优秀的 Java 框架,如下面举一些我的程序职业中见过得一些例子。

  WebService的SOAP标准系列: Apache Axis2、Codehaus XFire、Apache CXF

  Rest 的 WebService 的 JAX-RS 系列: RestEasy、Jersey、CXF

  基于 Netty 的 RPC 系列: Finagle、JProtobuf(我们点融内部服务项目在使用这个RPC框架)、Thrift、apache avro

  它们让我们从使用菜刀的冷兵器战场到使用AK47的热兵器时代。

  3派别模式的优点和区别

  在我的 java 世界中有两个派别:第一派即 j2ee 系列,走的是标准化道路,先有标准的定义,再由具体厂商去实现,再慢慢地进化标准; 另一派走得比较敏捷一些(Spring 系列), 反设计模式的特性,使得这一派如鱼得水;它们共同构成了 java web 的世界,模式不同但又相互交融。

  j2ee、spring 类似的对比图:

  讲了这么多,我们进入我将要介绍的正题——JAX-RS, 它属于 Restful 系列的标准、是 j2ee 系列中的产物之一。

  那么何为标准呢?标准就像你我写程序时定义的 interface,我拿着接口使用其中一个实现,即可实现系统的交互; 标准,也如同攻城射击狮画攻城图纸使用了神器-UML (统一建模语言), 画出来的东西,程序员就能够直接懂里面发生了什么, 大大减少非标准路子造成的程序员之间的沟通问题; 是标准 也就提供了通过编程序使程序理解程序、自动生成代的可能性。

  JAX-RS 是一种标准也即拥有了这些优点,看了我的后面的代,你会发现后端程序员可以这样构建 Restful 的 Webservice 服务 和 客户端。

  下面的代码中我将介绍一些 JAX-RS 标准能为我们带来的好处,如:

自动生成可与服务器交互的客户端

在客户端、服务端埋点:

  —— Track可能的性能问题

  —— 传递一些作为上游服务器拥有的session类参数给无状态的服务端

  —— 其他, 如 配合配置服务器做 服务注册与发现; 由调用方传入 transactionId保证事务最终一致; 使用 token(如 jwt) 来获得 api 的访问权限 etc。

  4Talk is cheap, show me the code.

  为了避免篇幅过于冗长,代码中仅提供 “四”中明确提出的 3个好处的实现。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容