`
kakaluyi
  • 浏览: 444405 次
  • 性别: 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-rs jax-ws所需包,亲测可用

    2. **JAX-WS**(Java API for XML Web Services)是Java平台上的SOAP(Simple Object Access Protocol)Web服务标准,主要用于创建面向服务的架构(SOA)。JAX-WS提供了处理XML消息、WSDL(Web服务描述语言)和UDDI...

    jax-ws api jar包

    JAX-WS(Java API for XML Web Services)是Java平台标准版(Java SE)和企业版(Java EE)的一部分,它为创建、部署和消费基于SOAP(Simple Object Access Protocol)的Web服务提供了全面的支持。JAX-WS允许开发者...

    Jax-ws所需要的JAR包

    Java API for XML Web Services(JAX-WS)是Java平台上用于构建和消费Web服务的标准API。它简化了创建和使用Web服务的过程,使得开发者能够通过SOAP消息与远程服务进行交互。JAX-WS允许开发者将服务接口直接映射到...

    JAX-WS2.0 API

    5. **数据绑定:**JAX-WS使用JAXB(Java Architecture for XML Binding)进行数据绑定,将XML数据自动转换为Java对象和反之亦然。这使得处理XML消息变得更简单,减少了手动解析XML的必要。 6. **异常处理:**JAX-WS...

    解决weblogic部署JAX-WS需要的配置文件

    WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS标准,但正确配置和部署这些服务需要一些额外的步骤。本指南将详细介绍如何解决这些问题,并提供必要的配置文件和操作步骤。 首先,我们需要了解JAX-WS的工作...

    JAX-WS API, JAX-RS API

    Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准接口,用于创建和消费Web服务。它是Sun Microsystems在2004年推出的一个重要框架,旨在简化Web服务的开发,使得Java开发者能够更方便地实现基于SOAP...

    java实验_JAX-Ws

    Java实验_JAX-WS主要涉及的是Java平台上的Web服务开发技术,JAX-WS(Java API for XML Web Services)是Java SE和Java EE环境中用于创建和消费SOAP Web服务的标准库。这个实验旨在帮助你深入理解JAX-WS的工作原理...

    一个包含jax-ws和jax-rs的例子(含服务端和客户端)

    标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...

    JAX-WS2.1用户指南

    JAX-WS(Java API for XML Web Services)是Java平台上用于创建Web服务的标准API,版本2.1是其一个重要里程碑。本指南将深入探讨JAX-WS 2.1的核心概念、功能以及如何在实际开发中应用它。以下是对JAX-WS 2.1的详细...

    JAX-WS规范

    Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于创建Web服务和客户端。它提供了一种简单、类型安全的方式来构建和消费基于SOAP的消息传递应用程序,是Java世界中实现Web服务的核心框架之一。...

    metro-jax-ws-jaxws221x.zip

    【标题】"metro-jax-ws-jaxws221x.zip" 提供的是一个关于JAX-WS(Java API for XML Web Services)的开发示例,其中包含了JAX-WS 2.2.1版本的相关组件和库文件。这个压缩包是针对Java开发者设计的,用于帮助他们理解...

    webservice之jax-ws

    JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的Web服务。它是Java SE和Java EE平台的一部分,简化了开发人员在Web服务领域的...

    jax-ws webservice demo

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

    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...

    如何基于JAX-WS开发一个WebService实例

    JAX-WS提供了一种简单的方式来创建SOAP(Simple Object Access Protocol)Web服务,它集成了Java SE和Java EE平台,使得开发者可以方便地实现服务接口和服务实现,然后通过工具自动生成WSDL(Web Service ...

    jax-ws2.1.zip

    JAX-WS是Java平台标准版(Java SE)和企业版(Java EE)的一部分,用于构建基于SOAP(Simple Object Access Protocol)的Web服务和客户端。这个压缩包可能包含了JAX-WS实现的核心库和其他相关组件。 **描述中的文件...

    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 Web service

    JAX-WS(Java API for XML Web Services)2.0,由JSR 224定义,是Java EE 5平台的关键组成部分,它是JAX-RPC 1.1的升级版。JAX-WS的主要目标是简化基于XML的Web服务的开发任务,它提供了对SOAP 1.1和1.2,以及XML等...

    jax-ws发布webservice

    Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得Java开发者能够更方便地创建、调用和部署SOAP(Simple Object Access Protocol)服务。在这个...

    jax-ws webservice简单demo

    Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得开发者能够使用Java编程语言来创建、调用和部署SOAP(Simple Object Access Protocol)服务。...

Global site tag (gtag.js) - Google Analytics