软件项目实训选题

核心提示软件项目实训及课程设计指导——为什么要应用和实现面向服务的系统架构设计面向对象的架构设计能够适应不断变化的软件系统的需求,而面向切面架构设计是对面向对象架构设计的进一步扩展和完善,但面向对象的架构设计和面向切面架构设计都是针对单一的软件应用

软件项目培训和课程设计指导——为什么要应用和实现面向服务的系统架构设计?

面向对象架构设计能够适应软件系统不断变化的需求,而面向方面架构设计是面向对象架构设计的进一步扩展和完善。然而,面向对象的体系结构设计和面向方面的体系结构设计都是为单个软件应用系统设计的。面向服务的软件系统架构设计方法可以更好地解决企业级软件应用系统的集成。

在这一系列文章中,作者将向读者介绍面向服务的软件系统架构的设计方法和应用实例,欢迎读者提出建议和理性评论。

1.了解企业信息平台和信息应用系统建设的客观环境。

企业信息应用系统的建设是分历史阶段完成的。

由于历史和企业自身发展的原因,企业信息应用系统的建设是在不同的历史阶段完成的。这就导致企业的信息平台在建设之初就有自己特定的技术平台和系统架构。随着企业业务规模和业务的变化,需要不断完善和修复企业信息应用系统的功能,这将使企业信息应用系统的维护和管理更加复杂,同时也增加了企业在信息领域应用的成本。

各个历史阶段建设的企业信息应用系统相互独立,数据共享困难。

目前企业面临的是信息化状态,即企业信息平台和信息应用系统的应用环境是异构的,这将导致企业在应用信息系统的过程中出现一系列的应用问题:例如,为了完成某个业务表单的数据统计和数据分析,并根据数据分析的结果构建相关的报表和图表,企业工作人员需要浏览企业的人事、财务、生产、销售等相关软件应用系统,以获取相关数据。

但问题是,这些软件应用系统是相互隔离的——不同时期开发的应用系统,不同系统平台开发的应用系统。最终,工作人员需要回到手动操作数据的时代,手动干预和重新处理来自各种数据源的数据。

2.企业需要的信息系统是能够提供“知识管理和协同办公”的信息平台。

一般大企业都有很多子公司或者不同的事业部,各个事业部的业务经营状况甚至要解决的问题也是不一样的。企业所面临的业务情况当然会导致不同的业务部门需要不同的信息平台和相应的软件应用系统。

然而,公司总部和各个分支机构之间需要“协作和协调”。另外,这个企业需要和它的上下游企业进行信息共享和合作,形成产业链。因此,企业在运营和发展过程中,需要一个能够提供“知识管理和协同办公”的信息平台。下图显示了单个企业信息系统中各子系统之间的关系。

3.企业信息平台和信息应用系统必须解决的主要问题。

首先,如何解决“信息共享”和“服务集成”这两个技术问题

从上述企业信息平台和信息应用系统建设的客观环境来看,企业级应用系统是异构的——技术平台和运行环境往往不同。而且,随着企业自身和计算机软件技术的发展,网络和硬件设备的不断升级,企业信息平台中的“信息孤岛”问题越来越严重。

面对企业信息化应用的这种情况,企业管理者和决策者往往会有这样或那样的困惑——信息化中的“投入”和“产出”严重失衡!如何摆脱这种困境?要摆脱困境,需要解决企业信息化推进中的“信息共享”和“服务集成”两大技术难题。

其次,如何适应企业不断变化的业务需求。

企业的成长是在经营过程中不断实现的,这也意味着软件应用系统的业务需求在不断变化和调整。企业信息应用系统应能在一定时期内持续辅助企业的运营和生产。因此,如何使企业信息系统适应企业管理中不断变化的业务需求?

最后,如何解决异构环境下各种软件应用系统的互联和集成。

由于企业信息应用系统的建设是在不同的历史阶段完成的,必然导致企业信息应用系统环境的异构。但是,还需要企业信息系统与企业信息系统之间,以及企业信息系统内部子系统之间的通信和共享——即异构环境下企业信息应用系统之间的互联和集成。因为企业信息化的应用开发是为了拓展供应链,支持客户和合作伙伴接入业务服务,IT基础设施如何支持企业提高应变能力?如何同时解决B2B和EAI

