Zhaoce给我们讲讲CORBA和中间件吧# Programming - 葵花宝典c*12014-09-04 07:091 楼请赵老师给我们讲讲课。关于CORBA,CORBA是什么,pros and cons,行业中的地位,以及CORBA的替代物?thank Mr Zhaoce in advance!
z*e2014-09-04 07:092 楼你怎么会对corba感兴趣?这都20年前的东西了,只在一些很老的codes中才会出现而且也推荐是直接废弃不用,太老了,细节我也没学过我读书时候这个东西已经接近被淘汰了
c*12014-09-04 07:093 楼看一个人的简历,发现了这个为什么被废弃了?那么现在用什么?【在 z****e 的大作中提到】: 你怎么会对corba感兴趣?: 这都20年前的东西了,只在一些很老的codes中才会出现: 而且也推荐是直接废弃不用,太老了,细节我也没学过: 我读书时候这个东西已经接近被淘汰了
a*f2014-09-04 07:094 楼这是被web service淘汰的无数东西中的一个【在 c********1 的大作中提到】: 看一个人的简历,发现了这个: 为什么被废弃了?: 那么现在用什么?
h*d2014-09-04 07:095 楼我记得corba从来就没有流行过。被边缘化可能有两个原因1. 开发过程复杂,需要用特殊语言定义好stub什么的,然后根据目标语言生成接口类,如果需要修改,整个过程又来一遍2. 这个问题更大。corba号称是跨平台和语言的,实际境况不理想,各个平台的实现有不兼容问题。由于协议复杂,调试可能也不通顺。Web Services在这个方面基本是beat shit of it!【在 c********1 的大作中提到】: 看一个人的简历,发现了这个: 为什么被废弃了?: 那么现在用什么?
P*f2014-09-04 07:097 楼或者说被Java干掉的。 c++, idl, poa,各种对象管理的复杂,学习曲线过高,没有web大牛公司力推,只能在网管这些小地方用得多些【在 g*****g 的大作中提到】: 是被ejb淘汰的,web service是后来的东西了。
w*g2014-09-04 07:098 楼难道我年纪已经这么大了?Corba当年没起来是因为windows下有个平台绑定的DCOM。【在 g*****g 的大作中提到】: 是被ejb淘汰的,web service是后来的东西了。
g*g2014-09-04 07:099 楼那是你对行业不了解,Corba的主要用户是大企业,跑的是Unix。Corba设计的重要理念之一是OS independent, DCOM显然不行。【在 w***g 的大作中提到】: 难道我年纪已经这么大了?Corba当年没起来是因为windows下有个平台绑定的DCOM。
a*f2014-09-04 07:0910 楼00年前市场还是以Windows桌面产品为主,Corba在这个领域里面还能生存00年后桌面产品被Web取代,02年出来的Web Service才真正让Corba完全消失EJB一代很难用,没完全流行起来;等到改得差不多的时候结果Spring出来了【在 g*****g 的大作中提到】: 是被ejb淘汰的,web service是后来的东西了。
c*12014-09-04 07:0912 楼COBRA被Java干掉?Java是语言,cobra是协议,而且Java支持cobra....web【在 P*****f 的大作中提到】: 或者说被Java干掉的。 c++, idl, poa,各种对象管理的复杂,学习曲线过高,没有web: 大牛公司力推,只能在网管这些小地方用得多些
c*12014-09-04 07:0913 楼逻辑不对啊,DCOM是平台dependentcorba好歹是independent正因为DCOM不普适,所以才有CORBA的生存空间,这才make sense【在 w***g 的大作中提到】: 难道我年纪已经这么大了?Corba当年没起来是因为windows下有个平台绑定的DCOM。
P*f2014-09-04 07:0914 楼生态系统【在 c********1 的大作中提到】: COBRA被Java干掉?Java是语言,cobra是协议,而且Java支持cobra....: : web
g*g2014-09-04 07:0915 楼这东西本来就是企业Server端跑得,ejb是97年的东西,90年代的企业市场也是由Sun跟IBM主导的,Corba消失很大原因就是JDK内建了Corba的支持,使得过度很容易。Spring火起来是05年的事情了,当年主导Spring remoting的也是Hession, Burlap, RMI,而不是Web Service。【在 a*f 的大作中提到】: 00年前市场还是以Windows桌面产品为主,Corba在这个领域里面还能生存: 00年后桌面产品被Web取代,02年出来的Web Service才真正让Corba完全消失: EJB一代很难用,没完全流行起来;等到改得差不多的时候结果Spring出来了
z*e2014-09-04 07:0916 楼因为java本身是os independent加上rmi兼容了corba,所以java出来之后,corba基本上就不行了尤其是后来j2ee的ejb又对rmi做了进一步的封装彻底宣告了corba时代的终结【在 c********1 的大作中提到】: 逻辑不对啊,: DCOM是平台dependent: corba好歹是independent: 正因为DCOM不普适,所以才有CORBA的生存空间,这才make sense
a*f2014-09-04 07:0917 楼从协议上来说应该是Corba -> RMI -> Web Service2000前还是JDK 1.1 1.2,2000年才有了J2EE的规范,97 98 JEE属于还在摸索中【在 z****e 的大作中提到】: 因为java本身是os independent: 加上rmi兼容了corba,所以java出来之后,corba基本上就不行了: 尤其是后来j2ee的ejb又对rmi做了进一步的封装: 彻底宣告了corba时代的终结
z*e2014-09-04 07:0918 楼ws是后来m$跟jcp闹翻之后自己出去搞了一个.net游离于主流之外,大门自己也觉得这样不行迟早还是要合流,所以m$就跟ibm几个一起搞出了wsxml几乎就是为ws量身定做的再然后就是soap和uddi还有wsdl的失败被简化的rest和json统统干掉ejb在一些银行里用得还是比较多的ws也是用在系统间比较多单纯的java分布式系统内部,比如hadoop什么还是用rmi【在 a*f 的大作中提到】: 从协议上来说应该是Corba -> RMI -> Web Service: 2000前还是JDK 1.1 1.2,2000年才有了J2EE的规范,97 98 JEE属于还在摸索中
s*o2014-09-04 07:0919 楼我们这儿有个老牌J2EE die-hard,整天兜售ejb拒绝跟spring相关的东西。我都快被烦死了。不过他也快被我气疯了【在 z****e 的大作中提到】: ws是后来m$跟jcp闹翻之后: 自己出去搞了一个.net: 游离于主流之外,大门自己也觉得这样不行: 迟早还是要合流,所以m$就跟ibm几个一起搞出了ws: xml几乎就是为ws量身定做的: 再然后就是soap和uddi还有wsdl的失败: 被简化的rest和json统统干掉: ejb在一些银行里用得还是比较多的: ws也是用在系统间比较多: 单纯的java分布式系统内部,比如hadoop什么还是用rmi
a*f2014-09-04 07:0920 楼把这个链补全应该像这样DLL Link ->OLE->DCOM/RPC->Corba->RMI->WS->REST【在 z****e 的大作中提到】: ws是后来m$跟jcp闹翻之后: 自己出去搞了一个.net: 游离于主流之外,大门自己也觉得这样不行: 迟早还是要合流,所以m$就跟ibm几个一起搞出了ws: xml几乎就是为ws量身定做的: 再然后就是soap和uddi还有wsdl的失败: 被简化的rest和json统统干掉: ejb在一些银行里用得还是比较多的: ws也是用在系统间比较多: 单纯的java分布式系统内部,比如hadoop什么还是用rmi
g*g2014-09-04 07:0921 楼99年我就拿servlet和jsp开发网站了。j2ee的规范都是先有蛋才有鸡的。同样先有的spring, hibernate才有的ejb3, jpa.【在 a*f 的大作中提到】: 从协议上来说应该是Corba -> RMI -> Web Service: 2000前还是JDK 1.1 1.2,2000年才有了J2EE的规范,97 98 JEE属于还在摸索中
z*e2014-09-04 07:0922 楼corba之前的不知道,太古老了但是corba->rmi->ejb remote->ws(soap)->restful ws差不多restful ws已经把网络通信简化到最简了包括通信协议都可以自由选择,数据结构用json应该是以后主流再简单估计也难【在 a*f 的大作中提到】: 把这个链补全应该像这样: DLL Link ->OLE->DCOM/RPC->Corba->RMI->WS->REST
c*e2014-09-04 07:0923 楼我觉得 corba 不错, 狗家搞了个 protobuf , 其实换汤不换药。还有什么 fb 似乎也搞了一个 类似的。【在 c********1 的大作中提到】: 请赵老师给我们讲讲课。: 关于CORBA,CORBA是什么,pros and cons,行业中的地位,以及CORBA的替代物?: thank Mr Zhaoce in advance!
c*e2014-09-04 07:0924 楼后来那些东西流行是赶上了 web 这波车,其实技术上没什么特殊的优势。【在 z****e 的大作中提到】: corba之前的不知道,太古老了: 但是corba->rmi->ejb remote->ws(soap)->restful ws差不多: restful ws已经把网络通信简化到最简了: 包括通信协议都可以自由选择,数据结构用json应该是以后主流: 再简单估计也难
c*12014-09-04 07:0925 楼赵老师不是之前曾经说过新版的EJB已经是反向借鉴了spring了吗?如果那个die hard是ejb的fans/zealot,那么他应该向spring看齐才是【在 s***o 的大作中提到】: 我们这儿有个老牌J2EE die-hard,整天兜售ejb拒绝跟spring相关的东西。我都快被烦: 死了。不过他也快被我气疯了
z*e2014-09-04 07:0926 楼ejb3可以选择是beans.xml还是传统的container managementejb最大的毛病就是东西太多,要么全接受要么全不要spring的好处就在于它每一个component,都是可以独立存在的你要用ejb,它会塞给你一堆东西,什么jpa,jca都在里面但是你要用spring,自己写个main,就能跑了当年我搞spring也就花了五分钟,写了个main函数,把beans.xml读到然后就能用了,很简单,struts麻烦点,hibernate最麻烦因为hibernate要配置transaction manager,不配还不行所以cassandra这种nosql以后会逐步替换掉传统db的大部分市场剩下不得不用transaction,比如交易,用户密码这些数据才会放到db中去,看newsql能不能搞掂db但是象什么log,聊天记录,用户喜好等等,都丢给nosql去存【在 c********1 的大作中提到】: 赵老师不是之前曾经说过新版的EJB已经是反向借鉴了spring了吗?: 如果那个die hard是ejb的fans/zealot,那么他应该向spring看齐才是
c*12014-09-04 07:0927 楼请问,用户密码为什么需要transaction?因为交易数据用transaction可以理解,毕竟如果出错了可以roll back但想不通用户密码为什么要上transaction?请赵老师指点,多谢【在 z****e 的大作中提到】: ejb3可以选择是beans.xml还是传统的container management: ejb最大的毛病就是东西太多,要么全接受要么全不要: spring的好处就在于它每一个component,都是可以独立存在的: 你要用ejb,它会塞给你一堆东西,什么jpa,jca都在里面: 但是你要用spring,自己写个main,就能跑了: 当年我搞spring也就花了五分钟,写了个main函数,把beans.xml读到: 然后就能用了,很简单,struts麻烦点,hibernate最麻烦: 因为hibernate要配置transaction manager,不配还不行: 所以cassandra这种nosql以后会逐步替换掉传统db的大部分市场: 剩下不得不用transaction,比如交易,用户密码这些数据
z*e2014-09-04 07:0928 楼当用户update密码的时候,这个中间是不允许错的出错了也需要rollback,而且这个经常性涉及交易交易时候经常需要输入密码,所以这一步一般都是transaction中的一个环节如果你把这一步放在non-transaction的环境中的话所有涉及这一步操作的transaction就都很麻烦了【在 c********1 的大作中提到】: 请问,用户密码为什么需要transaction?: 因为交易数据用transaction可以理解,毕竟如果出错了可以roll back: 但想不通用户密码为什么要上transaction?: 请赵老师指点,多谢