Archive for the ‘SOA’ Category

定制 xmlbeans 所生成的 package

xmlbeans 也是 XML binding 工具之一,不了解的同学可以去了解一下,是这方面比较流行的框架之一。本篇不会长篇累牍的去介绍如何使用,相信在这方面,官方文档已足够。
我们知道,xmlbeans 提供了命令行工具,同时也有 ant task,支持把 xsd 生成 Java class 这一功能。xmlbeans 所生成的这些 classes 的 package 其实是有一定规律的。默认情况下,package 是根据 namespace 和元素类型而定。在某些情况下,特别是这个 xsd 并不是我们所能控制的情形下,我们需要生成不同于 namespace 的 package,这时就需要我们做出一些特殊处理。

By javafuns on August 15, 2010 at 17:29 · Views: 53 · Permalink · RSS · Leave a comment
Categorized in: Java, SOA · Tagged with: , ,

Differences between WADL and WSDL 2.0 HTTP binding

本文翻译自《Definition Languages for RESTful Web Services: WADL vs. WSDL 2.0》的一部分 先对如下两个名词做一些解释: WADL:Web Application Description Language WSDL 2.0:Web Services Description Language 以下翻译取自该文最关键的部分,即两者之间的不同点: 尽管 WADL 和 WSDL 2.0 HTTP binding 在某种程度上非常类似,但它们还是有一些不同点。 Resources vs. Interfaces WADL 是以资源为中心的描述语言。WADL 文档是由一组资源描述组成。与之相反,WSDL 是以接口为中心的描述语言。. WSDL 2.0 描述是由一组接口定义构成,这些接口定义则是由操作定义构成。 在 WADL 里,甚至即使是一个复杂的商业应用也被描述为对资源的基本操作。 仅支持 HTTP  vs. 独立于传输协议 WADL 只支持对使用 HTTP 协议的 web 应用进行描述。 因为限定于 HTTP,WADL 要比 [...]

By javafuns on February 1, 2010 at 23:11 · Views: 383 · Permalink · RSS · Leave a comment
Categorized in: SOA · Tagged with: ,

Tutorial of SOAP with Attachments API for Java

随着web 服务、SOA 概念的兴起,和诸多 SOA 应用的实践,Java 阵营也审时度势,趁势推出相应的 API 以应对这一变化。SOAP 是 Java web 服务栈中很基础的一项技术,web 服务间以 SOAP 消息来互相通信。
SOAP with Attachments API for Java(简称 SAAJ) 就是 Java 阵营为访问 web 服务所提供的基础设施,它简化了对 SOAP 的处理。
SAAJ 包含 2 部分 APIs,其一用于创建消息,添加消息内容,其二则用于建立连接,发送 SOAP 消息。

By javafuns on October 21, 2009 at 15:42 · Views: 240 · Permalink · RSS · Leave a comment
Categorized in: SOA · Tagged with: , , ,

Structures of SOAP with Attachments

还是图形看起来更直观: —-

By javafuns on October 15, 2009 at 22:28 · Views: 200 · Permalink · RSS · Leave a comment
Categorized in: SOA · Tagged with: ,

XML 中的 schemaLocation 属性究竟是什么意思?

在 XML 实例文档中有时会发现有 schemaLocation 属性。很多人对此非常疑惑,搞不清这个属性究竟是什么意思,究竟该如何使用。 schemaLocation 属性用来引用(schema)模式文档,解析器可以在需要的情况下使用这个文档对 XML 实例文档进行校验。它的值(URI)是成对出现的,第一个值表示命名空间,第二个值则表示描述该命名空间的模式文档的具体位置,两个值之间以空格分隔。当然,在必要情况下,可以为 schemaLocation 属性指派多个这样的值对。 <p:Person xmlns:p=”http://contoso.com/People” xmlns:v=”http://contoso.com /Vehicles” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation= “http://contoso.com/People http://contoso.com/schemas/people.xsd http://contoso.com/schemas/Vehicles http://contoso.com/schemas/vehicles.xsd http://contoso.com/schemas/People http://contoso.com/schemas/people.xsd”> <name>John</name> <age>28</age> <height>59</height> <v:Vehicle> <color>Red</color> <wheels>4</wheels> <seats>2</seats> </v:Vehicle> </p:Person> 如果为没有目标命名空间的模式文档指定位置,需用 noNamespaceSchemaLocation 属性.

By javafuns on July 23, 2009 at 13:43 · Views: 908 · Permalink · RSS · Leave a comment
Categorized in: SOA · Tagged with: ,

SMTP Transport Binding for SOAP

SOAP 除了可以 bind 到 HTTP 上外, 也可以 bind 到 SMTP 上. 其实个人感觉, SOAP bind 到 SMTP 上的场景很少会使用到, 通常限于 one-way operation (比如通知等不需要响应). 如果需要实现 request/response, 那么是需要多做一些工作的(下文会有叙述). soap:binding element 的 transport 属性需指定一个 http://xxx(例如:http://schemas.xmlsoap.org/soap/smtp) URL 来表明所要 binding 的 protocol. 似乎这个 URL 是任意形式, 只要能让调用方知道要使用什么协议即可. 在 soap:address 要给定 mailto:xxxx@xxx.xxx 这样形式的 URI. <service name=”StockQuoteServiceBinding_service”> <port name=”StockQuoteServiceBinding_port” binding=”binding:StockQuoteServiceBinding”> <soap:address location=”mailto:getQuote@test.com”/> </port> </service> 注意: [...]

By javafuns on July 19, 2009 at 23:37 · Views: 366 · Permalink · RSS · Leave a comment
Categorized in: SOA · Tagged with: , , , ,

Which style of WSDL should I use? (reship)

A Web Services Description Language (WSDL) binding style can be RPC or document. The use can be encoded or literal. How do you determine which combination of style and use to use? The author describes the WSDL and SOAP messages for each combination to help you decide.

By javafuns on July 7, 2009 at 16:40 · Views: 839 · Permalink · RSS · Leave a comment
Categorized in: SOA · Tagged with: , , , , ,

软件及服务的松耦合

软件的模块性: 模块可分解性(Modular Decomposability)——如果一种软件构造方法能有助于把一个软件问题分解为若干较简单的子问题、并用一个简单的结构将这些子问题连接起来、而且能够独立地对各个子问题作进一步分解,那么该方法就满足模块可分解性。 模块可组合性(Modular Composability)——如果一种方法,由它生产出的软件元素,未来可在不同于最初被开发的环境中通过彼此自由组合的方式来产生新的系统,那么该方法就满足模块可组合性。 模块可理解性(Modular Understandability)——如果一种方法,由它生产出的软件,人类读者无需了解其他模块(或最多只需研究少许其他模块)便可理解每一个模块,那么该方法就有利于模块可理解性。 模块连续性(Modular Continuity)——如果一种方法,在由它得到的软件架构中,功能规格上的微小改动只会引起一个(或少量)模块的变化,那么该方法就满足模块连续性。 模块保护性(Modular Protection)——如果一种方法,在由它得到的架构中,一个模块在运行时出现异常条件不会影响到该模块之外(或最多只蔓延到少数周边模块),那么该方法就满足模块保护性。 服务的模块性: 可分解性(Decomposability)——如果一种方法能有助于把一个软件问题分解为若干较简单的子问题、并用一个简单的结构将这些子问题连接起来、而且能够独立地对各个子问题作进一步分解,那么该方法就满足可分解性。 可组合性(Composability)——如果一种方法,由它生产出的软件元素,未来可在不同于最初被开发的环境中通过彼此自由组合的方式来产生新的系统,那么该方法就满足可组合性。 可理解性(Understandability)——如果一种方法,由它生产出的软件,人类读者无需了解其他模块(或最多只需研究少许其他模块)便可理解每一个模块,那么该方法就有利于可理解性。 连续性(Continuity)——如果一种方法,在由它得到的软件架构中,功能规格上的微小改动只会引起一个(或少量)模块的变化,那么该方法就满足连续性。 保护性(Protection)——如果一种方法,在由它得到的架构中,一个模块在运行时出现异常条件不会影响到该模块之外(或最多只蔓延到少数周边模块),那么该方法就满足保护性。 自查性(Introspection)——如果一个方法,由它得到的架构提供了“允许在运行时查询并检查模块结构及模块间通信结构”的机制,那么该方法就满足自查性。 远程性(Remoteability)——如果一个方法,由它得到的架构提供了“允许托管于不同物理环境下的不同模块与之进行模块通信”的机制,那么该方法就满足远程性。 异步性(Asynchronicity)——如果一个方法,由它得到的架构不假定模块调用将被立即响应,那么该方法就满足异步性。换言之,它假定网络或被调用模块有延迟。 面向文档(Document Orientedness)——如果一个方法,在由它得到的架构中,内部模块间的通信消息均是明确定义且互相知道的、而且各次调用之间不存在隐式的状态共享,那么该方法就是面向文档的。 标准化的协议信封(Standardized Protocol Envelope)——如果一个方法,由它得到的架构要求所有模块通信都共用一种通用信封消息格式,那么该方法就满足标准协议信封。 分散式管理(Decentralized Administration)——如果一个方法,由它得到的架构不需要对所有模块进行集中管理,那么该方法就符合分散式管理。 原文: SOA定义的松耦合 Loose Coupling in SOA Defined

By javafuns on April 20, 2009 at 15:50 · Views: 344 · Permalink · RSS · Leave a comment
Categorized in: Design Patterns, SOA · Tagged with: , ,
  • Highest Rated

  • My PicasaPhotos

    IMG_0554.JPG

    IMG_0550.JPG

    IMG_0532.JPG

  • RSS My del.icio.us

  • My RSS