工作总结 – remote control
工作周期:2008/04/05 – 2008/05/30
工作流程:文档开发,数据库开发,后台程序开发,前台页面设计,前台页面开发
编程工具:mysql,Spring, Hibernate, JSF/Rich Faces
经验与教训:
文档开发阶段:由于对UML图的不熟悉,在绘制Use case diagram, Activity diagram, Component diagram, Deployment diagram 时均出现了一定问题,用了大概2周时间才完成, 以后需要加强这方面的研究。
数据库开发:DB schema 由Manager设计,只负责录入数据库。在和hibernate结合中,pk的生成方式为native,所以需要在mysql中将pk设为auto increment。此外还需要注意index的设 置,需要考虑到效率问题,对于非重复性字段,需将index设为unique index。
后台程序开发:
1. 使用hibernate时,遇到了经典的lazy initialization 问题。解决方案:没有使用open session in view方法,而是使用Spring在service层进行transaction的管理,当在service方法中需要使用到lazy load的属性时,使用Hibernate.initialization() load出来。在对DAO层测试时,扩展TestCase, 使用BaseCase工具类。
2. JSF与Spring的结合,由于J2EE5已经包含JSF1.2,所以不需要引入额外的包,否则会引起冲突。如果使用JSF1.1,一般需要添加jsf-spring工具包。
a. web.xml:用于获得WebApplicationContext
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
b.Faces-config.xml:
<application>
<variable-resolver>
org.springframework.web.jsf.DelegatingVariableResolver
</variable-resolver>
</application>
c. 在managed-bean中注入
3. 因为系统的服务器端使用分层的结构,所以程序之间的通信需要用到RPC方法。Spring目前支持的RPC包括RMI,Burlap/Hessian,Http Invoker和SOAP。方案选择为SOAP,基于XML的网际传输,使用第三方工具Xfire支持。因为用了JAVA5泛型的特性,所以使用起来很方便,不需额外编写aegis文件。在传输object时,对于想lazy load的属性,使用annotation @IgnorProperty声明即可。不过在传输Collection时,这种方法似乎有问题,会抛出session close异常。
配置方法:在WEB-INF下加入XFireServlet-servlet.xml文件,配置SimpleUrlHandlerMapping,并将需要远程访问的服务用XFireExporter声明。在web.xml中配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:org/codehaus/xfire/spring/xfire.xml
classpath:applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
在客户端的ApplicationContext.xml中用XFireClientFactoryBean接收服务。注意XFire需要的jar包比较多,配置的时候要小心。
4. 客户端在发送heartbeat时使用了Spring提供的ApplicationEvent,ApplicationEventPublisher和ApplicationListner,然后再web.xml中配置listener。
5. 在发布Web App时运行一个自定义的初始化方法,只需要继承HttpServlet,在init方法中定义具体过程,然后再web.xml中加入servlet即可。
6. 还有一些零散的经验,包括异常处理机制的定义,log系统使用动态生成表,对java.util.Date, java.util.Calendar与mysql中datetime类型的结合使用等。
前台页面设计:没什么经验,效果一般。
前台页面开发:基本未参与,使用JSF + Rich Faces开发,目前看来有一定局限性。
分享到:
相关推荐
7. **批量管理**:对于大型网络环境,DameWare Mini Remote Control支持批量设备管理,能够一次连接并控制多个设备,简化了对大规模网络的维护工作。 8. **自定义设置**:软件允许用户根据实际需求调整各种参数,如...
### DameWare Mini Remote Control 远程控制专家使用方法详解 #### 一、产品概述与应用场景 DameWare Mini Remote Control 是一款高效的远程控制工具,它能够帮助用户轻松地实现对远程计算机的控制与管理。这款...
NetOp Remote Control 9.5 是一款强大的远程控制软件,专为个人和企业用户提供高效、安全的远程访问解决方案。这款软件允许用户通过网络在不同设备间进行实时的屏幕共享和控制,大大提升了远程协作和系统管理的效率...
BeamNG.drive Remote Control Remote Control app for the PC game BeamNG.drive. Communication functionality App sends out a broadcast in its local wifi on port 4444. It sends the string "beamng" ...
《DameWare Mini Remote Control 10.0.0.372 x64位 绿色版》是一款高效、安全的远程控制软件,专为IT专业人士设计,以解决远程支持和系统管理的问题。这款软件提供了强大的功能集,使得用户能够轻松地在不同设备之间...
DameWare Remote Support、DameWare Mini Remote Control新版12.0.3.4010注册机,亲测有效。
在这个名为"RemoteControl.rar"的压缩包中,包含了实现远程控制功能的源代码以及相关的文档。"readme_verysource.com.txt"和"说明.txt"文件可能包含了项目介绍、使用指南、开发心得等内容,是理解程序运行和部署的...
总的来说,远程控制技术为我们的工作和生活带来了便利,"RemoteControl"这样的工具正是这一技术的体现,它简化了远程操作,提高了效率,使得跨地域协作成为可能。随着技术的发展,远程控制的性能和安全性将得到...
Remote Control Tools可能也提供了这些增强功能,以提升用户体验和工作效率。 "说明.htm"文件很可能是该工具的用户手册或帮助文档,里面包含了详细的安装步骤、配置指南、操作教程以及常见问题解答。用户在使用过程...
【标题】"RemoteControl"揭示的是一个使用C#编程语言实现的远程控制解决方案。这个程序不仅提供了基础的远程桌面连接功能,还支持执行远程命令,从而增强了系统的可操作性和灵活性。 【描述】"C# Remote Control ...
《DameWare Mini Remote Control 10.0.0.372:远程管理利器》 DameWare Mini Remote Control,作为DameWare NT Utilities的一部分,是一款专为IT专业人士设计的强大远程控制软件,尤其适用于局域网环境。该版本10.0...
NetOp Remote Control 9.0 简体中文版
This profile defines the requirements for Bluetooth™ devices necessary for the support of the Audio/Video Remote Control usage case. The requirements are expressed in terms of end-user services, and ...
DameWare Mini Remote Control 6.x 注册机
这个名为"remotecontrol"的源代码正是实现这一功能的关键。在这个压缩包中,我们有三个主要的文件:www.pudn.com.txt、tm远程代理_release以及src。 www.pudn.com.txt可能是发布或分享该源代码的网站信息,它可能...
java RemoteControl 远程控制 <target name="run" depends="RemoteClient-impl.jar"> ${dist.jar}"/> </target>
FinalFantasy Remote Control Beta 1.05破解版本 这个软件保护方式很好玩呵呵 ! 有兴趣的自己研究下! 脱了壳方便大家做免杀~ 不要随便乱改~、 注意下素质~~~
了解这些基础知识后,深入研究"RemoteControl"的代码可以提供宝贵的学习和实践经验,帮助理解远程控制技术的工作原理,并可能用于自定义远程控制解决方案。在分析代码时,需要注意其安全性,因为远程控制功能如果不...
《联想网络控制工具Lenovo Remote Control Tool详解》 联想网络控制工具Lenovo Remote Control Tool是一款专为联想用户设计的远程管理软件,它源自联想官方工具盘,旨在提供便捷的远程控制功能,使得用户可以在不同...
NEC IR remote control decoder