4.异构环境下的企业级应用系统,会增加各种系统之间的集成和集成的整体成本。

企业信息平台“信息孤岛”问题的存在,使得企业内部和企业之间很多有用的信息无法共享,业务无法协调发展,造成大量信息资源的浪费和应用系统的重复建设,增加了企业信息化的整体成本!

各技术平台的技术标准也不一致。Sun公司有自己的J2EE技术规范,微软也提出了自己的一套企业平台技术标准,而Oracle公司有自己的数据库系统平台!因为在同一个操作系统平台上,往往需要集成不同软件厂商的各种系统级平台软件。还会增加平台级系统软件之间相互集成的成本!

5.企业信息化应用系统应该帮助企业提高竞争力,而不应该成为“鸡肋”甚至“包袱”

随着互联网技术的不断发展和技术的快速更新,全球形式的电子商务产生了激烈的竞争,企业产品的生产和销售周期更短。因此,企业在推广信息平台的同时,也对信息应用系统所依赖的技术平台提出了新的应用要求——虽然在不同技术平台下构建的软件应用系统是异构的,但它们可以相互交流、共享和协作!

6.面向服务的架构可以有效解决异构环境下应用系统的互联。

如何满足企业在生产和管理过程中的应用需求,IT领域的有识之士开始反思传统面向对象技术和基于面向对象技术的面向组件技术中存在的问题。期待新的开发思路和技术支持,Web服务技术和基于Web服务技术的面向服务的软件系统架构逐渐普及,并广泛应用于企业应用系统的开发。

由于SOA可以集成各种组件技术,以Web的形式提供服务,并通过松耦合的基于消息的通信模型与应用程序和其他服务进行交互,因此它为将来要开发的各种面向服务的应用程序提供了自动集成。当企业的业务需求发生变化时,不需要对原有的企业应用系统进行改造,真正达到“按需互联”的应用效果。

目前很多系统平台都为Web Service技术提供了应用支持,Web Service技术已经成功实现了面向服务的架构。通过Web服务技术,企业应用程序可以以标准方式为其他企业应用程序“公开”功能和数据。

7.Java和J2EE应用平台下Web服务技术的支持与实现

JAX新闻

JAX-WS规范实际上是一组XML Web服务的JAVA API,是用JAVA语言开发基于SOAP的Web服务的标准。您可以使用JWS API直接开发简单的Web服务应用程序。

MyEclipse开发工具为JAX WS提供了全面的技术支持。开发者可以在MyEclipse开发工具中选择菜单项File—New—Web Service Project,创建一个基于JAX-WS的Web Service应用项目—如下例图所示。

然后在下图所示的对话框中,根据应用项目的要求输入并选择相关信息——在下面的WebServices框架列表框中选择JAX-WS框架类型,最后就可以创建一个基于JAX-WS的web services应用项目了。

JAX遥感中心

JAX-RS是一个基于Java的应用程序接口,它支持根据可表达的状态转换架构风格创建Web服务。JAX RS使用Java注释,简化了Web服务应用系统中Web服务客户端和服务器端的开发和部署。JAX RS是从JAVA EE6版本引入的一种新的Web服务实现技术。

MyEclipse开发工具也为JAX遥感提供了全面的技术支持。开发者可以在MyEclipse开发工具中选择菜单项File-New-Web Service Project,创建一个基于JAX-RS的Web Service应用项目。然后在下图所示的对话框中,根据应用项目的要求,输入并选择相关信息——在下面的WebServices框架列表框中选择JAX-RS框架类型,最后就可以创建一个基于JAX-RS的Web Services应用项目了。

8.JAX-WS和JAX-RS在Web服务技术实现上的差异

事实上,JAX-WS是传统SOA的Web服务实现。它使用基于XML规范的SOAP协议来描述消息的内容,这需要WSDL、UDDI等。下图是file/tupian/20220827/detail ID = 224,JSR 224的页面信息的部分截图。

JAX RS是休息式的,不需要WSDL,UDDI等。Web服务开发人员用JAX-RS注释来修饰Java程序类,以定义资源和可应用于资源的行为。下图是file/tupian/20220827/detail ID = 311和JSR 311的页面信息的部分截图。

 
友情链接
鄂ICP备19019357号-22