本文简单介绍了OSS/J,一个用于构建下一代OSS的API架构。文中描述了OSS/J的由来、发展、OSS/J的特点、基本架构及其与NGOSS规范间的联系。
下一代OSS将在电信竞争中发挥巨大影响,这一点引起了厂商,集成商,独立软件供应商到电信运营商的广泛共识。众多电信研究组织针对其展开了广泛的研究,其中以TMF论坛提出的下一代运营系统和软件(NGOSS ,next generation operating system and software)显得尤为突出。与此同时,另一项标准——OSS/J,也在不断充实,逐渐引起了人们的极大关注。NGOSS提供了一个技术无关的框架,而OSS/J则提供一个符合框架原则的技术相关(Java)的实现方案。NGOSS关注架构原则,提出了公共通信机制,流程控制外部化,合约定义接口等架构原则,同时定义了共享信息和数据模型,便于应用集成。OSS/J为构件创建一个标准运行环境,消除了学院框架和实践设计模式间的障碍。事实上,OSS/J在很大程度实现了TMF的愿景。
一 OSS/J的由来
就在TMF于2000年提出NGOSS的概念时,以SUN为首的一些厂商,如BEA,IBM,Motorola,NEC,Nokia等,酝酿成立了OSS/J工作组(OSS/J,OSS through Java™ Initiative )。自2000年成立以来,他们一直在为加速OSS/BSS解决方案的开发、简化其中系统组件的部署和集成而努力。OSS/J规范的推出是在JCP( Java Community Process, http://jcp.org)支持下完成的,以Java规约请求(JSR,Java Specification Request)的形式提交。JCP是SUN和许多其它主流厂商所主导的一个社团,现有500多个公司和组织参与,其中包括BEA,IBM等众多业界的领袖。OSS/J通过JCP的协议控制过程保证JSR的中立性。JCP产品中包括了 OSS/J的规范、参考实现和兼容性测试工具。
OSS/J规范推出以后,得到了业界的广泛认可,许多电信运营商、服务提供商、系统集成商争相追随。来自IDC的2002年的报告显示,“由于OSS/J的努力,OSS和计费架构正在演化,竞争规律在OSS和计费领域正在发生变化,java的使用将对行业产生深远的影响。而随着SA、TT、Qos API的发布,许多服务提供商和供应商认为,采用JAVA技术实现OSS已经到了实际可行的阶段。Yankee Group也在研究报告中指出“CSP面临日益增加的压力,不但要降低运营费用,还要快速推出新的业务,OSS/J对CSP的生存至关重要。OSS/J在当前通信领域可见的标准中最具有前景。
二 原则和架构
OSS/J在目标原则的指导下,以J2EE平台为基础,运用设计模式,设计了一组API框架,它具有非常强的可集成性和可扩展性。
OSS/J的制定立足于J2EE平台,它的制定基于以下原则:
·OSS的功能以EJB构件定义实现
·粗粒度,面向业务的接口
·利用应用服务器支持集群,可扩展性和错误恢复
·利用消息最小化构件间的耦合
·支持工作流
·依靠JCA集成遗留系统
图1:OSS/J系统架构
工作组利用JAVA技术,为OSS/BSS定义实现了一系列的开放的标准API,提供给OSS/BSS的开发者使用。OSS/J的优点在于它定义了标准的接口,应用间可以通过此接口进行交互。API的定义中考虑了其适应性和可扩展性。在设计中应用了许多设计模式,保证了新实体加入时,不会影响到API的架构。下图显示了一个集成多个网络系统的Qos API的情形。
图2:多网络Qos集成图
OSS/J设计的实现依赖如下几个机制:
·依赖XML消息实现异步和和松耦合交互模型
·强类型,基于对象的事件
·XML消息机制
·基于JMS的事件和消息订阅机制
·利用JNDI规范,定位OSS/J架构元素(会话对象,主题,队列等)的服务
·依靠外观模式实现OSS/J的会话组件接口,以JVT对象作为参数
OSS/J定义了如下两种交互模式,用以支持A2A的集成和B2B的集成:
JAVA值类型会话对象(JVT,Java Value Type Session Beans): JVT是一种JAVA模式,通过值对象作为参数来访问后端实体。应用外观(facade)模式,通过单一接口访问系统定义的实体。以Java值类型对象作为参数,也可进行批量操作。JVT类型接口使得JAVA应用间可以进行紧耦合的集成。
XML/JMS消息: OSS/J中定义了JAVA对象到XML的映射,在XML表示和JAVA对象间建立了一个等价的对应关系。XML表示的消息请求中定义了操作,它传递使用XML模式定义的标识和管理实体的状态。XML表示的请求对象被传递到特定应用的消息驱动对象(MDB,Message Drive Bean),MDB通过JVT接口操作实体。
图3:交互模式
, asdf Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
标签: