基于业务类通讯的Http系统之概述

  基于业务类通讯的Http系统,只要由Http Server和Http Client组成。该系列讨论的是基于Delphi的实现方式,其实是可以拓展到其它语言平台上面去的。有兴趣的朋友可以尝试一下。在Delphi中,服务端可以直接使用TIdHttpServer,客户端则直接使用TIdHttp就能够完成通讯的过程。是的,就是这个简单,仅仅这两个控件就构成了一个业务量可以很庞大的业务系统。由于Http都是无状态的,直接由客户端请求服务端,再由服务端给客户端返回相关内容。此时如果不是长连接,会直接断开服务端的连接。所以对于常规业务处理,服务端还是能够应付有余的。

  当然,上述俩控件仅仅是构成了数据通讯的基础,至于通讯传输的方式,不用我多说,大家应该很清楚最高效率的方式肯定是直接传输字节流了。那么既然业务类是该系统的基本单元,那么就要面临一个问题,业务类怎么由对象转成字节流呢?好了,醒目或者经验丰富的朋友们第一时间就会想到了Encode和Decode这些编码器和解码器上面去了。没错,就是编码器和解码器!

  编码器和解码器对于服务端和客户端来都是共用的单元,编码的时候就可以直接用独立的单元实现,但是也可以直接写在业务类的基类上面去(这种方式不太符合面向对象的编程方法,推荐通过Factory类进行编码和解码,在后续的实现部分中会有相关的介绍)。他们的作用可以参考下图:

  

  那么业务类的传输不成问题了,接着就是业务类的处理问题了。作为一个庞大的业务处理系统,业务类的数量肯定不是小数目,如果每个业务类都要去建立映射那么实在是一件太繁琐的事情。为了解决这个繁琐的问题,该系统用到了WEB中常见的IOC模式。

  什么?IOC是什么?这个......我就简单的介绍一下,如果说的不明白,请自行度娘或者谷哥。IOC的英文全称是Inversion of Control,翻译成中文是控制反转,其实这样子还是不能正确描述该模式在本系统中起到的作用,为了更加直观的描述什么是IOC,我举个例子说明一下吧。

  一般来说,在CS系统中,尤其是在Http系统中,都是命令与响应的模式。那么在客户端请求什么样的命令,就在服务器响应什么命令,这是最正常不过的了。然而,随着系统的功能增多,命令的定义就是一个很头疼的事情,命令越多,出乱子的几率就会越大,就是说越到后面就越难维护了。因为,要去维护命令与对应函数过程的关系,每一个命令对应一个函数过程,如果命令多了,这是不敢想象的。

  那么IOC彻底并且完美的解决了这个问题,IOC其实就相当于将所有的命令分到了不同的业务类中进行维护命令与函数过程的对应关系和实现,这样子我们的修改和维护就更加的有目的性,不需要去维护一个庞大的对照关系表了。就相当于不用业务类是找对应的匹配对应的命令,而是通过程序解码后还原的业务类直接去找到相应的命令。再简单一点说就是不是你去找他,是他来找你(O(∩_∩)O~)。那么你可能会想,博主你在叽里呱啦的说了这么多还是没有明白IOC是啥东西呀?好吧,别急,在详细实现中,我还会详细的介绍一下他的实现和普通的命令映射孰优孰劣。不过话说回来,以我这文笔水平,如果你看到这里能偶理解IOC是什么东西,你肯定之前已经知道IOC是什么东东了。所以你如果看不明白不用着急,果断无视它。

  通过了IOC解决了大量堆积命令的问题。接着就是业务的处理怎么做了。这一块说简单也有点复杂,说复杂也确实有点不简单。怎么说呢,首先为了可以更加快速的处理相关业务,有几个池子是必不可少的,一个是线程池,一个是内存池,还有一个是数据库连接池。但是一个池子可能说几天也说不完,我也没打算解说,这一块几乎网上一抓一大把,各位看官如果有兴趣可以参照以后发布的源代码参考参考。

  本文主要是简单介绍该系统的服务端实现大概的方向,罗列几个关键术语,接着就一直在忽悠忽悠的。如果你没有被忽悠晕了,请多多关注今后这系列的新博文。

  

时间: 2024-10-25 07:26:32

基于业务类通讯的Http系统之概述的相关文章

基于SpringMVC+Spring+MyBatis实现秒杀系统【业务逻辑】

前言 该篇主要实现秒杀业务层,秒杀业务逻辑里主要包括暴露秒杀接口地址.实现秒杀业务逻辑.同时声明了三个业务类:Exposer.SeckillExecution.SeckillResult. Exposer主要用来实现暴露接口时一个md5的加密,防止用户在客户端篡改数据.根据seckillid生成md5,提交秒杀请求时会根据这个md5和seckillid比对是否是合法的请求.SeckillExecution主要封装秒杀时的返回值. SeckillExecution有2个属性,state.state

