编程开发
tsun7263
专注于系统分析与设计、项目管理、数据库、企业架构,欢迎交流。
展开
-
编程语言也应该人性化
现在的编程语言大都是设立一套规则,按这个规则来编写程序,如果违反了这个规则那就不客气了,让你编译不能通过。于是就有C、C++、Basic、Java、C#等等编程语言,虽然它们也有类似的地方,但是转换到一种新的语言,语法规则还是要学的。这种多语言并存的格局,使得语言间孰优孰劣的争论也没有停息过,还没有一种语言能够一统江湖。 编程重要的是思想,实现这个思想可以有多种选择,你可以用原创 2007-07-01 22:55:00 · 877 阅读 · 0 评论 -
在Java中利用cglib实现代理
在上一篇文章《在Java中利用动态代理实现数据库连接与事务的自动管理》讲述了如何使用Java动态代理,但要求被代理对象要实现一个接口,如果不想实现接口怎么办呢?使用开源的cglib可以实现对一个类对象的代理,而不要求实现接口。 cglib(Code Generation Library)能够在程序运行的时候动态生成接口的实现类和继承于某个类的子类,它是依赖于ASM的,而AS原创 2009-09-25 21:27:00 · 12688 阅读 · 4 评论 -
使用Eclipse的Axis1.4插件开发Web Service及客户端
所使用的Eclipse版本Eclipse JEE 3.3,JDK版本1.5,Tomcat6.0。在这个Eclipse版本里已集成了Axis1.4的插件,无需安装任何插件就可以开发Web Service应用程序了,利用图形化的向导可以开发Web Service服务端和客户端程序。 建立一个项目AxisServerDemo,写一个简单的类: package demo.axi原创 2009-10-15 22:13:00 · 5927 阅读 · 1 评论 -
用Axis2开发Web Service及客户端
在《使用Eclipse的Axis1.4插件开发Web Service及客户端》介绍的Axis是用的Axis1.x,而Axis2是改进版本,进行了重新的设计,应该是Axis的第二代,本文介绍Axis2的使用方法。 http://ws.apache.org/axis2/是Axis2的主页,写这篇文章的时候最新版本是1.5,从http://ws.apache.org/axis2/原创 2009-10-17 20:39:00 · 2282 阅读 · 1 评论 -
Axis2的会话管理(译)
本文是对《Axis2 Session Management》的翻译,所依据的英文在http://www.developer.com/services/article.php/3620661/Axis2-Session-Management.htm。以下是翻译内容。 Web服务有着很大的需求,很多人进入了Web服务这一领域,其结果是人们需要Web服务具有更多的特性,以便使用W翻译 2009-10-20 19:41:00 · 1925 阅读 · 1 评论 -
使用Axis2实现Web Service的用户会话
对于需要进行用户认证的应用来说,需要Web Service具有会话的功能,用户在使用Web Service时需要进行登录。Axis2提供了4种会话类型,可以很容易的实现会话管理。 作为一个demo,本文模拟用户通过Web Service登录进系统,然后进行业务操作,最后退出登录。本文假设用户的业务操作是跨服务的,而Axis2的Transport Session实现了跨服务的会话原创 2009-10-20 19:50:00 · 1804 阅读 · 1 评论 -
由Web Service应用看信息的一站式服务
当初玩开心网的时候,每天要种菜、收菜、偷菜,要不停的换车位,耗费大量的时间,在同学那里看到了开心网的外挂,可以自动进行开心网的操作,真是方便多了。但这种外挂不是合法的,其实是用桌面程序模拟了人和浏览器,开发这种程序的难点是获取来回传送的数据格式,当然数据格式开心网不会对外提供,这就需要开发人员破解。安装一个Sniffer或者Wireshark(Ethereal)等网络抓包工具,在浏览器中进原创 2009-10-23 19:50:00 · 819 阅读 · 0 评论 -
在Windows XP下配置PHP和Apache环境
在windows操作系统配置PHP环境,可以用IIS做应用服务器,也可以使用Apache做应用服务器。本文介绍在Windows XP操作系统下配置PHP和Apache环境。 准备工作: 1、在http://windows.php.net/download/下载PHP程序包,因为用Apache做应用服务器,选择用VC6编译的PHP程序包(如果用IIS做应用服务器,原创 2009-11-08 22:19:00 · 895 阅读 · 1 评论 -
Java中的equals()和hashCode()方法
在Java语言中,一般不需要自定义equals()和hashCode()这两个方法,当需要对对象的内容进行比较的时候,才需要这样两个方法。例如,需要把对象放入HashSet或者把对象作为key放入HashMap、 Hashtable时,如果不想把具有相同内容的两个对象作为两个对象来看待,就需要重定义这两个方法。这两个方法的使用是紧密配合的,要是设计了其中一个,就要设计另外一个。原创 2009-11-15 22:51:00 · 933 阅读 · 0 评论 -
Java中new和newInstance的区别
在Java中,使用new关键字和Class.forName("a.class.Name").newInstance都可以创建对象,它们又有什么区别呢? 1、类的加载方式不同。 在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用newInstance()方法原创 2009-11-20 22:38:00 · 2861 阅读 · 1 评论 -
在Java中利用动态代理实现数据库连接与事务的自动管理
AOP(Aspect Oriented Programming,面向方面编程)是如今比较火的概念之一,再加上Spring框架的流行,很多程序员更是言必称AOP,如果对AOP不了解就像土老帽似的。AOP中的Aspect其实就是程序员关注的某一方面,如某些方法有没有被访问过、某些方法执行时间有多长、把某些方法的执行置于事务之下等等,具体实现方法就是在某些方法执行前后自动执行一些操作,就像拦原创 2009-09-23 20:18:00 · 2303 阅读 · 0 评论 -
对工作流系统的思考
说起工作流,本人一般遇到两种场景:一种是某些人对工作流的向往之情非常强烈,他们的说法一般是“这个问题就应该用工作流来解决”,而他们却未必对工作流有详细的了解,只是对这种技术有道听途说式的理解;另一种是对工作流的强烈反对,认为工作流根本就不好用,即使用了也是“假”的,业务系统该怎么样还是怎么样,用了工作流也就是对客户宣传的噱头而已。 本人先后试用了3种java开源的工作流产品,无一例外都要在原创 2009-09-17 21:35:00 · 1034 阅读 · 1 评论 -
使用Java开源工作流jBPM开发一个简单的Demo
jBPM是jboss旗下遵守LGPL许可的java开源工作流,功能比较完善,从4.0开始引入了pvm的概念,支持jPDL、BPEL等流程定义语言。由于相关资料还比较少,开发自己的一个demo还不是太容易,本文详细讲解如何做一个简单的demo程序。 我们从http://www.jboss.org/jbossjbpm/jbpm_downloads/下载jBPM,实际使用时发现4原创 2009-09-15 22:09:00 · 10838 阅读 · 19 评论 -
分布式事务简介
学过数据库理论的都知道事务的感念,简单点说就是一系列操作要么全做,要么全不做。我常举的一个例子就是要把甲账户转账1000元到乙账户,至少要做两步操作,首先从甲账户减1000元,然后在乙账户加1000元,这个转账要么两步都做,要么都不做,这就是一个事务的概念。绝对不允许出现甲账户减了1000元,乙账户没变化这样的情况。 有些时候,一个事务会在多个数据库之间进行。例如上面那个例原创 2009-07-31 16:27:00 · 1863 阅读 · 1 评论 -
使用Java开源组件Atomikos开发分布式事务应用
Atomikos是一个公司的名字,AtomikosTransactionsEssentials是其开源的分布式事务软件包,而ExtremeTransactions是商业的分布式事务软件包。TransactionsEssentials是基于apache-license的,是JTA/XA的开源实现,支持Java Application和J2EE应用。 下面以AtomikosTr原创 2009-08-03 11:00:00 · 5666 阅读 · 0 评论 -
使用Java开源组件JOTM开发分布式事务应用
JOTM(Java Open Transaction Manager)是ObjectWeb的开源事务中间件,支持分布式事务,实现了JTA规范。下面以jotm-2.0.10为例说明其在J2EE项目中的用法。 需要的jar包:carol.jar、commons-logging.jar、connector-1_5.jar、jotm.jar、jotm_iiop_stubs.jar、原创 2009-08-03 11:04:00 · 1588 阅读 · 1 评论 -
qooxdoo开发入门
qooxdoo是一个开源的综合性Ajax框架,是遵守LGPL、或EPL(Eclipse Public License)许可的,可以用于商业项目,利于它可以建立面向对象的js类,也可以开发富客户端的界面,甚至在网页上开发出单机程序那样的界面,是一个不错的Ajax框架。 存在的一个问题是,网络上关于qoodxoo的资料并不多,中文资料更是少之又少,能够看到也就qooxdoo网站原创 2009-08-17 14:40:00 · 3979 阅读 · 3 评论 -
开源工作流引擎Shark入门2——使用JaWE设计一个流程
XPDL描述了工作流的相关元素,如参与者、活动、活动间的转移、上下文变量等内容,由这些元素组成一个个流程。XPDL是一个xml格式的文件,可以用文本编辑器直接编辑,但这需要对XPDL规范非常熟悉。JaWE是一个图形化的XPDL编辑器,利用这个工具就不需要学习枯燥的XPDL中的xml元素了,在图形界面上用拖拽式的方法就可以设计出我们需要的流程。 本文讲述如何用JaWE设计一个原创 2009-09-03 14:53:00 · 7034 阅读 · 2 评论 -
开源工作流引擎Shark入门3——与业务系统结合的一个demo
在本系列第一篇文章介绍的基础上,开发一个简单的工作流应用系统,以第二篇文章介绍的请假流程为例。 把第二篇文章中做的mydemo.xpdl复制到应用的repository/external文件夹下面。 在mysql数据库中建立一个请假单据的业务表: create table ask_for_leave ( id MEDIUMINT NOT NULL AUTO_原创 2009-09-03 15:05:00 · 3254 阅读 · 5 评论 -
开源工作流引擎Shark入门4——任务的分配
这第三篇的demo中,所有的任务都是分配给一个人的,这显然不太实用。Shark是如何进行任务分配的呢?Shark本身有4种任务分配方式: 标准方式(Standard):任务分配给参与者映射所对应的用户,如果没有,则分配给创建流程的用户。 历史相关方式(History Related):根据分配的历史来决定任务分配给谁。 直接使用XPDL定义的用户方式(XPDL St原创 2009-09-03 15:13:00 · 2355 阅读 · 2 评论 -
开源!=免费
大家在使用开源软件的时候,有个误区,认为“开源==免费”,这种认识是不对的,开源与免费之间没有必然的联系,具体规定还要看开源软件所遵守的许可(license)类型。 开源软件在给我们的学习和工作带来方便的同时,我们是否也要尊重开源软件贡献者的劳动呢?对于守法的人士来说,回答是肯定的,我们需要知道在使用开源软件时,会不会在无意中违反了法律。这就需求在使用开源软件的时候,把许可读一原创 2009-07-11 22:09:00 · 657 阅读 · 0 评论 -
Java开源工作流OSWorkflow常见问题
OSWorkflow是一个Java开源的工作流,使用Apache许可。OSWorkflow的最大特点是灵活,它所面向的使用对象是专业开发人员,如果最终用户想调整工作流,那是不太现实的。OSWorkflow的流程定义使用自己的xml格式,不遵守XPDL规范。 在http://www.opensymphony.com/osworkflow/下载OSWorkflow,本文使用的是原创 2009-09-08 19:27:00 · 3322 阅读 · 1 评论 -
ArcGIS FlexViewer中的RemoteObject的使用问题
问题描述: Flex SDK3.2下开发的ArcGIS FlexViewer应用中,含有RemoteObject的Widget,只有第一个点击的Widget可通过RemoteObject访问远程对象,再点其他Widget的时候,RemoteObject就不会发出访问请求了。 原因: 是由Flex SDK3.2的原因导致的。 解决方法:原创 2009-12-22 22:00:00 · 1370 阅读 · 1 评论