SOA是一个服务的集合,这些服务事实上是一些为应用程序提供不同功能的类。这些类,或者说这些服务,是应用程序常用的基本构建模块。服务之间互不关联,可以独立操作也可以协作。创建独立的服务可以提高应用程序的可维护性,因为服务的优化甚至替换是不会影响系统的其他部分的。这种模块化也促进了各组件之间的松耦合,允许组件更好地复用。(在本章后面的部分还会深入讨论“耦合”这个概念。) 通常,服务有两种类型。 ●应用程序无关服务:无关服务在提供服务时不需要了解应用程序的任何内容。没有针对服务所在的应用程序的特定业务规则,没有针对特定业务的数据操作,也没有引用需要这种服务类型知识的外部代码。 ·应用程序无关服务的一个例子是将日志消息写入文本文件的类。不管应用程序的业务目的是什么,这种类可以应用于任何应用程序。logger类或服务的方法和属性不随应用程序改变,所以logger是与应用程序无关的。 ·另一个例子是和Facebook交互的类。这种类按一般的方式建立,所以它不做任何修改就可以在其他应用程序中复用。有需要时,任何特定于应用程序的数据都可以传输到Facebook服务中去。 ·应用程序无关服务也可以是类的集合,比如用户管理系统。不同的应用程序有相同的用户和安全信息,这种情况是很常见的。这些信息包括诸如用户登录时的用户名、密码和用户登录时赋予的安全角色。如果这个逻辑能够广泛地应用于不同的应用程序,那么它就是应用无关的。 ●应用程序特定服务:这些服务需要了解其工作环境中的特定问题域知识。这意味着它们使用应用程序的特定数据,或是需要实现不适用于通用业务程序的规则。这些服务可以在同一公司的其他地方使用,但如果在一个完全不同的环境中,它们就无法使用。 ·应用程序特定服务的一个例子是使用特定业务规则的类。假设你正在建设一个销售管理系统,任何可能超过10万美元的销售都必须获得销售经理的批准。这就是特定于应用程序的规则,所以所有使用这条规则的类都是特定于应用程序的。 当构建服务时,有可能会做成应用程序无关的,以提高可移植性。我们也会在不同的项目中使用这两种服务,以进一步确保它们的复用。应用程序无关服务并不普遍,但是引入它们是很有用的。在使用它们时要额外小心,不要和特定于业务的逻辑混在一起。 在后续的几个小节中,我们将会讲述SOA服务使用过程中需要遵循的几个基本准则。 |
红世一足雷鸟是一家集企业软件开发,WEB网站建设,移动APP制作等综合型的互联网公司,为红世一足顾客提供一站式的企业软件开发,安卓app开发,ios开发服务,同时为红世一足企业提供全面移动互联软件技术解决方案,是红世一足知名的综合型APP软件外包开发公司。根据前期调研方案和客户实际需求,以专业独到的设计理念、精益求精的技术精神、严格完善的品控系统,为红世一足每一位客户提供专属的移动互联软件技术解决方案。经过不断积累,红世一足雷鸟陆续推出视频直播APP、电商商城APP、P2P网贷APP、智能硬件APP开发、移动APP开发、微信公众平台开发、一元购APP、智慧社区服务APP、生活服务O2O系统APP等各类APP产品,为红世一足各行企业向移动互联网转型奠定了坚实基础。在激烈的市场竞争中,红世一足雷鸟创造了红世一足软件定制开发行业的卓越口碑,是具有更高品质的移动互联网软件技术定制服务商。