hessian入门教程
一. hession入门
1 创建服务器端

导入hessian包
【第1步】 编写服务器端接口com.hessian.server.Hello.java
package com.hessian.server;
/**
* hessian 服务接口,用于客户端调用
* Hessian建立的远程调用,是对服务的接口进行调用
*
* @author莫小哆_ly 2012-1-16
*/
publicinterface Hello {
/**
* 测试字符串
* @return
*/
public String sayHello();
}
【第2步】 编写接口实现类com.hessian.server.impl.HelloImpl.java
package com.hessian.server.impl;
import … 阅读全文
简介
业务规则
一个业务规则包含一组条件和在此条件下执行的操作.它们表示业务规则应用程序的一段业务逻辑。业务规则通常应该由业务分析人员和策略管理者开发和修改,但有些复杂的业务规则也可以由技术人员使用面向对象的技术语言或脚本来定制。
业务规则的理论基础是:设置一个或多个条件,当满足这些条件时会触发一个或多个操作。
规则引擎产生背景
复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(business logic),迫切需要分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时(即商务时间)可以动态地管理和修改从而提供软件系统的柔性和适应性。规则引擎正是应用于上述动态环境中的一种解决方法。
企业管理者对企业级IT系统的开发有着如下的要求:
为提高效率,管理流程必须自动化,即使现代商业规则异常复杂;
市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新;
为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。
而项目开发人员则碰到了以下问题:
程序=算法+数据结构,有些复杂的商业规则很难推导出算法和抽象出数据模型;
软件工程要求从需求->设计->编码,然而业务规则常常在需求阶段可能还没有明确,在设计和编码后还在变化,业务规则往往嵌在系统各处代码中;
对程序员来说,系统已经维护、更新困难,更不可能让业务人员来管理。
基于规则的专家系统的出现给开发人员以解决问题的契机。规则引擎由基于规则的专家系统中的推理引擎发展而来。
规则引擎
业务规则
一个业务规则包含一组条件和在此条件下执行的操作,它们表示业务规则应用程序的一段业务逻辑。业务规则通常应该由业务分析人员和策略管理者开发和修改,但有些复杂的业务规则也可以由技术人员使用面向对象的技术语言或脚本来定制。业务规则的理论基础是:设置一个或多个条件,当满足这些条件时会触发一个或多个操作。
规则引擎
什么是规则引擎?规则引擎是如何执行规则的?这可以称之为“什么”与“如何”的问题。到底规则引擎是什么还是目前业界一个比较有争议的问题,在JSR-94种也几乎没有定义。可以这样认为充分定义和解决了“如何”的问题,“什么”问题本质上也迎刃而解。也许这又是一种“先有蛋还是先有鸡”哲学争论。今后标准规则语言的定义和推出及相关标准的制定应该可以给这样的问题和争论划上一个句号。本文中,暂且这样述说什么是规则引擎:规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据规则做出业务决策。
规则引擎的使用方式
由于规则引擎是软件组件,所以只有开发人员才能够通过程序接口的方式来使用和控制它,规则引擎的程序接口至少包含以下几种API:
加载和卸载规则集的API;
数据操作的API;
引擎执行的API。
开发人员在程序中使用规则引擎基本遵循以下5个典型的步骤:
创建规则引擎对象;
向引擎中加载规则集或更换规则集;
向引擎提交需要被规则集处理的数据对象集合;
命令引擎执行;
导出引擎执行结果,从引擎中撤出处理过的数据。
使用了规则引擎之后,许多涉及业务逻辑的程序代码基本被这五个典型步骤所取代。
一个开放的业务规则引擎应该可以“嵌入”在应用程序的任何位置,不同位置的规则引擎可以使用不同的规则集,用于处理不同的数据对象。此外,对使用引擎的数量没有限制。
规则引擎架构与推理
规则引擎的架构如下图所示:

规则引擎的推理步骤如下:
a.将初始数据(fact)输入至工作内存(Working Memory)。
…
阅读全文
下载地址
http://proguard.sourceforge.net/
启动proguard
解压下载的proguard4.4beta3,解压后进入lib文件把proguard.jar拷贝到自己新建的文件夹里如图:

把需要混淆的jar和jar所依赖的包也放到新建的文件夹,都放在一起,如下图。

写一个配置文件,名称自己定,举个简单配置文件例子,内容如下,其中-injars:是你需要混淆的jar,-outjars:是你混淆后输出的jar,-libraryjars:是你混淆的jar需要所依赖的jar包,后面的不在一一说明,可以参考proguard文档,配置文件可以参考文档来对自己混淆的需求来写配置文件。
-injars TheFirstDesktopApplication1.jar
-outjars TheFirstDesktopApplication1_out.jar
-libraryjars <java.home>/lib/rt.jar
-libraryjars appframework-1.0.3.jar
-libraryjars swing-worker-1.1.jar
-printmapping proguard.map
-overloadaggressively
-defaultpackage ”
-allowaccessmodification
-dontoptimize
-keep public class *
{
public protected *;
}
-keep public class org.**
-keep public class it.**
…
阅读全文