发布一篇将存储历程封装为EJB组件的办法
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,集成Web使用服务器和数据库办理(DBMS)手艺是良多新型贸易使用的罕见需求。在本文中,我们将会商该集成的一个方面:怎样在会话EnterpriseJavaBeans(EJB)组件中计划与开辟封装或挪用现有DBMS存储历程的办法。您应当熟习EJB手艺、布局化查询言语(SQL)和Java数据库毗连(JDBC)的基础常识,以便充实了解本文。
假如您正努力于必要会见或修正在DMBS中数据的Web使用程序开辟,那末大概已在向基于EJB的计划转移。您大概会发明,经由过程使会话EJB组件使用DBMS存储历程,能够削减编码和保护事情,并大概进步数据会见功能。
一些公司多年来一向在利用存储历程(storedprocedure),很年夜水平上是由于它们能够匡助削减收集通讯量,并进步散布式盘算情况中的功能。一般,这些历程包括触及多半据库操纵的主要营业逻辑。远程使用程序挪用这些历程,在DMBS服务器上实行它们所包括的SQL语句。固然,历程停止时,一切了局都前往给使用程序。
这些旧有存储历程对Web使用一般是有效的。与其在EJB组件中复制这些逻辑,为何不将这些历程作为办法封装在会话bean中呢?如许能够制止DBMS服务器和EJB组件中的冗余代码--在思索开辟、调试和保护开支时,冗余代码将消耗开辟效力。这还大概带来进步功能的优点。挪用存储历程能够削减EJB组件底本不能不收回的SQL语句数目,从而削减与远程DBMS的通讯开支。
进门
如今分明为何要从会话bean挪用存储历程了吧,上面我们看看怎样入手下手。起首,必要利用得当的开辟情况,该情况应当包含一个带有内置EJB撑持的Java开辟工具,一个Web使用服务器和一个干系DBMS。我的参考设置包含VisualAgeforJava企业版3.0.2,WebSphereApplicationServer初级版3.0.2.1,和DB2V7.1,一切这些都安装在一个WindowsNT体系上。有关怎样设置该情况以撑持本文所述事情的具体信息,请参阅"LeveragingDBMSStoredProceduresthroughEnterpriseJavaBeans"(位于参考材料中)或参考产物手册。
有了准确的软件情况,就能够入手下手了。固然我们要会商的编码形式大概合适于无形态会话(statelesssession)bean,但它也可以使用有形态会话(statefulsession)bean组件。可是,由于无形态会话bean比有形态会话bean损耗的体系资本更少,并且触及的代码也更少,以是一般倡议利用无形态会话bean。
起首要思索的计划成绩是怎样在存储历程和EJB组件之间映照数据。存储历程大概必要多个输出、输入和输出/输入参数,并前往一个或多个了局集(代表数据行)。除非要对分歧范例的历程利用分歧的编码形式,您必要编写EJB组件以便处置一切这些大概性。
处置输出(大概输出/输入)参数很复杂:将存储历程必要的每一个参数映照成EJB组件的输出参数。可是,处置存储历程的输入对照辣手。大概有多个输入参数和多个了局集要传回挪用程序,必要将这些作为一个可序列化的对象前往,以切合EJB标准。能够编写本人的类,使其能够将这些数据打包成一个对象,并在该对象中包含一切必需的元数据。(该元数据将形貌对象的外部布局,以便客户机晓得怎样处置。)但这必要大批事情。
假如正在利用VisualAgeforJava和WebSphere,那末,有个更好的选项:利用它们的数据会见Bean(DAB)库。该库包括一些供应位于基础JDBC之上的函数层的类。大概会发明com.ibm.db.CallableStatement类出格便利,由于它同意创立一个可序列化的对象,该对象包括一切从存储历程前往的输入,包含多个了局集(假如有的话)和相干元数据。另有一个优点是,该库计划成能够撑持任何撑持JDBC的数据源,因而,它可使bean“与DBMS有关”。有了DAB库,就能够用一个编码形式在会话EJB组件中封装任何存储历程。乃至能够在EJB客户机中利用一个通用的编码形式,来处置任何从封装器办法前往的了局。
回忆开辟义务
我们来会商一下利用通用编码形式,来集成EJB组件和DBMS存储历程的步骤:
断定要将哪一个存储历程封装成EJB办法。假如该历程不存在,则遵守DBMS尺度历程来创立和调试。
断定要利用哪一个无形态会话EJB组件。假如该EJB不存在,则遵守Java开辟情况的尺度历程来创立和调试。
扩大EJB组件的远程接口,以包含用于封装存储历程的新办法。
扩大EJB组件的完成,以包含封装存储历程的新办法的逻辑。毗连到数据库、挪用存储历程、处置一切了局集和处置一切非常是前面要办理的成绩。
经由过程构建一个客户机使用或Servlet,来挪用EJB组件封装器办法,以测试所做的事情。
头两项是基础编程义务,您大概已熟习。依据所用产物的分歧,一般步骤大概会略有分歧,可是年夜多半产物都有工具来供应匡助。比方,假如正在利用VisualAgeforJava和DB2,则能够使用“存储历程构建器”来完成步骤1,和使用EJB开辟特征来完成步骤2。本文将不会合报告头两步。可是,其他三步必要具体解说。本文将在一个实践示例的情况下会商这些步骤中的每步。
<p>
主要缺点就是:速度比较慢,没有C和C++快 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 Java是一种计算机编程语言,拥有跨平台、面向对java 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
页:
[1]