首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 核心技术 >> 高级编程 >> 正文

使用Weblogic Integration的应用程序架构

  在一个已经使用Weblogic Integration和Workshop开发出多个应用程序的环境中,您可能希望考虑一种支持以下功能的方法:

组件重用;

将多个应用程序共同部署到同一个WebLogic域上

  本文关注单个Workshop/Weblogic Integration应用程序——即一个部署单元(一个ear)——的应用程序架构。要记住,多个应用程序可以部署到单个Weblogic Integration域上。所提出的应用程序架构支持:

代码的重用、维护和扩展

团队工作

根据子元素的可变性,在一个应用程序内对项目进行重新组织,使其从一个应用程序变为多个应用程

   稍后您将看到,在一个应用程序内组织Workshop项目将对性能调优造成直接影响。

  我将分3部分介绍:

应用程序各层以及将代码织入各层中的方法

在一个简单示例中应用这些方法

对性能调优和部署的影响

第1部分:应用程序各层以及将代码织入各层中的方法

  在定义应用程序构件块时,一种好的方法是使用逻辑层,这些逻辑层随后可能被扩展为SOA层。

  对于复杂的应用程序,我们通常定义3个层,如下图所示。层与层之间可能包含一个由消息总线(如AquaLogic Service Bus)组成的中介体。在本文中,我们将不讨论中介体,因为我们主要关注的是单个应用程序、单个ear中的架构,要记住,随后该应用程序在开发过程中将被拆分为多个应用程序,每个应用程序都被公开为web服务,成为一个SOA构件块。之后可以使用一个中间层进行服务与服务之间的整合,而系统与系统之间的整合基本上使用Weblogic Integration来完成。

  这些层是SOA相关的,它们在单个ear文件中也有意义。类似地,当在企业范围内应用SOA时,在单个应用程序中考虑无疑是提供构件块的最简单的方式。

应用程序各层以及将代码织入各层中的方法

   复合层(Composite layer):向企业合作伙伴和外部客户提供对服务的访问,提供必要的转换、过滤等。该层可以聚合来自编排层的业务服务,以提供对添加约束、过滤和安全性等服务的外部访问。该层将用于编排层中的标准XML模型转换为适用于外部业务合作伙伴的简化模型。该层向外部客户端公开Web服务。该层可能包含作为信息组合的页面流。页面流可作为面向业务合作伙伴的Web Interface提供,或者使用Weblogic Portal和WSRP将其公开为Web服务。

  编排层(Orchestration layer):该层包含了Weblogic Integration业务流程。业务流程使用标准的XML数据格式。该层用于编排许多后端系统。在该层中使用标准的模型提供了该层与上下层之间的无关性。在对一个后端系统进行更改以针对不同的业务合作伙伴提供适当的服务时,这就提供了很大的灵活性和无关性。

  连通性层(Connectivity layer):该层提供到后端系统的访问。它提供从数据的后端表示法到用于编排层中的标准数据格式之间的相互转换。

  在编排层中使用标准数据模型是一种好方法。它提供了应用程序代码与该应用程序所连接的其他系统之间的无关性。标准的模型可能由XML模式中所表示的UML域模型组成。流程之间这种XML数据的传输应该通过粗粒度消息(定义在UML域模型中、由一组对象组成的消息)来完成。XML中所表示的与DTO (data transfer object)模式相关的相同理念应该是一个好的起点。

  使用多个层并不意味着每次都必须通过各个层。例如,从表示层进入连通性层,而不经过编排层的任何组件。应该根据对公开于各个层的服务的重用需求对此进行考虑。

  在每一层中,代码和Workshop项目的逻辑编排应该仔细考虑,以便提供更多的灵活性。

  那么如何在一个Workshop应用程序中定义项目呢?

  一个Workshop应用程序由多个不同类型的项目组成。项目的类型可以是主要包含Weblogic Integration流程的“流程”项目,主要包含java页面流的“Web”项目,用于需要在不同的项目之间共享的控件的“控件”项目等。

 

[1] [2] [3] 下一页

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·算法分析与设计之五大常用算法
 ·开发必备 漫谈Java加密保护
 ·嵌入式开发--ARM技术专题
 ·C/C++指针,认真了解,灵活运用
 ·.NET开发:C#实用基础教程
 ·软件测试工具QTP学习专题
 ·嵌入式开发单片机解决方案专题
 ·Java开发环境 Greenfoot 程序员手册
 ·C++对象布局及多态实现的探索
 ·常见排序算法的实现
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航