architecture by langkunxg

VIEWS: 0 PAGES: 32

									Wego Architecture

   Socialbrain.org
       Social Software Works

•   Blog             They are all good enough top
                     gather social knowledge in a
•   Wiki                   democratic way!

•   Flickr           But how to protect your own
                   knowledge property if those sites
•   AllComsuming               closed?

•   Del.icio.us    How to retrieve “your information”

•   Wealink        on those sites in an effective way.


•   Upcoming.org
•   Etc.
                                                              ……
                 Wego

                                                                Wiki-

                                                 Wikipedia
                                                             Public
           Photos/                                           Archive
           Media
                     Bookmarks                                            Public
   Email                                                        Public    News
       Private Subsrcribed              Blogosphere             space
                                                       Google
Blog+ Knowledge News

   Document+
                         Personal                                        Portal
                         Archive                       Google
               Contact
                                                                             ……
                                      Social
                                    Networking     Social
                                     Service     Bookmarks         BBS
                                             Social             Newsgroups
                                            Software
Wego– A Multi-tier desktop server

                        http://127.0.0.1:5225
 Web Server (RESTful)   http://127.0.0.1:5225/write
                        http://127.0.0.1:5225/bookmark etc.

                                            3rd party
   Application Logic     Tools    Interface
                                            Plugins…

                                  Document
  Shared components     Drivers            Threading
                                  Services


                                              Cache/
      Data layer          DB         File
                                              Archive
    Common Data Model of Wego

Publishing Hisotry
<Publishings>
  <Publish id=“0”>
  <DateTime>…</Datetime>
  <Type>…</Type>
  <DestURl>…<DestURI>
          Revision Information
          <Revisions>….</Title>
  </Publish>
….          <Revision id=“0”>     Snapshot of a document
            <DateTime>…</Datetime>
