lbom

小江西

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  18 随笔 :: 21 文章 :: 69 评论 :: 0 Trackbacks

2009年10月15日 #

昨日年终总结会,公司总裁给出IT产业未来发展的几个新趋势,值得我们这些从事软件工作的人员沉思,现对他的发言摘录如下:
1)管理虚拟化:有形的组织型管理和虚拟的IT流程管理相结合管理模式;
2)制造虚拟化:由生产线工人和由程序控制的机器人相结合的生产模式;
3)渠道虚拟化:由实体销售店和虚拟的网上销售相结合的渠道管理模式;
4)服务虚拟化:实体保养维修和远程诊断,软件更新相结合的服务模式;
5)组织虚拟化:垂直的组织机构和横向的项目型组织机构相结合的企业组织模式。
posted @ 2014-01-24 22:28 lbom 阅读(277) | 评论 (0)编辑 收藏

今天,花费1个小时,研究了一下在Windows下,使用Telent登录至UNIX的脚本,现将其贴下,以供下次使用(tt.bat)

 

 

@echo off
echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs

echo WScript.Sleep 3000 >>telnet_tmp.vbs
rem ----------------UNIX IPAddress
echo sh.SendKeys "open 10.0.18.100{ENTER}" >>telnet_tmp.vbs

echo WScript.Sleep 3000 >>telnet_tmp.vbs
rem ----------------userID
echo sh.SendKeys "root{ENTER}" >>telnet_tmp.vbs

echo WScript.Sleep 3000 >>telnet_tmp.vbs
rem ----------------password
echo sh.SendKeys "root{ENTER}" >>telnet_tmp.vbs

echo WScript.Sleep 3000 >>telnet_tmp.vbs

echo sh.SendKeys "ls {ENTER}">>telnet_tmp.vbs

start telnet

cscript //nologo telnet_tmp.vbs

rem del telnet_tmp.vbs

 

posted @ 2011-10-10 16:02 lbom 阅读(3996) | 评论 (1)编辑 收藏

1)启动LiveWriter客户端

2)添加Blog帐户:

image image

3)设置日志类型:

image

4)连接测试

posted @ 2010-09-25 18:02 lbom 阅读(301) | 评论 (0)编辑 收藏

很久没有动手写WebService了,这次,借项目间隙,对系统进行一个小改造,将一部分功能使用WS进行封装,为下一步异构系统集成打下基础。

但在WS化时,由于日久生疏,一个小小的WS化变动,却花了整整好几天时间!为此,狠下以来,将其过程进行记录,以便下次参考。

 

WS整体流程:

clip_image001

以下分别介绍:

1、设计和实现WebService服务端功能组件,用于统一处理针对本应用系统所需进行WebService化的逻辑实现。并将系统逻辑处理中的对象转成序列化后的String对象,以符合WebService交互标准。

clip_image002

2、根据SBPApi.java,生成WSDL等:通过Eclipse右键菜单中的WebService-->Create Web Service项。完成后,会在web目录下建立wsdl目录和SBPApi.wsdl,在WEB-INF目录下建立(改写)server-config.wsdd等文件,并完成对web.xml的修改。其操作流程示如下:

clip_image003

3、根据SBPApi.wsdl,生成WebService客户端开发包和部署文件:

1)为不影响已有项目,可另建java Web项目;

2)将wsdl目录复制至新项目对应的web目录下;

3)通过eclipse已提供的webService插件(右键)功能,生成客户端开发包所各文件。此时,所生成的文件与服务端对象文件结构一至。

clip_image004

4)调整关联引用文件,将其调整至客户端开发包,从而避免与服务器端的引用路径重复而引发不便,并将服务器SDK中已有文件删除。

clip_image005

5)建立客户端的快速使用代理SBPClient.java,对WebService服务端交互工作的SBPApiSoapBindingStub.java进行客户端封装,并根据服务端中交互对象进行反向工程,其示例结构如下:

clip_image006

6)将clientApi下的所有文件打包后,加入测试项目进行测试。此时,因客户端所使用的服务端对象未包含在WebService客户端开发包中,因此需要将服务端对象也一同打包。

7)测试。

4、开发环境:Eclipse3.3.1.1 + JDK1.5.06 + Apache Axis version: 1.4

posted @ 2010-04-02 15:45 lbom 阅读(2154) | 评论 (4)编辑 收藏

在一次基于多线程的编码测试中,发现继承Runnable接口的线程实现类在运行时并未按预计启动多线程,经分析和比较后,找出问题所现,现将其记录下来,以供分享。

Java中,多线程编程中的线程编写,有两种方式,即扩展Thread基类或继承Runnable接口;例如:

public class T extends Thread {

public void run() {

……

}

}

public class R implements Runnable {

public void run() {

……

}

}

对于扩展Thread的实现类T,可以使用T.start()来启动此线程;如

public static void main(String[] args) {

Thread t = new T();

t.start();

}

但对于继承Runnable接口的实现类R,因接口中并没有提供直接启动线程的start()方法,只有一个线程主逻辑运行的run()方法。此时,如执行run(),会因为R.run()只是作为此线程实现类的一个方法,并未在主线程之外,启动另一个线程,从而导致R.run()阻断主线程继续向下执行;并未达到多线程运行的目的。

错误启动代码如下:

