代码改变世界

Flex 开发架构渐变

2008-10-13 23:34  宝宝合凤凰  阅读(414)  评论(0)    收藏  举报

Flex 开发架构渐变

关键字: flex

Flex 无疑是RIA第一位得选择,而JAVA 可以是Enterprise application 的第一选择。 结合二者来开发Web App 无疑是一种走向流行的方案。 前端Flex+后端JAVA的简单架构如图:

flex and java

 

 

在实际得开发中实现上述结构的方法非常之多。我只是将自己开发的渐变过程记录下来。希望对后来者有所借鉴。

这个系列blog包括:

 

一。混沌未开-Flex-all-in-one

二。中央管理-Flex Central Managerment

三。MVC框架-Flex Cairngorm

四。咔嚓Front ControllerCairngorm

五。轮回转世-Mate

 

样例。

为简洁起见,用一个非常简单的样例来演示开发过程:密友列表

系统只有二个画面:

  登录-LoginView:

 

 login view

 

 

输入用户名和密码并登录, 进入密友列表画面(BuddyListView):

 

 buddylist

 

 

由于这个系列blog焦点在Flex应用开发方式,所以只选择Remote Object  作为和后端通讯的方式。AMF的实现使用Adobe 的opensource data service-BlazeDS。Java代码非常简单。仅限于配合这个blog系列。

相关得配置文件和JAVA class 如下:

1。remot-config.xml:

 

Xml代码 复制代码
  1. <?xml version=”1.0″ encoding=”UTF-8″?>  
  2. <service id=”remoting-service”   
  3.     class=”flex.messaging.services.RemotingService”>  
  4.   
  5.     <adapters>  
  6.         <adapter-definition id=”java-object” class=”flex.messaging.services.remoting.adapters.JavaAdapter” default=”true”/>  
  7.     </adapters>  
  8.   
  9.     <default-channels>  
  10.         <channel ref=”my-amf”/>  
  11.     </default-channels>  
  12.     <destination id=”flexmvcRO”>  
  13.      <properties>  
  14.       <source>com.ny.blog.flex.mvc.accessor.DummyAccessor</source>  
  15.       <scope>session</scope>  
  16.       </properties>  
  17.      <adapter ref=”java-object” />  
  18.     </destination>  
  19.   
  20. </service>  

 

2.DummyAccessor.java:

Java代码 复制代码
  1. package com.ny.blog.flex.mvc.accessor;   
  2.   
  3. import java.util.ArrayList;   
  4. import java.util.List;   
  5.   
  6. import com.ny.blog.flex.mvc.pojo.Friend;   
  7.   
  8. public class DummyAccessor {   
  9.   
  10.  public DummyAccessor() {   
  11.  }   
  12.     
  13.  public boolean login(String userName,String password){   
  14.   return true;   
  15.  }   
  16.     
  17.  public  List<Friend> getAllFriends(String userName){   
  18.   List<Friend> myBuddy = new ArrayList<Friend>();   
  19.   Friend dummy1 = new Friend();   
  20.   dummy1.setFirstName(”John”);   
  21.   dummy1.setLastName(”Smith”);   
  22.   myBuddy.add(dummy1);   
  23.      
  24.   Friend dummy2 = new Friend();   
  25.   dummy2.setFirstName(”Andy”);   
  26.   dummy2.setLastName(”Jones”);   
  27.   myBuddy.add(dummy2);   
  28.      
  29.   Friend dummy3 = new Friend();   
  30.   dummy3.setFirstName(”Michael”);   
  31.   dummy3.setLastName(”Niu”);   
  32.   myBuddy.add(dummy3);   
  33.   return myBuddy;   
  34.  }  

 

3.相关  pojo Friend.java:

Java代码 复制代码
  1. public class Friend {   
  2.  private String firstName;   
  3.  private String lastName;   
  4.  private String nickName;   
  5.   
  6. public Friend() {   
  7.  }   
  8.   
  9. //getter and setters   
  10. …   
  11. }