基于JSP的学术交流论坛系统的设计与实现

目 录 摘要 I 关键词 I Abstract I Key words I 1前言 1 1.1课题研究的目的及意义 1 1.2国内外研究现状 1 1.3本文的工作 2 2系统分析 3 2.1可行性分析3 2.2需求分析3 2.2.1需求分析概述3 2.2.2任务概述3 2.2.3会员用户4 2.2.4版主4 2.2.5管理员4 2.3开发工具以及相关技术简介5 2.3.1相关工具简介5 2.3.2相关技术概述5 2.4系统的数据流图7 2.5用例图8 3总体设计9 3.1系统架构设计9 3.1.

Spring容器装饰者模式应用之实现业务类与服务类自由组合的解决方案

在任何一个项目中都不可或缺的存在两种bean,一种是实现系统核心功能的bean,我们称之为业务类,另外一种是与系统核心业务无关但同时又提供十分重要服务bean,我们称之为服务类.业务类的bean根据每个系统自身核心功能的不同可以有任意多个,但是服务类的种类在各个系统之间的差异却并不是很大.在系统中经常用到的服务有以下几种,权限服务,日志服务,缓存服务,事务服务以及预警服务等.在整个系统的不断进化过程中,服务类与业务类的关系也不断的发生着变化,由当初垂直模式变为横切模式,这也是编程思想不断演化过程

Quartz总结(二):定时任务中使用业务类(XXService)

零.引言 上一篇文章:讲到了Spring集成Quartz的几种基本方法. 在实际使用的时候,往往会在定时任务中调用某个业务类中的方法,此时使用QuartzJobBean和MethodInvokeJobDetailFactoryBean的区别就出来了. 一.QuartzJobBean 在继承QuartzJobBean的Job类中,使用XXService的时候,会报 空指针异常,原因是因为使用此方法的时候Job对象的创建时Quartz创建的,而XXXService是通过Spring创建的,两者不是同

基于Flume的美团日志收集系统(一)架构和设计【转】

美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收集系统>将分两部分给读者呈现美团日志收集系统的架构设计和实战经验. 第一部分架构和设计,将主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计. 第二部分改进和优化,将主要着眼于实际部署和使用过程中遇到的问题,对Flume做的功能修改和优化等. 1 日志收集系统简介 日志收集是大数据的基石.

基于Flume的美团日志收集系统(一)架构和设计

来自:美团技术博客 http://tech.meituan.com/mt-log-system-arch.html 美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收集系统>将分两部分给读者呈现美团日志收集系统的架构设计和实战经验. 第一部分架构和设计,将主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计. 第二部分改进和优化,将主要着眼于

基于Flume的美团日志收集系统(二)改进和优化

问题导读: 1.Flume-NG与Scribe对比,Flume-NG的优势在什么地方? 2.架构设计考虑需要考虑什么问题? 3.Agent死机该如何解决? 4.Collector死机是否会有影响? 5.Flume-NG可靠性(reliability)方面做了哪些措施? 美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收集系统>将分两部分给读者呈现美团日

基于java最短路径算法公交查询系统的设计与实现

基于J2EE的公交查询系统的设计与实现 1引言 1.1 选题背景 20多年来,我国经济得到了持续.快速.稳定.健康地发展.经济的快速增长,带动了汽车工业的蓬勃发展,并使交通状况显著改善.据统计,中国公路通车总里程已达130余万公里,其中高速公路约1.5万公里.居民收入普遍提高,到2000年年底,人均GDP已超过800美元,沿海地区已达2000-3000美元.按国际发展惯例,当人均GDP超出1000美元,汽车消费市场就将进入快速增长期.我国城市人口约有2亿,略低于美国人口.东部沿海地区大部分居民已

基于Flash的可视化办公派位系统设计规划书

一.系统介绍 工位管理系统该系统基于日常的工位管理需要,利用信息化手段,对厂房设备仓储管理.办公场所布局.办公场所管理.工位信息.员工信息以及工位预定等实现统一.综合的管理,实现了公司人员.设备管理的体系化.规范化和信息化.系统具有如下特点: 直观的展示: 通过办公场所布局图直观的查看工位布局情况.人员.设备分布情况以及临时工位申请情况等. 统一的管理:工位使用情况和人员和工位对应情况可以统一在通过布局图下管理.使企业管理更加规范化: 实时的信息:可及时维护办公场所.工位及人员的信息: 二.核心