您当前的位置:首页 > 互联网教程

什么是分布式架构

发布时间:2025-05-14 00:58:58    发布人:远客网络

什么是分布式架构

一、什么是分布式架构

1、分布式架构是分布式计算技术的应用和工具,目前成熟的技术包括J2EE, CORBA和.NET(DCOM)。

2、CORBA(Common Object Request Broker Architecture)是在1992年由OMG(Open Management Group)组织提出的。那时的分布式应用环境都采用Client/Server架构,CORBA的应用很大程度的提高了分布式应用软件的开发效率。

3、当时的另一种分布式系统开发工具是Microsoft的DCOM(Distributed Common Object Model)。Microsoft为了使在Windows平台上开发的各种应用软件产品的功能能够在运行时(Runtime)相互调用(比如在Microsoft Word中直接编辑Excel文件),实现了OLE(Linked and Embedded Object)技术,后来这个技术衍生为COM(Common Object Model)。

4、随着Internet的普及和网络服务(Web Services)的广泛应用, Browser/Server架构的模式逐渐体现出它的优势。于是,Sun公司在其Java技术的基础上推出了应用于B/S架构的J2EE的开发和应用平台;Microsoft也在其DCOM技术的基础上推出了主要面向B/S应用的.NET开发和应用平台。

5、.NET中涵盖的DCOM技术和CORBA一样,在网络传输层都采用TCP/IP协议;也都有自己的IDL规范。所不同的是,在TCP/IP之上,CORBA采用GIOP/IIOP协议,所有CORBA服务器以IIOP通信,形成了ORB软件通道;J2EE的RMI曾经采用独立的通信协议,目前已经改为RMI/IIOP,体现了J2EE的开放性;DCOM也有自己的通信协议(TCP在135端口的服务),但微软没有公开这个协议的规范;同样,CORBA的IDL采用类C++的定义,是公开的规范;DCOM的IDL的文件虽然是文本形式的,微软没有正式公布它的规范,在使用中,.NET的IDL是由开发工具生成的。

6、关于.NET,比尔盖茨这样说:“简单地说,.NET是以微软的各种产品为开发工具和应用平台,实现基于XML的网络服务。”由此也可以看出,.NET在Microsoft的世界里功能强大,但对于Unix和Linux这些在服务器市场占主要份额的系统,.NET显得束手无策。

7、因此,J2EE显示了它跨平台的优势,为网络服务商提供了很好的面向前端(front-end)的开发和应用平台,随着网络服务进一步广泛应用和服务集成度的提高,在网络服务提供商的后台会形成越来越庞大的分布式计算环境, CORBA模块结构更适合后台(back-end)的多种服务,例如网络服务的计费程序等.因此可以看出, J2EE和CORBA技术在网络服务(Web Services)这片蓝天下,各自有自己的海洋和陆地。如果在前端(front-end)使用了.NET开发平台,那么在后端(back-end)的分布式结构中,DCOM就是理想的选择。

8、J2EE是纯Java技术,很多测试显示RMI(Java)服务器的响应速度远远低于非Java的CORBA服务器。因此,在一些对数据处理速度和响应时间要求较高的系统开发中,要对RMI和CORBA的性能进行测试对比后再做选择。

9、从应用软件的开发过程的角度看, J2EE是完全开放式的平台,体现为既面向设计人员,也面向开发人员的规范; CORBA也是一种规范,但更多体现为中间产品, CORBA产品的提供商才是这种规范的真正执行者,对应用开发的程序员而言,只要了解IDL语言的规范,不必详细知道ORB/GIOP/IIOP的协议细节。.NET作为Microsoft在网络环境的主打,体现为一系列产品化的开发工具,比如C#, C++,等。这些开发工具是直接针对应用开发人员的。其实Sun公司提供的J2EE也是由许多软件包(应用API)来面对开发人员的。

10、从软件开发成本与周期以及软件的维护角度看,J2EE比CORBA有以上优势。

11、对于分布式计算技术的架构,不能绝对地说哪一个更好,只能说哪一个更合适。针对不同的软件项目需求,具体分析才是明智的选择。

12、从宏观市场看,CORBA产品的销售并没有想象那样给CORBA产品提供商带来可观的利润;而J2EE的呼声也高于.NET;随着J2EE中RMI/IIOP与CORBA接口的完善,再加上开发费用的考虑和使用的方便性,J2EE一揽子开放的环境会是人们首先考虑的选择;但CORBA标准的强壮的兼容性,也使这种技术在大型系统开发中会占有一席之地。

二、新手学web前端开发需要多久

1、自学前端多久可以找工作要根据自身基础来决定,但是一般的话也要五个月左右才能学会。

2、可以看看培训班的学习内容哦!根据这样的内容来制定自己的学习方法和计划。

3、HTML入门基本内容,CSS+DIV的基础知识,选择器,盒子模型,网页布局,Photoshop

4、学习路线:JavaScript基础,BOM和DOM模型,事件处理,jQuery,交互及动画,jQuery优质插件,文档处理,数组和对象操作

5、第三阶段:Web编程高级及全栈开发

6、学习路线:JavaScript高级编程,原型模式,jQuery插件开发,模块化组件开,AJAX,Express(Node.js),Mongodb,RequireJS,MongoDB

7、学习路线:HTML5/CSS3,响应式原理及布局,Bootstrap,前端依赖管理,CSS预处理语言(Less+Sass),Grunt/Gulp自动化构建工具,Angular4

8、学习路线:Grunt/Gulp,Webpack模块加载器&打包工具,MVC(backbone)架构前端,VUE2,React

9、第六阶段:混合式移动及微信开发

10、学习路线:React Native,微信小程序,视图层,逻辑层。

三、前端开发和后端开发有什么区别

前端开发和后端开发的区别在于:

1、前端开发主要做的是用户所能看到的前端展示界面。

2、后端开发主要做的是逻辑功能等模块,是用户不可见的。

1、前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js、AngularJs等技术。

2、后端开发以java为例主要用到的是包括但不限于Struts spring springmvc Hibernate Http协议 Servlet Tomcat服务器等技术。

1、精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构;

2、精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器;

3、熟悉JavaScript,了解ECMAScript基础内容,掌握1到2种js框架,如JQuery;

4、对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案;

5、对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施;

1、精通jsp,servlet,javabean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解;

2、练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力;

3、熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑;

4、精通面向对象分析和设计技术,包括设计模式、UML建模等;

5、熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力;

参考资料来源:百度百科:前端开发



相关内容FAQs: