16ajax,16ajax美国HD

http://www.itjxue.com  2023-01-23 19:53  来源:未知  点击次数: 

采用的关键技术

1.分层开发

在前些年的软件开发中,两层结构占有很重要的位置。两层的体系结构一直到现在还广泛存在,但是两层结构却有着很多的缺点,例如,客户端的维护成本高、难以实现分布式处理。随着在两层结构的终端用户和后端服务间加入更多的层次,多层的结构出现了。

经典的三层理论将应用划分为三个层次,见图2-63。

表示层(Presentation Layer),用于处理人机交互。目前最主流的两种表示层是Windows格式和WebBrowser格式。它主要的责任是处理用户请求,例如,鼠标点击、输入、HTTP请求等。

逻辑层(Domain Logic Layer),模拟了企业中的实际活动,也可以认为是企业活动的模型。

数据层(Data source Layer),处理数据库、消息系统、事务系统。

在实际的应用中,三层结构有一些变化。例如,在Windows的。NET系统中,把应用分为三个层次:表示层(Presentation Layer)、业务层(Business Layer)、数据访问层(Data Access Layer),分别对应于经典的三层理论中的三个层次。值得一提的是,NET系统中表示层可以直接访问数据访问层,即记录集技术。在ADO.NET中,这项技术已经非常成熟,并通过表示层中的某些数据感知组件,实现非常友好的功能。这种越层访问的技术通常被认为是不被允许的,因为它可能会破坏层之间的依赖关系。而在Windows平台中,严格遵守准则就意味着需要大量额外的工作量。因此,我们看到准则也不是一成不变的。

本系统中,数据访问层须进一步划分,分为基础数据访问层与业务数据访问。前者主要完成数据库访问与事物处理,后者针对数据库中的表继承基础数据访问的对象,实现自身的数据访问要求。由于本系统涉及到图形配置及接口数据交互,表示层采用了桌面方式与IE器方式相结合,业务操作主要在IE进行,而工作流配置及与P3(或MS Project)数据接口主要在桌面方式上完成。

图6-63 分层开发示意图

2.面向服务架构

