CSDN博客

img hb207

我的软件开发经历(三)——IBM篇

发表于2004/9/27 18:37:00  984人阅读

TJS_IMIS项目结束后,我迎来了难得的休整时间。我在整理项目文档的同时,不断总结项目的得与失。我习惯计划、思考和总结,良好的计划保证有条不紊,而经历只有经过思考和总结后才能升华为经验和思想。

 

休整的同时,我意识到自己应该接触最新的技术,学习更多的知识,而且要确定我的研究方向了。我时刻提醒自己,作为一名研究生,一定要在某一领域有些造诣。企业应用一直是我关注的领域,如今电子商务已经成为热点,而且不断为企业创造价值,相关技术(无论是信息技术还是管理技术)也越来越成熟,但仍然有许多值得研究的课题。我应该尽快学习最新的信息技术,并与企业应用相结合,争取在研究生期间取得一定的研究成果。当我听到IBM的“随需应变”时,尽管我不是太了解其中真正含义,但我知道这是一个具有划时代意义的概念。

虽然我一直在关注JAVA/J2EE技术,但由于时间的关系,只停留在理论阶段,虽然用JAVA做过课程设计,但对JAVA的精髓以及J2EE构架对只处于了解阶段。我知道未来是e时代,网络将改变人类的生活、工作方式,而.NETJ2EE无疑是当今WEB应用和e-business最流行的两个平台。我一向来对微软的东西不感冒,而JAVA是我几年前就认识的老朋友了,虽然不是太熟悉,但我相信一回生,二回熟。在以前开发C/S结构的系统时,我就憧憬着中间件了。而J2EE完美的架构深深吸引了我,一个MVC模式足可以让一群爱好者为之倾倒了。

 

我是幸运的。一直以来,我都觉得自己是幸运的,细细想来,每个人都可能遇到这样那样的机遇,但上帝只青睐有准备的头脑,我一直以来的努力让我具备了有准备的头脑,所以机会来临时,我已经准备好了。研一暑假就快要来临时,实验室接到一个外包电子政务项目,采用J2EE技术,由外包方派出项目经理管理项目的研发,实验室提供开发人员,我有幸成为其中一员。虽然最后项目中途撤走,但在准备和前期开发过程中,我还是学到了与J2EE平台相关的技术(JSPServletEJB),积累了一定的J2EE编程经验,而且通过使用IBMWSAD初步了解了Eclipse平台的美妙。从那时开始,我对IBM越来越感兴趣。虽然早就听说了郭士纳带领IBM这只大象跳舞的故事,但对IBM的了解还是从使用WSAD开始。也是从那时开始,我喜欢到IBM的网站去遛遛,也成了DeveloperWorks的常客。Why join IBM?告诉了我很多关于IBM核心竞争力之源;Life At IBMMeet Our People让我了解了IBM生活和IBMerAvailable Positions让我看到了自己努力的方向。在CSDN.netzdnet.com等网站上我不断了解到IBM的动态,我深深被IBM吸引,以前的我一直在考虑自己的发展方向,然而很少考虑发展的平台,当遇上IBM时,我知道她就是我的目标了。虽然以前也经常关注国内外IT公司的动态,但象关注IBM的那种认真劲,还是第一次。我也开始思考前辈们在我耳边的教导“不要盲目追寻大公司,只有符合自己的定位和目标的公司才对你的职业道路有利”,思考自己的定位和目标,进一步了解IBM,不断问自己:究竟IBM是否适合你的发展?我得到的答案始终是肯定的。IBM始终站在信息技术的最前沿,不断为世界各地的企业提供优秀的解决方案和IT产品,而这正是我的人生理想。IBM神奇的技术让我倾慕不已,IBM伟大的产品让我赞叹不已,IBM的企业文化更是令人向往,能与IBM的专家们一起为企业提供优秀的解决方案是我梦寐以求的事。

正当我苦于没有机会进一步了解IBM的技术和产品时,迎来了我又一个新的机会。那时研二刚开始不久,我正沉浸于期刊论文库里面的论文。导师带来了一位来自新加坡的CEO,这是我见过的第一个具有CEO头衔的人,呵呵。以为终于可以pratise我平时练就的oral English了,但他居然会说普通话,而且蛮标准的,所以我就收皮了,J。听他介绍后,我了解到他是Singapore Beans Factory(A member of Beans Group)CEOCTOBeans FactoryIBMBusiness Partner,在Hong Kong和北京有分公司,他们的产品和解决方案都是基于IBMproducts的。这次他们找到导师是希望和我们实验室建立长期合作的关系,他们准备进入中国大陆市场,而且已经中标一项目,客户是**人寿保险有限公司。由于他们在广州没有分公司,这个项目由他们的香港分公司负责,他们希望我的导师这次能派出一位有J2EE开发经验的学生参与这个项目。导师非常重视这次合作机会,他重点推荐我参加这次的项目(我在之前暑假期间的电子政务中承担了主要开发任务),同时也推荐了几位同学作为候选者。我们一起参加了由Beans Factory组织的面试,结果我有幸成为唯一录取的人。当时有些紧张,但更多的是兴奋,因为我终于可以实现自己的愿望,由了进一步了解IBM技术和产品的机会。IBM是我的梦想,而这次机会则是一个跳板,我要趁此机会努力提升自己。

 

1012号,我步入了广州最高的建筑物中信广场,来到了**人寿保险总部。由于Beans在广州没有Office,我和我的香港同事就在客户的Office办公。我花两天时间阅读了项目Requirement SpecificationSchedule,熟悉了项目的情况,了解到这个项目的开发人员其实就只有我一个人,一位香港同事负责需求分析和系统设计,另一位很少出现的同事是我们的Project Manager,后来从澳洲请来了一位System Expert,负责系统的安装和配置。我的前期任务主要是负责一些后台程序开发,以及根据用户的需求对IBM的产品作一些二次开发(比如UI customization、增加一些功能等等),并作一些产品(如Content ManagereClient等)的configuration。与同事的沟通基本上采用email通过英文进行交流,让我有了外企的体验。

