一、何谓api usage scanner:
二进制兼容性和容忍性对于客户来讲是一些最大、最频繁经历的问题。在升级或者应用于他们应用程序运行的软件堆栈的一些部件时,二进制兼容性和容忍性的问题常常导致不可预知的破坏。导致这些破坏性的主导因素之一是在软件产品之间使用了为公布的内部api。因此,当一次升级或者服务被应用时,一些内部api发生了改变,从而破坏了对其依赖的软件产品,这样就破坏了客户的操作稳定性。为了维护并提高软件产品的稳定性,就应改消灭上述的脆弱依赖关系。
api usage scanner(aus)工具能够帮助我们快速定义内部api用法,以致兼容性问题能够被避免或者校正。aus是一种纯java工具,它能够扫描java bytecode中的api引用。从另一个角度来讲,aus也能用于扫描某种软件产品,检测其对所依赖的另外一种软件产品的内部api使用情况。当软件产品的内部api用法被标记后,上文所讲的脆弱性依赖情况可以通过使用被更新后发布的api替换这些引起问题的内部api而被消除。如果当前没有一套有效的api被发布,则产品小组可以及时通知那些在两种产品之间对脆弱的接口进行扩展的api开发者,并且提出对保持api稳定性的要求,直至一套稳定的api替换之。一些ibm的旗舰产品已经这样实施,并且获得了很大的成功。
同理,一个面向客户移植的服务小组也可使用aus来发现在产品版本移植或者平台移植时所发生的破坏性。这些信息将帮助服务小组和他们的客户获得对项目范畴和风险更好的理解。
二、aus发行包构成:
aus发行包很简单,仅含有4项内容:一个可执行文件、一个信息中心、一个说明文件和一个简单的示例应用。
三、aus如何工作:
在aus使用时,我们须将一套编译后的java class文件或者由class文件组成的jar、war、ear文件作为输入。具备了这套文件作为输入,还要配置好一套用于生成报告的扫描规则。报告可以两种xml、html格式产生。html报告有益于分析,xml报告则可以用于后期的扫描结果处理(例如,转换为其它格式的数据)。
四、安装aus:
1。系统环境:
java version: java run-time environment (jre) 1.4 or above
浏览器: 支持emcascript (javascript) and cascading stylesheets level 2 (css2)。aus目前已经与internet explorer 6.x, mozilla firefox 1.0.x, opera 8.x进行了测试。
2。安装步骤:
1. 将下载的压缩包解压缩。
2. 确认java_home环境变量设置正确。
3. 进入aus安装后的bin目录,执行下列命令:
* on windows®:
aus.bat -help (windows)
* on linux®:
./aus.sh -help (linux)
如果见到help信息,则证明安装正确。
五、运行aus:
aus通过以下三种方式调用:
* ms windows batch file: bin/aus.bat
* unix bash script file: bin/aus.sh
* 使用java -jar命令执行lib/aus.jar文件
详细的配置扫描规则,请看aus的infocenter目录中的帮助文件"rule construction guide" 。
闽公网安备 35060202000074号