`
kakaluyi
  • 浏览: 438331 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

折腾了一把JAX-WS, SOA & Java EE 5(part 3 of 3)

阅读更多

6,ClassLoader 与打包部署 .ear
了解一下服务器的ClassLoader的结构及工作步骤有助于正确打包和部署。一般来说,不同组件的ClassLoader
一般也不尽相同。ClassLoader的树状结构的最顶端是jvm的ClassLoaders。如Boostrap class loader,
extention class loader, system class loader等等,用来装载 jre/lib/rt.jar,jre/lib/ext/*.jar
及$CLASSPATH上的资源。接下来是服务器的ClassLoader,用来装在服务器的资源,如lib等。接下来是应用的
ClassLoader(application class loader),每个应用的ClassLoader各不相同。这个应用ClassLoader直
接负责装载我们的应用的代码及其它资源。Application Class Loader 一般又分为ejb class loader和war 
class loader。后者在最低下。

据说这些class loader在装载资源时,总是试图向其上一级的class loader请求,看看是否已经装载过了。如
没有装载过,该class loader才会自己去搜寻装载。

这就意味着一个基本的打包原则:war中的资源对ejb来说是不可见的;而ejb中的资源对war中的客户是可见的。
因此当打包成ear时,通用的资源应放置在根路径下,如我们由Schema产生的类型及共用的utility classes等,
应打包成common.jar,放置在.ear的根目录下。这样,这些资源对整个应用来说就是可见的。与其平行放置的其
他组件是:META-INF,ejb.jar,webapp.war,client.jar。他们各自的目录结构不再?嗦。

由于annotation的使用,各种descriptor的配置就不是必需的(可能META-INF/application.xml除外)。

这里有张图,有助于理清这些descriptors'角色与位置:
http://docs.sun.com/app/docs/doc/819-3660/6n5s7klp9?a=view#beacw

如part 2中所提,对web service来说,POJO通过annotation的方式搞成Web Service,该POJO应打包在.war中;
无状态EJB通过annotation的方式搞成Web Service,该ejb应打包在ejb-jar中。

7,客户程序的选项及系统集成
简单提一句话,如果我们的业务逻辑采用Schema定义,然后通过jaxb绑定来产生必要的源代码,并由此来实现业务
要求的话,整个系统的分层就更细了。而供客户程序的选择余地会更大:客户可通过ejb,web service, jms等方式
来与该系统互动,应该是不错的SOA结构了。而web service, jms则提供了较好的系统集成途径。

毛病就是一旦Schema需要改动,jaxb绑定要重新来过。倒是可以通过ant等实现自动化。

另一个问题是这种机构的项目,对开发团队的要求是较高的。


8,两本Java EE 5 书籍读后感
(a) Enterprise JavaBeans 3.0 (5th Edition) 
针对Jboss,有较详细深入的介绍。

(b) Java EE 5 Development using GlassFish Application Server 
针对GlassFish,简明扼要,入门介绍。

不足之处,敬请指教。

分享到:
评论

相关推荐

    jax-ws webservice demo

    基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...

    metro-jax-ws-master

    The Java API for XML Web Services (JAX-WS) is a Java programming language API for creating web services, particularly SOAP services.... It's a part of the Java SE and Java EE platforms.

    JAX-WS自学笔记

    JAX-WS自学笔记 本人自学JAX-WS笔记和简单例子,文档标题结构如下: JAX-WS使用教程 1、JAX-WS概述 2、创建Web Service 2.1 从java开始 2.1.1 运行wsgen 2.1.2 生成的WSDL和XSD 2.1.3 目录结构 2.2 从WSDL...

    Jax-ws所需要的JAR包

    亲测可用,Jax-ws所需要的JAR包,拷贝到tomcat安装路径的lib里,实现了webservice发布到tomcat,赞!

    JAX-WS 2.2 RI所有相关jar包

    JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例 - 外衣 - 博客频道 - CSDN_NET.mht

    JAX-WS_WebService.rar

    JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用

    JAX-WS2.0 API

    JAX-WS2.0 API

    webService部署tomcat需要的jax-ws jar包

    webService部署tomcat需要的jax-ws 的完整jar包

    Jax-WS 简单实例

    Jax-WS的简单实例 Jax-WS的简单实例

    java实验_JAX-Ws

    可以更好的了解 jax-ws的实验过程。了解其原理

    jax-ws webservice简单demo

    jax-ws webservice完整demo,包含所有jax-ws 2.2jar包。

    jax-rs jax-ws所需包,亲测可用

    javax.xml.ws.Service 报错需要的包,亲测可以用,直接下载在ide里buildpath一下就可以,四个jar包 ,整合了其他的jar所以配置简单

    JAX-WS开发的文件生成与部署相关全视频过程

    如果基于一个JAX-WS进行WebService开发,有很多教程,但是具体怎么更自动地生成一些文件,实现客户端与服务端的交互,都讲得不大清楚,为了让大家更方便地部署,我将服务端、客户端文件的生成与部署全过程以及测试...

    JAX-WS 2.2 完整jar包

    JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...

    使用JAX-WS(JWS)发布WebService

    使用JAX-WS(JWS)发布WebService 使用myeclipse开发java的webservice的两种方式 方式一: (此方式只能作为调试,有以下bug:jdk1.6u17?以下编译器不支持以Endpoint.publish方式发布document方式的soap,必须在...

    [Jax-RS] RESTful Java 开发 (Jax-RS 实现) (英文版)

    Learn how to design and develop distributed web services in Java using RESTful architectural principals and the JAX-RS specification in Java EE 6. With this hands-on reference, you'll focus on ...

    JAX-WS2.2.6包

    JAX-WS规范是一组XML web services的JAVA API

    jax-ws 方式发布web Service 后台用Hibernate实现,前端.NET通过引用服务方式实现

    rar中包含整个项目的源码和数据库生成脚本,采用jax-ws发布Web Service服务,支持java客户端和.Net客户端调用,数据库采用oracle10g,里面有创建数据库脚本文件createTable_Oracle10g.sql,由于Hibernate映射表中会...

    JAX-WS Web service

    JAX-WS Web service 开发初步

Global site tag (gtag.js) - Google Analytics