ProfilMaple's WorldBlogListen Extras Hilfe

Blog


    31 Mai

    提议:倒计时

    Only one month now!
     
    --weijian [ MSN Spaces真慢啊,还在一边拉着Messenger死不放 :( ]
     

    关于需求的具体化

    由于第一版的需求很不明确,我们现在需要及时地把需求具体详细的分析出来,计划这个周末搞定,请各位劲力,我想把需求分析完整后,后面的设计中就不需要过多地修改了(肯定还有改动的地方-废话)...
     
    -weijian [ MSN真慢啊,还在一边拉着Messenger死不放 :( ]
     
     

    杂谈服务的设计与集成

    1. 以服务为中心的集成(Service-Oriented Integration简称SOI):定义:在"以服务为中心的体系架构"(SOA)中,通过服务的交互来集成各企业的 IT 资源,如分布的应用或者数据,帮助企业 IT 部门将已有但老旧而不灵活的系统集成起来,释放其中功能或数据为可重用的服务与业务流程。SOI 的好处: 定义良好而又基于标准的接口- 服务的描述易于理解,而且标准一致;  实现技术和位置的透明- 提供服务功能的应用,它的位置以及所使用的实现技术被接口所屏蔽;  灵活性;  重用能力; 渐进式集成。
    2. 完整的SOI 解决方案包括如下要素:
    • 代表应用的功能和数据资源的服务;
    • 提供连接服务的基础设施即企业服务总线 ESB,连接已有应用的连接器(Connector)和适配器(Adapter);
    • 元数据及其管理如服务描述和服务注册管理(Service Registry)等;
    • 将服务组合成业务流程的引擎如 BPEL4WS 引擎;
    • 业务流程管理和业务绩效管理的部分;
    • 一个基于标准的编程模型以及支持它的建模、开发和组装、测试、部署和管理的端到端工具环境;

    3. 企业服务总线:ESB 采用了"总线"这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态地互联互通。ESB 的基本特征和能力包括:描述服务的元数据和服务注册管理;在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式,异步模式等;发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等。

    ESB 所提供的基于标准的连接服务,将应用中实现的功能或者数据资源转化为服务请求者能以标准的方式来访问的服务;当请求者来请求一个服务时,ESB 中这种中介转化过程可能简单到什么也没有,也可能要很复杂的中介服务支持,包括动态地查找、选择一个服务,消息的传递、路由和转换、协议的转换。这种中介过程,是 ESB 借助于服务注册管理以及问题域相关的知识(如业务方面的一些规则等)自动进行的,不需要服务请求者和提供者介入,从而实现了解耦服务请求者和提供者的技术基础,使得服务请求者不需要关心服务提供者的位置和具体实现技术,双方在保持接口不变的情况下,各自可以独立地演变。

    4. 业务逻辑服务

    整合已有应用 - 应用和信息访问服务。通过集成已有的应用和信息将可以在已有企业系统上实现更多增值服务,所以集成已有应用和信息是企业集成中重要的一环。

    以服务为中心的企业集成通过应用和信息访问服务(Application and Information Access Service)来实现对已有应用和信息集成。它通过各种适配器技术将已有系统中的业务逻辑和业务数据包装成企业服务总线支持的协议和数据格式。通过企业服务总线,这些被包装起来的业务逻辑和数据就可以方便的参与上层的业务流程,从而已有应用系统的能力可以得以继续发挥。这里的已有应用包括遗留应用、预包装的应用和各种企业数据存储。主要有两类访问服务:

    • 可接入服务(On-Ramp Service): 通过各种消息通信模式(单向、请求/应答和轮询)将业务逻辑和业务数据包装成企业服务总线可以访问的功能。
    • 事件发现服务(Event Detect Service) : 提供事件通知服务将已有应用和数据中的变化通过事件框架发布到企业服务总线上。

    整合新开发的应用 - 业务应用服务。和已有应用和数据类似,新开发的应用也作为重要的业务逻辑成为企业集成的目标。以服务为中心的企业集成通过业务应用服务(Business Application Service)实现新应用集成。有三类业务应用服务:

    • 组件服务(Component Service):为可重用的组件提供应用的运行时容器管理服务,如对象持久化、组件安全管理和事务管理等。
    • 核心服务(Core Service):提供运行时的服务,包括内存管理、对象实例化和对象池、性能管理和负载均衡、可用性管理等。
    • 接口服务(Interface Service):提供和其他企业系统集成的接口,如其他企业应用,数据库、消息系统和管理框架。

    整合客户和业务伙伴(B2C/B2B)-伙伴服务。以服务为中心的企业集成通过伙伴服务提供与企业外部的B2B的集成能力。因为业务伙伴系统的异构性,伙伴服务需要支持多种传输协议和数据格式。在参考架构中,提供如下服务:

    • 社区服务(Community Service): 用于管理和企业贸易的业务伙伴,支持以交易中心(Trade Hub)为主的集中式管理和以伙伴为中心的自我管理。
    • 文档服务(Document Service):用于支持和业务伙伴交换的文档格式,以及交互的流程和状态管理,支持主流的RosettaNet、EDI和AS1/AS2等。
    • 协议服务(Protocol Service):为文档的交互提供传输层的支持,包括认证和路由等。

    5.  控制服务

    数据整合-信息服务。企业数据的分布性和异构性是应用系统方便访问企业数据和在企业数据之上提供增值服务的主要障碍。数据集成和聚合技术在这种背景下诞生,用于提供对分布式数据和异构数据的透明访问。目前主要包括如下集中信息服务:

    • 联邦服务(Federation Service): 联邦服务提供将各种类型的数据聚合的能力,它既支持关系型数据,也支持象XML数据、文本数据和内容数据等非关系型数据。同时,所有的数据仍然在自己本身的方式管理。
    • 复制服务(Replication Service):复制服务提供远程数据的本地访问能力,它通过自动的实时复制和数据转换,在本地维护一个数据源的副本。本地数据和数据源在技术实现上可以是独立的。
    • 转换服务(Transformation Service):转换服务用于数据源格式到目标格式的转换,可以是批量的,或者是基于记录的。
    • 搜索服务(Search Service):提供对企业数据的查询和检索服务,既支持数据库等结构化数据,也支持象PDF等非结构化数据。

    流程整合- 流程服务。以服务为中心的企业集成通过流程服务来完成业务流程集成。在业务流程集成中,粒度的业务逻辑被组合成业务流程。流程服务提供自动执行这些业务流程的能力。在参考架构中,流程服务包括如下内容:

    • 编排服务(Choreography Service): 编排服务通过预定义的流程逻辑控制流程中业务活动的执行,并帮助业务流程从错误中恢复。
    • 事务服务(Transaction Service):事务服务用于保证流程执行中的事务特性(ACID)。对于短流程,通常采用传统的两阶段提交技术,对于长流程,一般采用补偿的方法。
    • 人工服务(Staff Service):人工服务用于将人工的活动集成到流程中,一方面它通过关联的交互服务使得人工可以参与到流程执行中,另一方面它需要管理由于人工参与带来的管理任务如:任务分派,授权和监管等。

    用户访问整合 - 交互服务。将适当的信息,在适当的时间,传递给适当的人是一直是信息技术追求的目标。用户访问集成是实现这一目标的重要一环,它负责将信息系统中的信息传递给客户。以服务为中心的企业集成通过交互服务来实现用户访问集成。参考架构中的交互服务包括如下类型:

    • 交付服务(Delivery Service): 交付服务提供运行时的交互框架,它通过各种技术支持同样的交互逻辑可以在多种方式(图形界面、语音和普及计算消息)和设备(桌面、PDA、无线终端等)上运行,比如通过页面聚合和标签翻译使得同一个Portlet可以在桌面浏览器和PDA浏览器上展现。
    • 体验服务(Experience Service): 通过用户为中心的服务增强用户体验, 其中的技术包括:个性化、协作、单点登录等。
    • 资源服务(Resource Service): 提供运行时交互组件的管理,如安全配置、界面皮肤等。

    -weijian [ MSN Spaces真慢啊,还在一边拉着Messenger死不放 :( ]

    ESB

    关于ESB的相关介绍,我觉得IBM网站上的文章最好,特别是毛新生和金戈的那篇:以服务为中心的企业整合
     下面着重从里面摘取一些要点强调一下。
     企业服务总线(Enterprise Service Bus),以下简称ESB, 是过去消息中间件的发展,ESB 采用了"总线"这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态地互联互通。   
     ESB 的基本特征和能力包括:描述服务的元数据和服务注册管理;在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式,异步模式等;发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等。
     ESB 所提供的基于标准的连接服务,将应用中实现的功能或者数据资源转化为服务请求者能以标准的方式来访问的服务。这种中介过程,是 ESB 借助于服务注册管理以及问题域相关的知识(如业务方面的一些规则等)自动进行的,不需要服务请求者和提供者介入,从而实现了解耦服务请求者和提供者的技术基础,使得服务请求者不需要关心服务提供者的位置和具体实现技术,双方在保持接口不变的情况下,各自可以独立地演变。
        ESB 采用总线结构模式简化了应用之间的集成拓扑,通过源自实践的模式,提供了基于标准的通用连接服务,使得服务请求者和服务提供者之间可以以松散耦合、动态的方式交互,从而在不同层次上使得SOI 解决方案是一个松散耦合、灵活的架构。
     
     
    -weijian [ MSN Spaces真慢啊,还在一边拉着Messenger死不放 :( ]
    30 Mai

    详解SOA...?

    本篇笔记主要来自IBM网站的SOA新手入门,其中的摘录要点如下(以便后面用到时作简短参考):
    1. 面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式(松耦合)进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
    2. SOA使用面向对象的设计来构建单个服务,,但是其整体设计却是面向服务的. 故SOA是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。
    3.SOA 应该能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。
    4. (virtues:)对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT 系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。
    5. SOA 本身是应该如何将软件组织在一起的抽象概念。它依赖于用 XML 和 Web 服务实现并以软件的形式存在的更加具体的观念和技术。此外,它还需要安全性、策略管理、可靠消息传递以及会计系统的支持,从而有效地工作;  SOA 服务和 Web 服务之间的区别在于设计。SOA 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别。而另一方面,Web 服务在需要交互的服务之间如何传递消息有具体的指导原则;从战术上实现 SOA 模型是通过 HTTP 传递的 SOAP 消息中最常见的 SOA 模型。因而,从本质上讲,Web 是实现 SOA 的具体方式之一。Web 服务是实现 SOA 的最好方式,但是 SOA 并不局限于 Web 服务;
    6. 企业服务总线(ESB),它使用许多可能的消息传递协议来负责适当的控制、流甚至还可能是服务之间所有消息的传输。虽然 ESB 并不是绝对必需的,但它却是在 SOA 中正确管理您的业务流程至关重要的组件。ESB 本身可以是单个引擎,甚至还可以是由许多同级和下级 ESB 组成的分布式系统,这些 ESB 一起工作,以保持 SOA 系统的运行。
    7. 构建 SOA 系统的流程: 创建单独的服务 -> (创建服务)且开始将业务功能集成到 SOA 中 -> 将企业 IT 基础设施转换到 SOA 模型 -> 转换为按需业务的模型.
     
    PS: 我们第一阶段主要是设计,故一定要熟悉模型驱动的体系结构(Model-Driven Architectures)和 UML V2.0
     
     
    --weijian [ MSN Spaces真慢啊,还在一边拉着Messenger死不放 :( ]
    24 Mai

    没有收获的日子

    没有收获的日子。在想需求,大脑的短路似乎发生地特别频繁。
     

    The on demand Operating Environment

    要点包括:ESB(后面详述),Integration services(包括:User access services,User interaction services, Business process choreography services, Business function services, Common services, Information management services ),Infrastructure services(包括Utility business services, Service level automation and orchestration, Resource virtualization services) 各种服务的具体内容€见书,在设计整个结构时要参照一下这些服务. 附上随需应变的运行环境结构图:
     
    -weijian[MSN真慢啊,还在一边拉着Messenger死不放 :( ]
    22 Mai

    随需应变的电子商务和SOA

    随需应变的电子商务是指:能够满足在不可预测中环境变化中客户需求,它集成了企业合作伙伴、供应商及客户间的端对端刺协作处理,能够对客户需求、市场机会和外部威胁作出快速的反应和高效的处理。它的四个关键技术是Integration,Virtualization,Automation,Open Standards。
        ESB对SOA的作用正如SOA对业务的作用:有很好的灵活性等等.下面从书中摘录一些要点贴上:
    The on demand Operating Environment and the ESB: Enterprise Service Bus can help businesses create processes that meet the objectives of the capabilities of an on-demand environment.
    Three core components of the on demand Operating Environment: integration services, Enterprise Service Bus, and infrastructure services.Business services leverage the application and infrastructure services, which are mediated by the Enterprise Service Bus, to provide real business processes to
    end users including customers, employees, and business partners.in addition to providing the basic infrastructure for service interactions,the on demand Operating Environment identifies a set of common patterns for construction of on demand applications and provides specific capabilities to
    support realization of distinct service categories that play particular roles in those patterns.
     
    -weijian

    重装上阵

    中间的一段时间,回南京考T,一直没有时间着手准备比赛。14号考完回到北京。
    原本应该及时上来写些东西,msn的space和hotmail一段时间都登陆不上。
    回来以后看了用友的几个案例,有了一些思路。
    看了,史树敏准备出来的需求分析,觉得些许失望。没有能表达清楚应有的需求,当然也没超出题目的创新了。时间不多。总该着手做写东西了。于是决定先撇开需求分析的文档,将题目中要求的系统的usecase、活动图先画出来,万事开头难,有了开始慢慢补全所需要的东西。
    在之前做过些项目,而现在才发现,从头到尾的做一个项目比只是写项目中的某部分代码来的困难很多,很多时候大脑都短路,有好多东西想写,不过总是组织不到一起,有些混乱。还是没有经验。
    前几天装了IBM Rational里的Modler工具,这几天着手开始做了。
    等做好这部分的时候,再将我们的结果发 上来。
    我们暂时将系统分为CRM、 ERP 和 负责服务通信 的3部分。先完成前面2部分的设计。
    我负责CRM 魏建负责ERP。
    pipidog
    20 Mai

    粗读RedPaper...

    最近看了IBM的Redbooks - Implementing an SOA Using an Enterprise Service Bus,从本篇开始把其中的一些认为重要的概念理论逐一提从出来,以便大家参考.
        首先说说电子商务模式(e-business):IBM的e-business模式有利于公司重用已有的资产,如将每一
    个业务中获取得业务知识存入资产库中,以便将来更快更高效地处理公司的业务等等.
         IBM的e-business分层资产模型主要包括以下几个部分,Business patterns(业务模式:处理用户、业务和企业数据相关的交互),Integration patterns(集成模式:连接多个业务模式),Composite patterns(组合模式:组合业务模式和集成模式),Application patterns(应用程序模式:提供业务模式和集成模式的),Runtime patterns(运行模式:主要是定义连接应用模式间的中间件的结构),Product mappings(产品映射:确定运行模式所需的可靠的软件),Best-practice guidelines(最佳实践方针:各个阶段的指导方针)。
        对于各个模式的具体介绍请看本书第一部分的内容,我相信,理解了这些概念对后面的系统设计,特别是总体的规划设计和各大模块的设计会有不少的帮助,因为e-business模式是有助于基于web的程序结构设计的,通过这些模式的应用可将复杂的大问题分解为各个小问题以及易于管理和实现代各个模块,相信会对我们SOA解决方案的设计有利。
    -weijian
     
     
     

    补写...

    近来由于事情多时间紧没能来MSN写一些东西,加上MSN速度太慢总感觉不爽,今天一起集中补写一下吧。
      首先写一点关于SOA三个主要角色的问题。类似于Web Service,SOA中的三个主要角色为:服务提供者(Service provider),服务代理(Service broker)和服务请求调用者(Service requester),它们之间的交互关系如下图:

    服务提供者主要创建服务并向服务代理发布该服务的接口和访问信息.服务提供者必须要在服务安全性和互操作性之间权衡其发布的服务信息的
    量和程度等等,同时还要注意和服务代理的通信协议等.
    服务代理/注册负责使服务接口和访问信息可由服务请求者调用.服务代理提供注册和发现服务的机制,它可以向web上的所有用户或部分授权限
    制的用户提供这些服务消息.
    服务请求者(服务客户)通过既定的协议来使用服务代理(或其它方式)而发现需要的服务,接着绑定或连接到该服务并调用该服务的操作;绑定可
    以是静态或动态的.
       另外,Web Service可以作为SOA的实现,它的几个核心技术(前面的日志中已解释过):XML, SOAP,WSDL,UDDI之间的交互关系如下图,可以帮我们很好得理解最基本的服务调用机制.
     
    07 Mai

    步履艰难...

    本来是想着利用五一假期,把初步的需求写出来,可是发现,步履艰难啊!!!!没有了谈论,没有了团队,感觉想法都很是值得再商榷的,所以反复推倒,再反复重建,迟迟难以下笔,迟迟难以成文啊!!!