在实际工作中构建大型的应用很难。通常你会把门户(portal)和企业集成(EAI)搞混,这样你的工作更难完成。你必须做出一系列的困难决定,很多决定也许会对项目的其余部分产生或好或坏的影响。
在你做出架构性的重要选择之前,都应该深入考虑你构建的应用的每一层( 从前端的负载平衡系统到后端的企业级的系统,也许是全球性的)。即使只是处理这些问题的一个子集(也许"只是"代表那些与门户集成相关的一些问题),你也将面临很多棘手问题:
为了得到最好的效果,我是不是应该把我的web层和一些流程组件连接起来,让这些组件充当工作流和应用集成层的业务代理,让集成层处理EAI的复杂问题?是不是每次都可以按这样的套路进行呢?
我的web层和工作流层是不是应该采用松耦合(例如,使用JMS),或者在某种情况下,为了利用BMP(Business Process Management)的API提供的工作列表(worklist)功能的好处,是否可以不用松耦合?
在创建统一用户资料(Unified User Profile)时,我如何精确的和CRM,ERP和安全系统打交道?
门户内容治理参考实现是否提供了足够多的功能?我是不是需要评估一下第三方的解决方案?
我们是否应该利用新的证书映射提供者(credential mapping provider)通过J2EE CA Adapters传递认证信息?还是用Web services的SAML (Security Assertion Markup Language)?我们的第三方单点登陆(Single Sign-On (SSO))安全系统是否支持这些机制?我有没有SSO?我是否需要一个呢?
幸运的是,这只是一篇杂志中的文章,所以我们可以先把一些问题放在一边,以利于我们集中精力,减少篇幅。本文描述了WebLogic 7.0 Enterprise Platform里可以用来在门户中用Web services进行集成的一些工具和技术。在一个简要的原型系统例子中我们对这些技术进行了演示。这里我定义的门户集成是指:把从不同的资源(通常是外部的)中获得的信息,通过检索、转换、组织、显示,形成统一的、个性化的整体。本文主要是讨论Web service,所以只是简要介绍这些门户集成功能中对第三方的内容和文档的治理的功能,该功能在企业架构中应当被考虑。我将简要介绍以下内容:
J2EE CA 应用视图(J2EE 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 4.0和Integration 2.1非常熟悉,在http://e-docs.bea.com和BEA WebLogic Developer's Journal杂志中都有关于WebLogic Portal 4.0和Integration 2.1的丰富的资料。
门户集成(Portal Integration):一个原型示例
我们的例子是一个IT技术支持部门的案例治理门户。问题单根据技术支持工程师的专业(例如数据库,用户界面,事务治理)和技术等级(一级,二级等)分发。每个工程师有一个相关的资料,资料同时存在于一个安全的关系数据库和一个外部的CRM系统中,资料中有该工程师的专业和技术等级信息,也可能有工程师的治理者——高级工程师的信息。高级工程师可以分析下属的案例历史,包括完成案例的平均时间和案例数量增长的百分比。每个案例的实际数据存在两个外部问题单系统中,一个系统相对较新,使用了Web services,另一个系统较旧,有一个专有界面。除了核心的案例治理功能,每个工程师的门户都可以个性化,使用另外的含有公开技术论坛的Portlet,含有内部错误报告更新的Portlet,以及类似的Portlet.
应用视图(Application Views):实际上所有的内容都可以展示
J2EE Connector Architecture (J2EE CA) 适配器是连接J2EE组件和外部企业信息系统(EIS)的桥梁。EIS所需的适配器接口经常使用专有的协议、数据格式和认证机制。WebLogic J2EE CA适配器处理协议转换,也常用于处理数据格式的转换,或者利用WebLogic里的证书映射提供者传递认证信息到EIS中,假如EIS含有XA,那么XA事务也可以传递。
J2EE CA 1.0规范没有规定适配器的标准的接口(只提供了一个可选的接口),也没有规定一个标准的信息格式或者EIS发出的异步事件。1.5规范(现在是建议最终草稿版的第二版)修补很多类似的漏洞,1.5版规范会包括在J2EE 1.4中。
WebLogic 集成应用视图框架(WebLogic Integration Application View Framework)在J2EE CA 适配器之上提供了一层,弥补了1.0规范中的不足(1.5规范中的改进在此由应用视图提供)。当你创建一个应用视图的时候,你也指定了一个和相关业务服务以及EIS中的事件相对应的XML schema,当与请求schema相应的XML文件传过来时,服务被激活,返回结果根据响应schema以相应的XML文件返回。事件以异步的方式分发到客户端,同样是按照协商好的schema,以 XML文件的形式传递。我们通过基于浏览器的应用集成控制台(Application Integration console)来创建应用视图,在控制台里把服务和事件同适配器连在一起,指定相应的schema.