业务服务设计模式
此模式具有以下主要类型的抽象:
• Type
• Cookie
• Helper
• Service
• ServiceEvent
• ServiceException
ServiceFactory
Type
Type 抽象提供了一种接口,用于以特定类型键入对象。此接口是服务期望在输入和输出 (而不是其他信息) 方面处理的接口。未指定某个类型的对象不能被服务静态使用,因此在编译时将被拒绝。通常,类型是一种可持续对象。
Cookie
Cookie 抽象提供了一个类,用于指定要与类型化对象关联并存储为该类型化对象一部分的信息。当对象断言自身为 Type 时,Cookie 及其属性 (包括所有嵌套属性) 将与适用的访问器一起生成到对象中。如果 Cookie 的基数为 0..1,则在不需要 Cookie 的所有属性的情况下,可以将 Cookie 及其所有嵌套属性存储为空。如果 Cookie 的任何简单或结构化属性在数据库中被约束为非空内容,则 Cookie 将被强制为非空内容。
Helper
Helper 抽象提供了一个类,用于表示可从中调用所有可见功能的服务的外部接口。帮助程序仅指定静态方法和属性,无需创建任何实例即可访问任何其他类。静态方法通常为 Cookie 访问器。
Service
Service 抽象提供了一个接口,用于指定服务本身的主要功能,如果使用 @RemoteInterface 注释了该接口,则可以远程调用,也可以不远程调用。否则,服务的接口将仅在服务器中本地可用。必须遵守并实现此接口,服务才能正常运行。此外,服务方法的标准实现也存在。此标准实现是在服务器上执行的单态,并且是所有 Windchill 服务的默认实现。
ServiceEvent
ServiceEvent 抽象提供了可从服务中激发的事件的通用定义,并会通知另一个服务事件。此事件指定用于为监听程序生成密钥的一种或多种具体值。由于这些特定类型的具体值在本质上非常简单,因此仅为每个已定义所有具体值的服务指定事件。
ServiceException
ServiceException 抽象提供了异常情况的通用定义,该异常情况可能是由于服务中异常行为而发生的。此异常以及服务的资源束可专门用于抛出任何和所有种类的错误。但是,对于更明确和适用的错误,专门化此异常可能是合适的,但并不是必需的。
ServiceFactory
ServiceFactory 是用于查找 Windchill 服务接口的实现的实用程序。ServiceFactory 主要用于远程可调用服务,但也可以用于服务器端服务 (例如 PersistenceManagerSvr)。