技术随想

    技术2022-05-11  31

    在阿里巴巴唯一不变的就是变化        阿里软件从成立开始到现在一直都在经历着变化,这个变化的过程也是对于我们商业目标不断成熟认识的过程。   一变:让天下没有难管的生意。        XPlatform走进阿里巴巴,全民动员开发外贸版,阿里软件创业阶段的开始。   二变:迎接SAAS的新未来。        内贸,外贸,网店全面开花,功能不断增强,销售全面铺开。   三变:AEP大战略的开展。        由ISV角色转变成为ISV管理者角色。          这么几次转变,其实也是一种对SAAS的认识的不断转变,阿里软件可以成为一个很好的ISV,但是是否是实现我们让天下没有难管的生意的最好的做法。我们面对的是千千万万的中小企业,行业特征,企业自身规模,管理者的素质,都决定了他们对于软件服务的要求会大相径庭,那么如果要去在横向做全,在纵向做深,基于在多的资源都是不现实的。回顾电信行业的发展,SP的迅猛发展给联通移动带来的蓬勃发展,就可以联想到,在未来的电子商务中,我们需要创建一个电子商务良好的生态链,里面需要的不仅是客户这个水源,更需要软件服务提供商,利用广大的软件服务提供商来服务我们的客户,开拓更广阔的水源。而我们所需要做的就是给客户一个软件超市,给软件服务提供商一个软件集成平台,达到了三赢模式,那么SAAS的实施才会深入人心。        做正确的事和正确的做事   其实商业模式的创新和技术创新一样,除了概念需要有亮点,也需要在实施的过程中有行之有效的手段,如果做一件正确的事采取的不正确的方法,那么结果可能就不会像想象中那样。 阿里巴巴公司中除了老大B2B以外,最受外界推崇的就是淘宝和支付宝,淘宝为上千万的用户提供了内容丰富而稳定的C2C平台。支付宝由淘宝的坚强后盾,走到了前台,成为电子商务支付领域的行业领导者。在这些创新的商业模式背后,都有着强大技术创新作为支撑。做一个C2C平台不算难,但是要做出能够承受那么大用户量的C2C平台却不是一件容易的事。网上支付交易技术也并不困难,但是要承诺“你敢用我敢赔”却不是任何一家网络支付技术公司所能够的。 商业领域的创新和技术领域的创新都一样,概念先行,实践随后,但并不一定是概念提出者或者优先实施者能够占领市场,抢占先机,淘宝和ebuy就是最好的例子。如何正确的做好正确的事,那么就需要用技术创新来支撑起商业概念创新。 阿里软件以SAAS模式作为未来发展的方向,同时也提出了AEP的战略作为实施SAAS的具体手段,那么就需要考虑如何让AEP能够真正成为客户满意,ISV满意的一个平台,如何构建这样的平台,如何让这种创新思想能够在一个创新的AEP平台上得以体现其价值。是否能够找到类似淘宝和支付宝的技术创新点,练得是内功而非招式。     AEP&SOA        AEP就好比一个戏台,不排斥各种演出,只要有观众要看,今天可能是歌剧,明天可能是京剧,后天可能是话剧。最基本的目标如何符合这些演出的要求布置戏台,这就很明确了,AEP不能太过定制化,不能对ISV限定太多,开发语言,运行环境,部署模式。AEP所要做的最低目标就是让外部系统和AEP无障碍交流,再高一点的目标就是让在AEP上的服务如何无障碍交流。就戏台类比就是,最低要求就是一天演一种种类的戏,高一些的要求就是让多种戏穿插演出,观众点播为决定权。要实现此类场景的需求,SOA应该是最适合的概念性的解决方案了。        SOA原本提出的目的是解决企业间信息交互的问题,企业内部的信息如何通过互联网这个媒体,相互沟通,产生更大的商业价值,由于企业内部采取的信息管理技术不同,互通成为了一大难题,而SOA作为一个规范提出,无疑给信息互通提供了一个很好的实现依据。但是SOA仅仅只是概念和规范,实施手段并没有作任何限制,因此是否用正确的方法作正确的事是SOA推广中的一大难点,而SCA(服务组件架构)的规范提出,将概念规范落实到了技术实践规范,技术实施细节规范的制定,让SOA“落地”了。        AEP需要和ISV互通,ISV需要互相之间互通,SOA无疑是给出了一个很好的概念性解决方案,SCA又提供了具体的技术实施规范。   ASF&AEP        ASF(Application Service Framework)是基于SCA规范上实现的服务框架,它的几大特征为:模块化,面向服务,框架扩展性好。        模块化: 这个概念在大多数人看来很虚,概念大过实践,实践可能会带来开发效率低下。但是在ASF的实践过程中,可以很清晰的看见模块化在实践中的作用。        AEP作为一个基础平台,内部需要提供各个不同层次的基础组件和模块,提供给客户,ISV使用,模块化的开发对于未来的服务动态载入,服务监控,服务移植,层次间服务交互都打好了基础,试问以无模块高耦合的开发模式开发出来的应用,如何剥离,如何交互与部署无关性,如何按模块监控和装载。        ASF抛弃了原来让程序员根据编程习惯来控制模块划分和面向接口编程,直接通过服务框架本身服务交互约束限制,服务的作用域规范,达到了模块化以及面向接口编程,将面向对象思想上升到了业务层而非简单的代码级,也符合我们对于SAAS的ISV策略,要求ISV提供可交互的模块化服务,那么平台自身就要模块化。               面向服务:        如何让不同的ISV应用和平台进行数据交互,如何让ISV之间能够互相通信交互,那么就需要抛开服务的技术实现,而上升到服务抽象。就好比我不需要了解我的快递通过何种手段到达我的客户手中,我只需要关心两件事情,我付钱给快递公司,我的客户收到了我的快递,也就是我们说的最基本的交互模式,描述输入和输出,具体的内部处理无需描绘也不需要了解。        ASF是基于SCA规范,同时是SOA的具体实践,因此与生俱来就有面向服务的特质,模块化已经为面向服务打好了基础,而对于SOA最基本的实现手段Web Service作了很好的支持,开发者基于ASF框架可以很方便的将商业逻辑实现暴露成为各种类型的服务,包括Web Service。而Web Service也是迄今为止面向服务的最好实现模式,本身技术实现的广泛应用以及实践,不仅让Web Service规范本身更加成熟,也让它在商业运用中有众多成功案例。        AEP需要和各个ISV互通,同时需要让ISV之间互通,语言无关性,平台无关性,就显得尤为重要,信息交互的规范化无疑Web Service这种面向服务的解决策略是最为成熟和适合的。ASF让所有开发者关注业务逻辑的开发,对于通过服务的简单配置,可以将任意的服务作为Web Service发布,也可以引用任意的Web Service作为内部服务,加上对于Web Service 的 WS-Security系列规范的引入,为电子商务的安全又打下了坚实的安全基础。          框架扩展性好:        ASF类似于框架界的AEP,它只是基于SCA规范,而SCA规范的最大特点就是框架可获展性好。Java世界精彩在于开源项目百家争鸣,未来的SAAS的精彩也在于百花齐放,ASF能做到面面俱到,也不能做到事事精通,那么唯有类似于Eclipse,提供良好的框架扩展性,让各种优秀的开源项目集成到ASF中,这样才能让ASF不断的保持新鲜血液流动。当前通过采用Spring,Axis2,Hessian,Jetty Web Server等开源项目对于OSGI,Web Service,JMS等技术的集成让ASF将他们的优点结合运用,体现出更大的价值。同时,模块化的结构,让自定义组件载入成为可扩展性的最好的保证,未来的搜索引擎支持都可以考虑集成解决性能瓶颈。        AEP在实施过程中,一定会有很多问题和难点,通过某一中新新技术可以解决SAAS在实现过程中的种种问题,可扩展性保证了一个开放式平台对于变化的支持以及对于未来开发模式的无抗拒性,可以极大地利用各种开发资源,提高开发人员的开发效率以及开发积极性,开发人员自身也可以贡献集成模块来改善ASF。   个人成长和公司目标的结合是产生最大生产力的途径        作为程序员,最大的成就就是自己的技术能够被认可,最能提升工作效率的就是工作即爱好。作为一个公司员工来说,为公司实现商业价值是最重要的,因此如何将实现公司商业价值和个人成长和成就结合起来就成为很多人面临的问题。而ASF框架作为开放式的框架,内部集成了各种优秀的技术实现和架构,同时提供可扩展性的支持,无疑给程序员带来很高的成长性,同时技术的实现运用到了商业中,以商业为导向技术为手段使得ASF可以很好的将技术和实践相结合,产生良性循环,技术创新支持商业创新,最终达到用正确的方式做正确的事,同时让每一个程序员在做好最基本的公司员工需要做的本职工作的同时,提升个人能力,体现自我价值,为公司创造最有竞争力的技术而作出自己的努力。     最后就如我在blog中所说的:        阿里巴巴上市的那天我没有太多的激动,因为我没有体验B2B创业的那些日子,不过我很幸运的赶上了阿里软件创业的日子,如果五年后阿里软件上市了,同时ISV在我们的AEP平台上繁荣一片,而AEP的基础ASF得到了大家的认同,那么真的可以激动的说,我见证了阿里软件的成功,我切切实实的为阿里软件的成功作出了自己的努力。  

    最新回复(0)