菜鸟也谈架构之C/S三层架构的轮回

菜鸟也谈架构

本人06年毕业 一直做JavaWeb应用的项目 大大小小做了5、6个吧

感觉B/S结构的应用 项目实施下来都不是很理想 虽然都验收了 但我觉得这些项目也顶多能给个百分制及格分 60分

主要弊端:

(1)实时响应速度差
(尽管已经做了集群、机器是小型机)

(2)人机交互能力太弱,有些特殊的地方还不得不借助鸡勒技术ActiveX和Applet。使得B/S仅有的一点点部署方便的优势荡然无存。
(尽管现在已经有很多RIA技术手段,比如EXT、Flex等~ 但都有各种问题。论证下来实施这些技术还是性价比不够理想。)

我的想法:

C/S三层架构应该要轮回崛起了。
理论上说,B/S其实也是属于C/S三层架构的应用。但他的C这一层实在让人不爽。

扪心自问,你为什么要选择B/S来做行业应用系统(特质运行在专用网里的特定行业应用系统)
(1)、为了跟时髦。觉得JavaEE(B/S)代表了时尚潮流,代表了先进。
扯淡。JavaEE并非就得把C做成浏览器应用。评价系统优劣最直接的三要素:方便、快捷、稳定(我一客户和我说话聊的,我决定很有道理)
(2)、为了数据和业务逻辑集中,实现部署、升级的方便。
这恐怕是针对C/S原始2层架构而言.而且是因为你技术部到位不能做到完美的自动升级而把这一功能通过b/s模式变相解决吧。至于数据和业务逻辑的集中如果是C/S三层架构的话,B/S根本没有这一优势可言。C/S三成架构一样可以做到。
(3)、为了应用服务器集中、方便做集群和各种负载均衡。
C/S三层一样可以。

居然如此:我们为什么还要选择B/S 。

我的想法:
做一个c/s三层架构。总的方向还是基于Java。

方案一:用SWT/Jface和EclipseRCP技术做为UI层技术。实现一个纯粹的UI客户端。通过RPC调用JavaEE应用服务器发布的方法进行业务处理。此方案的问题:选择一种高性能且易于异构系统集成的RPC方法。(初定的方法是使用httpinvoker作为架构内部的RPC调用,并支持 webservice满足其他异构系统调用需求)不知道hprpse是否能同时兼顾高性能且易于异构系统集成?

方案二:用SWT/Jface和EclipseRCP技术做为UI层技术。实现一个纯粹的UI客户端。然后自己实现一个类似中间件或者应用服务器概念的东西,但不走http协议。考虑其他通信方式。我的业务逻辑组件也不希望再借助于Java应用服务器。而是直接将我的业务逻辑组件发布到这个中间件上作为服务提供给客户端调用。这只是偶的想法,不知具体怎么实现 不知道hprose是否能再这方面做点什么?
三层C/S结构及其应用开发 三层C/S结构及其应用开发(本文转载自软件工程专家网www.21cmm.com) 一、三层C/S的基本硬件结构  传统的二层C/S结构存在以下几个局限:1它是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet;2受限于供应商;3软、硬件的组合及集成能力有限;4难以管理大量的客户机。因此,三层C/S结构应运而生。  三层C/S结构是将应用功能分成表示层、功能 阅读详情

相关推荐

掌握三层C-S架构:企业级应用开发经典指南

三层C-S(Client-Server)架构,通常被称为三层架构,是一种常见的软件架构模式,它将应用程序划分为三个逻辑层:表现层、业务逻辑层和数据访问层。每一层都有明确的职责,这样可以降低模块之间的依赖性,提高系统的可维护性和可扩展性。表现层(Presentation Layer)是用户与应用程序交互的界面。它负责将数据以一种用户易于理解的形式展示,同时收集用户输入的数据并传递给业务逻辑层处理。表现层通常是通过图形用户界面(GUI)来实现的,它包括了网页、移动应用以及桌面应用程序等多种形式。

weixin_33759613的博客 1244

C/S、B/S架构模式的三层结构特点分析

C/S架构和B/S架构: C/S(Client/Server)结构分为客户端和服务端两部分。服务端存储数据库内容,并在客户端上安装相应软件。C/S 结构按照架构分为双层结构和三层结构。 双层结构中的表示层和业务逻辑层部署在客户端,主要提供用户界面,接受用户提交的请求,并将用户请求发送至服务端,申请数据库服务。数据层则部署在服务端,负责数据库的业务处理,包括查询数据库、排序、索引等操作,对数据进行处理后将结果返回客户端。随着信息技术的发展,软件复杂性也在不断提高,传统的双层 C/S 结构存在很多局限性,如

