服务--web服务

.面向对象和面向组件

.什么是Web服务

.Web服务的应用分类

.Web服务都是对象/组件技术在Internet中的延伸

面向对象和面向组件:

面向对象技术的基础是封装--接口与实现分离,面向对象的核心是多态--这是接口和实现分离的更高级升华;面向对象的表现形式是类和继承。面向对象的主要目标是使系统对象化,良好的对象化的结果,就是系统的各部分更加清晰化,耦合度大大降低。

面向组件技术建立在对象技术之上,它是对象技术的进一步发展,类这个概念仍然是组件技术中一个基础的概念,但是组件技术更核心的概念是接口。组件技术的主 要目标是复用--粗粒度的复用,这不是类的复用,而是组件的复用,如一个dll、一个中间件,甚至一个框架。一个组件可以有一个类或多个类及其它元素(枚 举、)组成,但是组件有个很明显的特征,就是它是一个独立的物理单元,经常以非源码的形式(如二进制,IL)存在。一个完整的组件中一般有一个主类,而其 它的类和元素都是为了支持该主类的功能实现而存在的。为了支持这种物理独立性和粗粒度的复用,组件需要更高级的概念支撑,其中最基本的就是属性和事件,在 对象的技术中曾一度困扰我们的类之间的相互依赖问题/消息传递问题,迄今为止我所知道最好的解决方案就是事件。要理解组件思想,首先要理解事件的思想和机 制。

我一直坚持以为,一个组件的外形/外貌应该是简单的、应该是清晰的、没有冗余的东西、也没有无关紧要的东西,这个外貌通过接口来描述,接口中可以发布事 件、属性和方法。这三种元素就足以描述一个组件外貌的所有特征。比如,我曾经用封装的一个完成端口组件,其外貌接口中只有四个方法,三个事件,三个属性而 已,而该组件的内部实现却有几千行代码。所以在设计一个组件的时候,需要做很多的权衡,哪些需要通过接口暴露出来,哪些应当作为私有实现。有时,你会处于 两难的境地,因为让组件更容易使用,所以需要给出很多默认的参数,但为了使该组件更通用,你又需要暴露更多的属性可以让人设定、暴露更多的方法和事件满足 更复杂的功能。你需要抉择,你需要权衡。难怪有人会说,软件的设计更像是艺术,因为艺术的美在于恰当的抉择和平衡。我的经验是,在保持低耦合度的前提下, 组件的接口足以对付当前的应用就好。如果日后需要加强功能,那就重构然后增强它,这是很容易的,因为早就说了嘛,保持组件的低耦合度。

需要说明一下的是,我们通常所说的控件(如按钮)也是一种组件,可以这么认为,控件是一种具有UI形式的组件。插件(Addin/Plugin)也是一种特殊的组件,插件的单独存在是没有意义的,它是由兼容该插件协议的框架所使用。

什么是Web服务

本人并非作者本人亲笔,都是网上搜集资料整理的结果。

时间: 2024-11-07 22:10:08

服务--web服务的相关文章

web服务代理

在调用web服务程序的时候,通常使用get和post方法来调用,但是我们也可以通过web服务代理来调用.通过对已有的web服务程序的调用来实现异地使用. 首先我们需要建立一个web服务程序,一开始在vs2013中找不到ASP.NET web服务程序,通过查找资料找到了建立方法:建立空白的web应用程序->添加->新建项->web服务 Web服务会自动生成一个简单的测试程序,我们可以在此基础上修改,也可以进行自己编写.运行成功的界面如下: Web服务程序建立好之后就开始进行调用吧,我们需要

EJB_开发EJB容器模型的WEB服务

开发EJB容器模型的WEB服务 WEB服务 Web服务也是一种分布式技术,它与EJB最大的不同是,Web服务属于行业规范,可以跨平台及语言.而EJB属于Java平台的规范,尽管理论上可以跨平台,但实现起来比较复杂,所以其应用范围局限在了Java平台.它们两者的偏重点不一样,Web服务偏重的是这个系统对外提供什么功能,而EJB偏重的是如何使用一个个组件组装这些功能.就好比一个硬盘,它对外提供的是存储服务,这是Web服务的关注点,对于怎样组装这个硬盘,怎样构造这些小零件,Web服务并不关心,但这些却

RESTful风格的Web服务框架:Swagger

Swagger与SpringMVC项目整合 为了方便的管理项目中API接口,在网上找了好多关于API接口管理的资料,感觉目前最流行的莫过于Swagger了,功能强大,UI界面漂亮,并且支持在线测试等等,所以本人仔细研究了下Swagger的使用,下面就如何将Swagger与个人的SpringMVC项目进行整合做详细说明: 最终API管理界面:  详细步骤: Step1:项目中引入相关jar包: <properties> <project.build.sourceEncoding>UT

12个强大的Web服务测试工具

在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种类型的web服务——基于互联网协议,REST和SOAP推动数据和信息的通讯. 由于这些web服务暴露于网络并且分布于不同的网络,所以它们很容易受到风险和安全威胁,从而影响基于它们的进程.因此,web服务或API测试非常有必要,可以确保它们执行正确并正确地响应查询. 市场上有不少商业和开源的测试工具可

Web 服务编程,REST 与 SOAP

REST 简介 在开始我们的正式讨论之前,让我们简单看一下 REST 的定义. REST(Representational State Transfer)是 Roy Fielding 提出的一个描述互联系统架构风格的名词.为什么称为 REST?Web 本质上由各种各样的资源组成,资源由 URI 唯一标识.浏览器(或者任何其它类似于浏览器的应用程序)将展示出该资源的一种表现方式,或者一种表现状态.如果用户在该页面中定向到指向其它资源的链接,则将访问该资源,并表现出它的状态.这意味着客户端应用程序随

基于Socket创建Web服务

基于Socket创建Web服务 为什么要使用Socket呢,我们来看下图 Socket原理图回顾: -------------------编写SocketService,完成字母小写转大写功能----------------------------- ServerSocket服务器端代码如下: public static void main(String[] args) throws IOException { // 1:建立服务器端的tcp socket服务,必须监听一个端口 ServerSo

Web服务基础

1.查看Windows客户端本地缓存的DNS解析记录的命令如下: C:\>ipconfig  /displaydns Windows IP Configuration m1612.oadz.com ---------------------------------------- Record Name . . . . . : m1612.oadz.com Record Type . . . . . : 1 Time To Live  . . . . : 5365 Data Length . .

&#8203;web服务目录的访问权限的控制

web服务目录的访问权限的控制 1.确认web服务器已经安装并启动 [[email protected] ~]# ls /usr/local/httpd/ [[email protected] ~]# netstat -utpln |grep 80 tcp        0      0 :::80                       :::*                        LISTEN      73341/httpd 2.设置只允许192.168.100.110访问,

linux中web服务中间件软件及服务端和客户端软件

一.中间件: 1.认识中间件: 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务.面向服务的体系结构等中应用比较广泛. IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能. 该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那