注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > Java > 内容正文

对企业级Java应用程序及其部署进行建模

发布时间:2006-07-13 21:49:07 来源:bea 网友评论 0 条
  摘要

  如今,UML用于对软件系统进行建模已有多年时间。然而,我极少看到有关对现代软件系统建模和技术的详细讨论或实例。例如,对应用程序及其部署建模需要开发各类原型系统,并需要使用有组织的方法来设计图的作用范围和布局,使其真正发挥作用。在复杂的环境中,建模显得尤为重要,它不仅能为编写代码的软件工程师带来好处,而且负责正确配置和部署软件系统的软件配置管理团队和生产服务团队也能从中获益良多。本文演示了对现代软件建模的几种方法,这些方法可用于精确而简明地交流架构方面的细节。

  简介

  不久以前,有用的企业应用程序还是由少数实体bean、较多的会话bean和一些JSP构建而成。EJB被打包在JAR文件中,而JSP则被简单地存储在Web服务器的类路径中。如果软件业还能有什么让您所称道的,那就是软件在大小、功能和复杂性方面呈几何指数增长。软件大小已经增长到每个企业应用程序的各个部分都被存储在压缩格式的WAR和EAR文件中的程度。软件系统的复杂性需要高效的建模,以便帮助管理设计和相互关系。软件功能现在已经处于这样一个级别:需要定义一个完整的新范型——即服务,才能对其进行管理。

  必须对软件复杂性进行管理,因为它对企业的影响很大。这种管理可以同时采取规划和通信的形式。现在,可以使用UML来帮助规划软件的架构、设计和部署。还可以使用它把这些规划发送到企业中必须创建、安装和维护企业软件的各个部门中。

  如果是对代码进行建模,UML 1 X就已经很不错了。而当对软件系统的打包和部署进行建模时,它就显得不够了。随着UML 2.0的出现,UML对核心软件系统建模的能力大为增强。然而,UML 2.0真正耀眼的地方是在对软件打包和部署建模时。

  本文的目的是演示对现代软件系统进行建模的几种有效方法,这些方法可用于把架构、设计和部署方面的细节精确而简明地传达给企业中的相关负责部门。我并没有声明这是建模现代软件的惟一方法。UML的建模语言相当丰富。然而,如果您不确定如何使用UML.2.0进行快速建模,尤其是对特定于BEA WebLogic Platform建模的信息,本文将会为您提供帮助。

  建模难题——少就是多

  我喜欢更加敏捷的建模方法。对软件系统进行建模不会使公司直接获益,但可执行软件却可从中受益。然而,建模是一种有效的通信工具,有助于让整个公司就如何构建、部署和操作软件达成一致的认识。

  在对软件建模时,其实少就是多。代码随着时间而增多,而模型则是静止的,它是某个时刻设计思想的快照。因此,对软件系统的每一个细节都建模并没有太大用处。软件系统的细节是在有机变化的。最佳方法是对软件的核心部分进行建模。这些模型往往能够在相当长的时间内发挥作用。

  对代码进行建模

  我将从一个特定于代码的模型开始,然后再逐渐转到软件打包和部署图上。在此过程中,我认为您可以很好地理解什么样的细节级别适合于您的企业。有一点很重要,即,您要不断地询问自己,“这个图可以帮助大家理解设计吗?”。

  首先,让我们看一看我称之为“over-modeling”的建模方式。图1给出了一个使用了bean托管持久性的实体bean的UML图。在这个图中,您可以看到3个主接口和它们的根接口,以及实现类。

点击放大此图片
图1. 对一个EJB进行Over-modeling(点击放大)

  乍一看,图中的内容似乎很多。其实,这个模型不过是较为详细而已,实际上内容很少。该图实际上显示了一个实体bean的基本结构。稍微了解一点EJB知识的工程师就会发现这个图其实很简单。如果您提供一个充满了这种“没有价值的东西”的完整设计文档,工程师们很快就会感到厌烦,并拒绝接受这种“无用的”设计文档。

  提示!——对系统的重要部分而不是无关紧要的部分进行建模。

  让我们看一看同一个图经过修改后的版本。它删除了无价值的内容,并将重点放在重要的内容上。样板代码和构件几乎从不需要建模,除非它们能给图带来特别的好处(比如提供上下文)。例如,表示一个像ejbActivate()这样的函数不能为图增加清晰度或内容,因此也就无需对其进行建模。EJB规范中说方法必须出现在实现类中,并不意味着它需要出现在模型中。

图2. 一个简明的EJB模型
图2. 一个简明的EJB模型

  除了在建模上显而易见的区别之外,两张图之间还有一处基本的区别:stereotype的自由使用。Stereotype是一种传达有关任意模型元素的不相关信息的强大方式。使用stereotype的另一个有利之处是,定义的信息是由对象而不是图来传达的。在图1中,JNDI信息表示在图中的一条注释中。这可以使JNDI信息特定于图。在图2中,我为捕捉JNDI信息的<<EntityBean>> stereotype定义了两个标记值。标记定义是stereotype的属性。通过为stereotype定义标记定义,实现了下面两个目标:为架构师和设计师提供一些有关每个stereotype中应该包含何种信息的提示,并为企业引入了一些建模标准。通过使用stereotype并填充相关的标记定义值,可以让包含该元素的每个图都能使用这些信息。大多数UML工具都允许有选择性地隐藏stereotype及其标记定义,您可以定制化每个图,同时无需修改任何重要的模型数据。在本文后面,我将提供一个示例的stereotype类别。

  提示!——使用stereotype对不相关信息进行建模。

关于 对企业 的新闻
  • 关闭缩略图缓存 对企业安全有作用
【评论】【收藏本文】【打印】【关闭】
上一篇文章:Java设计模式之工厂方法模式
下一篇文章:Mustang与Rhino:Java 6中的脚本编写
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Java控件设计入门
Java控件设计入门
全站资源
  • 微软官方入门教程19:轻松掌握Vista系统的快
  • 微软2008大冲击,预借Vista SP1力促Vista市
  • 在收件箱中获得 Windows Vista 的最新更新
  • 微软官方Vista入门教程全集19篇(Vista学院
  • Windows Vista 的成功将势不可挡
  • 快快抛弃Vista,拥抱XP SP3!你觉得呢?
  • 浅谈Vista系统关闭虚拟内存与使用内存盘加速
  • 嘿嘿,按下键盘上面的三个键,马上让你的Vi
  • Windows Vista的盗版率只有Windows XP的一半
  • 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
  • Java连接SQL Server 2000
  • Java文件操作详解
  • Java控件设计入门
  • Java操作Excel电子表格
  • Java: JNI完全手册
  • Java命令行简介
  • 开发J2EE应用应遵循的几点原则
  • Servlet与Javabean配置
  • Java规则引擎与其API应用详解
  • CLASSPATH详解
最新技术文档
  • 中断Java ME手机上的屏幕保护程序
  • 使用Java动态创建ODBC数据源
  • Java 程序初始化过程详解
  • 使用Java进行Web开发的随想
  • 理解Java Swing中的Accelerator Key
  • 用Java实现多线程服务器程序
  • Java企业应用系统框架的比较与选择
  • Java虚拟机的研究与实现
  • Java系统中内存泄漏测试方法的研究
  • 解析Java类和对象的初始化过程
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载