Web系统设计

Web应用技术分类

维度技术内容
架构MVC  MVP  MWM  REST  Webservice  微服务
缓存MemCache  Redis
并发分流集群(负载均衡) CDN
数据库主从(主从复制) 内存数据库  反规范化技术  NoSQL  分区(表)技术  视图
数据编码XML  JSON
持久化Hibernate  Mybatis
分布存储Hadoop  FastDFS  区块链
web应用Apache  WebSphere  WebLogic  Tomcat  JBOSS  IIS
安全性SQL注入攻击
其他有无状态  响应式Web  静态化  中台

SOA & ESB

SOA是一个组件模型,一种设计理念,包含多个服务,服务之间通过相互依赖最终提供一系列完整的功能。各各服务通常以独立的形式部署运行,服务之间通过网路进行调用。

ESB:简单来说是一根管道,用来连接各个服务节点。ESB的存在是为例集成基于不同协议的不同服务,ESB做了消息的转化、解释及路由的工作,以此来让不同的服务互联互通。

ESB特点

1、SOA的一种实现方式,ESB在面向服务的架构中起到的是总线作用,将各种服务进行连接与整合;

2、描述服务的元数据和服务注册管理

3、在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式、异步模式等

4、发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等

ESB主要功能

服务位置透明性

传输协议转换

消息格式转换

消息路由

消息增强

安全性

监控与管理

微服务 & 微服务API网关

微服务架构建议将大型复杂的单体架构应用划分为一组微小的服务,每个微服务根据其负责的具体业务职责提炼为单一的业务功能,每个服务可以很容易地部署并发布到生产环境里隔离和独立的进程内部,它可以很容易地扩展和变更,对于一个具体的服务来说可以采用任何适用的语言和工具来快速实现;服务之间基于基础设施互相协同工作。

微服务的优势:

解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变
让每个服务能够独立开发,开发者能够自由选择可行的技术,让服务来决定API约定
每个微服务都能独立配置,开发者不必协调对于本地服务配置上的变化这种变化一旦测试完成就被配置了
让每个服务都可以独立调整,你可以给每个服务配置正好满足容量和可用性限制的实例数
微服务架构带来的挑战:

并非所有的系统都能转成微服务。例如一些数据库层的底层操作是不推荐服务化的。
部署较以往架构更加复杂:系统由众多微服务搭建,每个微服务需要单独部署,从而增加部署的复杂度,容器技术能够解决这一问题
性能问题,由于微服务注重独立性,互相通信时只能通过标准接口,可能产生延迟或调用出错。例如一个服务需要访问另一个服务的数据,只能通过服务间接口来进行数据传输,如果是频繁访问,则可能带来较大的延迟
数据一致性问题,作为分布式部署的微服务,在保持数据一致性方面需要比传统架构更加困难。

API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。
 

功能SOA微服务
组件大小大块业务逻辑单独任务或小块业务逻辑
耦合通常松耦合总是松耦合
公司架构任何类型小型、专注于功能交叉团队
管理中央管理分散管理
目标确保应用能够交互操作执行新功能、快速拓展开发团队

Web系统分层

1.Web服务器技术演变

    1)单机到数据库与web服务器分离

    2)应用服务器集群

    负载均衡技术(session共享 有无状态)、ORM、数据库读写分离

2.缓存技术

3.Redis技术

4.CDN Content Delivery Network

CDN的全称是Content Delivery Network,即内容分发网络

CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术

CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

5.XML与JSON

扩展标记语言(Extensible Markup Language,XML) ,用于标记电子文件是一种允许使其具有结构性的标记语言,可以用来标记数据、定义数据类型,用户对自己的标记语言进行定义的源语言

XML的优点

格式统一,符合标准
容易与其他系统选行远程交互,数据共享比较方便
XML的缺点

XML文件庞大,文件格式复杂传输占带宽
服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代
码变得异常复杂且不易维护
客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码
JSON(JavaScript Object Notation)一种轻量级的数据交换格式具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换

JSON的优点

数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
易于解析,客户端JavaScript可以简单的通过eval0进行JSON数据的读取
支持多种语言,包括ActionScript, C,C#,ColdFusion,Java,JavaScript, PerlPHPPython,Ruby等服务器端语言,便于服务器端的解析
因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,旦完成任务不变,并且易于维护


JSON的缺点  不如xml广泛和通用

6.Web应用服务器

两层意思:

web服务器:职能单一,就是把浏览器发来的Request请求,返回Html页面

应用服务器:业务逻辑处理

无状态服务(stateless service) 对单次请求的处理不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息

有状态服务 (stateful service) 则相反,它会在自身保存一些数据,先后的请求是有关联的。

响应式web设计:是一种网络页面设计布局,其理念是: 集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的布局

响应式web设计方法与策略

采用流式布局和弹性化设计:使用相对单位,设定百分比而非具体值的方式设置页面元素的大小

响应式图片:不仅要同比的缩放图片,还要在小设备上降低图片自身的分辨率

7.REST

Representational State Transfer 表述性状态转移 只用HTTP和XML进行Web通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。

5原则

网络上所有事务都抽象为资源

每个资源对应一个唯一的资源标识

通过通用的连接件接口对资源进行操作

对资源的各种操作不会改变资源标识

所有的操作都是无状态的

8.中台

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 1. 介绍 5 1.1 项目概述 5 1.2 范围 5 1.3 参考 5 2. 用例视图 6 2.1 WAS - SAP R/3 集成用例 6 2.1.1 车辆列表功能 6 2.1.2 车辆订购申请单的创建功能 7 2.1.3 车辆订购申请单查询功能 7 2.1.4 车辆订购申请单的修改功能 7 2.1.5 索赔单的创建 8 2.1.6 数据交换需求 8 2.2 PORTAL集成的用例 8 2.2.1 经销商 Portal 框架 9 2.2.2 车辆销售系统和Portal的整合 9 2.2.3 Nadcon system 和Portal系统的整合 10 2.2.4 车辆销售系统和Nadcon 的整合 10 3. 逻辑视图 10 3.1 兼容性 10 3.2 系统架构 10 3.2.1 逻辑架构 10 3.2.2 Web 应用的包设计 12 3.3 组件设计 - J2EE WEB APPLICATION 13 3.3.1 MVC 框架 – Struts 13 3.3.2 日志 14 3.3.3 BAPI代理结构 15 3.3.4 销售商用户信息组件和安全组件 16 3.3.5 页面表现框架 17 3.3.6 车辆列表功能 18 3.3.7 车辆订购请求单创建 24 3.3.8 车辆订购申请单查询列表 32 3.3.9 车辆订购申 请单修改 37 3.3.10 索赔单创建 43 3.3.11 数据交换 50 3.3.12 登录 & 退出 53 4. 数据视图 56 4.1 车辆列一表 57 4.2 车辆订购申请单创建 58 4.3 车辆订购申请单列表 59 4.4 车辆订购申请单修改 60 4.5 索赔单创建 61 5. 实现视图 62 5.1 缓存策略 62 5.2 会话管理 62 5.3 连接管理 62 5.4 集成的需要 62 5.4.1 WAS – SAP 集成 63 5.4.2 单点登陆 63 5.4.3 Vehicle Sale 系统 和 Nadcon的集成 63 6. 部署视图 64 6.1 安装需求 64 6.1.1 服务器的安装 64 6.2 服务支持的考虑 64 6.2.1 安全 64 6.2.2 服务器管理 64 7. 实现环境视图 64 7.1 开发环境 64 7.2 测试环境 64 7.3 生产环境 65 7.3.1 网络 65 7.4 域信息 65
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值