java面试四
1.对比OOP和SOA,它们的目的分别是什么?
我想OOP和SOA应该没有对比性吧。OOP是一种编程模型,强调将复杂的逻辑分解出小的模块,特性是继承,封装和多态。而SOA是一个技术框架,技术框架和编程模型应该说不是一码事吧?SOA的思想是将业务逻辑封装成服务或者中间件提供给应用程序来调用,当然其组件化思想是继承和发扬了OOP的优点。
2.1.ESB技术规范
?SOA架构包括服务消息者、ESB、服务提供者三个部分。
?a.服务消息者:是对于ESB服务的请求发起方,包括网银,电话银行,一户通,ATM等渠道。
?b.服务提供者对服务进行真实业务处理的系统,包括AS400核心,基金、三方存管等。
?c.ESB在中间提供服务路由和调度,所有对服务的访问都需要通过ESB进行。
3.ESB的出现彻底摆脱了传统集成中间件中中央服务器的集中式交换模式,采用了轻量级的分布部署模型,通过对服务的注册、发布、流程化等一系列的管理,提供服务仓库,并可以将服务仓库中来自世界各的服务根据业务需求有机的结合起来,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。
4.ESB的特点:
? a.ESB面向的对象是服务,也就是说,ESB需要去集成的对象都是服务,而服务是基于标准的
? b.ESB在集成的过程中,更强调一种“统一消息”的概念,是可以被在ESB中所集成的各个服务都认可的。
? c.ESB支持异步消息的交互。通常,集成各方的消息传递有两种模式,一是同步的请求-回应模式,另外一种则是异步模式。
?
5.SOA(Service-Oriented Architecture)面向服务架构是一种思想,它将应用程序的不同功能单元
通过中立的契约(独立于硬件平台、操作系统和编程语言)联系起来,使得各种形式的功能
单元更好的集成。目前来说,WebService 是SOA 的一种较好的实现方式,WebService 采用
HTTP 作为传输协议,SOAP(Simple Object Access Protocol)作为传输消息的格式。但
WebService 并不是完全符合SOA 的概念,因为SOAP 协议是WebService 的特有协议,并
未符合SOA 的传输协议透明化的要求。SOAP 是一种应用协议,早期应用于RPC 的实现,
传输协议可以依赖于HTTP、SMTP 等。
Server 公开Web 服务,
Client 调用Web 服务,JAX-WS 的服务端、客户端双方传输数据使用的SOAP 消息格式封装数据。
6.SOAP意思是简单对象访问协议(S imple O bject A ccess P rotocol)。的确如它的名字一样,SOAP是很简单的。它是一个基于XML的协议,允许程序组件和应用程序彼此使用一种标准的Internet协议--HTTP来通讯。SOAP是一种独立的平台,它不依赖程序语言,它是简单的,弹性的,很容易扩展的。SOAP最初由MicroSoft和Userland公司开发。
7.SOAP请求响应机制
当 SOAP 客户机向 SOAP 服务器发送 SOAP 消息时,用 HTTP 协议传输。这就叫做 SOAP 与 HTTP 绑定。当 SOAP 服务器收到消息时,将消息交给服务管理器。服务管理器检查被部署服务的列表,查找在 SOAP 消息中所需的服务。若没有查找到所请求的服务,它将请求失败返回给 SOAP 客户机。但是若此项服务可以提供,控制权由服务管理器转移给 XML 转换程序(转换程序完成合适语言的转换并访问实际服务实现)。服务实现会处理请求并将结果返回给 XML 转换程序。XML 转换程序将结果转换成 SOAP 客户机能够理解的 SOAP 响应(XML 文档)。然后又一次用 HTTP 绑定来传输 SOAP 响应。
8.使用电子邮件的SOAP
HTTP 不是唯一绑定 SOAP 消息的解决方案。若 HTTP 不合适,您可以用诸如 SMTP 的其它机制来用于 SOAP 绑定。将 SOAP 和 SMTP 绑定,您可以建立一条单向传输路由。两条单向消息可以用来建立请求/响应通信。
9.简述一下用Socket进行同步通讯编程的详细步骤?
?? Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。
?? 在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
??? 1、在应用程序和远程设备中使用协议和网络地址初始化套接字
??? 2、在应用程序中通过指定端口和地址建立监听
??? 3、远程设备发出连接请求
??? 4、应用程序接受连接产生通信scoket
??? 5、应用程序和远程设备开始通讯(在通讯中应用程序将挂起直到通讯结束)
??? 6、通讯结束,关闭应用程序和远程设备的Socket回收资源
???
10.6.WEB SERVICE 名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。??
答:Web ServiceWeb Service 是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范 使得Web Service能与其他兼容的组件进行互操作。
JAXP(Java API for XML Parsing)? 定义了在Java中使用 DOM, SAX, XSLT 的通用的接口。这样在你的程序中你只要使用这些 通用的接口,当你需要改变具体的实现时候也不需要修改代码。
JAXM(Java API for XML Messaging)? 是为SOAP通信提供访问方法和传输机制的API。
WSDL 是一种? XML? 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。 这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即 组合成为抽象端点(服务)。
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。??
UDDI? 的目的是为电子商务建立标准;UDDI是一套基于 Web的、分布式的、为Web Service提供的、信息注册中心的实现标准 规范,同时也包含一组使企业能将自身提供的Web Service 注册,以使别的企业能够发现的访问协议的实现标准。
11.WebService的优点:
?a.平台无关性
?b.编程语言无关性
?c.部署、升级和维护web服务简单、方便。
?d.web服务使用者可以轻松实现多种数据、服务的聚合。
?e.成本低。
?f.数据不受防火墙阻挡。