Raible's Wiki
Raible Designs AppFuseHomepage- Korean - Chinese - Italian - Japanese QuickStart Guide User Guide Tutorials Other ApplicationsStruts ResumeSecurity Example Struts Menu
Set your name in
UserPreferences
Referenced by
JSPWiki v2.2.33
Hide Menu |
This is version 18.
It is not the current version, and thus it cannot be edited. Please note that this tutorial is under development and here is not yet solved some issues. If you find any solution how to solve some problem I will very appreciate your help. Email: RadimBurget [at] seznam [.] cz Table of Contents
About Spring-rcp [#1]The goal of the spring-richclient project is to provide a viable option for developers that need a platform and a 'best-practices' guide forconstructing professional Swing applications quickly.My work is based on Spring-rcp Petclinic Demo (in CVS only) and I tryed to integrate it with Appfuse. Configuring Appfuse - map servlet to be listening on "ws/*" url address [#2]Add this part of code to metadata/web/servlets.xml<!-- REMOTE ACCESS SERVELTET --> <servlet> <servlet-name>ws</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <!-- - Dispatcher servlet mapping for HTTP web services. - (see ws-servlet.xml for the controllers). --> <servlet-mapping> <servlet-name>ws</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping> Configuring Appfuse - create ws servlet[#3]Create ws servlet XML beans descriptor. While I am using Hessian instead of Burlap I have commented unused part of code. If you will ever want to use the burlap instead hessian uncomment this part of code.Difference between Hessian and Burlap is that Hessian is binary and Burlap XML based. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <!-- - $Id: ws-servlet.xml,v 1.1 2004/08/01 23:03:20 benalex Exp $ --> <beans> <!-- Hessian exporter for the Clinic --> <!-- Hessian is a slim binary HTTP remoting protocol --> <bean name="/Clinic-hessian" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service"><ref bean="userManager"/></property> <property name="serviceInterface"> <value>org.appfuse.service.UserManager</value> </property> </bean> <!-- Burlap exporter for the Clinic --> <!-- Burlap is a slim XML-based HTTP remoting protocol --> <!--bean name="/Clinic-burlap" class="org.springframework.remoting.caucho.BurlapServiceExporter"> <property name="service"><ref bean="clinic"/></property> <property name="serviceInterface"> <value>org.springframework.samples.petclinic.Clinic</value> </property> </bean--> <!-- Hessian exporter for the RemoteAuthenticationManager --> <bean name="/RemoteAuthenticationManager-hessian" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service"><ref bean="remoteAuthenticationManager"/></property> <property name="serviceInterface"> <value>net.sf.acegisecurity.providers.rcp.RemoteAuthenticationManager</value> </property> </bean> <!-- Burlap exporter for the RemoteAuthenticationManager --> <!--bean name="/RemoteAuthenticationManager-burlap" class="org.springframework.remoting.caucho.BurlapServiceExporter"> <property name="service"><ref bean="remoteAuthenticationManager"/></property> <property name="serviceInterface"> <value>net.sf.acegisecurity.providers.rcp.RemoteAuthenticationManager</value> </property> </bean--> </beans> Configuring Appfuse - add *.jar library dependicies [#4]For more details read how to add library to appfuse here. Copy hessian.jar to appfuse/lib/hessian/hessian.jar To lib/lib.properties add path info: # # Hessian # hessian.version=0.1 hessian.dir=${lib.dir}/hessian-${hessian.version} hessian.jar=${hessian.dir}/hessian-${hessian.version}.jar If you will ever need burlap do the same with burlap *.jar files. Add in build.xml hessian library dependency: <target name="package-web" ...... ....... ...... <lib file="${hessian.jar}"/> ...... </target> (properties.xml does not need any changes) Configuring Appfuse - add interface to allow remote clients login[#5]Add to web/WEB-INF/applicationContextSecurity.xml add this bean: <!-- Allows remote clients to check if a username/password is valid --> <bean id="remoteAuthenticationManager" class="net.sf.acegisecurity.providers.rcp.RemoteAuthenticationManagerImpl"> <property name="authenticationManager"><ref bean="authenticationManager"/></property> </bean> Configuring RichClient[#6]TODO: Unsolved issues [#7]TODO: Attachments:
|