我们在工作中受到约束。我们与许多第三方供应商进行了集成,其中之一供应商X ,证明非常困难。
虽然其他供应商提供易于使用的API,通常是基于RESTful JSON的框架或基于XML的Web服务,但Vendor X通过FTP完成所有工作。虽然其他供应商将其API调用划分为单独调用特定任务,但供应商X使用一个TDF执行多项任务。
后一个问题可能会破坏我们的整合能力,因为我们只关心更新一个数据集,但供应商X不会让我们提供这些信息而不提供我们不知道的许多其他信息(或关心)。
问题是,供应商X有一个门户网站,可以轻松更新这些信息。从技术上讲,我可以编写一个登录此门户网站的客户端,扫描html以更新表格,然后提交表单。
我们的应用程序是用Java编写的,但是大多数执行此类任务的Java库(Selenium,HTMLUnit)似乎都面向测试而不是在高负载下执行企业级任务。就我所知,像JSoup这样的库在提交表单方面效果不佳。即使我们只更新每个记录的一个整数字段并单击提交,我仍然有点谨慎。
是否有适合此任务的可编程无头浏览器(java或其他)?一般来说,社区对这种方法有什么看法?如果没有干净的解决方案来完成这项任务,我们不得不求助于这种hackery,开发团队很容易说“我们不能支持有问题的供应商”,但因为它们非常有利可图,所以管理层也没有我们认为这是一种选择。