我需要一个建议来实现我的应用程序的功能。我的应用程序是安装在客户端内部员工使用的客户端环境中的遗留JSP,JDBC应用程序。我有多个客户端,每个客户端都有自己的系统安装环境。
一项要求,在一个模块中,我们需要有一个现有外部应用程序模块的接口,以便在系统和系统之间同步一些数据(例如,用户信息,办公室信息)。
作为第一步,现在我们有一些模块,客户端可以上传CSV,EXCEL文件并上传到我们系统的临时表。
然后在第二步中,他们使用另一个模块,触发指令从临时表中获取数据,然后根据我们的数据格式处理,然后插入到我们的系统中使用的邮件表中。
现在,我们计划为他们提供一些API,直接将数据从他们的系统/模块插入到临时表中,而不是上传CSV,EXCEL文件。因此,格式化数据并加载到临时表中不是我们的责任。
他们将访问我们的API并执行特定的方法。
我的问题是如何做到这一点?我们已经有了一个Web服务,我们公开了少量的系统只是为了修改/插入特定表中的数据。但是,如果插入/同步40k-50k的行与Web服务POST调用将是一个好主意,我担心。
最后一点是我们如何开发可以从任何客户端(PHP,.net,java)使用的API,我认为Web服务就是解决方案。
我希望我的解释清楚。帮助赞赏。
答案 0 :(得分:2)
是的,您应该为您的网络服务提供批量功能。做50k或更多的电话效率不高。因此,既然您已经为文件定义了一种格式,并且看起来人们熟悉它,那么您可以编写一个以多部分形式接收文件的WS。见http://cxf.apache.org/docs/jax-rs-multiparts.html
另外,我建议做这个调用async。您可以返回“JobId”以供将来参考。
注意1:如果您认为自己提供了新格式,请使用Json。您可以提供一些RESTFul API。使用XML的SOAP可能会有一些开销。 注意2:因为您现在使用HTTP。注意安全风险。