public static void main(String[] args) {

R r = new R();

r.run();

}

那么,如何使用另外线程来启动继承Runnable接口的实现类呢?以下就是它的正确的使用方式:

public static void main(String[] args) {

R r = new R();

Thread t = new Thread(r);

t.start();

}

此时,需注意,在主线程执行时,需等待子线程执行,否则,当主线程结束后,子线程也将结束。

posted @ 2010-03-10 16:48 lbom 阅读(1570) | 评论 (2)编辑 收藏

需求:

系统A与系统B分别部署在不同域的两台服务器中,但它们的身份都统一在身份认证服务器中;身份认证信息以Session方式存贮于各自系统中,并辅以cookie进行使用。

当用户在A系统登录后,访问B系统时,由于是跨域访问,导致身份信息不能正确的传递到B系统中,从而致使用户需在B系统中重新登录。

clip_image001[6]

解决方案:

处理这类跨域访问时,我们最先使用从B系统向C通过HttpRequest(类AJAX请求)的方式获取身份信息,此方式好处是同步处理,方便用使用;但其限制诸多,如需设置信任站点、用户访问确认等,甚至,在对应用服务器作了一次安全升级后,根本无法访问了。因此,需另行开辟途径,于是,在同事建议下,我们使用IFrame内嵌跨域验证网页,来解决此问题。

1、原理设计:用户在访问B系统时,先使用一内置的iframe,并将iframe的src指向身份认证服务器系统代理验证接口;如果用户已经在A系统中进行过登录,即A域了中已存在着身份认证信息后,身份认证服务器中也将具有其身份信息将其附带着身份认证信息后重定向访问B系统代理接口;B系统代理验证接口在接收到由A系统传递而来的身份认证信息后,通过身份认证服务器验证后,在B系统所在域重建身份认证信息。

2、实现逻辑贴码:

1)B系统代理验证接口:

(1)IFrame逻辑贴码:

clip_image002[6]

(2)JS检测是否通过认证逻辑贴码:

clip_image003[6]

2)身份认证服务器端接口(JSP):

clip_image004[6]

3、注意事项:

1)由于身份认证中心使用cookie作为身份标识,因此,需要用户在浏览器中允许使用cookie的设置;

2)由于在iframe中进行跨域重定向,因此需在IE安全中的跨域浏览子框架项设为启用:

clip_image005[6]

4、源码文件:

……

posted @ 2010-02-08 17:55 lbom 阅读(3472) | 评论 (3)编辑 收藏

在windows下进行j2ee项目开发和部署时,常需要对系统存在问题进行更深入的分析。由此,实时的javacore就是分析的最佳方式之一。但如何以最方便直接的方式产生javacore文件,就是这项工作必需做的准备工作了。

1、通过dos窗口,进入至jdk安装目录下的bin目录中;

2、运行jconsole.exe,并设置信息输出的目标文件,以便于分析,否则将直接输出至屏幕上;

image

3、连接正在运行的目标jvm;

image

4、连接后的jconsole如下:

image

5、通过通过Ctrl+Break组合键,产生javacore至指定文件中。

6、下一步就是对所产生的javacore文件进行具体的分析和使用了。

posted @ 2009-12-10 15:00 lbom 阅读(2338) | 评论 (2)编辑 收藏

某日,公司进行年度一次的体检!

在连续查出10个脂肪肝后,医生对第11个进来检查的人说:“等会,我们的B超机好像出问题了,等检修后再进行”

这是一个真实的事件,我们这些IT行业的从业人员,多坐少动,压力大,时间长,导致体质差的边医生都怀疑机器了!

唉!

posted @ 2009-10-29 15:32 lbom 阅读(322) | 评论 (0)编辑 收藏

一、项目建立及应用实现

1、建立J2ME项目

clip_image001

2、在完成开发后,进入Application Descriptor编辑界面

clip_image002

3、因默认情况下,Application Descriptor文件中未定义MIDlet启动对象,因此需使用EditPlus或记事本等文本编辑器,编辑Application Descriptor文件(位于项目根目录下),并添加以下项目,如:

clip_image003

4、运行Application Descriptor编辑界面中的Lanuch as enumlated Java ME JAD,进行测试

clip_image004

5、在步骤4之后,会在项目根目录下的.mtj.tmp中生成LaunchFromJAD子目录,其中的worm.jad和worm.jar即是手机程序的安装文件

clip_image005

6、将worm.jad和worm.jar复制至手机中,运行worm.jad进行安装后,即可使用

二、问题分析:

1、如报【文件不完整】错误,则检查worm.jad中的项目是否完整。在Eclipse中使用Lanuch as enumlated Java ME JAD测试通过,并自动生成的此文件,一般都是完整的,不需作任何修改。

2、如报【版本错误】,则检查您在Eclipse中使用的的模拟器版本是否是您手机所支持的,出现此错误后,将模拟器版本调低试试。其位置如下

clip_image006

三、开发环境:

1、java JDK1.6.0_10;

2、EclipseV3.3.1.1;

3、sun公司J2ME-WTK开发包:sun_java_wireless_toolkit-2_5_2-ml-windows.exe

4、Eclipse移动应用开发包:eclipseme.feature_1.7.9_site.zip

posted @ 2009-10-15 17:50 lbom 阅读(1447) | 评论 (0)编辑 收藏