`
lijj_72
  • 浏览: 21961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
Spring 模板方法 vs 经典模板方法设计模式          李俊杰  概述 模板方法模式是GOF设计模式中很典型的设计模式,其意图是由抽象父类控制顶级逻辑,并把基本操作的实现推迟到子类去实现,这是通过继承的手段来达到对象的复用。Spring模板方法模式实际是模板方法模式和回调模式的结合,Spring几乎所有的外接扩展都采用这种模式,如JNDI,JMS,JCA的 CCI,JDBC,ORM中的Hiberate3、jdo、Toplink等扩展都采用模板方法模式来扩展。 <o:p> </o:p> 经典的模板方法设计模式 开闭原则是指一个软件实体应该对扩展开放,对修改关闭 ...
数据权限设计初探    李俊杰 概述 在许多项目中,都会涉及到数据权限问题,所谓数据权限是表示,在系统中即使角色相同,都有操作权限,但业务操作时受风险、额度、销售区域等业务属性限制。 如销售人员可以看到自己的销售列表,而销售经理可以看到其管辖范围内的销售人员的销售列表,而高级销售经理能看到其下辖的销售经理的销售列表,更进一步,只看金额超过1000万的单子,小于1000万的单子不看。如销售人员是销售产品的,但由于产品属性的不同,如产品属性中销售地区在“苏杭地区”,则北京地区的销售人员则不能销售。如产品属性中风险属性高,则销售人员的级别也要求高,则低级别的销售人员则不能销售该产品;进一步来讲,随着时 ...
JPA 与 Websphere的兼容性问题解决方案                            李俊杰 概述 考虑到OR映射的产品多样化,为了更富有柔性化的设计,我们的产品采用JPA作为Persistence layer的持久化技术,hibernate3.2(hibernate3.2才支持JPA),spring2.0作为IOC和AOP的工具。产品的运行环境为Websphere6.1(因为我们的产品是基于jdk1.5)。JPA(Java Persistence API)作为Java EE 5.0平台标准的ORM规范,得到所有Java EE服务器的支持,是一个易于使用、伸缩性强的ORM规范 ...
PureMVC软件架构分析与鉴赏         李俊杰 概述 随着客户端程序的风起云涌,Adobe公司收购了Macromedia公司,针对Flesh的客户端进行研发,推出了Flex语言。Flex语言是类似与java的面向对象语言,编码格式又吸收了Delphi的编码风格,尽管Flex可以展现Flesh的炫目的客户端效果,全新的用户体验,但针对企业化的应用,仅有Flex是远远不够的,需要有合理的软件架构规范,于是Flex世界的MVC框架就应运而生了,PureMVC是Flex世界中的MVC模式的具体实现,相对于adobe官方的Cairngorm的Flex MVC框架,
航海日志(2) ----from Oracle to DB2 ---DB2锁表及 ResultSet Closed <o:p> </o:p>                                 李俊杰 概述 我们原有的系统是架构在Oracle数据库服务器之上的,现在要迁移到DB2数据库服务器上,Websphere作为应用服务器。在原有的系统中后来集成了工作流系统,该工作流系统的持久层是使用Hibernate,这就造成工作流使用工作流系统的数据库连接,而业务系统使用Type4的数据库连接。在迁移过程中发现锁表现象,修改Hibernate的配置文件后,在本地的jb ...
航海日志(1) ----from Oracle to DB2       李俊杰 概述 Oracle和DB2是不同的数据库系统,从展现到内部实现机理都有比较大的差异,下面是结合财务公司项目具体情况及数据迁移中涉及到的问题给出具体的解决方案。本次迁移是从Oracle<st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="10" numbertype="1" negative="False" unitname="g" w:st ...
HP Unix 与 Websphere 集成问题解决方案       李俊杰 概述 某资金管理信息系统的操作系统是HP Unix , 应用服务器为IBM Websphere。在系统开发应用中,偶尔出现启动死机现象,具体的说就是,当修改文件后,copy到应用服务器的相应位置,然后停止该服务,重启该服务,在重启服务的过程中偶尔会出现停滞现象。 错误原因及解决方案 错误信息 查看后台Systemout..xml,错误信息如下: SRVE0100E: 未识别出由 servlet context 抛出的 init() 异常:java.lang.OutOfMemoryError: PermGen space ...
  Websphere安全性设置方案      李俊杰 概述 在Websphere的使用过程中,只要有控制台的地址,任何人都可以进入控制台操作,这在很大程度上带来安全隐患,根据客户的要求,需要加入全局安全性控制,在我们的系统中使用了JMS技术,利用了Websphere的总线设置我们的JMS队列,所以要对JMS总线进行相关的设置才能完成。 具体设置步骤 在Linux上创建Websphere控制台管理员用户 以root用户登录,在Linux上建立Websphere控制台管理员用户,如webadmin,密码:1q2w3e4r 命令:[root@cdttest ~]# useradd wasadmin ...
Tuscany  SCA软件架构设计理念分析(二) ——动态代理模式和方法调用 李俊杰 1.     概述 上一篇文章主要讲述了Tuscany SCA的插件板模式及工厂模式的发展和提升,本文主要介绍Tuscany SCA开源软件中动态代理模式(Dynamic Proxy)及方法调用Invocation 。在使用Tuscany SCA中,我们只需要写接口及实现类,这些接口和实现类就是普通的java代码,并没有特殊之处。Tuscany SCA会根据“.composite”文件把这些信息组装成Compoiste,至于如何组装,则是Tuscany SCA的
Tucany  SCA软件架构设计理念分析(一) 李俊杰 1.     概述 SCA (Service Component Architecture) 是一个开发SOA(Service-Oriented Architecture)面向服务应用的简单模型规范,它描述用于使用 SOA 构建应用程序和系统的模型。它可简化使用 SOA 进行的应用程序开发和实现工作。SCA仅仅是个规范(http://www.osoa.org),各个涉及SOA技术的公司的实现也各不相同。本文主要分析Apache Tuscany开源项目 (http:/
动态配置型软件架构 ------客户信息管理系统软件架构分析设计 1.      概述 客户信息管理系统是基于客户(王总)的超前的设计思想和简化二次开发客观需求,因此客户系统必须具有高度的可扩展性和适应性,并且是具有可配 ...
J2EE集群开发部署实战<o:p></o:p> 概述 一个集群系统是一群松散结合的服务器组,形成一个虚拟的服务器,为客户端用户提供统一的服务。对于这个客户端来说,通常在访问集群系统时不会意识到它的服务是由具体的哪一台服务器提供。集群系统一般应具高可用性、可伸缩性、
Jsp页面列表组件框架设计                 作者:李俊杰 概述 为了提高开发效率,减少重复的页面多次开发,提高系统的可配置性和代码的可复用性,也是为了展示struts、hibernate框架,设计原则是降低显示逻辑和数据的耦合,达到显示逻辑和数据完全分离,即相同的数据使用不同的显示逻辑,无须修改显示逻辑,只需置换不同的显示模版即可。 实现机制 <v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id=&q ...
Ajax实现查询助手(Query Helper)<o:p></o:p> 1       概述 1.1    查询助手功能介绍 在通常的BS软件项目中,查询助手使用频率非常高,其功能是点击图标,页面上元素的值为条件,到后台查询结果,弹出查询结果对话框,选择纪录,关闭对话框,并且把你选择的有关内容显示到父页面中指定的元素中。由于其友好的界面设计和操作性能,对用户和设计开发人员都有很大的吸引力,但存在开发效率低,复用性差,复杂度较高等问题。 1.2    Ajax现状和项目实践 随着Ajax的风靡全球,Google
数据模型设计思考与实践李俊杰概述在当前的主要软件应用项目中,数据库在项目中的作用是极其重要的,因此作为项目基础的数据模型的设计就显得非常重要,不仅事关数据的存储和使用,而且反映了对需求的理解和未来变化需求的适应性和扩展性,数据模型设计的好坏还影响存取效率和性能,同时也决定了项目的实现机制和扩展性,特别是对于分布式系统而言,数据的同步及网络通信的设计也非常重要。数据的应用特性和分库存储设计系统中的数据有着不同的应用特性,有的是静态数据,如系统运行配置信息,在系统运行上线前必须初始化的,还有系统业务配置信息,也是在系统运行之初必须设置的,这些数据可能在系统下线都不会变化。有的是半静态的数据,很少作更 ...
Global site tag (gtag.js) - Google Analytics