Final Projects Proposed by TAs

Text Transformation Web Service

Motivation: 多语言服务平台与管理器 跨越语言边界 把诸如markup语法处理这种工作直接用原本的标准实现解决 而不是寻求某一语言下的统一

RESTful风格,其实接口很简单,只需要传 (api_key, text, transformer_id) 即可 一个transformer可以和多个filter组合,filter按顺序排列,可以拦截both request and response,也可以拦截either request or response transformer是一个需要运行的程序,指定运行参数和环境等等 (比如cpplint.py,markdown.pl) filter既可以是本地程序,也可以是另一个web service,甚至就是text transformation web service本身,反正都是通过Web调用 其实transformer和filter也一样,也可以是另一个web service,比如MediaWiki API

图示是一个transformation process,其实transformer和filter本质上是一样的,process把他们有机组合起来

                             (filters)
+--------+                  +--+    +--+            +---+
|        | => (request) ==> |>>| => |>>| =========> |-\ |
|        |                  +--+    |  |            | $ |
| client |                          |  |            | $ | (transformer)
|        |                          |  |    +--+    | $ |
|        | <= (response) <========= |<<| <= |<<| <= |-/ |
+--------+                          +--+    +--+    +---|
                                      (filters)
除了这个接口,还要写transformer、filter、api_key等的管理界面。这个管理界面要和CAS整合起来。另外还要写定期检测这些服务是否可用的系统。 由于有api_key,还要对每个app的quota进行统计、分析、限制等等,比如流量、次数、密度、请求大小、响应时间等等;quota也要能够控制、管理

语言既可以用Java也可以用PHP,数据库用SQLite即可

Update: Actually this service does not have to be restricted in the area of texts. Applications to other kinds of media types are also useful, e.g. images. So there may be some attributes about the content type of the transformers, etc. But that's details and is not concerned here.

CAS Account Management System

CAS数据库的管理也需要一个系统,比如批量添加删除用户,以及指定权限(use_git等),同时还要能够alter table structure,以适应新的应用并添加对应的权限field

System Status Checker

个人工具