分享

Louts Notes学习

 iversion 2007-09-25
 
     经常看到大家对Louts   Notes感到疑虑,实际上我以前也常常是这样,总觉得作Lotus   notes没有前途,没有Java那么令人“尊敬”或者是“佩服”。但现在想想,Lotus   Notes对于刚刚工作的从事软件开发的人来说,这实在是一个很好的东西。我不需要夸大它。下面是我的理由:   
    
  1。很多大的公司都采用Lotus   notes作为办公自动化的平台,我对政府不熟悉,所以抛开政府来说。比如我所知道的国内所有有名的通讯公司,比如华为、中兴通讯、东方通讯、朗讯。等等。而一些比较大的外企比如ibm,西门子,hp也是采用lotus   notes作为办公自动化的平台。所以说,如果你掌握的Lotus   notes,你可能可以进入这些公司。而学习Lotus   notes的人比较少,如果中兴招收一个lotus   notes程序员来说,同时招收java程序员。你可以想象后者的竞争的压力。不过在这些企业的Lotus   notes程序员一般是属于信息技术部门的人员,所以最好对网络技术、windows操作系统要比较了解一些为好。   
    
  2。lotus   notes非常容易学习,如果你努力,一年时间你可以做到完全掌握,因为这是一个二次开发平台,你熟悉这个平台的开发方法就行了,不需要你做很低层的高难度的开发。掌握一个容易的掌握的东西。不会有什么坏处的。这个世界变化快。有些内容要很长时间才能够让人掌握的,并不是就是他的好处。   
    
  3。当然你如果是想成为一个专业化的程序员,那么你不应该只是掌握lotus   notes,我们可以设想一下,假如老板的一个项目是办公自动化方面的。你熟悉lotus   notes,那么你很快很容易的完成了。下次老板有个硬件电路板的驱动程序等待人来开发,但是你除了lotus   notes之外,对其他编程语言一点都不知道,你的老板当然不会找你了。老板也知道lotus   notes不是用来设计硬件的底层操作系统的。但我们这里有些人,常常抱怨lotus   notes能做的事情很少,这是因为他不知道lotus   notes适合用来做什么的。   
    
  这是我从另外一个帖子转过来的东西,是同样的道理:   
    
  从产品开发角度来看,除了稳定性之外(Notes也很问题,我的Domino服务器几个月都不会需要重新启动,而其他一些服务器因为管理不善,常常需要重新启动),还需要考虑开发的简单性、快速性。只要能够完成任务,最简单的开发语言、最简单的开发工作,是最好的选择。因为这样:可以节约开发成本,减少产品的开发周期,减少雇佣高技术员工的难度和费用,减少系统的维护成本。而技术人员热衷的技术开发难度,会降低产品的市场竞争力。   
    
  所以,大家都学习一些东西是好的,比如你可以研究J2ee,但是开发产品的时候,最简单的东西越好。不要一丁点功能就要j2ee或者.net技术。而Lotus   notes是一个办公自动化的可以二次开发平台,它给你做好的很多东西,比如邮件系统,流程的驱动和权限控制机制。当然,你如果熟悉j2ee,你可能能够开发出来这些东西,但是你的老板需要给你支付很多的费用,而且你可能需要很长一段时间,别人都等不及了,而以后维护的时候,很少的人了解你的开发出来的产品,维护的难度加大,实在是非常难以处理的事情。   
    
  在大的公司,很多都是采用lotus   note的哦,比如中兴通信,西门子,IBM等等。他们的应用非常广泛,并不是大家所说的通用的办公自动化产品。完全需要开发人员自己来做流程。中兴通信,采用的邮件系统是lotus   notes的,一般的人不会去使用outlook。而我以前工作过的一家公司采用exchange邮件系统,常常发生邮箱里收取大堆大堆的病毒邮件,在这里很少有。 西门子也一样。   
 
 
 
