首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

设计夸姣的服务器(7)-Apache CXF笔记

2012-11-06 
设计美好的服务器(7)--Apache CXF笔记OverView???XFire作者的Blog,现工作于MuleSource。?、??两位IONA北京员

设计美好的服务器(7)--Apache CXF笔记
OverView ? ? ?XFire作者的Blog,现工作于MuleSource。 ?、??两位IONA北京员工的Blog。?架构笔记

CXF的架构看多了有点熟悉而无聊,核心模块更是经典得没法更经典了。

???? 一、核心处理模块:

Bus -- CXF容器,基于Spring的Container与Configuration。 ServiceModel -- 服务元数据,其中ServiceInfo类似WSDL,而其他部分描述了DataBinding,Interceptors等CXF属性。 Message -- 在框架内流动的通用信息单元。 ?-- 在管道内处理信息的功能单元,由Interceptor Chain控制,分属不同的阶段(Phase)。

????? 二、扩展模块:

FrontEnd -- 用户编程API(如jax-ws,simple,javascript),被隔离于核心模块。 Trainsport -- 抽象、可扩展的传输层(如servlet,jetty,jms,local),Destinations与Conduits代表接收与发送者。 Binding -- 抽象、可扩展的协议解释层(如soap,http,xml,object),实现createMessage()初始信息,然后通过预设置的一系列专用Interceptor实现解释。 Data Binding -- 抽象、可扩展的XML与Java Object映射层(如jaxb,aegis),实现不同的Reader与Writer进行编解码。

??????三、运作流程?

    CXF可以独立运行(Jetty),也可以整合到Web服务器(servlet,jca) 使用FrontEnd(如JaxWsServiceFactoryBean)从WSDL或annotated java class反射创建ServiceModelTransport(http,jms,local)上接收请求 通过Binding(SOAP,REST,JMS和Corba)创建Message,并由一系列Binding预设定的Interceptor进行解释与WS-*协议处理 确定目标的Java服务,并把Data Binding(JAXB,Aegis)解码参数 最后调度Java方法,将返回结果重新编码并发送回去。
直接处理原始XML请求的Provider接口

JAX-WS的API有两个层次,除了常见DataBinding后调用最终Java方法外,还可以使用客户端的Dispatch与服务端?,CXF默认是直接调用POJO或Spring里的Bean,可以通过Invoker调用EJB等对象。

?

1 楼 alloyer 2008-09-12   你的Mule ESB笔记太强大了,非常感谢! 2 楼 男儿当 2008-09-12   偶滴仙啊,白衣终于又写笔记了。 ~~~~ 考试全靠它了  热泪盈眶ing

热点排行