中国现在程序员开发了许多,这里有些很好的架构经验
http://www.iteye.com/topic/857377
重点是
这是一个大型的ERP系统,典型的C/S结构,也混合了一些B/S结构和手机终端的模块,不过主要内容还是在庞大的后端和Swing的前端。后端主要用J2EE架构搭建,通过JBoss应用服务器和MySQL数据库,Hibernate做O/R,自己封装DAO层以及Business层控制业务逻辑,再用Ejb进行业务API封装。最后,通过一个Facade层的EJB(后来改造成Servlet)对外提供统一的访问接口。这个接口也是整个后台唯一的访问接口,这个“一夫当关、万夫莫开”的入口处,再插入登录和会话管理、安全控制、日志记录、请求分发等机制,干净简洁。通讯协议,以前通过EJB和IIOP的协议开放API提供远程调用,后来发现EJB的通讯非常异常繁琐和“重”,各种控制比较复杂,效率也不好。后期版本改造为用一个Servlet封装对外提供接口,协议也变成了HTTP。这样,后台通过一个80端口,以类似WEB的方式统一提供前端的API访问。对很多人来讲,这个方式可能有点奇怪:Swing的胖客户端,还用HTTP的WEB协议来访问后台。嘿嘿,其实这一招不错哦,仔细琢磨一下会体会到其妙处。
前台是一个完整的Swing程序,也是通过层层封装,提供了一层与服务器一一对应的API访问层,最后通过一个统一的代理类,对后台进行访问。通过HTTP如何传输Java对象呢?我们没有使用Web Services之类的技术,而是直接把要调用的方法以及参数等信息序列化,以HTTP方式提交后台,后台通过模块分发、反射的方式执行函数后, 把结果数据进行序列化,再经过压缩,通过HTTP返回客户端。客户端将数据解压、反序列化,将对象再返回API的调用者(如各个界面、按钮等)。这个结构非常高效、可靠。甚至包括函数的异常等,都可以通过序列化进行传递。
通过HTTP的方式,服务器不再需要防火墙开放更多端口,和web应用一样,一个80就行了。另外,和web传递html等信息不同,这种结构下,中间传递的就是压缩过的Java对象序列化后的字节流,其效率是很高的。客户端是胖结构,自然可以处理更多的数据处理和呈现,比浏览器也有优势,很合适ERP这种企业应用。轻量、高效的结构也提供了很好的业务支撑能力:一台普通的台式机可以提供100个ERP用户同时在线、比较流畅的使用。这对于没有专门预算购买专业服务器和建设机房的企业来说,是非常给力的。
http://www.iteye.com/topic/859942
分享到:
相关推荐
系统架构师的学习笔记,通常是资深架构师或者对架构有深入研究的专业人士根据个人经验和学习总结所撰写的学习资料,它可以帮助开发工程师向系统架构师的职业发展道路上迈进。 从提供的内容来看,系统架构师的学习...
这篇复习笔记将为你提供一些关键的学习方向和重点,帮助你构建一个全面的系统架构知识框架。 一、系统架构基础 系统架构是软件开发过程中的核心部分,它定义了系统的总体结构、组件、接口以及它们之间的关系。理解...
在重新定义云机器学习架构的过程中,小米对比了TensorFlow与其他技术如Hadoop、Spark、Hive、PowerGraph、Azure ML Studio和H2O/Dataiku等,这些技术在大数据存储、数据预处理、特征提取、任务调度等方面各有优势。...
"架构师成长之路+学习教程"旨在帮助那些渴望成为架构师或者正在这个道路上探索的人们,提供必要的知识和技能。下面将详细探讨架构师的职责、成长路径以及如何通过学习来提升自己的能力。 一、架构师的角色与职责 1....
通过《架构师成长之路》这本书,读者可以系统地学习到这些关键的知识点,并结合实际工作经验,逐步成长为一名出色的架构师。书中的案例分析和实战指导,将帮助读者在理论与实践中找到平衡,加速自己的职业发展。
AWS认证解决方案架构师官方学习指南是一本专注于亚马逊网络服务(AWS)认证考试的学习资料。认证解决方案架构师负责设计和部署在AWS上运行的应用程序,这要求具备对AWS服务和架构模式深入的理解。 本书涵盖了与AWS...
系统架构设计师是IT行业中的高级职位,其主要负责现代信息系统的整体规划与设计。...这提示我们,要想成为一名合格的系统架构师,必须注重实践经验和理论知识的结合,不断提升个人的技术水平和管理能力。
这些知识点的学习和实践需要时间和经验积累,同时也需要不断关注新的技术和趋势,如微服务、容器化(Docker和Kubernetes)、Serverless等,以适应快速变化的技术环境。通过阅读content.json、metadata.json、...
### IT架构师学习资料知识点概览 #### 一、引言 - **目的**:本文档旨在为希望了解IBM IT架构师职业的个人提供全面的指南。它详细介绍了成为IBM IT架构师所需的背景知识、技能以及职业发展路径。 - **目标受众与...
本文将深入探讨淘宝从初创到成熟阶段的技术架构演变过程,并从中汲取宝贵的经验教训。 #### 二、淘宝技术架构的早期阶段(V1.0 - V1.X) ##### V1.0 (2003.5-2004.1) - **背景**:非典时期,马云在自家住宅创办...
《软件考试系统架构设计师学习笔记(整理版)》是一份详尽的学习资料,主要针对的是软件考试中的系统架构设计师这一专业领域。这份笔记包含了自2008年以来的历年试题,是备考者全面掌握该考试内容的重要参考资料。...
系统架构设计师是一个至关重要的角色,他们负责设计和规划软件系统的整体结构,确保系统的高效、可...记住,理论知识固然重要,但实践经验同样不可忽视,因此在学习过程中,尝试参与实际项目或模仿实践案例会大有裨益。
从给定的文件信息来看,标题为“web架构设计经验分享”,这暗示了文档内容将围绕Web架构的设计原则、最佳实践以及可能...同时,随着技术的不断进步,Web架构设计也将持续演化,因此保持学习和创新的态度是必不可少的。
这部分内容针对有经验的架构师,涵盖了领导力、团队协作、技术趋势跟踪等方面,帮助他们提升到更高的专业水平。 八、实战案例分析 通过真实项目的案例分析,读者可以更直观地学习如何将理论知识应用于实际工作,...
《希赛-系统架构设计师学习计划》是一份针对准备参加国家软考——系统架构设计师考试的...在学习过程中,建议结合实际工作场景进行思考和应用,将理论知识转化为实践经验,这样才能真正提升自己的系统架构设计能力。
学习软件架构不仅包括理论知识,更重要的是实践经验。通过参与实际项目,实践各种架构设计原则和模式,不断反思和迭代,才能逐渐提升架构设计的能力。同时,关注业界发展,了解最新的技术和趋势,也是成为一名优秀...