适用于多种OSGi框架的WebConsole与OSGi嵌入到Web应用的实现 本文介绍开发一个web console以管理OSGi框架及bundles的实现方法,可适用于实现了OSGi规范的Equinox、Felix等开源框架。并介绍了如何把OSGi框架作为一个组件嵌入到现有的未基于OSGi开发的Web应用当中,在Web应用中可获取OSGi中的Service以增加应用的灵活性。本文适用于具有OSGi基本知识的人员阅读。本例所述源代码在http://download.
ArcGIS FlexViewer中的RemoteObject的使用问题 问题描述: Flex SDK3.2下开发的ArcGIS FlexViewer应用中,含有RemoteObject的Widget,只有第一个点击的Widget可通过RemoteObject访问远程对象,再点其他Widget的时候,RemoteObject就不会发出访问请求了。 原因: 是由Flex SDK3.2的原因导致的。 解决方法:
Java中new和newInstance的区别 在Java中,使用new关键字和Class.forName("a.class.Name").newInstance都可以创建对象,它们又有什么区别呢? 1、类的加载方式不同。 在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用newInstance()方法
Java中的equals()和hashCode()方法 在Java语言中,一般不需要自定义equals()和hashCode()这两个方法,当需要对对象的内容进行比较的时候,才需要这样两个方法。例如,需要把对象放入HashSet或者把对象作为key放入HashMap、 Hashtable时,如果不想把具有相同内容的两个对象作为两个对象来看待,就需要重定义这两个方法。这两个方法的使用是紧密配合的,要是设计了其中一个,就要设计另外一个。
在Windows XP下配置PHP和Apache环境 在windows操作系统配置PHP环境,可以用IIS做应用服务器,也可以使用Apache做应用服务器。本文介绍在Windows XP操作系统下配置PHP和Apache环境。 准备工作: 1、在http://windows.php.net/download/下载PHP程序包,因为用Apache做应用服务器,选择用VC6编译的PHP程序包(如果用IIS做应用服务器,
由Web Service应用看信息的一站式服务 当初玩开心网的时候,每天要种菜、收菜、偷菜,要不停的换车位,耗费大量的时间,在同学那里看到了开心网的外挂,可以自动进行开心网的操作,真是方便多了。但这种外挂不是合法的,其实是用桌面程序模拟了人和浏览器,开发这种程序的难点是获取来回传送的数据格式,当然数据格式开心网不会对外提供,这就需要开发人员破解。安装一个Sniffer或者Wireshark(Ethereal)等网络抓包工具,在浏览器中进
使用Axis2实现Web Service的用户会话 对于需要进行用户认证的应用来说,需要Web Service具有会话的功能,用户在使用Web Service时需要进行登录。Axis2提供了4种会话类型,可以很容易的实现会话管理。 作为一个demo,本文模拟用户通过Web Service登录进系统,然后进行业务操作,最后退出登录。本文假设用户的业务操作是跨服务的,而Axis2的Transport Session实现了跨服务的会话
Axis2的会话管理(译) 本文是对《Axis2 Session Management》的翻译,所依据的英文在http://www.developer.com/services/article.php/3620661/Axis2-Session-Management.htm。以下是翻译内容。 Web服务有着很大的需求,很多人进入了Web服务这一领域,其结果是人们需要Web服务具有更多的特性,以便使用W
用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/
使用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
在Java中利用cglib实现代理 在上一篇文章《在Java中利用动态代理实现数据库连接与事务的自动管理》讲述了如何使用Java动态代理,但要求被代理对象要实现一个接口,如果不想实现接口怎么办呢?使用开源的cglib可以实现对一个类对象的代理,而不要求实现接口。 cglib(Code Generation Library)能够在程序运行的时候动态生成接口的实现类和继承于某个类的子类,它是依赖于ASM的,而AS
在Java中利用动态代理实现数据库连接与事务的自动管理 AOP(Aspect Oriented Programming,面向方面编程)是如今比较火的概念之一,再加上Spring框架的流行,很多程序员更是言必称AOP,如果对AOP不了解就像土老帽似的。AOP中的Aspect其实就是程序员关注的某一方面,如某些方法有没有被访问过、某些方法执行时间有多长、把某些方法的执行置于事务之下等等,具体实现方法就是在某些方法执行前后自动执行一些操作,就像拦
对工作流系统的思考 说起工作流,本人一般遇到两种场景:一种是某些人对工作流的向往之情非常强烈,他们的说法一般是“这个问题就应该用工作流来解决”,而他们却未必对工作流有详细的了解,只是对这种技术有道听途说式的理解;另一种是对工作流的强烈反对,认为工作流根本就不好用,即使用了也是“假”的,业务系统该怎么样还是怎么样,用了工作流也就是对客户宣传的噱头而已。 本人先后试用了3种java开源的工作流产品,无一例外都要在
使用Java开源工作流jBPM开发一个简单的Demo jBPM是jboss旗下遵守LGPL许可的java开源工作流,功能比较完善,从4.0开始引入了pvm的概念,支持jPDL、BPEL等流程定义语言。由于相关资料还比较少,开发自己的一个demo还不是太容易,本文详细讲解如何做一个简单的demo程序。 我们从http://www.jboss.org/jbossjbpm/jbpm_downloads/下载jBPM,实际使用时发现4
Java开源工作流OSWorkflow常见问题 OSWorkflow是一个Java开源的工作流,使用Apache许可。OSWorkflow的最大特点是灵活,它所面向的使用对象是专业开发人员,如果最终用户想调整工作流,那是不太现实的。OSWorkflow的流程定义使用自己的xml格式,不遵守XPDL规范。 在http://www.opensymphony.com/osworkflow/下载OSWorkflow,本文使用的是
开源工作流引擎Shark入门4——任务的分配 这第三篇的demo中,所有的任务都是分配给一个人的,这显然不太实用。Shark是如何进行任务分配的呢?Shark本身有4种任务分配方式: 标准方式(Standard):任务分配给参与者映射所对应的用户,如果没有,则分配给创建流程的用户。 历史相关方式(History Related):根据分配的历史来决定任务分配给谁。 直接使用XPDL定义的用户方式(XPDL St
开源工作流引擎Shark入门3——与业务系统结合的一个demo 在本系列第一篇文章介绍的基础上,开发一个简单的工作流应用系统,以第二篇文章介绍的请假流程为例。 把第二篇文章中做的mydemo.xpdl复制到应用的repository/external文件夹下面。 在mysql数据库中建立一个请假单据的业务表: create table ask_for_leave ( id MEDIUMINT NOT NULL AUTO_
开源工作流引擎Shark入门2——使用JaWE设计一个流程 XPDL描述了工作流的相关元素,如参与者、活动、活动间的转移、上下文变量等内容,由这些元素组成一个个流程。XPDL是一个xml格式的文件,可以用文本编辑器直接编辑,但这需要对XPDL规范非常熟悉。JaWE是一个图形化的XPDL编辑器,利用这个工具就不需要学习枯燥的XPDL中的xml元素了,在图形界面上用拖拽式的方法就可以设计出我们需要的流程。 本文讲述如何用JaWE设计一个
开源工作流引擎Shark入门1——安装与配置 Enhydra Shark是一个开源的工作流引擎框架,使用Java进行开发,遵守LGPL协议。Shark遵守WfMC、OMG规范,以XPDL(XML Process Definition Language)进行流程定义。 Shark以Java库的方式运行,并不启动自己的线程,而是和使用它的系统一起运行。这种简单点的方式使它可以在很多环境中运行,如Web、Java Appli