- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
case04件架构在保险行业的应用
软件架构在保险行业的应用 系统架构在J2EE平台下的实现 – J2EE三层及多层的结构模型 将业务处理逻辑、数据访问逻辑单独抽象出来成为组件,以EJB的形式运行于应用服务器上。组件之间尽可能相互独立,一个组件负责一个功能的实现。 数据访问组件分为两个部分:需要快速查询而不进行处理的数据直接在Session Bean(会话Bean)中访问数据库;需要在服务器端缓存,需要进行反复操作的,生成Entity Bean或JDO(Java Data Object),由应用服务器管理或Castor进行管理。 前台以应用程序界面风格设计用户交互界面,负责展现数据和接受用户输入,不进行数据处理,形成轻量级客户端。 数据库端只负责数据持久性、安全性管理,尽可能不进行数据的处理。遇到效率优先问题时,才考虑采用存储过程处理。 在EJB(Enterprise Java Beans)中定义了两种不同类别的Enterprise Bean : *会话 Bean (Session Bean) *实体Bean (Entity Bean) Session Bean代表客户应用和EJB容器之间的会话。Session Bean通常都是实现商业逻辑并且和Entity bean交互以执行具体操作。不过session bean并不一定要使用entity bean ,如果需要,它可以直接和数据库通信。 系统设计方案是基于J2EE平台三层软件结构开发.由于客户对安装、维护有特定的要求,采用了Java Web Start技术,使得应用程序可以通过Web的方式下载并运行,所以在应用服务器和客户端之间,加入Web服务器,客户端通过JSP和JNLP文件下载客户类程序,并以Java Web Start在客户端运行。 这一结构不同于J2EE平台四层结构,客户端展示层不是JSP, Web服务器中也没有Servlet。它兼有三层结构客户端界面表现能力强、配置灵活、权限控制方便和基于Web多层结构轻量级客户端,安装布署方便的优点。 以TreeView控件表现部门数据为例: JTree控件本身只负责控件的表现形式。 DyTreeModel类〔实现了Java.awt.Treegodel接口),作为所有控件的公共模型。 treeNode类,定义需要在控件中显示的数据。treeNode类中实现了SetChildNode的方法,用递归算法获得某一节点以下的子节点,DyTreeModel中包含类型为treeNod中Root属性值,作为树状结构的入口点,从Root开始设置各级树节点。 TreeView的Controller-MouseController类(继承自java.awt.MouseAdapter),类在实现了鼠标对控件单击、双击及右击的事件处理程序。在JTree的ListenerList加入此类。当需要对处理事件程序作出修改时,只需对此类进行修改而不影响控件本身。 Bridge模式用于将类的抽象部分与其实现部分相分离,使每一部分都可以独立地变化。抽象和实现部分的都可以通效生成子类的方式加以扩充。 在对费用进行计算时,每个项目的定义和实现都不相同。 采用Bridge模式,定义了CalcItem父类和CalcImp接口,费用计算、实现的子类各自实现自己的接口。 CalcItem中维护一个Calclmp接口的实例imp,计算项目子类通过imp调用相应的实现方法,运用多态的特性可以在运行时指定实现的子类。 数据库连 接在系统中是开销很大的资源,频繁连接数据库会造成系统速度下降。将数据库连接Connection作为全局变量,每个类的实例都会有一个Connection的属性,达不到降低系统连接的目的。 解决方法-采用Singleton模式: 让类自身负责保存它的唯一实例,并且提供一个访问这个实例的方法。 系统中访问数据库的Session Bean自身不负责提供对数据库的连接。 BDConn类,该类的构造函数为私有的,这就保证其他类不创建这个类的实例。类中维护一个静态Connection类型的属性实例。保证了进行数据库的连接时,所有在同一个jVm中的类实例都通过GetConnection的方法得到唯一的数据库连接,最大限度地保证系统资源不浪费。 * These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman Associates, Inc., copyright ? 1996, 2001 基于
文档评论(0)