m0_45510936的博客 8345

C_S模式下的三层架构.pdf

C_S模式下的三层架构.pdf C_S模式下的三层架构.pdf C_S模式下的三层架构.pdf

C/S三层架构的结构和功能介绍

业务逻辑层:业务逻辑层是应用程序的核心,它负责应用程序的所有业务逻辑处理。业务逻辑层的主要作用是将用户的请求转化为业务逻辑,进行相应的处理。它将应用程序分成三个逻辑层:客户端层、业务逻辑层和数据访问层,每个层次都有不同的功能和责任。客户端层:客户端层是用户与应用程序交互的界面。客户端层的主要作用是接受用户输入,向用户显示数据、信息等。数据访问层:数据访问层是应用程序的底层,它负责与数据存储系统进行通信,包括数据库、文件系统等。数据访问层的主要作用是提供数据访问接口,为业务逻辑层提供数据支持。

weixin_52720316的博客 4938

C/S 程序设计 三层架构 学生信息管理系统

C/S程序设计,采用C#语言开发,运用.NET的三层架构,开发简单的学生信息管理系统,可做为学习三层架构与做课程设计的良好参考!!

三层架构工作流程图B/S架构及C/S架构

C# B/S架构及C/S架构的三层架构工作流程及它们的层次关系.

c/s三层结构信息系统的三个层次_网络资讯:三层架构是什么

