Ideas about Rich Client Platform
What is Rich Client Platform? There is a lot of products which focus on this idea, such as Micromedia's Flex, Bindows, MS XAML, and new eclipse platform. etc.
For me, a RCP should be:
- Rich UI. the HTML is not rich UI, but the DHTML is rich, but still not enough. There is no enough till the RCP support extensible UI.
- Simplest and suitable for movable via internet. Not all functions packed to a box and which will install first, but the functions is seperate into a lot of little box, and each box can be download when in need. Like web pages but not the same.(a box may be complex that an simple page, and can process more process local)
- Can used as desktop application and internet application, in more, an RCP should bring them as one thing. no Desktop/Web application futher more
the RCP should be popular in SOA time, i think the general architecture would be:
- An low level Rich Client Presentation Framework. both the SWT/Swing/Windows.Forms can be used. I like Swing better because it is the realy cross-platform framework and suitable for internet usage. the framework support presentation with a unify component model, lets name it as RCC(Rich Client Components), a RCC maybe simple UI component, or complex UI component, or other not-UI components as well.
- An high level Rich Client Presentation Framework which provides a unified ui-layout, such as eclipse's persestre/view/preference and others. That is required for manage complex application. the eclipse's layout is a good choice.
- An Rich Client Browser(RCB) which able to execute an rich client application, just like a browser can execute a html page. also, the browser can provide download-on-need, local-cache, local-storage management services for RichClientUnit(RCU)
- to run a RCU, pass its URL to RCB, the RCB will download it if neccessary(include first time installation, each time initialization, or destroy/uninstall operation)
- a RCU may contains one or more RCC, in eclipse-like platform, it may include Perspertive, View, Editor, like a plugin. when the RCB execute it, the main view is displayed and the since now, the RCU can process user interactive.
- RCU may use a lot of RCC, each RCC is identified with its namespace, and maybe download and shared for other RCU. the framework provide a rich set of basic RCC.
- The RCU general access resource on server, but it can have local storage for temp usage. When the RCU need to access server resource or service, it general using the SOA architechure, such as SOAP/WebService and others.
- A good way to code the RCU is using XML file, an RCC can also be XML, the process logic can be script(such as javascript) or native code(such as java/c#) which bind with the RCU. the script can using service provide by RCB(such as SOAP/HTTP), or using other RCC(which can be download).
0 Comments:
张贴评论
<< Home