精华内容
下载资源
问答
  • 六、Web服务体系结构

    千次阅读 2020-04-27 16:32:53
    什么Web服务? Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。 Web服务就像Web_上的构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们的应用...

    一、Web服务概述

    什么是Web服务?

    • Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。
    • Web服务就像Web_上的构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们的应用程序,就像调用本地服务一样。

    Web服务使开发人员能够在任何平台,上使用任何编程语言,创建任何电子商务应用程序。

    • 企业通过Web服务可以与世界各地的客户、合作伙伴实现无缝、高效的连接。
    • Web服务可以实现Internet.上不同服务器接口之间应用程序的相互调用。它还支持异构操作系统之间的连接。

    Web服务主要是对一-些已经存在的技术(HTTP、SMTP、XML)进行包装,因此,它是基于现有技术的一种整合技术。

    通常一个Web服务 可以分为4个逻辑层:
    1.数据层——最低层,Web服务需要的任何物理数据保存在此。
    2.数据访问层——该层为业务层提供数据服务,它把业务逻辑从底层数据存储的改变中分离出来,这就能保护数据的完整性。
    3.业务层——分为2个子层:

    • 业务逻辑层:提供业务面使用的服务
    • 业务面层:提供一个简单的接口,直接映射到Web服务提供的过程。

    4.监听者——最高层,负责接收带有请求服务的输入消息,解析这些消息,并把请求发给业务面的相应方法。

    Web服务的不同描述:
    从不同侧面对Web服务有不同的描述,可以从功能角度描述、从组成框架及实现目标的角度描述、从语义角度描述、从网格计算的角度和信息检索的角度描述。尽管描述不同,但都有如下3点共同的特征:

    1.应用的分布式:
    Web服务对用户具有分布透明性。即服务请求者不必关心服务提供者的数据源格式是什么,某一请求需调用哪些业务,请求在Web上怎样被执行等都是透明的。

    2.应用到应用的交互:在分布式环境中,若采用集中控制方式,则服务器有较大的负荷,且系统不
    具有健壮性。因此,应用到应用的交互,使得Web服务更具可伸缩性。

    3.平台无关性:由于Web服务采用简单、易理解的标准Web协议作为构件接口和协同描述的规范,完全屏蔽了不同软件平台的差异,具有可集成能力。

    Web服务的特点:

    从外部使用者的角度来看,Web服务是一种部署在Web上的对象/构件,它具有以下5个特征:

    1. 使用标准协议规范

    2. 使用协约的规范性

    3. 高度集成能力:由于Web服务采用简单、易理解的标准Web协议作为构件界面描述和协同描述规范,屏蔽了不同软件平台的差异,实现最高的集成性。

    4. 完好的封装性:Web服务既然是种部署在Web.上的对象,自然就具备对象的良好的封装性,对应使用者只能看到该对象提供的功能列表。

    5. 松散耦合:对于调用者而言,只要Web服务调用的界面不变,Web服 务实现的任何变更对调用者都是透明的。

    二、Web服务体系结构模型

    1.Web服务模型

    一个完整的Web服务包括3种逻辑构件,服务提供、服务代理、服务请求,其服务模型如下图:
    在这里插入图片描述
    服务提供者:提供服务并进行注册,以使服务可用。

    服务代理:起中介作用,它是服务的注册场所,充当服务提供者和服务请求者之间的媒介。

    服务请求:在应用过程中通过向服务代理请求服务,调用所需服务。

    与Web服务相关的操作有:
    发布、发现、绑定

    发布:服务提供者向服务代理发布所提供的服务。服务提供者可以决定发布(注册)或不发布(移去)服务。

    发现:服务请求者向服务代理发出服务查询请求,服务代理接收该请求。

    绑定:服务的具体实现。分析从注册服务器中得到的调用该服务所需的详细绑定信息,根据这些信息服务请求者就可以编程实现对服务的远程调用。

    2.Web服务开发生命周期

    开发周期分为4个阶段:
    (1) 构建阶段:包括开发和测试Web服务的实现、定义服务接口描述和定义服务实现描述。可以通过创建新的Web服务来提供Web服务的实现。
    (2)部署阶段:向服务请求者或服务注册中心分布服务接口和服务实现的定义,以及把Web服务的可执行文件部署到执行环境( Web应用程序服务器)中。
    (3)运行阶段:该阶段可以调用Web应用程序。此时服务请求者就可以进行查找和绑定操作。
    (4)管理阶段:此阶段包括持续的管理和经营Web服务应用程序。该阶段应解决:安全性、可用性、性能、服务质量和业务流程等问题。

    3. Web服务栈

    Web服务是种全新的体系结构, 为支持其特性,相关规范不断被推出。Web服务 要以一种可互操作的方式执行发布、发现和绑定这3个操作,必须有一个包含每层标准的Web服务栈。其结构由如下的5层组成:
    在这里插入图片描述
    ①发现服务层:用来帮助客户端应用程序解析远程服务的位置,通过UDDI 协议实现。UDDI 使Web服务可以真正实现信息的次注册,到处访问”。
    ②描述服务层:为客户端应用程序提供正确地与远程服务交互的描述信息。通过WSDL ( Web服务描述语言)来实现。
    ③消息格式层:保证客户端应用程序和服务器端在格式设置上保持致,通过S0AP协议实现。S0AP (简单对象访问协议)定义了服务请求者与服务提供者之间的消息传输规范。,
    ④编码格式层:为客户端和服务器之间提供个标准的、独立于平台的数据交换编码格式,通过XML来实现。
    ⑤传输协议层:为客户端和服务器之间提供二者交互的网路通信协议,通过HTTP (超文本传输协议)和SMTP (简单邮件传输协议)来实现。

    Web服务体系结构的优势

    Web服务是近年来提出的一种新的面向服务的体系结构,它与传统的分布式体系结构相比,其优势有如下4点:
    (1)高度的通用性和易用性Web服务利用标准的Internet协议(HTTP、SMTP),提高系统的开放性、通用性、扩展性。
    (2)完全的平台、语言独立性Web服务进行了高程度的抽象,只要遵循Web服务的接口,即可进行服务的请求和调用。
    (3)高度的集成性:Web服务实质上是通过服务的组合来完成业务逻辑的。因此,表现出高度的组装性和集成性。
    (4)容易部署和发布:通过UDDI、WSDL 和S0AP等协议,很容易实现系统的部署。

    三、Web服务的核心技术

    1.作为Web服务基础的XML

    XML是W3C制定的作为Internet.上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言。

    Web服务所提供的接口、对Web服务的请求、Web服务的应答数据都是通过XML来描述的。

    Web服务的所有协议都是建立在XML基础上,故XML可称为Web服务的基石。

    2.简单对象访问协议(SOAP)

    S0AP是一个基于XML, 在松散分布式环境中交换结构化信息的轻量级协议,它本身不定义任何应用
    语言。它的组成包括如下4个部分:
    ①S0AP信封:是S0AP消息在句法上的最外层,它构造和定义了一个整体的表示框架,用来表示消息中包含什么内容,谁应当来处理这些内容,以及是可选的还是强制的。其组成如下页:
    ②S0AP编码规则:是一个定义传输数据类型的通用数据类型系统,它包括:程序语言、数据库中不同类型系统的公共特性。在系统中一个类型可以是简单类型,也可是复合类型。
    ③S0AP RPC表示:定义了远程过程调用和应答的协议。
    ④S0AP绑定:定义了一个使用底层传输协议来完成在结点间交换S0AP信封的约定。

    SOAP消息结构图如下所示:
    在这里插入图片描述
    SOAP信封包括一个S0AP头和一个S0AP体:

    S0AP头:是可选的。作用是在松散环境下且通信方之间没有达成一致的情况下,为SOAP消息增加特性的通用机制,扩展S0AP消息的描述能力。它是由中介者处理。

    S0AP体:是必须的。包含需要传输给接收者的具体消息内容。它由S0AP最终接收者处理。

    3. Web服务描述语言(WSDL )

    当服务提供者提供了项服务后,就需要一种方法来让使用者了解调用规则以便使用。WSD是一种XML格式,用于将网络服务描述为组端点,这些端点对消息进行操作。WSDL的模型图如下图所示:
    在这里插入图片描述
    WSDL文档在网络服务的定义中使用以下8个元素:
    ①定义:是整个WSDL文档的根元素,包含所有其它
    WSDL元素。
    ②类型:包含与交换的消息相关的数据类型定义。
    ③消息:代表传输数据的抽象定义。
    ④操作:是对服务所支持的操作的抽象描述。
    ⑤端口类型:是一组指定的抽象操作和有关的抽象消息。
    ⑥绑定:由特定端口类型所定义的操作和消息指定格、式的协议细节。某个给定的端口类型可以有多个绑定。
    ⑦端口:通过为绑定指定一一个地址来定义一个端点。
    ⑧服务:表示相关端口的集合。

    4.统一描述、发现和集成协议(UDDI)

    UDDI是一套基于Web的、分布式的、为Web服务提供信息注册中心的实现标准和规范。UDDI定义了4种核心数据结构类型,分别如下:

    (1)业务实体结构
    (2)业务服务结构
    (3)绑定模板
    (4) t模型结构

    UDD核心数据结构关系图如下图所示:
    在这里插入图片描述
    UDD I的技术发现包括2方面:

    注册:对核心数据结构类型进行发布和删除。
    查询:对相关服务的各种信息进行查找和定位。

    四、面向服务的软件体系结构

    1.SOA(面向服务的软件体系结构)的概念

    至今S0A还没有一个公认的定义,许多组织从不同角度、不同侧面对其进行了描述,其中:
    W3C的定义:SOA为一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程。
    W3C将服务定义为:服务提供者完成一组工作,为服务使用者交付所需的最终结果。

    一个完整的面向服务的体系结构(SOA)模型:
    在这里插入图片描述

    在上面图中:
    所有功能都定义成独立的服务。
    服务之间通过交互、协调作业,从而完成业务的整体逻辑。
    所有服务通过服务总线或流程管理器来连接服务和提交服务请求的路径。

    单个服务内部结构:
    在这里插入图片描述

    它与构件模型的区别:
    服务模型的表示层从逻辑层分离出来,中间增加了服务对外的接口层。

    服务接口的意义:
    更多、更灵活的功能可以在服务接口中实现。通过服务接口的标准化描述,从而使得该服务可以提供给在任何异构平台和任何用户接口使用。

    SOA模型的特征:
    SOA是种粗粒度 、松耦合 的服务体系结构,其服务之间通过接口进行通信,不涉及底层编程接口和通信模型。它的特征有下面3点:
    ①松散耦合
    将服务使用者与服务提供者在服务实现和客户如何使用服务方面隔离开来。它使服务实现能在不影响使用者的情况下进行修改。
    服务使用者与服务提供者之间松散耦合。
    ②粗粒度服务服务粒度是指服务所公开功能的范围。
    它分为:
    细粒度——能够提供少量业务流程可用性的服务。
    粗粒度——能够提供高层业务逻辑的可用性服务。
    ③标准化接口:SOA通过服务接口的标准化描述,使该服务可以提供给任何异构平台和任何用户接口中使用。

    S0A的设计原则:

    从建模的观点看,SOA的主要挑战:如何描述设计良好的操作、服务和流程抽象的特征以及如何系统地构造它们。为此提出了:面向服务的分析与设计(SOAD)原理
    SO AD结构图如下,
    它分3个层:
    ①基础设计层(第1层) :它采用了00AD的思想,目标是:能够进行快速而有效的设计、开发以及执行灵活且可扩展的底层服务构件。
    ②体系结构层(第2层) :它采用了EA的理论框架。
    ③业务层(第3层) :它采用了BPM规则。

    在这里插入图片描述
    SOA的实践原则:
    SOA是一种企业系统体系结构,它是从企业的业务需求开始的,它的优势在于SOA提供了业务的敏
    捷性。
    业务的敏捷性是指企业对业务的变化能够快捷、有效的进行响应,为此SOA必须遵循如下2个原则:

    ①业务驱动服务,服务驱动技术在抽象层上,服务位于业务和技术之间,业务处于主导地位→业务的变化需要服务的重新编排和组合→服务变化会带来实现细节的变化。
    ②业务敏捷是基本的业务需求整个体系结构都必须满足敏捷性需求,因此在SOA中任何瓶颈都会影响到整个系统的灵活性。因此,SOA设计师要将敏捷的思想贯穿在整个系统设计中。

    五、Web服务的应用实例

    ERP(企业资源计划)是一个庞大、复杂的信息化系统,传统的设计、开发模式不满足要求,故提出了基于Web服务技术,按照“面向服务”的设计思想和开发模式,建立了基于Web服务的ERP体系结构,其结构图如下;它包括4层:

    1.系统入口
    2.服务集成器
    3.原子服务库
    4.数据库与数据仓库

    在这里插入图片描述

    1. 系统入口层:用户单一的入口,它可以是程序、网络浏览器、任何能访问的服务单元,也可以通过手机、掌上电脑等通信设备访问系统。
    2. 服务集成器:是整个系统的核心部分。在实际运行过程中,系统自动调用相关的服务单元,这些对用户是透明的。它是用业务过程定义来驱动功能单元的执行。
    3. 原子服务库:是所有服务单元的集合。它包含: ERP系统自身的服务单元和其它系统的功能单元进行Web包装后得到的服务单元。

    原子服务包含2种服务单元:

    • 功能服务单元:完成业务操作和数据处理
    • 控制服务单元:决定业务流程的流向并实现权限管理。
    1. 数据库与数据仓库:传统的ERP是构建在关系型数据库上,而数据仓库是指一个“面向主题的、集成的、稳定的、随时间变化的数据集合,用以支持经营管理中的决策制定过程”数据进入仓库之前,经过加工和集成,以实现将原始数据从面向应用到面向主题的转变。
    展开全文
  • Web体系结构

    千次阅读 2016-04-14 17:20:33
    建立Web的愿望是易于使用的超文本接口提供通用的文本共享。Web以两个主要的协议为基础,超文本协议HTTP及TCP/IP协议。... 完整的Web结构应包括:HTTP协议;Web服务器;通用网关接口CGI;Netscape应用编程接口

    建立Web的愿望是易于使用的超文本接口提供通用的文本共享。Web以两个主要的协议为基础,超文本协议HTTP及TCP/IP协议。HTTP用于Web浏览器与Web服务器之间的数据交换。浏览器使用超文本标记语言HTML,TCP/IP为网络传输控制协议。在很多方面,HTTP协议是理解Web的关键。
    完整的Web结构应包括:HTTP协议;Web服务器;通用网关接口CGI;Netscape应用编程接口;Web浏览器。
    下面对Web的结构进行简单的介绍:
    1、超文本传输协议(HTTP)
    Hypertext Transfer Protocol超文本在互联网上的传输协议。 当你想进入万维网上一个网页, 或者其他网络资源的时候,通常你要首先在你的浏览器上键入你想访问网页的统一资源定位符(UniformResourceLocator),或者通过超链接方式链接到那个网页或网络资源。这之后的工作首先是URL的服务器名部分,被名为域名系统的分布于全球的因特网数据库解析,并根据解析结果决定进入哪一个IP地址(IP address)。

    接下来的步骤是为所要访问的网页,向在那个IP地址工作的服务器发送一个HTTP请求。在通常情况下,HTML文本、图片和构成该网页的一切其他文件很快会被逐一请求并发送回用户。

    网络浏览器接下来的工作是把HTML、CSS和其他接受到的文件所描述的内容,加上图像、链接和其他必须的资源,显示给用户。这些就构成了你所看到的“网页”。

    大多数的网页自身包含有超链接指向其他相关网页,可能还有下载、源文献、定义和其他网络资源。像这样通过超链接,把有用的相关资源组织在一起的集合,就形成了一个所谓的信息的“网”。这个网在因特网上被方便使用,就构成了最早在1990年代初蒂姆·伯纳斯-李所说的万维网。

    传统的Web数据库系统体系结构 传统的Web数据库系统一般实现Web数据库系统的连接和应用可采取两种方法,一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面。通过Web服务器返回给Web浏览器。最基本的中间件技术有通过网关接口CGI和应用程序接口API两种。

    2、Web服务器
    WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 WWW 是 Internet 的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了WWW工具,才使得近年来 Internet 迅速发展,且用户数量飞速增长。Web服务器是可以向发出请求的浏览器提供文档的程序。
    服务器是一种被动程序:只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应。最常用的Web服务器是Apache和Microsoft的Internet信息服务器(Internet Information Services,IIS)。
    Internet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。

    3、基于通用网关接口CGI
    CGI是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档,并将文档返回WWW服务器。CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C、VB和Delphi等。

    从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求,Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。再由Web服务器返回给Web浏览器。这种结构体现了客户/服务器方式的三层模型,其中Web服务器和CGI程序实际起到了HTML和SQL转换的网关的作用。CGI的典型操作过程是:分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。

    基于Web的数据库访问利用已有的信息资源和服务器。其访问频率大,尤其是热点数据。但其主要的缺点是:①客户端与后端数据库服务器通信必须通过Web服务器,且Web服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。②CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;③CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。为每个请求都生成进程既费时又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;④由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难;⑤安全性差,缺少用户访问控制,对数据库难以设置安全访问权限;⑥HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。
    4、基于服务器扩展的API(应用编程接口)
    为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。

    服务器API一般作为一个DLL提供,是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。WWW开发人员不仅可以API解决CGI可以解决的一切问题,而且能够进一步解决基于不同WWW应用程序的特殊请求。各种API与其相应的WWW服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。用API开发的程序比用CGI开发的程序在性能上提高了很多,但开发API程序比开发CGI程序要复杂得多。API应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。目前主要的WWWAPI有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。使用ISPAI开发的程序性能要优于用CGI开发的程序,这主要是因为ISAPI应用程序是一些与WWW服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。而NSAPI同ISAPI一样,给WWW开发人员定制了NetscapeWWW服务器基本服务的功能。开发人员利用NSAPI可以开发与WWW服务器的接口,以及与数据库服务器等外部资源的接口。

    虽然基于服务器扩展API的结构可以方便、灵活地实现各种功能,连接所有支持32位ODBC的数据库系统,但这种结构的缺陷也是明显的:①各种API之间兼容性很差,缺乏统一的标准来管理这些接口;②开发API应用程序也要比开发CGI应用复杂得多; ③这些API只能工作在专用Web服务器和操作系统上。

    5、Web浏览器
    网页浏览器主要通过HTTP协议连接网页伺服器而取得网页,HTTP容许网页浏览器送交资料到网页伺服器并且获取网页。目前最常用的HTTP是HTTP/1.1,这个协议在RFC2616中被完整定义。HTTP/1.1 有其一套Internet Explorer并不完全支援的标准,然而许多其他当代的网页浏览器则完全支援这些标准。
    网页的位置以URL(统一资源定位符)指示,此乃网页的地址;以http:开首的便是通过HTTP协议登陆。很多浏览器同时支援其他类型的URL及协议,例如ftp:是FTP(档案传送协议)、gopher:是Gopher及https:是HTTPS(以SSL加密的HTTP)。
    网页通常使用超文本标记语言(标准通用标记语言下的一个应用)文件格式,并在HTTP协议内以MIME内容形式来定义。大部分浏览器均支援许多HTML以外的文件格式,例如JPEG、PNG和GIF图像格式,还可以利用外挂程式来支援更多文件类型。在HTTP内容类型和URL协议结合下,网页设计者便可以把图像、动画、视频、声音和流媒体包含在网页中,或让人们透过网页而取得它们。
    早期的网页浏览器只支援简易版本的HTML。专属软体的浏览器的迅速发展导致非标准的HTML代码的产生。这导致了浏览器的相容性的问题。现代的浏览器(Mozilla、Opera和Safari)支援标准的HTML和XHTML(从HTML 4.01版本开始)。他们显示出来的网页效果都一样。Internet Explorer仍未完全支援HTML 4.01及XHTML 1.x。现在许多网站都是使用所见即所得的HTML编辑软体来建构的,这些软体包括Macromedia Dreamweaver和Microsoft Frontpage等。他们通常预设产生非标准HTML;这阻碍了W3C制定统一标准,尤其是XHTML和CSS(层叠样式表,设计网页时用)。
    有一些浏览器还载入了一些附加组件来Usenet新闻组、IRC(互联网中继聊天)和电子邮件。支援的协议包括NNTP(网络新闻传输协议)、SMTP(简单邮件传输协议)、IMAP(交互邮件访问协议)和POP(邮局协议)。

    展开全文
  • 本系统采用Brower/Web/Database的三层体系结构本系统采用Brower/Web/Database的三层体系结构
  • SpringBoot Web项目结构梳理

    千次阅读 2019-01-08 14:35:07
    讲道理,每个项目都有自己的结构,大家都各不相同,这里讲一个我比较喜欢Web项目模块结构风格,感觉还不错,整体项目结构清晰。 一、项目结构说明 项目整体结构如下: ftp_server ftp_server-api ftp_server-...

    摘要

    讲道理,每个项目都有自己的结构,大家都各不相同,这里讲一个我比较喜欢Web项目模块结构风格,感觉还不错,整体项目结构清晰。

    一、项目结构说明

    项目整体结构如下:

    ftp_server

    • ftp_server-api
    • ftp_server-service
    • ftp_server-web

    1、其中api为该项目对外提供的接口,其中主要为dubbo接口。
    2、service主要为业务实现,以及一些dao层操作,其中也包含了api中对外接口实现。
    3、web主要提供对外的web接口,主要提供http服务等,当web端需要调用service层业务时,也采用dubbo形式调用service模块,所以web端需要提供正常服务时,service服务必须正常提供。

    结构说明:其中ftp_server为parent包含了三个模块,api、service以及web三个子模块。web和service之间采用dubbo形式调用,当需要web端提供服务时,service也必须给web模块提供正常的服务,这样做的好处在于service模块较为独立,可以单独启动,当有另一个系统需要调用该系统的service模块时,直接启动service模块即可。

    二、关于pom文件

    其中ftp_server为所有模块的父级,所以该目录的pom中的依赖会被继承,并且该pom文件中添加三个子模块,如下,形成这种依赖关系,当父模块直接打包时,会把所有子模块都一起打包。

    <modules>
        <module>ftp_server-api</module>
        <module>ftp_server-service</module>
        <module>ftp_server-web</module>
    </modules>
    

    其中,子模块不需要写groupId以及artifactId以及版本号,直接继承父模块即可,当版本升级的时候统一升级,防止版本错乱问题。

    三、项目示例

    采用该结构的项目已上传至gitub,示例项目地址

    展开全文
  • 一般Web典型的项目目录结构

    千次阅读 2016-10-08 17:10:15
    WebRoot-  -common (系统框架公用jsp 如footer.jsp,header.jsp)  -images  -scripts (javascript库等)  -dojo --dojo库,进行库的统一版本管理  -ext 
    
    WebRoot-
    
                 -common      (系统框架公用jsp 如footer.jsp,header.jsp)
                 -images
                 -scripts   (javascript库等)
                                   -dojo                               --dojo库,进行库的统一版本管理
                                   -ext                                 --extjs库
                                         -project                         -- 当前项目js目录
                   -styles -                                     (css模版)
                                 - css 风格1
                                 - css 风格 2
                 -WEB-INF -
                                   -pages     (项目jsp页面,为提高安全性,放到WEB-INF 下面)
                                   -classes
                                   -conf       (项目使用配置文件)
                                   -lib
    展开全文
  • 基于B/S的WEB应用体系结构

    千次阅读 2019-10-10 15:28:42
    简单地说,Web是一种体系结构,通过它可以访问分布于Internet主机上的超文本页面。这一说法包含以下两层含义:第一, Web是Internet提供的一种服务。 第二,Web是存储在全世界Internet计算机中、数量巨大的文档的...
  • web项目的基本目录结构和代码规范

    千次阅读 2018-12-10 09:45:42
    (IDEA)对于一个完整的web项目的基本目录结构和代码规范 (1)对于后端框架采用springboot,数据库Mysql的项目来说基本目录结构是酱紫的 其中包括controller控制类、service服务类、以及用mybatis-generator:...
  • Web基础(三)Python Web

    万次阅读 多人点赞 2018-11-14 19:11:49
    文章目录Python Web基础1. WSGI1.1 概述1.2 实现原理1、WSGI Server/gateway2、WSGI Application3、WSGI MiddleWare1.3 测试 WSGI服务器代码简析1.4 实现WSGI服务器1.5 生产环境中的Web服务器[Gunicorn]...
  • web到底是什么意思。先来看看两个名词:  一、超文本(hypertext)  一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。它是超级文本的简称。  二、超媒体...
  • HTTP的WEB服务器做了些什么

    千次阅读 2018-11-10 09:56:19
    Web服务器的实现 Web 服务器实现了 HTTP 和相关的 TCP 连接处理。 负责管理 Web 服务器提供的资 源, 以及对 Web 服务器的配置、 控制及扩展方面的管理。 Web 服务器逻辑实现了 HTTP 协议、 管理着 Web 资源, 并...
  • 那么Web前端三大主流框架是什么呢? 一、Web前端三大主流框架是什么 React:  1.声明式设计:React采用声明范式,可以轻松描述应用。  2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。  3.灵活...
  • ASP.NET WEB介绍

    千次阅读 多人点赞 2019-03-22 14:30:13
    浏览器介绍完了后,我们就该清楚让同学们清楚,什么WEB,其实WEB概念很抽象接下来我们来讲述一下吧: 二. WEB什么? 01.概念:Web它是一种基于 超文本 和HTTP的、全球性的、动态交互的、跨平台的分布式图形...
  • 三层结构的简单描述及优点,bs三层,web三层,j2ee三层 三层结构的简单描述及优点  三层体系结构,即用户层、应用层和数据库服务器。用户层主要指用户界面,它要求尽可能的简单,使最终用户不需要进行任何培训就...
  • 连接的数据库为员工信息管理系统,采用Contrller,Service,Dao三层结构,controller层为servlet,下层均有一个接口和一个实现类。Bean的基本属性为String类型:NO,NAME,SEX,AGE。采用JSP显示在浏览器上,完成了登陆...
  • WEB技术的四层(五层)结构

    千次阅读 2014-12-15 10:40:12
    所谓四层架构的分法,就是想把软件设计师工作量降下来,减少重复性的代码,提高开发速度,是软件有相当好的可维护、易扩展,这种四层架构对很多人开发同软件来说,可以有个清晰的思路。我把系统分成表示层(UI)、...
  • Web挖掘技术

    万次阅读 2017-09-26 16:39:47
    Web 数据挖掘是一项综合技术,通过从Internet 上的资源中抽取信息来提高Web 技术的利用效率,也就是从Web 文档结构和试用的集合中发现隐含的模式。 数据挖掘涉及的学科领域和方法很多,有多种分类法。
  • 谈谈web树形目录结构的原理和操作

    千次阅读 2013-05-20 19:21:00
    对树形结构,从数据表、web前端div生成树原理,再到对树形信息的增删改查,由两边向中间逐层分析。   数据库设计 树的几种设计方式 不带冗余字段,id,pid。效率低,查找相对繁琐。 带冗余字
  • 一个良好的项目结构目录可以清晰的看出来各个模块的作用,方便扩展,易于修改。虽然Flask并没有强制要求开发者项目的目录层次结构应该是怎么样的,但是如果我们以包和模块的形式组织项目的话,后期的开发会非常的有...
  • Web搜索引擎工作原理和体系结构

    千次阅读 2015-11-03 15:51:01
    1、Web搜索引擎的基本要求搜索引擎是一个网络应用软件系统,如下图所示,对它有如下基本要求。 能够接受用户通过浏览器提交的查询词或者短语,记作q,例如“大数据”,“Spark”等等。 在一个可以接受的时间内返回...
  • 基于Python的Web开发

    万次阅读 2019-02-26 11:24:29
    下面来介绍一下基于Python语言的Web开发中几种常见的Web开发框架; 1、Python语言是第四代程序设计语言,是解释性的、交互性的和面向对象的。它在Web应用和非Web应用中都发挥了重要的作用。比如Google的核心代码是...
  •  (1)什么Web应用程序  应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览 器端/服务器端应用程序,这类应用程序一般借助浏览器来运行。  Web应用程序...
  • 浅谈大型web系统架构

    万次阅读 多人点赞 2011-10-11 18:27:00
     由于Web前端采用了负载均衡集群结构提高了服务的有效性和扩展性,因此数据库必须也是高可靠的,才能保证整个服务体系的高可靠性,如何构建一个高可靠的、可以提供大规模并发处理的数据库体系?  我们可以采用...
  •  大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分。但是不得不承认的是WebService真的是一门新兴和有前途的...
  • java web应用程序的规范目录结构

    千次阅读 2013-10-29 22:39:21
    一、 Java Web应用程序必须使用规范的目录结构: – 应用程序根目录 – |-- WEB-INF目录:必须目录 – |-- web.xml:Web应用部署描述文件,必须目录 – |-- classes目录:存放字节码文件 – |-- lib目录
  • WEB项目的基本架构

    千次阅读 2014-10-13 13:38:16
    J2EE WEB项目的一般采用B/S(Browser/Server)架构。B/S针对WEB项目的特点,对原C/S(Client/Server)架构进行了改进,从而降低WEB项目的开发成本和维护难度。本文以Apache Web服务器和Tomcat应用服务器为例,介绍...
  • web中间件

    千次阅读 2021-01-29 08:55:38
    中间件是什么 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,...
  • 使用maven创建web项目

    千次阅读 2018-11-20 14:49:14
     再次,按照以下图解来进行操作(设置JRE为默认的),这样就会出现完整的、正确的目录结构,至于什么原因,我不是很清楚,应该是个BUG:        最后,还有个index.jsp报错,我们需要引入...
  • 三种主流Web架构

    万次阅读 2018-01-21 09:48:54
    其实不论什么技术,什么需求,通常WEB开发就是通过WEB前端管理一个或大或小或独立或分布式的关系型数据库,很多东西都是相通的。这里说的WEB架构,是指WEB应用开发中每种技术独有的资源组织形式(包括文件,数据库,...
  • Web系统的三层结构

    千次阅读 2010-09-17 10:54:00
    B/S系统常常采用如图19.2所示的多层体系结构,这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能。 <br />图19.2 Web系统的三层体系结构 在多层体系结构中,具有基本的三层...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 420,258
精华内容 168,103
关键字:

web采用什么结构