寻求合理框架的解决方案

A模块发送Serverlet至B模块:
1. B模块需要实现ftp://下载,下载3个txt文件。
2. B模块将下载的txt转换成xml格式。
3. 将xml文件数据,放入数据库
4. 对比新旧数据库产生,增量xml文件。
5. B模块将产生的增量文件上传至ftp,同时发送Serverlet至A模块
6. B模块需要轮询ftp://是否存在C模块发送的的文件。
7. B模块将C模块上传xml的ftp://文件转换成txt文件,然后上传至ftp,像A模块发送一个serverlet


问题:
1. 需要ftp上传和下载文件模块(实现定时和serverlet触发上传,下载)
2. 需要读取txt文件模块
3. 需要将txt转换xml模块
4. 需要将xml放入数据库模块
5. 需要轮询ftp是否存在文件模块
6. 需要serverlet基本模块

 

[quote]1. 需要ftp上传和下载文件模块(实现定时和serverlet触发上传,下载)
2. 需要读取txt文件模块
3. 需要将txt转换xml模块
4. 需要将xml放入数据库模块
5. 需要轮询ftp是否存在文件模块
6. 需要serverlet基本模块
[/quote]
ftp的可以用java.net包,也可以看看commons的net:http://commons.apache.org/net/
读取txt文件好办吧,用java.io不就得了。
转换为xml也简单,读取了之后,根据xml的格式要求写一个xml就可以了,可以用dom4j来做。
数据库中存xml文件还是xml文本?oracle可以用clob字段,其他数据库都有类似的支持。
增量可以这样,存xml文本的时候同时保存它的MD5,下次来了直接比较MD5,如果不同,说明需要更新了,别增量了,直接覆盖就可以了。
轮询稍微麻烦一些,可以用http://www.opensymphony.com/quartz/实现定时任务,和spring结合非常方便。
serverlet是什么?是servlet吗?“发送Serverlet”是什么呀?

2,3 你可以自己写一个工具类(关于操作txt的),里面有个load方法来实现TXT倒入,你可以存为字符串也可以存为其他,使用一个变量来存储他,再写一个strChangeXml(String) 返回一个XML格式的字符串,为以后存入数据库准备

大概都是工具类,如上所说
补充一下:轮询,可以使用quartz