2012-05-29 48 views
-2

我正在使用基于服务层的复杂体系结构的大型项目的首席设计师和用户体验专家。我们有一个Oracle数据库,一个数据访问层,一个商业层,报告服务层,一个验证服务层,审计服务层,最后是一个表示层。用于复杂体系结构的JSON代替XML

所有图层当前都以XML格式进行通信。数据访问层包含由XML查询调用的数据库函数。

每当我登陆一个页面,一条消息就会从表示层发送到验证服务,以知道我是否是有效的用户,然后跳转到数据访问,检索信息,由业务服务返回做一些计算和转换,并在所有这些步骤之间,审计服务获取信息。最后,信息在通过报告服务(负责创建饼图)后显示在页面上,并最终在Masterpage,CSS和Javascript有趣内容的表示层上结束。

检索到的数据非常大。我们使用Base64作为用户的个人资料照片(实际上不是他的照片,而是一张照片)。我们根据检索到的数据生成饼图和数据表,并进行计算等。架构的目标是要足够灵活,以供任何可能的服务使用。因此,让一家公司想要使用我们的系统,其中包含宝贵的信息,它需要既安全又灵活。

我知道JSON在移动设备上真的很棒。我所做的研究告诉我,JSON最适合数据交换和移动应用程序。显然Twitter完全转向了JSON。但是我也在别人的博客上看到JSON在更大的数据处理上失去了性能。 Edward's blog

我已经可以说我们的系统将在平板电脑上被公司从其客户端获取大量数据。我的意思是说完成一个有100多个问题的表格,并且还要拍照和记录。

我们使用ASP.NET与C#

感谢您的帮助和含糊其辞抱歉,但我真的不能给有关项目本身的细节。我可以尽可能地回答问题。

更新对不起,我是这么多解释我的情况,我忘了说实际的问题。针对具有灵活性,移动使用和性能的大型系统,JSON和XML之间的最佳选择是什么?

+2

什么是问题? –

回答

1

以及我没有太多的数据来支持我答,但现在它会挑衅更好,如果你使用JSON,原因如下..
1.通常在服务器和客户端的开发者处理对象和有将任何语言的对象直接映射到json对象,而在你使用XML的时候,它更像序列化然后反序列化事物。
2.json消耗较少的内存(假设你传递消息的时候保存在内存中)。
3.在客户端解析json到对象比使用一些javascript库解析XML更快,更自动。
4.此外,曾经有足够经验的开发人员似乎没有区分JSON和XML结构的可读性。
终于从我自己的经验(从我所做的网站)JSON肯定比XML更快

+0

是否很难将函数从XML转换为JSON?如果你想让字符串包含在一个特定的节点中,那么你就像使用XML一样调用该节点的权利? – MrJinPengyou

+1

我认为你应该改变你的代码(如果你正在改变它)使用一个序列化器/反序列化器,这样你就可以将接收到的JSON直接转换为ac#对象,然后使用它作为你使用一个简单的c#对象,这将是简单。 –

0

绝对是json。总是。不,只是开个玩笑。这真的取决于你想要完成的事情。如果它只是尽可能有效地传输数据,谷歌协议缓冲区或bson,如果cpu时间无关紧要,请尝试gzipped xml(不是一个好主意,恕我直言;-)),如果您想保留所有数据传输的单一格式(包括javascript),去json,如果是关于调用远程功能的更多信息,请看windows通信基础。那里有很多选择,最有可能的是最好的选择是最少的开发工作。硬件很便宜。