2010-06-25 19 views
0

我得到了一个包含海量数据的后端Web服务,我可以通过它浏览器前端获取数据。前端任务是简单地在分页表中显示数据,但用户应该能够根据字段动态限制数据,并且无法将整个匹配数据集加载到一个加载中。限制ruby/java和javascript的大型数据集的语言

我在寻找的是一些标准的语言来定义约束,最好应该已经有一个成熟的实现为红宝石或Java甚至JavaScript。

+0

什么样的网络服务?你有任何细节?是否有公共API或WSDL?一些Web服务允许您定义约束并返回经过筛选的结果集。我不确定是否有一种标准的方式来使用所有的Web服务。 SOAP基于XML,其他RESTful Web服务可能使用其他数据格式,如JSON。 – Teoulas 2010-06-25 10:41:44

+0

这是一个关闭REST Web服务的服务json/xml,但返回所有记录的未过滤列表。这在过去是有效的,因为它只能用于非浏览器应用程序。 现在,但我已经被要求写一个浏览器前端,我需要一些很好的方式来过滤数据。我完全控制了web服务,所以我可以添加或删除任何我想要的,并使用任何我想要的技术。 我并不是在寻找一种标准的方式来使用它,只是一种标准的方式来定义约束,如果你想要的话,查询语言。 – Andreas 2010-06-25 10:57:43

回答

0

RESTful服务使用标准HTTP请求。您可以使用任意数量的查询参数来筛选结果。例如,与价格高于50获取所有产品(以XML)你发送一个GET请求到以下网址:

http://my.web.service.com/v1/products.xml?price_gt=50 

既然你已经在Web服务的完全控制,它是你谁必须决定应该使用哪种过滤方式,以及通过哪些参数。例如,您可以添加偏移量和限制参数来获取特定数量的记录。

对于基于浏览器的客户端,您需要HTML资源/记录的表示形式。大多数Web应用程序都有一个带有可用过滤参数的过滤表单。在我之前的例子中,我可以在产品的标题/描述中添加一个用于全文搜索的简单文本字段,还可以添加一些文本字段或选择菜单,以允许用户在其首选价格范围内获取产品。

我看到它的方式,没有定义过滤语言和Web界面的标准方法,因为这一切都取决于您想要提供给用户的数据和过滤功能。它还取决于Web服务写入的语言以及您是否需要简单的HTML UI或客户端的AJAX驱动的UI。

+0

是的,这将工作。我只是希望有人已经提出了一个很好的解决方案,可以将一个简单的谓词转换为一个安全的参数,例如形式为“field1> = 10 AND field2 == asd”。猜猜我必须停止懒惰,只是做的工作,而不是...感谢您的帮助! – Andreas 2010-06-26 09:10:58

+0

您的Web服务使用什么语言/框架编写?在Ruby on Rails上,有searchlogic,这使得过滤形式变得小菜一碟。 – Teoulas 2010-06-26 17:30:05