我做了很久的技术,从做技术到系统设计再到企业软件架构,到售前支持,我现在回过   
  头来看看自己以前和现在,以及周围的朋友、徒弟、下属等,我发现:   
    
  一、很多专职做技术的人员太关心技术,而成熟的技术人员比较关心用户的业务实际,IBM一句话是对的,“Business   is   important,   technology   is   not.”有时候一个技术人员会和客户讲我用了XX语言的XX技术,可以完成你的要求。可是客户比较关心的是能否实现,实现过程,是否稳定。大家可能看过网上一篇关于印度软件工程师和中国的比较吗?有一点是对的,印度的软件工程师用大数组解决列表问题是对的,稳定并且易于维护。我也和印度的it人员交流过,他们很看中那些能够超越程序代码的人,这些人往往是能够超越编程技术而发展到技术专家的。   
  我认为编程技术不是最重要的,掌握解决问题的方法和全面了解企业软件开发才识重要的。什么时候你能站在客户的面前向他们讲解“贵公司的软件系统目前的实际是什么,应该怎样改进,需要怎样规划和实施”时,你才是一名真正的高手。   
    
  二、按照工资和职位需求看待软件前途。现在做lotus开发的人员很少,并且薪资普遍不高,并且职位需求没有asp,.net,java高。但是大家还记得吗,曾经有一个阶段asp,php大量招聘,现在呢?大家看到什么了吗??跟着技术路线走,你永远跟不上。增加自身竞争力的主要方式是你的工作经验--发现和解决问题的能力,与团队和客户沟通的能力,对企业软件开发的领悟能力……   
    
  三、不要走两个极端:死跟技术,什么热就丢下一切去学;不求变,在一条路上走死。   
  前一种浮躁,我面试过几个自称会vc,vb,delphi,lotus,java,asp的人,我就问了一句话:“这几个语言的区别在哪里,举个例子,你说说我要实现一份文件上传到服务器的功能,那个更适合完成,原因呢?”   
  后一种迂腐。技术是在发展的,不努力学习就要落伍,不要做井底之蛙。我建议学lotus的人逐步向两个方面走,在知识管理方面,微软有相当匹敌的解决方案,可以试一试去了解并学习借鉴一下,再就是微软的.net;大家发现没有,从lotus   r6开始,java/xml开始真正进入lotus的开发核心,大家可以学习java和xml的知识,代理,可以试一试用java书写,优势java比ls方便,如果做b/s系统,可以考虑使用一些xml技术,并在lotus上实现。   
    
  四、全面了解IBM的软件架构,企业信息门户、业务过程管理、文档和内容管理、企业集成、商业智能等,你既然选择了lotus,你就是跟着ibm走路了,要了解ibm的解决方案,整体的解决方案,有一本red   book,叫   ibm   ebusiness   frameworks大家可以看一看。   
    
  五、了解行业动态,尤其是ibm竞争对手的动态。it圈子很小,ibm不会一个生存,竞争和合作是时刻存在的。总是有人说ibm是java阵营的,这个观点有问题,以技术路线看人,要是以商业观点,没有永远的阵线。ibm是java许多标准的制定者,但是大家知道吗,在windows   2003   server推出以后,ibm必须考虑将目前的所有软件向windows   2003靠拢,首先就是lotus。why?在中低端的市场,lotus   还要和微软抗衡,所以,要兼容微软的平台,才能在企业服务上竞争。   
    
  六、大家静下心来好好想想,你在lotus上学到了什么?仅仅是ls,做form,view……   
  你没有学会“基于数据库和邮件的过程控制就是工作流”?web   application   server是为browser提供服务支持,所有的程序在server上执行的?企业的信息是要有严格权限控制的?   
  ……………………其实我们学习了很多。我上一个帖子说了,domino是一个集大成的软件,你可以学到很多。我再说一个事实,第一个提出EI(企业集成)概念并提供平台标准的就是lotus。在ibm   software   group中,portal软件还是lotus主要的产品线,不要看叫websphere   portal   server,它的思想和模式借鉴了lotus   k-station。当初我看到wps还以为是k-station呢。但我承认wps比k-station好,因为标准(Apache   org   Jetspeed   project)更开放,可用性和扩展性更好。如果你承认你学到了一些东西,那好,忘掉是从lotus   上学来的,把这些经验用到java开发上,.net开发上,你就比那些程序员有更高的业务经验。有一次我负责一个java-MQ项目,和ibm的工程师一起做。他第一句化话就说,我建议将MQ的权限控制一下,读和写要控制,如果A在MQ   Object的reader列表,就归A线程处理。一直到聊到lotus,我才知道,他做过两年的lotus,要是普通的java人员是不会想到这些的,而不这样做,大家以后登陆XX公司的网站进行购物就要小心了。
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多