SOA(service-oriented architecture,也叫面向服务的体系结构或面向服务架构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

本系统采用面向服务架构,组件内部高内聚,组件之间低藕和,提高了系统的可维护性、扩展性和可移植性。

3.采用面向对象的设计方法

本系统采用面向对象的程序设计方法。面向对象软件开发的主要目的是:采用可复用软件技术加快问题求解,缩短开发时间和减少软件开发费用;当软件功能变更时,只需修改一个或多个类的实现方法,这样可使软件功能变更的影响局部化,从而降低软件维护的费用。面向对象软件设计的主要挑战是将软件系统分解为基本数据类型或者类和子类,以及对每个基本类和子类特性的定义。具体实现中,我们将设计中具有共性的部分规范化,并编制为父类。在父类中定义公用的数据和处理,其他的子类由父类继承而来,并根据特殊要求进行适当扩展。

在具体的实现过程中,我们采取了以下方法:

(1)使用对象的封装性:对基本的类库,我们对其代码实行了严格的封装,类库的变更及升级不会对使用该类库的程序造成影响,提高了程序的可维护性。

(2)使用多重继承:我们将常用的功能,如数据的插入、删除、修改、保存,数据的排序、过滤、查找、替换,表格的打印。

(3)使用多态性:多态性为程序设计带来了极大的灵活性。我们使用多态性,为不同环境下的相近功能提供了统一的访问界面,增强了程序的可读性。

4.分布式计算技术

分布式技术有很多种,CORBAR、COM+等,在.NET平台,有WEB服务、Net Remoting技术。Web服务是一种新的分布式计算技术,它可以跨越应用系统的组件模型、操作系统编程语言的界限,供客户端或其他服务器调用。

Web服务是利用SOAP在HTTP上执行远程方法调用的一种新方法。过去这个问题一直非常棘手,因为过去使用DCOM(分布式COM),在实例化远程服务器的对象、条用方法和获取结果上都是非常麻烦,而且在进行必要的配置时,需要具有很高的技巧。

系统采用Web服务实现分布式结构,分布式事务则采用.Net Enterprise Service实现。

?隐式分布式事务实现:

隐式分布式事务最大的优点是无需手工去控制事务,通过代码块申明一个事务范围,在该范围内的操作会自动进入事务。此类事务方式通过.Net Enterprise Service中的transactionscope对象实现。

?显示分布式事务实现:

显示分布式事务手工从DTC得到一个事务,把事务与需要进入该事务的连接关联在一起,手工提交或回滚。此类事务方式通过.Net Enterprise Service中的Committable Transaction对象实现。

5.与工作流引擎集成

本系统中采用的工作流系统,综合了计算机通信技术、组件技术、图形技术,其实用性、先进性、可靠性都达到国内领先水平。

6.利用VML技术在浏览器中绘制进度计划图

在浏览器上绘图,一直以来是很多软件公司难以迈进的台阶。系统中采用VML技术,为用

图6-64 工作流系统示意图

户提供了直接在浏览器中绘制进度计划图的功能,并可以对进度计划图进行跟踪,如图6-64。

系统中的进度计划图有单代号、双代号两种表现形式,并可以相互转换。

7.和Microsoft 0ffice软件的完美结合和紧密集成

Microsoft Office是常用的办公软件,工程管理过程中的许多文件,如工作联系单,设计变更单等文件大多采用Word格式,而一些报表采用Excel格式,所以要求系统能Microsoft Office套件无缝连接。强调和 Microsoft Office的集成,既方便用户的使用,又可以最大程度地保护用户在Microsoft Office上的投资。

8.与电子签章及手写技术的集成

随着工程项目管理中对文档的安全性、真实性的要求不断提高,特别是针对手写签名、电子印章的要求更加严格,要求在Word/Excel文档上签名、盖章,需要实现多人会签、签章可验证、可认证、防抵赖等功能。东方思维根据实际情况,采用第三方软件iSignature(该技术通过了公安部安全性检测)手写签名电子印章软件管理方案。该方案采用信息加密和数据压缩处理技术,可靠性好,扩展性强,在政府、企业中应用广泛。

iSignature手写签名电子印章软件由签章钥匙盘和软件构成,签章钥匙盘自带CPU、快速存储器和加密处理机制,用于存放单位或个人数字证书、印章信息或签名信息。签章钥匙盘通过USB接口和计算机连接。软件自动嵌入到Word/Excel里,用来实现印章或签名。

9.与短信猫的集成

采用与第三方产品GSM-SMModem短信猫进行集成,以实现短信的收发功能,及时提醒待处理的任务或发送通知通告等。

10.OWC技术

OWC,即Office Web Components,是组件对象模型(COM)控件的集合,可用于将电子表格、图表和数据库发布到网站上。它们也可用来查看已发布的这些项目以及数据访问页。利用“表格模板标签“技术实现表格与数据库数据的交换和存储,解决了在不同高速公路项目中因表格不同(一般每个项目400张左右)而需在每张表格上重复修改程序的问题。

系统采用微软的OWC技术,界面直观,操作简单。系统中操作的各种表格,与在Excel表格中的操作方式是一致的,符合用户的习惯。提高了表格数据填写的效率。方便报表格式的定制和输出。

11.与Biztalk Server能方便集成

Biztalk是一种基于XML的数据交换标准,Biztalk Server是微软的企业应用集成服务器,之间数据交换的标准就是Biztalk。

系统通过Biztalk Server能方便地与OA等系统集成,包括流程。

12.单点登陆技术

单点登录采用基于数字证书的加密和数字签名技术,对用户实行集中统一的管理和身份认证,并作为本系统和其它应用系统的统一登录入口,同时为通过身份认证的合法用户签发针对各个应用系统的登录票据,从而实现“一点登录、多点漫游”。

13.手持设备(PDA)移动操作

图6-65 手持设备移动操作

系统采用智能客户端技术(SmartClient),提供了手持设备(PDA)移动操作功能。如质量验评,可直接通过PDA进行现场检验数据采集,再通过同步机制与服务器数据同步。

14.多线程技术

一个应用进程中默认的只有一个线程在执行任务,但系统中常常执行到如压缩文件、数据传输等很耗CPU的任务,如果采用单一线程,系统地整体性能就会下降。

本系统中采用多线程技术,对于复杂任务启用新线程来执行,从而保证了系统的性能。

15.Enterprise Library 2.0的应用

Enterprise Library是微软为企业开发提供的一套基础组件,完全实现XML配置使用,包括数据访问、安全、日志、异常、加/解密等方面的服务。Enterprise Library 2.0较1.0作了较大的改动,功能更为完善,使用更为简单。系统采用Enterprise Library 2.0,并进行了二次开发,使得更符合本系统的应用。

16.Ajax技术

Ajax用一组技术,它使浏览器可以为用户提供更为自然的浏览体验。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。

系统广泛采用了Ajax技术,提高了系统的效率,增强了用户的体验。

Java学习路线

根据个人实际的经历,结合多种书籍,特别整理出了下面的java学习路线:

一、Java SE部分

1、java基础:基础语法;面向对象(重点);集合框架(重点);常见类库API;

2、java界面编程:AWT;事件机制;Swing;

3、java高级知识:Annotation;IO和NIO、AIO;多线程、线程池;阻塞、非阻塞、异步网络通信;反射、动态代理;

二、JDBC编程

4、SQL基础:基础SQL语句;基本查询;多表查询;子查询;结果集的交、并、差运算;

5、JDBC基础:常见数据库用法;JDBC操作常见数据库;RowSet与离线结果集;数据库连接池;事务管理、批处理;

6、JDBC进阶:存储过程、函数;触发器;理解JCBC的不足;掌握ORM工具优势和设计;

三、DHTML编程

7、HTML基础:基本HTML标签;常见表单标签;DIV+CSS布局;

8、JavaScript知识:javascript基本语法;javascript基本对象特征;Json语法;深刻理解javascript的动态特征;

9、Dom和事件机制:DOM操作、编程;常见浏览器事件机制;掌握用户交互技巧;

四、XML编程

10、XML基础:XML基础规则;DTD和SCheme;XML和样式单;

11、XML进阶:DOM、SAX和JAXP;dom4j、JDOM等工具;XQuery和XQJ;基于XML的数据交换;

12、Web Service:JAX_WS2、SAAJ规范;WSDL和SOAP协议;CXF框架、拦截器;CXF整合Spring;

五、Java Web编程

13、Web编程基础:Tomcat服务器;Jsp语法、EL、内置对象;Servlet API;Servlet 3.0注解;Listener和Filter;

14、Web编程进阶:自定义标签库;MVC和DAO、Servlet、标签的作用;JSTL、DisplayTag等常见标签库用法;

15、Web编程原理:请求/响应、架构;Http协议;深刻理解Jsp运行原理;掌握Web容器底层的线程池、socket通信、调用Servlet的命令模式;

六、Ajax编程:

16、Ajax编程:XML HttpRequest和异步请求;发送请求和处理响应;常见Ajax库(Prototype、Jquery、ExtJs、DWR)用法;结合Http协议、异步请求深入研究ajax库的设计;

七、Android开发

17、Android基础:Android开发调试环境;Android应用结构;界面组件与界面编程;资源管理;四大组件;

18、Android中级:文件IO和SQLite;图形、图像与动画;音频、视频的录制与播放;传感器编程;GPS应用;

19、Android高级:网络编程与Web Service;OpenGL_ES 3D开发;整合Google服务;使用NDK开发;java和c相互调试;

八、轻量级Java EE

17、Struts2:MVC与struts体系;Action和Result;国际化和标签库;文件上传、下载;类型转换和输入检验;拦截器与插件开发;

18、Hibernate:ORM与持久化映射;关系映射、继承映射;延迟加载、性能调优;HQL查询、条件查询、SQL查询;二级缓存和查询缓存;

19、Spring:IoC与Bean配置、管理;Bean生命周期;SP、EL;AOP与事务权限控制;S2SH整合开发;Spring整合Jpa;

九、经典Java EE

20、JSF选学:MVC与JSF设计理念;托管Bean与导航模型;JSF流程与事件机制;JSF标签库;类型转换与输入检验;

21、EJB及相关技术:JNPI与RMI;会话Bean及其生命周期;IoC与EJB拦截器;JMS与MDB;会话Bean与Web Service;

22、JPA:ORM框架与JPA规范;JPA注解与常用API;JTA事务与事务管理;JPQL查询;EJB、JPA整合;

十、Java 拓展、进阶:

23、Java EE实践与架构:Ant+Ivy或Maven;SVN、CVS;深刻理解10种以上设计模式;掌握各种Java EE架构及各自优势;

24、Workflow:Workflow规范及功能;JBPM等workflow框架;多次重构、反复思考;大型项目经验;

25、Java EE进阶:掌握各MVC框架运行原理、能开发类似框架;掌握Spring、HiveMind、AspectJ等框架原理、能开发类似工具;掌握Hibernate、iBatis等框架原理,能开发类似工具;深入研究EJB机制、大致了解应用服务器的实现;

希望对您有所帮助!~

学习Java的最佳路线

首先先搞懂JavaSE的部分,Swing和swt部分就可以少看或不看,因为现在用的比较少。重点是看懂Java中的面向对象、集合框架、JDBC、异常、IO、线程和网络编程。JavaSE搞定后再学习Servlet、JSP,然后才是经典的Struts2、Hibernate和Spring,学习框架时重点理解框架的运行原理,甚至可以尝试自己写个轻量级的框架。理解运行原理的最好方法就是阅读源代码,还是要感谢Java中的开源项目。这期间还要多找各种大小的项目去完成,不一定要大,但是要精致,功能要完整,这样可以练习所学知识,并且可以在做项目中发现自己的知识体系中不足的地方。关于看视频,我不推荐,很多同学一天到晚就知道看视频,殊不知,编程真理在于“练习,练习,不停练习”!

推荐看看这个学习路线,规划的很棒:

再补充下:当学习Java的期间,会碰到各种各样的异常,请积累这些异常信息,以及如何出现的异常和如何处理的,因为java中常见的异常就那么几种,积累的多了,处理问题的能力就提高,这样水平会提高的很快!

SpringMVC 这几年的占有率迅速的提高,可能之后会取代 Struts2,但是无论怎么变化,这些还都是 MVC 模式,理解了这个模式,上手任何的?MVC框架都应该很快。

企业需要的变化还体现在大数据方面,因为 Hadoop 的流行,Java 的应用场景又多了一个。所以,不喜欢 web 的可以考虑学习大数据方面的知识。

另一个流行的场景自然就是 Android,学习 Android 依然需要你有 JavaSE 的底子+HTTP 协议的理解,再配合上 Linux 的知识就可以开始了。

再说下找项目的问题,初学者可能会碰到不知道做什么的问题,其实最开始大家都是从模仿开始的,例如你学会了 jsp+Servlet,那就可以模仿一个 v2ex 这样的论坛出来。学会了 SpringMVC,那就试着将论坛的代码重构,提供restful接口供客户端访问(Android、IOS 、web 等)。论坛做的没难度了,那就模仿一个团购网站,依然是不一定要做全部的功能,但是做出的功能要稳定,要精致。或者一个微信公众平台的开发都是不错的项目。

初学者看源代码有的人推荐看 Struts2、spring 的,但是我相信10个初学者9个看不懂,那就从简单的开始,例如 Apache 的 Commons 库,例如 lang、dbutils、io 等,这些都是非常不错的代码,类的数量不多而且质量也不错,这些看懂之后,你的基础水平增长的不是一点点。

再次提醒初学者,学习编程没有你想的那么简单,必须要多练习,多思考,最主要的是你对这个有兴趣。现在不少网站和媒体都宣传1个月学会前端、3个月入职 BAT 的口号,那也就是口号而已,别太认真。这条路没有捷径,写你的代码就是了!

(责任编辑:IT教学网)

更多

推荐微软认证文章