这个项目全称是Imaging&Workflow System,包括英国**台湾公司和**保险两个part,我是广州项目组的成员,后来也承担了台湾项目组的部分开发任务。在广州的项目,只有Imaging  System,没有Workflow部分,使用Content Manager进行影像管理。参加项目之前,我简单了解过WebSphere  Studio,但没有深入。当拿到产品系列文档时,我如获至宝。由于我前期面临着与Content Manager相关的开发,所以我首先详细阅读了CM的系列文档,对CM有了全面的认识,并熟悉了CMAPI。在之后的两个星期里,我的任务是开发两个后台程序,使新系统与已有系统互相集成。由于我对Content Manager有了充分的了解,而且有Java编程基础,很快我就完成了后台程序的开发,同时抽空了解了eClientWASEclientClient for windows(Fat client)Content Manager的两个客户端应用程序,而eClient是基于J2EE架构的Web应用程序,用户选择了eClient作为客户端应用程序,但要求按照他们的需求对eClient进行customization。虽然对UI进行customization并不难,但用户要求增加的有些功能却需要对eClient伤筋动骨,需要对eClient的整体结构比较了解才行。EClient是基于J2EE架构的,这正是我学习J2EE的好机会,而且这是我向往已久的IBM的技术。同时我还需要做Content Managerconfiguration,这使我进一步了解了Content Manager的思想和structure

在项目进行期间,我再一次深深体会了沟通的重要性,也通过与用户和同事的交流进一步提高了沟通表达能力。我们的Office有一块白板,交流时我们习惯在白板上表达自己的意思,有争论,有赞同,最终的结果是互相明确对方的意思。项目中期与来自新加坡的Capture Software Vendor的人员共事期间,有了practise oral English的机会,虽然说得不大地道,但不影响互相之间的沟通,提高了英语口语表达能力。

在中期系统测试和上线时,我通过不断学习深入了解DB2WAS,逐渐能够协助system expert进行系统的配置和通过调整参数优化性能。印象深刻的一次是系统刚刚上线,eClient使用不到四个钟头就会导致AIX服务器(RS6000)内存消耗殆尽,不得不重新启动eClient服务才能重新恢复。通过观察,我发现用户使用时DB2connection不断增多,随着DB2connection的增长,AIX的占用内存也不断增长。由于用户使用初期不太习惯操作方式,每次退出都是直接关闭IE,而不是注销退出,这样导致DB2connection一直保留,而且直线增长。我突然想起以前看到的一篇关于connection pool的文章,难道没有使用connection pool?我打开WAS admin console,果然eClient没有定义connection pool。于是我向PMsystem expert提议使用connection pool,他们采纳了我的建议,情况得到了好转。虽然我知道他们只是一时没考虑到,但我还是为能解决这个问题而高兴。我再次想到那句话:机会只青睐有准备的头脑。我相信只要自己不断学习,总会得到好的锻炼机会。另外一次令人难忘的也是performance的问题,依然是eClient,用户在查询数据时感觉到很慢,之前由于数据不多,所以没有多大感觉,现在数据越来越多,查询速度也越来越慢。而且我的一个用JAVA写的后台程序运行时间也相当长,该后台程序的任务是从另外一个系统(Storing data in DB2 for AS400)读取数据来更新CM的属性值,涉及到CMitem search、retrieve等操作,随着数据的增长,这个程序跑的时间越来越长,间接影响eClient的性能。当时system expert在台湾,不能赶过来解决问题。我作为我们公司的唯一技术人员就担负起解决问题的重任,虽然没有强制要求要我务必解决这个问题,毕竟我只是一个developer,但我想这是一个锻炼自己的机会,也是一个学习的过程。我首先分析了情况,都涉及到CM的查询,肯定与index有关。按照这个思路,我阅读了相关文档,并到IBM的网站搜索相关主题,初步有了解决问题的思路,可以通过调节DB2buffer poolsize和建立CM属性索引来解决这个问题。我向同事说明了我的思路,得到他们的肯定和允许,于是我在测试服务器上进行了相关改动,并进行了测试,果然发现经过这些改动后,查询速度有了明显的改善,而且我的后台程序速度提高了四倍多。当时的兴奋劲就甭提了,好像发明了新大陆一样。或许这些对于一个IBM产品专家来说算不了什么,但对于我确是一个莫大的鼓舞。经过不断磨炼,我对自己越来越有信心;同时也对IBM的技术和产品更加钦佩和向往。IBM的技术始终处于IT领域的前沿,产品都比较高端,如果只懂之皮毛,很难领略到IBM技术的精髓和产品的神奇。同时也感到其它IT公司实施IBM的产品时缺乏高水平的专家或工程师进行技术支持,导致客户对IBM的产品产生偏见。

虽然我对IBM的技术和产品有了一定了解,但我知道还差很远。能与IBM的专家和工程师一起工作,学习IBM技术的精髓,并与IBMer一起为企业提供优秀的solution,是我的追求,我的梦想!现在我迎来了到IBM实习的机会,无论我是否可以把握住这个机会,我都会不断努力,朝这个梦想前进!

经过了前段时间的忙碌之后,我得到了难得的休整期。项目第一阶段上线之后,我的主要任务是处理用户的反馈,解答用户的问题。在这个休整期,我开始着手准备IBM的认证考试,我希望通过IBM的认证考试,总结梳理我的知识,加深我对IBM产品的了解,得到进一步的提高。

阅读全文
0 0

相关文章推荐

img
取 消
img