Java RCP

RCP,Rich Client Platform,富客户机平台
Rich Client是一个相对的概念,主要是针对时下广泛的基于WEB的应用,因为这种客户端(也即现有的各种浏览器)的运行环境没有提供一个很好的组件模型和交互模型致使这种应用的界面的同服务之间的交互变得很奇怪,每一次交互都需要重新组织出整个界面,而这个界面的组织基本在服务器端完成,也所以致使表现层的逻辑居于服务器端,所以称这种为Thin Client,而相对的则是Rich Client。
目前来说,在技术上Rich Client还没有一个甚或是两个大一统而且又成熟的标准技术出来,所以Rich Client只能说是一种架构方式,其特点便是服务同表现完全的物理分离,表现逻辑完全由客户端来负责,这是最关键的一点。但我认为一定要同时兼顾原有WEB应用的零部署等特点。
组件
核心平台(启动Eclipse,运行插件)
OSGi(标准集束框架)
SWT(可移植构件工具包)
JFace(文件缓冲,文本处理,文本编辑器)
Eclipse工作台(即Workbench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards))
Eclipse RCP
Eclipse RCP是一项位于Eclipse平台核心的功能。大多数人想到Eclipse时,会想到Java集成开发环境(IDE)。如果将Eclipse中关于IDE的内容剥去,剩下的就是一个提供基本工作台功能的核心,包括对可移动以及可叠加的窗口组件(编辑器和视图)、菜单、工具栏、按钮、表格、树形结构等等的支持,而这个核心就是EclipseRCP。
个人理解EclipseRCP就是由插件开发转向桌面应用开发,构建最小化的Eclipse平台(8M)运行你的桌面应用,不必再为程序框架烦心,摆脱失败的AWT和Swing,让程序拥有专业级效果,而实现又很简单、很优雅。
RCP提供了丰富的界面控件,这使得基于Java开发桌面应用也变得容易了很多,虽然仍然不能和基于VB、Delphi进行相比。对于开发者而言,尽管使用RCP也是为了开发桌面应用,但RCP给开发者带来的更多的感觉是在它充分发挥了插件化系统的优势。
RCP可以视为基于OSGi(Open Service Gateway Initiative)构建插件化系统的最佳实践的指导,从RCP的设计中,可以学习到如何将应用做到模块化、将应用做到动态化,甚至还可以学习到如何自动生成界面这样的设计思想。RCP可以看做是基于OSGi做插件化应用系统的最佳实践,其中的不少设计方法甚至都可以整理成为基于OSGi做插件化应用系统的设计模 对RCP表示崇高的敬意,大师之作,不同凡响。
EclipseRCP为应用程序开发人员提供了:
应用程序和特性的一致且本地的外观;
公共应用程序服务,例如窗口管理、更新管理、帮助和选择管理;
本地的外观,利用Windows、MacOSX、Linux、Solaris、HP-UX、AⅨ和嵌入式设备上的实际平台窗口部件;
标准化的组件模型;
普及的可扩展性;
整合的更新机制;
顶级开发工具(Eclipse软件开发包(SDK)是世界级的软件开发环境)。
EclipseRCP项目用SWT图形库和工具包取代了Java标准中的AWT和Swing。SWT直接调用了操作系统的图形库,从而使得Java应用程序的LOOK&Feel与操作系统的习惯完全一致;更为重要的是,对本地方法的直接调用大幅度的提高了基于SWT的Java应用程序的运行速度。SWT的缺点主要在于两点:不是Java语言标准;支持的平台太少。
一个EclipseRCP可分为如下5个部分:
⑴Workbench工作台
为Eclipse提供用户界面。它是使用SWT(StandardWidgetToolkit)和一个更高级的API(JFace)来构建的;SWT是Java的Swing/AWTGUIAPI的非标准替代者,JFace则建立在SWT基础上,提供用户界面组件。
⑵Workspace工作区
工作区是负责管理用户资源的插件。它包括用户创建的项目、项目中的文件,以及文件变更和其它资源。工作区还负责通知其它插件关于资源变更的信息,比如文件创建、删除或者变更。
⑶Help帮助系统
帮助组建具有与Eclipse平台本身相当的可扩展能力。与插件向Eclipse添加功能相同,帮助提供一个附加的导航结构,允许工具以HTML文件的形式添加文档。
⑷Team团队支持系统
团队支持组件负责提供版本控制和配置管理支持。它根据需要添加视图,以允许用户与所有使用的任何版本控制系统交互。大多数插件都不需要与团队支持组件交互,除非它们提供版本控制服务。
⑸PlatformRuntime运行平台
平台运行库是整个Eclipse的内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。为降低启动时间和资源使用,它在实际需要某个插件的时候才加载该插件。除了内核外,其它每样东西都是作为插件来实现的。

框架特点: 1.完善的企业应用解决方案,包括表现层,业务逻辑层,报表,权限,日志,国际化,部署等企业应用的各个环节。 2.B/S,C/S优势互补,随需应变。 3.全新的模式开发C/S客户端,无需布局,无需调整控件和组件的大小,不懂Swing也可以快速开发界面。 4.Spring+Hibernate的轻量级架构轻松开发业务逻辑。 5.提升用户体验,提高最终用户满意度,快速开发企业应用。 配置开发环境 1导入开发项目 下载(http://www.soyframework.com)已经配置好的空项目,此空项目包括empty-client (以下简称示例client项目)、empty-server (以下简称示例server项目),并将它们导入到Eclipse中。如果Eclipse的Problems标签下没有出现错误那么表示项目成功导入。 如果使用其他的集成开发环境,请将client和server分别配置成java项目,且client依赖server。 2.1.2创建数据库 用户需要在自己的数据库管理系统中创建一个数据库,并确保此数据库实例能正常运行。示例项目使用的数据库为MYSQL,假定我们在MYSQL中创建数据库empty,并且创建用户empty,将数据库empty的所有权限授予给用户empty。 2.1.3配置hibernate 打开server项目下的hibernate.properties 文件,修改Hibernate数据库方言的配置(hibernate.dialect)为项目选用的数据库类型,如果采用是mysql 5.0数据库,设置为org.hibernate.dialect.MySQLDialect, 如果采用oracle9+数据库则设置为org.hibernate.dialect.Oracle9Dialect,如果是其他数据库请参考hibernate数据库方言。示例项目使用Mysql,故配置方言为org.hibernate.dialect.MySQLDialect。 打开server项目下的dataSourceConfig.xml文件,根据具体使用的数据库配置数据库连接池,下面列出了选用的数据库为Mysql时,连接池的配置: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://${database.host}:${database.port}/empty?autoReconnect=true&useUnicode=true&characterEncoding=utf-8</value> </property> <property name="username"> <value>empty</value> </property> <property name="password"> <value>empty</value> </property> </bean> 在dataSourceConfig.properties中配置数据库服务器的主机地址和端口: database.host=localhost database.port=3306 2.1.4运行项目 开发时使用的应用服务器为Jetty,Server项目下的JettyLauncher.java已经配置了一个Jetty服务器,应用名默认为empty,端口使用8888(用户可以根据实际情况自行修改)。将JettyLauncher作为java application运行,启动服务器,如不出现异常,则server项目配置成功。 打开client项目下的ApplicationLauncher.java文件,作为java application 运行,启动客户端。如果出现设置管理员界面,则client项目配置成功。设置管理员后在用户登录界面以管理员身份登录后即出现系统主界面。 转http://hi.csdn.net/mysoy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值