没有合适的资源?快使用搜索试试~ 我知道了~
利用STP构建 Web Service(SOA)
需积分: 19 8 下载量 151 浏览量
2009-05-24
21:29:51
上传
评论
收藏 764KB PDF 举报
温馨提示
试读
11页
本文通过创建一个使用SOA架构的自动添加发送者所在位置的短信发送程序,介绍如 何通过Eclipse STP插件构建和发布Web Service,并使用VisualStudio.net构建Web Service客户端。
资源推荐
资源详情
资源评论
利用 STP 构建 WebService
王彬 063053195
摘要:本文通过创建一个使用 SOA 架构的自动添加发送者所在位置的短信发送程序,介绍如
何通过 Eclipse STP 插件构建和发布 Web Service,并使用 VisualStudio.net 构建 Web
Service 客户端。
关键字:SOA,JAX-WS,STP,CXF,Eclipse,Visual Studio
1 简介
随着时代的发展,各种系统构建技术层出不穷,Web Service 以其开放标准,松散耦合
为代表的巨大优势,很快为业界所青睐。通过 Web Service 实现的面向服务的体系结构(SOA,
Service-Oriented Architecture)很快成为流行的软件体系结构。
使用 J2EE 技术实现 SOA 的系统,由于要编写很多各种原始的文件,变得极赋挑战性,
因而不同的商业公司及组织制作出各种各样的工具,以减少开发人员的开发代价。
Eclipse.org 作为业界最有名的组织之一,他们开发了基于 Eclipse 的 STP 组件,以协助开
发人员完成这种挑战。
2 相关技术
2.1 SOA
SOA(Service-Oriented Architecture),即面向服务的体系结构,它是由 IBM 公司提
出并倡导的一种软件体系结构。它支持业务作为链接服务或可重复业务任务进行集成,可在
需要时通过网络访问这些服务和任务。这个网络可能完全包含在您的公司总部内,也可能分
散于各地且采用不同的技术,而用户感觉就像这些都安装在本地桌面上一样。需要时,这些
服务可以将自己组装为按需应用程序——即相互连接的服务提供者和使用者集合,彼此结合
以完成特定业务任务,使业务能够适应不断变化的情况和需求。
这些服务是自包含的,具有定义良好的接口,允许这些服务的用户(称为客户机或使用
者)了解如何与其进行交互。从技术角度而言,SOA 带来了“松散耦合”的应用程序组件,
在此类组件中,代码不一定绑定到某个特定的数据库(甚至不一定绑定到特定的基础设施)。
正是得益于这个松散耦合特性,才使得能够将服务组合为各种应用程序。这样还大幅度提高
了代码重用率,可以在增加功能的同时减少工作量。由于服务和访问服务的客户机并未彼此
绑定,因此可以完全替换用于处理订单的服务,下订单的客户机-服务将永远不会知道这个
更改。所有交互都是基于“服务契约”进行的;服务契约用于定义服务提供者和客户机之间
的交互。
通过使用 SOA,可以得到如下的好处:
更高的业务和 IT 一致性
基于组件的系统
松散耦合的组件和系统
基于网络的基础设施,允许分散于各地且采用不同技术的资源协同工作
动态构建的按需应用程序
更高的代码重用率
更好地标准化整个企业内的流程
更易于集中企业控制
图 1. SOA 的生命周期
在 SOA 的生命周期中,建模、组装、发布与管理是一个连续的阶段,可以不断重复这个
过程,进行增量开发你的系统,亦可以进行升级与变更。
2.2 JAXWS
JAX-WS(Java API for XML Web Services)2.0,JSR 224 是 Java EE 5 平台的重要组成
部分。作为 Java API for XML-based RPC 1.1 (JAX-RPC) 的后续发行版本,JAX-WS 简化
了使用 Java 技术开发 Web 服务的工作。并且通过对多种协议(如 SOAP 1.1、SOAP 1.2、
XML)的支持,以及提供用于支持其他协议和 HTTP 的工具,它解决了 JAX-RPC 1.1 中存在
的一些问题。JAX-WS 使用 JAXB 2.0 提供数据绑定服务,并支持通过定制来控制生成的服
务端点接口。通过对标注的支持,JAX-WS 简化了 Web 服务开发,并缩小了运行时 JAR 文
件的大小。
2.3 ApacheCXF
作为继承 Celtix 以及 Xfire 两大开源项目的精华,Apache CXF 提供 JAX-WS 的全面支
持,并且提供了多种 Binding 以及 Transport 的支持,开发者可以采用 WSDL first 或者 Code
first 实现 WebService 的构建。它简化了基于标准的 SOA 系统的业务模块的构建、发布与
重用。
使用 Apache CXF,服务通过 WDSL 契约定义,可以通过基于各种通讯协议的消息格式(或
绑定)访问,包括基于 HTTP 的 SOAP,基于 JMS 的 SOAP,基于 HTTP 的 XML,基于 JMS 的 XML
等。CXF 是设计为一个可插接的结构,不仅可以支持 XML 格式的绑定,还可以支持通过各种
传输方式的非 XML 格式绑定,除了 JAX-WS,它还可以支持 JBI, SCA, 和 CORBA,并可以发
布到 Spring-based, JBI, SCA, Servlet 和 J2EE 容器中。
2.4 Eclipse
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是
一个框架和一组服务,用于通过插件组件构建开发环境。它还附带了一个标准的插件集,包
括 Java 开发工具(Java Development Tools,JDT)。
虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限
于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组
件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝
集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用
户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支
持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用。Eclipse 框架还可作为与软
件开发无关的其他应用程序类型的基础,比如内容管理系统。
2.5 STP
STP(SOA Tools Platform),它是 Eclipse 的一组插件,它协助开发者设计、构建、
组装、部署、监视和管理 SOA 架构的软件系统。
SOA 包含若干个 Web 服务,它们将互动并协作以建立整个应用程序而不是单片应用程
序。另一方面,SOA 更易于维护和部署,因为它是用一个 Web 服务构造的,每次构造一个
构建块。这就是 STP 可以帮助您完成的工作:构建和部署各个 Web 服务。
STP 插件克服了这个问题,将整个流程引入基于灵活的 GUI 的环境:Eclipse。STP 插
件使 SOA 更简单,因为从字面上说,任何人都可以用它构建和部署 Web 服务。
使用 STP 插件的主要优点来自 Apache CXF 的,它是 STP 插件使用的 Java API for
XML Web services (JAX-WS) 实现。Apache CXF 允许使用 Java 注释而不是大量选项来定
义复杂的 Web 服务,从而简化 Web 服务的创建。
它由以下五部分组成:
STP Core Framwork,定义 SCA 规范的 EMF 模型
STP SOA System,提供工具用于组装,构建,打包和发布 Web 服务到运行时容器
STP Service Creation,管理 STP 提供的 SOA 模型与实现(JAX-WS 规范)之间的联系,
以完成从上至下的或者是从下至上的甚至是混合的方式构建与发布 SOA
STP BPEL 2 Java,把 BPEL(可执行的业务流程语言)翻译成可执行的 JAVA 类
STP BPMN,用 BPMN 标注进行业务过程建模的图形化编辑器和工具,并生成和验证 BPEL
语言
2.6 VisualStudio.net
Visual Studio .net 是由微软公司(Microsoft)发现的一款集成开发环境,它可以用于
快速开发和部署各种 Windows 程序及 Web 程序,支持 C#、C++、VB.net、J#等多种语言的开
发,以方便快速而著称。
剩余10页未读,继续阅读
资源评论
jinchun1234
- 粉丝: 54
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功