您的位置:首页 > 编程语言 > Java开发

java引起的思考——B/S,C/S+富客户端技术+嵌入式开发

2012-06-29 18:51 316 查看


一.Java2平台有3个版本:

1.Java ME:适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition)

2.Java SE:适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition)

3.Java EE适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition)

二.B/S结构和C/S结构

1.B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape NavigatorInternet Explorer,服务器安装OracleSybaseInformixSQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。

2.客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。

3.B/S,C/S的区别

  A.硬件环境不同:
    C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
    B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
  B.对安全要求不同
    C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
    B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群.
  C.对程序架构不同
    C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
    B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk      2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
  D.软件重用不同
    C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.
    B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
  E.系统维护不同
    系统维护是软件生存周期中,开销大, -------重要
    C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
    B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
  F.处理问题不同
    C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
    B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
  G.用户接口不同
    C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
    B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
  H.信息流不同
    C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
    B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更象交易中心

4.实例:

通常PC机上装载的办公,娱乐软件都是C/S架构的,而且由于现在B/S技术相对于C/S来说还不甚成熟,所以很多大型的erp仍旧是C/S架构,但有转向B/S的趋势

三.富客户端技术:

  1.胖客户端(富客户端)应用程序:

  胖客户端是相对于瘦客户端而言的,它将应用程序的处理过程分为两个部分:客户端部分用户桌面计算机执行的处理和服务器部分的一些集中处理。胖客户端应用程序的客户端部分除了负责将程序的UI界面显示给用户进行交互外,还负责进行大部分的业务逻辑处理。这种类型的应用程序需要客户端部分具有执行任务的能力,对客户端机器的要求比较高,但是可以减轻服务器很发一部分的压力,降低对服务器性能的要求。典型的胖客户端应用程序都包含一个或多个在服务器和客户PC上运行的应用程序,客户PC上安装功能丰富的交互式的用户界面,
用户通过这个交互界面可以进行查看和操作数据,处理业务事务等,分担服务器的一部分或者全部业务逻辑的处理(这样胖客户端就显得很"臃肿",所以叫胖客户端,也叫富客户端)。 服务器部分一般集中处理数据的访问操作,同时也负责处理一部分或全部的业务逻辑.

  2.瘦客户端应用程序:瘦客户端应用程序主要是指B/S结构的Web应用程序,他实际上是C/S结构的一种变种.它将C/S结构中的客户端程序统一为浏览器(Broswer),浏览器中只解析标准的HTML来显示用户交互界面. 这样,服务器端负责处理业务逻辑和数据存取,然后将处理完的结果以HTML的形式发送给客户端,客户端负责将结果显示给用户,客户端除了负责一些数据的验证和组织之外,基本上不处理任何的业务逻辑,只专注于用户交互界面显示.(这样瘦客户端就显得很瘦小,所以叫瘦客户端)

  3.二者对应的架构:胖客户端是相对于传统的C/S结构的网络应用程序来说的,而瘦客户端一般都是相对于B/S结构的Web应用来说的.

  4.现有的富客户端技术:

  A.Laszlo

  Laszlo是一个开源的富客户端开发环境。使用Laszlo平台时,开发者只需编写名为LZX的描述语言,运行在J2EE应用服务器上的Laszlo平台会将其编译成SWF格式的文件并传输给客户端展示。在未来的计划中,Laszlo还可以将LZX编译成Java或.NET本地代码,从而大大提高运行效率。

②Java SWT

Java已经出现几年了,并且完全支持创建基于窗体的用户界面。可以通过一个Web浏览器使用Java插件软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程序。

  B.XUL

  XUL是一种基于XML的用户界面语言,它来自于Mozilla的开放源码项目。它可用于建立窗体应用程序,这些应用程序不但可以在Mozilla浏览器上运行,而且也可以运行在其他描述引擎上,如Zulu(一个Flash MX组件)和Thinleys(一个Java实现)。

  C.Bindows

  Bindow是用Javascript和DHTML开发的Web窗体框架。Javascript用于客户端界面的显示和处理,XMLHTTP用于客户端与服务器的信息传输。Javascript在客户端的表现力不容置疑,利用Javascript几乎可以实现Windows应用程序所能干的大部分事情,XMLHTTP一直以来常被用于实现“无刷新”的Web页面,它和Javascript配合,可以完成数据从服务器和客户端的传输.

  D.Avalon

  Microsoft的Avalon是下一版本的Windows(代号Longhorn)的一部分,是一个图形和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在Longhorn中使用的新标记语言,其代号为“XAML”(可扩展应用程序标记语言)。可以使用XAML来定义文本、图像和控件的布局,程序代码可以直接嵌入到XAML中,也可以将它保留在一个单独的文件内。这与Flex中的MXML或者Laszlo中的LZX非常相似。不同的是基于Avalon的应用程序必须运行在Longhorn环境中,而Flex和Laszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。

  E.Flex

  Flex的目标是让程序员更快更简单地开发RIA应用。在多层式开发模型中,Flex应用属于表现层。Flex 采用GUI界面开发,使用基于XML的MXML语言。Flex 具有多种组件,可实现Web Services,远程对象,drag and drop,列排序,图表等功能;FLEX内建动画效果和其它简单互动界面等。相对于基于HTML的应用(如PHP、ASP、JSP、ColdFusion及CFMX等)在每个请求时都需要执行服务器端的模板,由于客户端只需要载入一次,FLEX应用程序的工作流被大大改善。FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。Flex 服务器也是客户端和XML Web Services及远程对象(Coldfusion CFCs,或Java类,等支持Action Message Format的其他对象)之间通讯的通路。

四.嵌入式开发

1.嵌入式系统和嵌入式操作系统的区别:

  (1)嵌入式系统

  以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

  嵌入式技术的发展从总体上讲大致可以分为四个阶段:

  A.第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中   ,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。

  B.第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段的操作系统具有一定的兼容性和扩展性,但用户界面不够友好。

  C.第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精    小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口     (API),开发应用程序简单;嵌入式应用软件丰富。

  D.第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以     及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。

  (2)嵌入式操作系统

   嵌入式操作系统是一种用途广泛的系统软件,大量应用于工业控制和国防系统领域以及通讯设备。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度    工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,一些应用比较成功的嵌入式操作系统产品有很多,  如Vxwork、QNX、PalmOS、Windows CE等。

  2.嵌入式开发:

  嵌入式开发就是指在嵌入式操作系统下进行开发

  3.应用领域:

  嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: