发布一篇探究CORBA手艺的使用范畴
多谢指点,其实我对.net网页编程和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。6月份,我们谈过您为何要利用CORBA和Java手艺。本月,我要经由过程一个可用的复杂示例,让您入手下手探究CORBA手艺的很多范畴。不外,别忘了我们的方针是,创立如许一种散布式使用程序:使驻留在一台盘算机上的客户性能向运转于另外一台盘算机上的服务收回哀求。我们不想为诸如硬件或操纵体系软件等细节成绩费心,而只是想让这类服务能呼应客户机的哀求。
IDL接口
全体CORBA布局是从一个接口入手下手的,了解接口的最好办法就是想像我的汽车,对,我的汽车。固然您不熟习它,但假如我对您说:“开上我的车,带些三明治返来当午饭”,生怕您就不会嫌疑本人能不克不及驾驶我的汽车。您大概想晓得它停在那里,和开它是不是平安,可是您会确信开我的车与开您的车不同不年夜。这是由于,在各类汽车傍边,人与汽车之间的接口已高度尺度化了。我的轿车和您的跑车之间大概会有一些差别,但汽车的油门踏板、刹车和偏向盘的安装都是尺度的,您必定能轻松疾速上路。
由于CORBA与言语有关,以是它依托一种接口界说言语(IDL),来表达客户机怎样向完成接口的服务收回哀求。我们的接口就是一个办法:add()。这个办法将取两个数(两个IDL的long型数)并前往这两个数之和。上面是我们的接口盘算程序:
清单1.calcsimpl.idl
modulecorbasem{
modulegen{
modulecalcsimpl{
interfacecalculator{
longadd(inlongx,inlongy);
};
};
};
};
这个接口中的IDL关头字有:module、interface、long和in。IDL利用关头字module来创立称号空间,而且此关头字正确地映照为Java关头字package。运转IDL-to-Java编译器时,天生的Java文件将会存到名为calcsimpl的子目次中。IDL关头字interface完善地映照为Java接口,并代表一种笼统范例,由于二者都只界说您与对象通信的体例,而不触及对象的完成。IDL关头字long是一种基础的整数范例,它最少映照为一个4字节的范例,这类范例在Java代码中就是int。
想想实行远程办法挪用的机制,您就会发明界说参数传送的偏向(客户机到服务器、服务器到客户机大概双向传送)是何等的成心义。在IDL操纵中,这些偏向用in、out和inout关头字来声明,每一个参数都必需声明偏向,以便使对象哀求代办署理程序(ORB)晓得该参数的去处。这会影响到为发送而举行的参数打包、参数解包和内存办理。ORB对参数懂得得越多,它的效力就越高。关头字in标明longx和longy是从客户机传送到服务器。
.介入CORBA哀求的各个部分
<br>
IDL编译器必要IDL编译器吗?
您大概已有了ORB供给商和IDL-to-Java编译器。但假如还没有,您从那里猎取呢?这里有很多多少,并且有些还能够收费下载。我保举ObjectOrientedConcepts,Inc.的OrbacusORB。假如不将其用于贸易目标,它还能够收费下载,并且完整切合CORBA2.3标准。别的一个可试用60天的编译器是Inprise的Visibroker,也完整切合CORBA2.3标准而且可下载。如想取得这两种产物,请参阅参考材料。
接口界说今后,必需在ORB供给商供应的IDL-to-Java编译器上运转。IDL编译器是一种精致的有用程序,它天生IDL的stub和skeleton和别的撑持文件。天生的这些源文件,年夜部分将加强CORBA尺度中界说的特定IDL范例的打包功效。编译器将天生年夜部分收集探测(plumbing),这在散布式体系中十分主要。在最基础的级别中,IDL-to-Java编译器只是一个按CORBA2.3标准的界说来完成从IDL到Java言语映照的程序。手动天生这些代码既单调又费时,还简单堕落;IDL-to-Java编译器会处置这统统,以是您就不必费心啦;同时,它会用必定的划定规矩束缚您,并强迫您实行封装。IDL-to-Java编译器将把CORBA-land划定规矩强加给您的体系。
输出上面的命令,从Orbacus实行IDL-to-Java编译器,把一切天生的文件都放在CLASSPATH的输入目次下。
<p>
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种突破用户端机器环境和CPU Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种使网页(Web Page)产生生动活泼画面的语言 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
页:
[1]