2011-11-30 90 views
0

我需要一个建议来为我的应用程序实现功能。我的应用程序是安装在客户端内部员工使用的客户端环境中的传统JSP JDBC应用程序。我有多个客户端,每个客户端都有自己的系统中安装的软件的环境。在系统之间迁移大数据

A中的要求,在一个模块中,我们需要有自己的现有的外部应用模块的接口同步它们的系统和我们的系统(如用户信息,办公信息)之间的一些数据。

作为第一步,现在我们有一些模块,客户端可以上传CSV,EXCEL文件,并上传到我们的系统临时表。

然后,在第二步骤中,它们使用的另一模块,其中所述触发指令以得到其根据我们的数据格式处理,然后插入到我们的邮件表中使用到我们的系统的临时表中的数据。现在

,我们计划为他们提供了一些API,他们的直接从他们的系统/模块插入数据到临时表,而不是上传CSV,EXCEL文件。因此,将数据格式化并加载到临时表中不是我们的责任。

他们将访问我们的API并执行特定的方法。

我的问题是如何做到这一点?我们已经有了一个Web服务,我们只公开少量的系统来修改/插入数据到特定的表中。但是,如果在Web服务POST调用中插入/同步40k-50k的行,恐怕是个好主意。

最后要说的是,我们如何能够开发出可以从任何客户端(PHP,.NET,JAVA),我认为Web服务是解决方案中使用的API。

我希望我解释清楚。帮助赞赏。

回答

2

是的,您应该为您的Web服务提供批量功能。做50k或更多的电话它效率不高。因此,由于您已经为文件定义了一种格式,并且看起来人们对它很熟悉,所以您可以编写一个接收文件为多部分的WS。见http://cxf.apache.org/docs/jax-rs-multiparts.html

此外,我建议做这个调用异步。您可以返回一个“JobId”以供将来参考。注1:如果您认为您提供了新格式,请使用Json。你可以提供一些RESTFul API。使用XML的SOAP可能会有一些开销。注2:由于您现在正在使用HTTP。注意安全风险。