知识大全 用Web Service进行企业级的门户集成

Posted 视图

篇首语:一箫一剑平生意,负尽狂名十五年。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Web Service进行企业级的门户集成相关的知识,希望对你有一定的参考价值。

用Web Service进行企业级的门户集成  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在实际工作中构建大型的应用很难 通常你会把门户(portal)和企业集成(EAI)搞混 这样你的工作更难完成 你必须做出一系列的困难决定 很多决定也许会对项目的其余部分产生或好或坏的影响

  在你做出架构性的重要选择之前 都应该深入考虑你构建的应用的每一层( 从前端的负载平衡系统到后端的企业级的系统 也许是全球性的) 即使只是处理这些问题的一个子集(也许 只是 代表那些与门户集成相关的一些问题) 你也将面临很多棘手问题

  为了得到最好的效果 我是不是应该把我的web层和一些流程组件连接起来 让这些组件充当工作流和应用集成层的业务代理 让集成层处理EAI的复杂问题?是不是每次都可以按这样的套路进行呢?

  我的web层和工作流层是不是应该采用松耦合(例如 使用JMS) 或者在某种情况下 为了利用BMP(Business Process Management)的API提供的工作列表(worklist)功能的好处 是否可以不用松耦合?

  在创建统一用户资料(Unified User Profile)时 我如何精确的和CRM ERP和安全系统打交道?

  门户内容管理参考实现是否提供了足够多的功能?我是不是需要评估一下第三方的解决方案?

  我们是否应该利用新的证书映射提供者(credential mapping provider)通过J EE CA Adapters传递认证信息?还是用Web services的SAML (Security Assertion Markup Language)?我们的第三方单点登陆(Single Sign On (SSO))安全系统是否支持这些机制?我有没有SSO?我是否需要一个呢?

  幸运的是 这只是一篇杂志中的文章 所以我们可以先把一些问题放在一边 以利于我们集中精力 减少篇幅 本文描述了WebLogic Enterprise Platform里可以用来在门户中用Web services进行集成的一些工具和技术 在一个简要的原型系统例子中我们对这些技术进行了演示 这里我定义的门户集成是指 把从不同的资源(通常是外部的)中获得的信息 通过检索 转换 组织 显示 形成统一的 个性化的整体 本文主要是讨论Web service 所以只是简要介绍这些门户集成功能中对第三方的内容和文档的管理的功能 该功能在企业架构中应当被考虑 我将简要介绍以下内容

  J EE CA 应用视图(J EE CA Application Views)

  Workshop Application集成控制(Workshop Application Integration Controls )

  Liquid 数据视图和源 (Liquid Data Views and Sources)

  应用集成和Web services 工作流插件(Application integration and Web services workflow plug ins)

  统一用户资料框架(The Unified User Profile Framework )

  Web services Portlet向导 (The Web Services Portlet Wizard )

  以上内容为使用Web services进行松耦合的企业门户集成提供了非常强大的框架 请注意 本文假设读者对WebLogic Portal 和Integration 非常熟悉 在和BEA WebLogic Developer s Journal杂志中都有关于WebLogic Portal 和Integration 的丰富的资料

  门户集成(Portal Integration) 一个原型示例

  我们的例子是一个IT技术支持部门的案例管理门户 问题单根据技术支持工程师的专业(例如数据库 用户界面 事务管理)和技术等级(一级 二级等)分发 每个工程师有一个相关的资料 资料同时存在于一个安全的关系数据库和一个外部的CRM系统中 资料中有该工程师的专业和技术等级信息 也可能有工程师的管理者——高级工程师的信息 高级工程师可以分析下属的案例历史 包括完成案例的平均时间和案例数量增长的百分比 每个案例的实际数据存在两个外部问题单系统中 一个系统相对较新 使用了Web services 另一个系统较旧 有一个专有界面 除了核心的案例管理功能 每个工程师的门户都可以个性化 使用另外的含有公开技术论坛的Portlet 含有内部错误报告更新的Portlet 以及类似的Portlet

  应用视图(Application Views) 实际上所有的内容都可以展示

  J EE Connector Architecture (J EE CA) 适配器是连接J EE组件和外部企业信息系统(EIS)的桥梁 EIS所需的适配器接口经常使用专有的协议 数据格式和认证机制 WebLogic J EE CA适配器处理协议转换 也常用于处理数据格式的转换 或者利用WebLogic里的证书映射提供者传递认证信息到EIS中 如果EIS含有XA 那么XA事务也可以传递

  J EE CA 规范没有规定适配器的标准的接口(只提供了一个可选的接口) 也没有规定一个标准的信息格式或者EIS发出的异步事件 规范(现在是建议最终草稿版的第二版)修补很多类似的漏洞 版规范会包括在J EE 中

  WebLogic 集成应用视图框架(WebLogic Integration Application View Framework)在J EE CA 适配器之上提供了一层 弥补了 规范中的不足( 规范中的改进在此由应用视图提供) 当你创建一个应用视图的时候 你也指定了一个和相关业务服务以及EIS中的事件相对应的XML schema 当与请求schema相应的XML文件传过来时 服务被激活 返回结果根据响应schema以相应的XML文件返回 事件以异步的方式分发到客户端 同样是按照协商好的schema 以 XML文件的形式传递 我们通过基于浏览器的应用集成控制台(Application Integration console)来创建应用视图 在控制台里把服务和事件同适配器连在一起 指定相应的schema

  应用视图服务可以被激活 事件监听器使用的是应用集成API 应用视图可以在业务流程管理(BPM)工作流中使用 也可以做成Web services 相应的技术稍后介绍

  在我们的案例管理门户示例中 我们把遗留系统的问题单和CRM系统的专有界面发布为应用视图 每个视图提供与相关系统对应的一套业务服务和异步事件

  Workshop应用集成控制 应用视图发布为Web service

  使用WebLogic Workshop的IDE简化了Web service的开发 部署和调试 Workshop还提供了透明信息缓冲和带对话功能的有状态Web service WebLogic Workshop的开发人员可以利用一些特殊的控制(controls)轻松的把后端的J EE组件发布为Web service 其中的一个控制允许Workshop的开发人员将应用视图服务和事件发布为Web service 这样 开发人员就可以通过Web service和所有的外部系统进行交互

  在我们的案例管理门户示例中 我们使用Workshop应用集成控制把我们的遗留系统的专有界面对应的应用视图发布为Web service 这样我们面对的两种系统就有相同的风格

  Liquid Data 实际上所有的事情都可以转变为其他的形式

  Liquid Data 是WebLogic Platform中新的功能强大的组件 提供在众多的数据源(应用视图 数据视图 FTP站点 Web services等)之上创建视图的能力 这些视图可以串在一起(例如 视图的视图) Liquid Data一旦定义 可以对这些视图创建预先存储的和动态的查询 查询可以通过已经提供的EJB和基于JSP标记库的API来配置和激活 查询也可以发布为Web services Liquid Data的理论基础建立在XQuery()规范的一个实现之上 Data View Builder包括Liquid Data的IDE(集成开发环境)和类似Workshop的GUI(图形用户界面) 你可以创建针对数据源的视图 针对视图的预先存储的查询(开发人员可以使用XQuery语法来手工编写高级查询) Data View Builder还提供测试和调试这些视图和预先存贮的查询的能力

  本文的目的之一就是介绍一种关键能力 即创建基于已有的应用视图和Web services 的Liquid Data复合视图 一个视图可以传递特殊的Portlet或用户资料(User Profile)所需的信息 转换需要调整的信息 相应的设置可以公开进行 并不需要修改实际的应用视图或Web services(或文件 数据库等等)

  在我们的案例管理门户示例中 可以创建支持工程师的统一用户资料视图 该视图对应于安全关系数据库和含有适配器的可以发布为CRM系统的应用视图 同样 可以创建一个或多个案例信息视图来映射基于Web service的问题单和遗留系统 遗留系统的接口通过一个应用视图发布

  工作流(Workflow)和Web services BMP(业务流程管理)集成

  工作流控制着企业业务处理的流程 它通过集成插件接入点和实际的业务逻辑紧密地联结在一起 工作流通过BPM Studio GUI创建 Studio的界面有些像 Visio 可以通过拖放的方式创建工作流 从工作流中可以直接呼叫应用视图服务(Application view services) 应用视图事件可以通过应用集成插件来触发工作流事件节点 同样 从工作流事件中可以通过一个可以从BEA的开发人员站点 () 下载的插件调用Web services dev dev的Web service插件提供一个GUI 允许开发人员把应用视图服务发布为Web service(Workshop AI 控制的一个有限子集)

  在我们例子中的portal通过在流水线组件中调用BPM API与问题票务分派工作流打交道 一个工作流任务从两套问题票务系统中获取问题票务信息 该工作流在较新的系统中激活适当的Web service 在另一个系统中激活应用视图服务(application view services) 该工作流可以直接在BPM Studio GUI中创建 不需要任何手工编程

  统一用户资料(Unified User Profile) 分类化和个性化集成

  门户中的包含用户资料的属性位于一个预先定制好的关系数据库中 门户的个性化和分类化组件(这些组件用来判断你是谁 是什么 有什么兴趣等等)使用用户的资料属性 你可以通过门户的统一用户资料(UUP)框架来把用户资料扩展为企业级的资料 该框架允许一个开发人员从另一个可选资源(例如 LDAP CRM/ERP系统)中把用户属性插入进来 简而言之 开发人员只要执行一个EntityPropertyManager EJB 就可以使用它来获得扩展的用户属性 这个EJB以ProfileManager EJB为基准(你在这个EJB的部署描述环境中加入你的EntityPropertyManager信息)

  现在你开始使用EntityPropertyManager EJB 那你实际上要使用什么技术来获得用户的属性?

   如果外部系统的Web service是处于激活状态 或者同样的你使用Workshop Liquid Data或者Web service BMP插件的GUI界面发布的Web service的话 你可以使用JAX RPC从Web service中获得信息 你可以使用Liquid Data Query API来把外部系统发布为Liquid Data View 如果外部系统有相应的由应用视图(Application View)公布的J EE CA 适配器的话 你可以使用应用集成API 你可以直接和J EE CA 适配器交互 你可以使用私有的方法

  示例中的门户根据Unified User Profile中的专业和资历来进行问题单的分配 某个专业的工程师被指派为管理者的同时也成为一个管理权力集团(Management Entitlement Segment)的成员 可以访问Engineer Case History Portlets 这些portlet允许管理人员根据某个工程师过去的案例处理情况来分析他或她的工作表现 就像刚才讲的 本例中的EntityPropertyManager EJB可以使用JAX RPC来获得我们的用户信息 发布为Liquid Data Web Services View

  Web Services Portlets web层的集成

  Web Services Portlets 如同它的名字所暗示 使用Web Services 然后以内容的形式把结果显示出来 这些portlet可以用Portal EBCC Portlet Wizard快速开发 从非常基本的portlet类型到和使用用户定义的数据类型进行动态的 异步交互的portlet类型 Web Services Portlets也可以参与到Workshop类型的交互中

  当今大多数精心设计的Web应用都采用Model Web层结构模式 被广泛使用的Apache Jakarta的 Struts 就是这种模式的很好应用 门户的Webflow/Pipeline框架的工作模式与此类似 Model 模式的基本原则是 分离业务(controller model and view)和 view (我们的例子中是portlet)的分离 view的主要业务是显示现在相关的model的内容 从一个portlet中激活和使用一个或多个Web Service似乎会和以上原则冲突 实际上有时会有冲突发生 不过 某些情况下 不会有冲突发生

   使用的portlet单独存在(一个单独的 小型应用 ) Web Service提供model的当前状态(J EE设计模式中Front Controller的View Helper策略) Web Service激活的结果的格式是portlet用户界面的形式

  在我们的原型示例系统中 一个支持工程师专门接收他们使用的关系数据库的厂商发布的技术公告 该公告在门户中的一个portlet中显示 这是一个单独的服务 和门户中的其他portlet无关 而且信息是调用外部的Web Service获得的 在这种情况下使用Web Services Portlet的另一个主要原因是从这个Web Services获取信息就是用户接口

  总结

cha138/Article/program/Java/hx/201311/25914

相关参考

知识大全 用C#制作一个最简单的Web Service

用C#制作一个最简单的WebService  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用eclipse调用.net web service

  以前我用的开发框架都是net现在换成javaEE框架和linux平台还需要一段时间的学习有时在测试工作中需要实现一些功能但是又不会用java实现怎么办呢?这里有一个方法使用net的框架开发webs

知识大全 企业门户的发展方向

  门户是新一代的人机界面  如下图所示 人机界面技术随着计算机技术的发展而发展从最初大机时代的终端到后来C/S架构采用的GUI界面到现在最流行的B/S架构的WEB界面而现在随着技术的发展如

知识大全 使用cxf写web service的简单实例

实例步骤      第一步在myeclipse中新建一个web项目名为webservicetest并导入依赖的jar包(cxfspringa

知识大全 c#动态调用Web Service

c#动态调用WebService  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 动态IP的Web service调用

动态IP的Webservice调用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  系统架构需要使

知识大全 使用Axis开发Web Service[2]

Java高级开发:使用Axis开发WebService[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 使用Axis开发Web Service[1]

Java高级开发:使用Axis开发WebService[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 实现异步调用Web Service,防止页面超时

实现异步调用WebService,防止页面超时  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  普

知识大全 学好基本功之熟练调用 Web Service

学好基本功之熟练调用WebService  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是W