开发SOA应用程序

日期: 2008-09-07 作者:Martin C. Brown 来源:TechTarget中国 英文

  学习如何使用IBM Rational、WebSphere,和软件评估工具箱(SEK)里的其它工具开发Web服务。2005年的developerWorks SEK收入了一系列新的软件工具,您可以单独使用或综合使用它们构建Web服务解决方案。在这篇文章里,Martin Brown简要概述了SEK中各个软件工具的特征,包括可以应用于Web服务开发的特别技术。同时,他也给出了示例代码,并向我们提供了应用程序自带的样例数据。


  引言


  在developerWorks SEK里,有一系列软件工具。利用它们,可以帮助您开发Web服务解决方案,部署Web服务、存储数据、与信息和工作流产品进行整合,还包括象SAP和PeopleSoft这些软件的专有解决方案。所有的这些软件,包括Microsoft Windows和Linux的兼容版都刻录在两张高密度的DVD光盘里。


  DVD光盘包含这些软件工具各自的界面,如图1所示, 这种界面为连接和安装SEK软件提供了非常便捷的方法。



  图1:SEK DVD界面(Windows版)
 
  包含在SEK中的软件


  SEK包含了一系列的软件工具,这些工具可以帮助您开发应用程序,从业务流程的分析到运行,再到新Web服务和SOA应用程序的开发都提供了良好的支持。这两张DVD光盘包含的产品来自于IBM提供的多个套装软件。


  Rational工具


  SEK包含了多个来自Rational软件包的工具:


  ·Rational Application Developer for WebSphere Software Version 6.0
  ·Rational Functional Tester Version 6.1.0
  ·Rational Software Architect Version 6.0
  ·Rational Software Modeler Version 6.0
  ·Rational Web Developer for WebSphere Software Version 6.0


  Rational开发工具是基于成功的并且非常受欢迎的Eclipse平台,它不仅易用、灵活,而且在您的每一个开发进程中都可以使用外部开发环境。Rational Software Modeler提供了使用设计标准(比如统一建模语言,UML)构建模型的能力。通过Rational Software Modeler,您可以将这些模型转变为类和源代码,然后使用Rational Software Architect和Rational Application Developer进一步提升其性能。


  关于Web网站和Web服务的特殊开发,Rational Web Developer for WebSphere Software Version 6.0提供了一种端对端的环境。利用它,不仅可以完成开发和测试,还可以通过WebSphere Application Server产品完成Web服务的部署。


  正如以上所提到的,IBM软件开发平台使用了Eclipse,它是一种支持插件的灵活体系结构,这使得它很容易扩展并具备修改Eclipse环境的功能。这就意味着您既可以使用Eclipse,也可以使用IBM的其它工具。比如原用于Rational Suite的开发进程管理工具,这些工具包括Rational RequisitePro、Rational ClearQuest、and Rational ClearCase等等。由于这些工具提供了开发环境内的访问,这可以让开发者和管理者就工程的状态与进度进行更加便捷的沟通。


  用一个例子来显示基于Eclipse的IBM Rational产品打包体系,我认为是很有价值的,它能更好地说明这些东西(如图2所示):



  图2:IBM Rational产品包体系
 
  DB2工具


  SEK所包含的DB2工具:


  ·DB2 Universal Database ? Enterprise Server Edition Version 8.2
  ·DB2 Universal Database Express Edition Version 8.2


  无论是哪一类数据驱动的应用程序,其核心都是用于存储信息的数据库。SEK提供了DB2通用数据库易捷版的免费试用,易捷版是DB2数据库产品套装的一部分。该版本允许单一的开发者使用DB2数据库技术。由于该工具是DB2产品套装的一部分,在部署应用程序时,无需做任何的改动,即可将应用程序部署在某一服务器中,或部署在DB2数据库的企业版中,比如SEK中的DB2通用数据库企业服务器版。


  Lotus Domino and Lotus Notes


  SEK包含了两个来自IBM Lotus产品家族的工具:


  ·Lotus Domino Version 6.5.3
  ·Lotus Notes Clients (Notes/Designer/Administrator) Version 6.5.3


  Lotus Domino系统提供了一个用于内容管理和应用程序协同工作的环境。它的核心功能是,Domino是一种协同软件,它允许您构建用于协同环境的信息传递和计划控制的应用程序。Lotus Notes是一种文档管理和工作流应用软件,您可以把它当作是简单的文档管理系统使用,也可以进一步提升该产品的功能,使其提供文档或工程的开发历史。这种功能在客户关系管理(CRM)、帮助台(help desk)及其它通过对文档及沟通交流跟踪可以提高服务质量的(QoS)的环境,有着特别重要的作用。


  WebSphere应用程序服务器


  SEK包含了2个WebSphere应用服务器产品:


  ·Application Server Version 6.0
  ·Application Server Express Version 6.0


  应用服务器提供了基于Web应用程序的开发和服务发布,它对基于JAVA技术基础的发布进行了优化,比如servlets、JavaServer Pages(JSP)、企业级JavaBeans(EJB),以及Web服务。


  SEK包含了服务器的易捷版,您可以使用它单独开发并快速发布在服务器上。易捷版的安装版设计得比较直接简单,这使得它用于快速发布显得非常完美。而WebSphere应用服务器的完整版提供了更多额外的功能,特别是安全性的控制与优化、程序执行、跨多服务器上应用程序的表现。


  WebSphere集成工具


  SEK包含的WebSphere集成套件:


  ·WebSphere Business Integration Modeler Advanced Edition Version 5.1
  ·WebSphere Host Access Transformation Services (HATS) Toolkit Version 5.0
  ·WebSphere Information Integrator Advanced Edition Version 8.2
  ·WebSphere MQ Version 5.3
  ·WebSphere Studio Application Developer Integration Edition Version 5.1.1


  WebSphere集成套件包含了一系列用于集成其它平台和环境的工具。这些工具支持接口,甚至可以将专有标准转化为Web服务,以便更容易地与面向服务架构(SOA)的应用程序更好地集成。


  WebSphere Business Integration Modeler高级版是以Eclipse平台为基础的,它提供了一个简便的建模平台,可以让您模拟和验证业务处理和工作流,以便把它们转化为应用程序。同时,它还集成了WebSphere MQ(用来管理和集成工作流)和WebSphere Studio Application Developer Integration Edition,为开发以客户业务处理和工作流为基础的应用程序提供了很好的工具。


  WebSphere HATS Toolkit和WebSphere Information Integrator Advanced Edition提供了很多工具和服务可以用于应用程序的集成、互通。这些应用程序和环境可以是专有的,如SAP、PeopleSoft,也可以是大型机的应用程序和技术模块。


  IBM Workplace客户端技术


  要将Web服务部署到平台中,除了典型的服务器和桌面环境外,往往还需要额外的开发工作。使用IBM Workplace客户端技术、Micro Edition Version 5.7,您可以很容易地扩展Web服务和SOA应用程序到手提设备、个人数字助手(PDA)、及其它的移动设备上。这就使得那些就算在局域网(LAN)之外的环境中的用户,也能轻松地使用我们的Web应用。


  Tivoli软件


  IBM Tivoli Directory Server Version 5.2提供了符合工业标准的轻量级目录访问协议(Lightweight Directory Access Protocol ,LDAP)数据库,利用该数据库,可以进行安全信息存储和认证。


  使用SEK开发Web服务


  Web服务已成为支撑现代应用程序的技术和系统的核心组件,通过改造翻新,还可应用于很多既存的应用程序中。开发一个Web服务应用程序,或重新开发一个现有的应用程序,本身都不是件容易的事。然而,若使用恰当的软件和开发工具,开发一个使用Web服务的应用程序将变得更加容易。


  SOA是建造在Web服务模型上的,SOA定义了一种方法,扩展了Web服务基于对象的架构,并且可以帮助您开发模块化的应用程序。每一模块都可以通过已定义好的Web服务接口与其它模块进行通信。每一模块都是独立的,但又是可以连接的。此外,应用程序的开发变得更加容易,因为这些应用程序都是构建于更小型的组件。


  此外,您无需对应用程序进行全面复杂的重新开发,即可重写、修改、提升应用程序的功能。您只需重新生成其中的一两个组件,这既可以保留与旧SOA应用程序兼容,又提供了可用于其它应用程序的新特性和新功能。因此,SOA是对象的逻辑发展过程,包括从本地应用程序和局域网(LAN)式应用程序、再到广域网(WAN)及Internet范围的应用程序,这些应用程序可以彼此通信,并可在多个级别上进行协同工作。


  Web服务和SOA应用程序的部署均使用了开放标准,比如简单对象访问协议(SOAP)、可扩展标记语言(XML)、Web服务描述性语言(WSDL),这些标准使得在多平台和多环境中开发、部署应用程序变得更加容易。这种开发和部署的灵活性同时意味着您可以使用SOA应用软件构建新的应用程序、及旧应用程序的接口,并且可以更充分地利用有关技术和装备。


  SEK中的软件提供了一套完整的解决方案——从开始到完成——从应用程序的开发到应用程序的部署,包括那些基于Web服务和SOA的应用程序。特别是,所有的软件都提供了开发应用程序的功能。此外,如果您综合地使用这些提供全方位解决方案的工具,那么您会受益更多。举个例子,比如有一些工具已用于Web服务解决方案,同时这些工具已合并到SOA应用程序中,而您不必对功能接口进行设计开发;而另外一些工具则为部署、安全防范、Web服务和SOA应用程序的支持,提供了便捷的解决方案。


  为了帮助您理解SEK产品之间的集成和协同工作,下面用图3向您简单概述SEK产品之间的关系。



  图3,SEK工具集成
 
  SOA应用程序的开发是从程序设计和IBM软件开发平台开始的。IBM软件开发平台包含Rational产品家族、向导、模板、及构建应用程序的指南,这些指南包含了构建Web服务的专门工具。整个过程开始于IBM Rational Software Modeler,该软件为Web服务应用程序提供了建模工具,IBM Rational Software Architect提供了代码编写和完成应用程序的开发环境。当然,您还可以使用一些额外的工具(比如IBM Rational Functional Tester),来测试您的应用程序,然后把它部署到WebSphere服务器平台中。


  这一贯穿整个应用程序开发的生命周期、由界面、向导和Eclipse环境组成的工具箱可以让您更轻松地设计应用程序,更一致地将SOA应用程序的组件捆绑在一起。比如,Eclipse环境包括了浏览器和发现工具,以更好地查找现有的Web服务;同时在Eclipse环境里,您可以浏览它们的功能和界面接口。图4显示了一个关于Web服务浏览器的例子,同时显示了IBM Rational Application Developer的主要界面。



 


  图4:Rational Application Developer中的Web服务浏览器
 
  DB2通用数据库是一种关系型数据库解决方案,您可以使用它存储结构型数据,以及SOA应用程序使用的对象和组件。DB2扮演的角色既可以是Web服务的提供者,也可以是Web服务的消费者。DB2 Web服务对象运行时框架(Web services Object Runtime Framework,WORF)可以自动生成读取DB2数据的WSDL接口,该过程是通过一种文件定义实现的,我们将之称为文档访问定义扩展(Document Access Definition Extension,DADX),这种文件包含了关于数据结构和您希望支持的操作的有关信息。Web服务对DB2的接口和Java服务器解决方案(如WebSphere)实现捆绑。作为消费者,DB2使用了Starburst扩展,从而允许您通过SQL将来自其它Web服务的数据进行集成。您可以使用WebSphere Studio的插件将WSDL定义转变成DB2 SQL功能所需要的东西。您无需编写复杂和费时的代码,即可轻松地将DB2以数据提供者或数据消费者的方式,集成到SOA应用程序和应用环境中,这在相当程度上简化了开发过程。


  一旦要发布您的Web服务和SOA,应用服务器提供了您需要的高性能及高安全的发布平台。WebSphere是灵活和高可配置的,而且还与其它SEK工具保持良好的兼容与集成。比如,您可以使用IBM软件开发平台来测试,并直接在WebSphere服务器上部署您的Web服务。因为从开发到部署的一切东西都已在Eclipse平台中提供了,所以在开发到部署过程中,您不需要在应用程序、环境、平台之间之间切换。这种较强的易用性不仅提升了工作流,也加快了应用程序的开发和部署。


  在安全方面,Tivoli Directory Server提供了符合工业标准的LDAP服务,该服务和应用程序服务器集成在一起,为我们提供了目录服务,包括服务发现、认证,以及为保护Web服务组件的必要安全访问控制信息。


  由于改写现有的技术和软件可能会比较困难,尤其是那些基于主机、监控(turnkey)、和专有的解决方案的程序更是如此。所以,一些SEK工具为我们提供了构建和发布Web服务接口的解决方案,之后您就可以将Web服务集成到SOA的部署中。例如,IBM HATS提供了可以连接3270和5250主机接口的HTML界面,您可以使用HATS建立Web服务接口,用于主机的事务处理和相关操作。


  总结


  总之,在您的组织里设计、开发、部署Web服务和SOA应用程序所必需的一切工具,都已包含在developerWorks SEK里。SEK提供的工具包含这些功能:设计和业务流程建模,将业务流程转化为应用程序模型或应用程序;进一步开发它们,形成工作代码。同时,您有消息和文档流的完整数据库解决方案,以帮助您的现有业务流程的信息存储;最后,还提供了一套部署和管理应用程序的工具,以帮助您试运行应用程序。


  关于作者


  Martin C. Brown以前担任过IT主管,在跨平台集成方面有丰富的经验。他作为一名目光敏锐的开发人员,一直为特殊的用户制作动态站点,并兼任Foodware.net的技术主管。现在他是一名自由撰稿人和顾问。他更出名的地方是作为一名SME与微软公司紧密合作。此外,他还是LinuxWorld杂志的LAMP技术编辑,及AnswerSquad.com团队的核心成员,同时他还撰写大量技术书籍,比如:XML Processing with Perl,Python and PHP and the Microsoft IIS 6 Delta Guide。您可以通过questions@mcslp.com与MC联系。 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。