</Publishings>                    <Title>….</Title>
            <Description>….</Description>                      •Blog
                                  <DateTime>…</Datetime>
            <MD5>…</MD5>          <Author>….</Author>          •Wiki
            </Revision>           <GUID>…..</GUID>
            <!—More revisions--> <Links>….</Links>         •SS Services
           …..                    <Description>              •*Hosting
          </Revisions>              <![CDATA[….]]>              …
                                </Description>
      Wego Component Model
                      Desktop Server Application Framework
                             (http://127.0.0.1:5225)


                               Tool              Render
                              Service            Service

       Preference
        Service       Tools (Blog, News, Works, Bookmarks,
                    Gallery, Search, Lookup, Calendar, Shelf…..)   System Log




                    Publish                 Data                       Index
                    Service                Service                    Service

Synchronization
   Service                           Tag
                                    Service



  Internet                                                              db
           Entities relationship
                                  Agent
                     Portal



Public Component   Plugins/tools              View        Template
                                                           Language Pack


Public namespace   Documents              Gadget/Applet
                       Index/revision



                     Storage
                          Mount
               Namespace

•   <$Writing:Editbox Instant=“on”$>
•   <$Collection:ThumbnailList$>
•   <$Collection:URLList number=“100”$>
•   <$Writing:PostList description=“full”
    view=“blog”$>
Template             更新消息(最后更新5分钟前)

                     <$Subscription:NewsList number=“5”$>

                     新创作
系统正常                 <$Writing:PostList number=“5”$>
                                                            链接
<$System:Storage$    <$Writing:EditBox Mode=“ClickShow”
>                    Visible=“false”$>                      -<$Collection:UR
                                                            LList
新功能                  图片收藏                                   number=“50”>
<$System:Updates$    <p>
>                    <$Collection:PictureList number=“3”
                     view=“thumbnail”>
<$System:UserInfo$   </p>
>

了解MW

<$System:Tutorial$
>
                               <$Search:SearchBox$>
             Template model

•   Embeddable templates
•   Dynamic macros
•   User defined layout
•   “Memorable” templates (version tracks)
                                       Template Logic
       Theme

       <html>
                                            Class StandarTool:
       <header>
       <!- Theme style and script here->        Render(_ToooClassName, _Title)
       [%ToolTitle%]
       [%ToolCSS%]                              RenderThemeLogic
       [%ToolScript%]
       </header>
                                                     Pass ToolMacroLogic
       <body>
       <!- Theme header and frame ->
       [%ToolBody%]
       </body>                                               Class ToolClass(StandarTool):
       </html>

Tool Template                                                   StandardTool.Render(_ToooClassName, _Title)

<!- Toollayout->                                                MacroFunction()

[%ToolMacro%]




                                                  http://127.0.0.1:5225/tool
http://127.0.0.1:5225

    Wego主页
    系统状态
    知识更新
    退出(X)
                      http://127.0.0.1:5225


My world       更新消息(最后更新5分钟前)
                                                     链接
系统正常           •中国经济发展速度减缓,各行业基础不足弊端显
               现—新华网
               •昨日的程序开发—小丁                           - 美味书签*
整个系统占用硬盘空                                            - Flickr*
间280M,数据占用     •这是怎么回事? --- CNET中文
                                                     - Python.org*
520M(提醒你备
份)             新创作
                                                     - 美丽的漓江
               •我发现了新的Google功能 (2005-3-2, 12:30am)   - 52届奥斯卡
新功能
               •他们的解释不满意 (2005-3-1, 8:33pm)          - 实施新政的问题
                                                     和我们必须面对
有2个新的工具发
               图片收藏                                  的考验
布,还有3个更新的
                                                     -美丽的漓江
功能
                                                     - 52届奥斯卡
                                                     - 实施新政的问题
你已经使用了2年零
                                                     和我们必须面对
4个月8天,你共有
                                                     的考验
公共网站3个,公共
网站空间300M,剩
余20M,你还参与12
个公共服务。

了解MW                  搜索:__________           =〉
了解My World就是
了解自己
             http://127.0.0.1:5225/gallery



Images                 搜索:__________         =〉

 2005-2-3

                                                  标签

                                                  - 音乐 (2)
                                                  - Python(15)
 2005-1-20                                        - 中国(233)
                                                  - 家(20)
                                                  --Danny(2)
                                                  -- 美国(21)
                                                  -- 电脑(12)
                                                  -- 政治(2)
           Wiki as workspace

• {{work}}
                           Default Work
• [[article]]


                {{work1}}
                   {{work1}}              {{article}}
                     {{work1}}              {{article}}
                                               {{article}}
                 Scenarios

• Write once, publish anywhere (Java? :D)
• All actions will be blogged(Blogging by doing)
• All actions are RESTful, thus readable (e.g.
  blog/2003/4/12)
• All actions could be searchable (e.g.
  search/blog/?query=china)
• Your public blog can be “updated” automatically
  by your settings
• Only trusted users can comment on your blog,
  you can comment locally while publishing to
  both other’s blog and your own blog
Knowledge Flows and Orchestration
      (sample: url collection)



                                          Public Bookmark
                                              Service


              URL collection


 Photo




    News
                               Blogging
Mind Map/Tag Cloud
             Universal tag

• Consistent tag operation and integral
  access
• /blog/tag/China
• /gallery/tag/Spring
• /bookmark/tag/python
         Chronological stream

•   Calendar anywhere
•   Consistent mapping
•   /gallery/2004/3/28
•   /blog/2003/2/19
•   /bookmark/2004/1/1
        Searchable knowledge

•   /blog/search/?q=China
•   /gallery/search/?q=China
•   /calendar/search/?q=dinner
•   /links/search/?q=sex
Bookmarklet: higher experience

•   Digest it
•   Bookmark it
•   Grab it (picture)
•   Subscribe it
•   Comment it
•   Lookup it
                Publishing Model                          bog1
                             Publishers
  Calendar
                                                                          Comments
                                                 Blog 3
                              MetaWeblog API
    Blog        publishlet

                                                              blog2
                                Blogger API
Bookmarks
(url, links)                                                            Trackbacks

                                 Flickr API     Flickr

Works (wikis)
                               Delicious API            Del.icio.us

 Bookshelf
                               Grassland API   Grassland          Technorati
   Gallery
                                 iCal API
                                                        iCalShare.com

   News                          Wiki API


                                               Wiki 1
                                   ……
     …
                                                                      Wiki 2

                                                    FTP
                                                    hosting
              APIs for everyone

                                 You
  Template



 XML-RPC Interface
                         developers        Wego
 (RESTful)




Source Code          Hardcore developers
 API works for client side scripting

• Access data without refreshing client
• Via xml-rpc object
• API visible to everyone
     Threading model (draft)

• Background queue
• Lockup mechanism
• Callback?
Visual effect?
   Implementation preferences

• Low-weight web server and application server,
  RESTful
• Low-weight and embedded database server
• Embedded template
• Minimal relevance and distribution size
• Extensible tools
• Multi-threading model
• Multi-tier
           P2P consideration

•   Can Wego P2P?
•   P2P for knowledge sharing
•   P2P for proxy
•   P2P for trust transaction
•   IPv6?
P2P of Wego—the Circle model

• No central server!!
• Each Wego node knows its
  immediate neighbors on the circle
• Each Wego node knows a few
  other nodes about the circle
• Follow the links to find any other
  node quickly
• Share object between trusted
  peers, e.g. RSS, contact,
  collections, etc.
• Shall we still need web? Maybe,
  or maybe not
                Security

• Designed for private machine use,
  ownership
• Public key/Private key pairs
• User controlled privacy, consensus
            Open issues

• Mobility: how to support people with
  multiple working machines
• Performance: how cache mechanism
  designed
• Internationalization: template and
  message dictionary
• Tool namespace and version management
• Packaging( what’s the size will be?)
• How theme/tool template are compatible

								
To top