在发布独立新文档之前有两个任务:
- 完成年度总结。
- 整理2012年没有完成的文档。
需求:
谁,在什么时候,在哪登陆的,登陆之后都干了什么。
这条数据,在什么时候,谁创建的,创建的时候是什么样子的,在什么时候谁修改的,修改的时候是什么样的,在什么时候谁删除的。
【我希望致力构造一套上述的解决方案,但是我似乎感觉自己没这个本事。我心里很不爽。】
【考勤相关】
员工,什么时候来,什么时候走,这次属于正常到勤还是请假或者矿工[正常到勤,请假,矿工,特殊到勤]
员工上班打卡,下班签退,boss可以设置几点之前属于迟到,几点之后属于矿工(一个延迟量,系统根据延迟量自动执行任务调度,超过矿工延迟量则自动插入矿工,员工禁止打卡)
到达上班打卡的时间之后系统禁止填写前一天的签退记录 即:如果第一天加班再第二天上班之前还没有填写加班记录(签退),则视为没有加班。
签退的时候系统自动设置已经打卡的员工签退,如果在这之后再次签退,boss可以设置延迟量,多久之后算作加班
权限模块完成,初步测试完毕。2012年10月28日6:11:37 【二次测试无bug】
【难点1】rabc权限控制树桩权限列表查询效率问题[hibernate风格明显pass]
【1】内存循环存在算法优化问题。
【2】数据库循环存在数据库大量访问问题。
【技术点】使用Spring Security改造权限控制。
近期任务:已完代码全面测试,系统细节优化,前台处理优化,提高用户体验。一切画面原则上是先显示,后加载数据,降低加载文件代价,尽量在系统初始化的时候加载需要的文件。
【2012年10月30日16:53:57】优化方针
【1】不在采用main.action统一控制jsp页面转发方式,改用login.html和index.act方式处理。
【2】如果精力和时间允许,准备完全采用ExtMVC结构,不再单纯使用按钮列表和触发事件控制。
【3】如果需要,可以考虑重新修订管理规范以及设计文档,以备日后翻阅。
【4】想办法统一以下几点:
【①】统一条件查询处理方式,【filter列插件/input框输入】
【②】统一接口函数名,不再采用向上继承。
【java】
【③】再次统一修改文件结构
【js】【2012年10月31日15:58:22已完】
【java】
【2012/12/08 重构记录】
【1】修正日期数据不能设置为空问题。
【2】修正dao一些错误架构
【3】修正部分界面错误提交数据(冗余提交)
项目预计使用技术:【即时通讯】【定时任务】【webservices交互】【[海量数据优化]】【javaMail】
项目不给予关注点:【css相关】【jsp相关】【websocket[考虑浏览器支持]】【JNDI本地C-API处理高级应用】
//**
spring MVC restfull风格【2012年10月30日16:49:26】鉴定完毕,完全热爱restfull风格B/S程序。
【难点1】如果使用servlet那么要解决param问题。
【难点2】使用现有框架必须解决统一action格式问题。
springMVC 3.2异步处理 开启长连接。【2012年10月30日16:47:55】鉴定完毕,继续使用原始servlet开发即时通讯。
【难点1】消息队列和资源同步的问题。
【难点2】P2P消息发送用户列表查找的问题。
【难点3】海量消息记录分布式存储问题。
*///
【心得】(2012年11月17日1:12)复杂的数据查询,很复合型,我们需要的是在视图中查询,不是大量的sql
【resuFull初体验】 这个模式与传统的开发模式大相庭径,确实能利用http特性让代码更加规范,后台代码毋庸置疑,只是前台代码实际上包装的意义暂时看来不大,用Ext作为 例子。使用post请求提交的时候极有可能是update(put)也有可能是insert(post) 而后台都用的是post接受,最终必然put请求很少出现,以至于几乎不出现。因为我们不会给insert和update都单独列出新画面,他们俩通常都 长得一模一样。EXT有一个api模式,就是针对实体类进行设定CURD操作对应的后台处理请求路径,每次都用流的方式传入数据,后台读取之后进行操作, 这个模式更适合大量数据处理,前台几KB的数据业务不需要这样的流以及独立API接口单条触发处理。
【总结如下】
rest模式。对于后台我们可以采用rest模式进行规范代码,但是针对前台发送请求的时候,rest模式并不是完全必不可缺,实际上rest模式对于前 台来说 归根究底还是在请求后台,只不过每次多的method有了限制,rest模式有利于对代码进行规范化,但是对于端连接或者webservice上并没有明 显的提高,也许是我涉及太浅,总之restfull模式可以在我以后的项目中采用,但是要记住restfull模式没有什么特殊的地方,他就是一种把请求 按照资源划分,然后根据目的选择分支的模式,简言之,rest的每一个请求路径都是一个资源路径。
传统自定义传参以及请求路径模式:大量的时候我很还是不可能避免这种请求,在项目中很多独立的请求,比如向服务器发送登录信息,询问服务器最新动态,我们 可能不需要指定请求类型,因为我们可能不能确定发送过来的数据是要进行curd哪一种处理,这样在传输的数据中夹带着api调用参数更适合一些,可能服务 器上的controller在根绝参数选择service上的重载。也可能controller判断某种标记进行insert、update。总之我们有 很多时候无法确定要用post好,还是put好,服务器更不需要对请求的方式进行处理。
Ext为我们提供了非常好的解决方案,允许你在前台面向对象操作js实体类映射到后台,就好像hibernate出现的时候让你操作javaDTO改变DB-TABLE的oram那样, 一 种把数据更高度封装的处理方案。这就是上述的api模式,事实上我们可以根据这些解决方案为自己的向后搭建特定的后台框架,甚至你可以自己封装DTO- DAO-IOC-MVC,也许你回感觉仿佛在用js调用javaAPI,这种感觉我个人并不看好。多数的时候这回给我们带来更多的数据交互,我们更希望少 量的代码,少量的交互,少量的数据传输,少量的判断,这么多的少量是函数式语言的特性,我们应该充分利用js可以函数式开发的特性完成自己的封装,封装特 定业务的处理参数方式,而不是依赖框架给我们提供大量的包装,要知道,越是强大的框架,对你来说”冗余“代码越多,不是批评谁,而是事实如此,想做到各方 各面,就需要各方各面的判断,各方各面的适应,试问想适应更多的场合,怎么可能没有更多的衣服,乞丐服是很不适合参出席宴会的。
【总之】:我们需要利用框架,也需要自己定义前后台交互的处理。
JAVAEE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对JAVAEE中的13种技术规范进行简单的描述(限于篇幅,这里只进行简单的描述):
1、JDBC(Java Database Connectivity) JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性。
2、JNDI(Java Name and Directory Interface) JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。
3、EJB(Enterprise JavaBean) JAVAEE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高 度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、 资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现JAVAEE的唯一途径。正是由于JAVAEE的开放性,使得有的厂商能够以一种和EJB平 行的方式来达到同样的目的。
4、RMI(Remote Method Invoke) 正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。
5、Java IDL/CORBA 在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开, 或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应 用和旧的系统相集成。
6、JSP(Java Server Pages) JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
7、 Java Servlet Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而 servlets全部由Java写成并且生成HTML。
8、 XML(Extensible Markup Language) XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。 XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独 立性的解决方案。
9、JMS(Java Message Service) JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类 型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另 一种方式来对您的应用与旧的后台系统相集成。
10、JTA(Java Transaction Architecture) JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。
11、JTS(Java Transaction Service) JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
12、JavaMail JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。
13、JAF(JavaBeans Activation Framework) JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF
近期探究目标:
【一】NUTZ+ExtMVC+mysql+ubuntu 使用左右布局体验restFull项目,作为restfull的”helloWorld“(2012年11月15日16:53:58,该项目需要在ubuntu下进行)【进行结束,框架搭建完毕,开始使用nutz创建网站。】
2012年12月1日11:45:36 预计搞定帆软 开发mis项目 制作报表,本月重点研究对象:jbpm+finereport
实现工作流,目标是实现任意数据审核审批管理。
简单制作进销存管理系统(在standBy项目上开发) 进行 全方位高性能报表开发。
实现数据log记录,实现
谁,在什么时候,在哪登陆的,登陆之后都干了什么。
这条数据,在什么时候,谁创建的,创建的时候是什么样子的,在什么时候谁修改的,修改的时候是什么样的,在什么时候谁删除的。
【数据流记录】【实时消息任务提醒】【工作流实现】
【二】PHP[可选java,根据目标服务器判定]+JQUERY+TK+ubuntu+mysql 使用resufull构造phpStu 作为个人网站,大约来年春天之前上线。 (重点思考:大文本处理,海量数据处理,能的话学会解决这两个问题)
【三】熟练ubuntu下办公 ,尽量快速接触新技术,拓展视野,完整目标定位。
以上目标大约2013年五月之前结束。
【2012年12月19日9:19:48 近期学习重点】
1·【junit使用】
3·【POI】操作Excel【office,pdf在线预览以及相互转换】
【此次重构之后添加数据权限控制,大致可以仿照lihe项目】
【2012年12月27日16:51:20 此时我的学习计划暂时搁置,准备开始追求一下短暂的利益。】