今天来说一下三层架构是什么这方面的一些讯息,不少朋友对一个完整计算机系统的组成部分应该是这方面的一些讯息颇感兴趣的,小编今天就整理了一些信息,希望对有需要的朋友有所帮助。三层架构 通常意义上的三层架构就是将整个业务应用划分为:界面层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。三层架构(3-tier archi...

weixin_39633455的博客 4381

SQL Server数据库服务器负载均衡集群的实现

SQL Server数据库服务器负载均衡集群的实现

c/s三层结构信息系统的三个层次_Java三层架构原理与作用小结

三层架构三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。概念简介1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 ...

weixin_39599317的博客 6397

三层架构C/S

三层架跟B/S架构区别还有如何开发c/s开发三层架构

反激开关电源变压器设计实战:从理论到绕制的完整流程解析

本文详细解析了反激开关电源变压器的完整设计流程,从核心理论到实战绕制。文章以24W电源为例,手把手讲解如何根据输入输出电压、功率和频率等关键参数,计算匝比、峰值电流、电感量,并完成磁芯选择、匝数确定、气隙计算及线径选取。重点阐述了CCM模式下的设计要点与绕制工艺,旨在帮助工程师设计出稳定高效的反激变压器,避免常见陷阱。

weixin_29305313的博客 684

C/S 三层概述

[理解三层]:       三层简单来说可以算作是一种开发模式或者开发思想。它是把所做的工作分成若干个部分去做,这样条理清楚,维护方便。如图:               饭店将整个业务分解为三部分来完成,每一部分各负其责。        服务员只管接待顾客、向厨师传递顾客的需求---(UI);        厨师只管烹炒不同口味、不同特色的美食---(Bll);    

一支穿云箭 2834

【课程设计】TCP/IP 应用环境中服务器的部署与实现

本项目旨在通过搭建一个虚拟网络环境,实现软路由系统的配置和服务器的搭建与测试。具体包括安装虚拟机 VMWare Workstation,安装 Windows Server 2003 操作系统,配置软路由系统(包括双网卡安装、协议配置和测试),以及搭建并测试 DHCP 服务、DNS 服务、WWW 服务、FTP 服务和 SMTP/POP3 服务。

weixin_74907236的博客 1524

C/S 软件架构

三层 C/S 软件架构(Client/Server Architecture)是一种分布式计算架构,它将应用程序分为三个主要层次:表示层、业务逻辑层和数据访问层。

qq_25467441的博客 1660

京东风控算法工程师带你解读Action Model-精细化运营(上篇)

电影《蝴蝶效应》中,男主拥有回到童年改变过去的能力,虽然在剧中男主一次次穿越时空拯救世界,但由于他无法预见自己做出的抉择对未来产生的其他影响,最终还是没能阻止悲剧的发生。可见,一个好的决策需要衡量其对未来产生的影响。JDD风控算法团队本期为大家解惑最优决策难题的解决方法-Action Model。

JDD风控算法的博客 1917

告别WSL:Ollama Windows原生部署与GPU加速实战

本文详细介绍了Ollama在Windows系统上的原生部署与GPU加速实战指南。告别WSL,通过官方原生应用直接调用NVIDIA和AMD显卡,实现更高效的本地大模型运行。文章涵盖系统准备、三步安装、模型拉取运行、GPU性能优化及高级配置,为Windows AI开发者提供一站式解决方案。

prometheus9mon的博客 534

B/S与C/S架构_(软件测试基础知识学习笔记)

B/S与C/S架构_(软件测试基础知识学习笔记)

dafsq的博客 1717

使用FloodRisk2插件进行洪水风险评估

入汛以来,长江流域持续的强降雨使得沿岸多地成为洪水风险极高地区,抗洪、抢险、救灾继新冠病毒之后成为又一个攻坚阵地。如何科学地评估洪水风险,是快速决策的关键。 实际生活中,根据风险是否可控,一般将洪水风险大致分为两类:一类是通过数据分析可以得出其发生的可能性和后果,如强降雨引发的区域性洪水、水库/大坝溃决洪水等。这类洪水可以通过有关资料分析和设定一定条件计算得到可能的损失后果,也就是说,风险可以预判。另一类洪水风险基本是未知的,如滑坡堵塞河道形成堰塞湖引发的洪水,无法预知事件发生的地点和规模,具体的洪水风险无

QGISClass的博客 2879

C/S架构和B/S架构介绍

一、C/S架构 1. C/S架构及其背景 C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。 C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通

我的博客 14万+

【Dify】PPT生成工具应用

本文介绍了一款自动化PPT生成工具,通过智能接口将文本内容高效转化为结构化演示文档。该系统采用三阶段工作流(内容输入、HTTP请求上传、文件输出),无需复杂操作即可生成专业PPT。工具适用于教学课件、产品发布、企业培训等场景,能显著提升内容表达效率,特别适合初学者快速制作演示材料。文章详细说明了核心节点、应用场景及开发资源,为文本到PPT的自动化转换提供了实用解决方案。

Mr数据杨 1218

【ESP32设备通信】-LoRa通信

在本文中,我们将使用 Arduino IDE 将 ESP32 与 LoRa SX1278 (Ra-02) 模块连接起来。 我们将创建一个真实的示例项目,通过 LoRa 无线打开/关闭 LED 进行演示。

视觉与物联智能 1890

三层C/S架构

(4) 允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,这就为严格的安全管理奠定了坚实的基础;(3) 三层C/S架构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。(2) 允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;(1) 允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。

2301_81882590的博客 366

3、流程引擎下载安装与部署

camunda有多种使用方式,此处先使用独立平台的方式部署引擎,这种用法适合分布式,微服务化,多语言异构系统的使用方式。

leyoliu的博客 5521

一个典型的C/S架构的三层架构设计图

典型业务系统的软件架构包括数据库、类库支持层、业务逻辑层、展示层几个部分,简化后就是三层架构,再加上对外部服务的及对外接口的调用形成服务总线。 展示层为了区分纯UI与控制逻辑,通过控制层和业务逻辑层进行交互对界面进行输入输出控制。 .NET架构遵循此规则。 PHP、JSP、ASP.NET的系统三层架构同样如此,在逻辑层次划分如此,不同的只是技术的具体实现架构手段。 对于系统架构设计,N

聚合博客室 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ASP三层架构中可能出现的问题总结

1、创建项目使用三层架构来完成,正因为是用分层来完成的,所以各个类之间要相互引用,会导致如下问题: 参考实体不能添加,添加这个项目的引用将导致循环依赖 避免该错误发生的方式: 1个工程里有A和B两个项目,在A里引用了B,在B里也引用了A就会产生这样的问题。 所以当A类库应用了B类库那么B类库就不能再引用A类库了! 循环依赖问题的原理: 如果a参照了b,b参照c,...

web开发 346

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

从C/S模式下的三层架构说起

引子网友问:很多的参考书目中都是把对数据库的操作都是独立于文档类封装成数据库类。基本上是对应一个表就要建立一个类,在其中实现“增、删、改、差”的功能。代码看起来比较庞大,当然通过类的划分模块比较的清楚,使用时通过数据库类的对象的简单的函数调用就可以了。(不用传完整的SQL语句,仅仅是用到的参数而已)按照OO的思想,我也感觉书上的方法要合理一些,但是就是太麻烦了,还是传SQL语句的方法比较习惯一

快乐天堂 5517

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: hi,men!想挑战吗?Come On!
eredlab
博客等级 码龄19年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值