服务设计模式一:Web服务概述
目录
1. Web服务是什么
2.为什么要使用Web服务
3.Web服务考虑的因素和替代方案
4.SOA是什么
Web服务是什么?
所谓服务,通俗的理解就是别人帮你做一些事情,比如说,腰酸背痛了,找个地方让别人帮你捏捏(不要想歪了,咱是个单纯的人),这就在享受别人提供的服务。同理,在计算领域,让别的计算机帮你执行一项业务任务,这就叫做Web服务。
在很大程度上,Web服务是一种解决分布式对象缺点的技术。
为什么使用Web服务
当一个企业内部有多个系统时,就避免不了系统之间的交互;有时候某个系统要和其他外部系统进行对接,从而避免形成信息孤岛。
通过使用Web服务,使得在不同类型的客户端(例如:移动设备、桌面PC、Web应用程序)之间重用和共享公用逻辑会变得相对容易。
Web服务考虑因素和替代方案
虽然Web服务能够适用于很多方面,但它也不是万能。Web服务的调用代价“昂贵”,在每次调用Web服务时,客户端都必须将所有输入数据序列化成字节流,在通过计算机处理(即地址空间)后将该字节传输出去。Web服务器也必须将这个字节流反序列化成它可以理解的数据格式和结构,再执行服务。
比延迟问题更加严重的是,Web服务调用通常必需依赖分布式通信,所有客户端和服务端开发人员都必须准备处理局部故障。
替代方案
省略!!!!!
SOA是什么
面向服务的架构(Service-Oriented Architecture,SOA),在业内已经有很多定义。
有人将它看作是一种架构的技术风给,为离散系统的集成和可重用业务功能的输出提供有效的手段。而另一些人则从更广的角度看待它:
面向服务的架构是一种设计风格,在业务服务创建和使用的整个生命周期(从构思到废弃)中,它对各个方面均有指导意义。
SOA是一种用于组织和利用分布式能力的范式,这些分布式能力可能归属于不同的所有域。
这些观点表明,SOA是一种设计范式或者方法学,其中将“业务功能”看作是服务,将不同的服务组织成逻辑域,以某种方式管理它们的生命周期。虽然和面向对象的分析方法相比,SOA可以帮助业务人员更自然地描述他们的需求,但仍然还有很多方法用于实现服务。