Web services FlexWebService存在巨大的性能问题

Web services FlexWebService存在巨大的性能问题,web-services,actionscript-3,apache-flex,weblogic,axis2,Web Services,Actionscript 3,Apache Flex,Weblogic,Axis2,我正在使用webservice从java应用程序中提取大量数据。数据的结构有点复杂,有很多使用数组集合的层次模式。我在加载数据时遇到了大约15秒的巨大性能问题(在jboss和WebSphere中)。花费的时间主要是在将服务数据转换为flex对象结构时。迁移到Weblogic应用程序服务器时,问题变得更严重。我使用的是axis2框架 有没有办法优化这个?我可以使用哪些替代技术来代替webserivces?恐怕您可能不喜欢我的答案,因为这将涉及大量重构。我想不出任何简单的解决办法 我可以使用哪些替代

我正在使用webservice从java应用程序中提取大量数据。数据的结构有点复杂,有很多使用数组集合的层次模式。我在加载数据时遇到了大约15秒的巨大性能问题(在jboss和WebSphere中)。花费的时间主要是在将服务数据转换为flex对象结构时。迁移到Weblogic应用程序服务器时,问题变得更严重。我使用的是axis2框架


有没有办法优化这个?我可以使用哪些替代技术来代替webserivces?

恐怕您可能不喜欢我的答案,因为这将涉及大量重构。我想不出任何简单的解决办法

我可以使用哪些替代技术来代替webserivces

通过使用远程处理而不是web服务,您将获得最佳性能。这里有一篇文章解释了它是什么,并包含了一个基准测试,它将向您展示这可以轻松地将响应时间减少一半:。该基准测试在服务器端使用.Net。它在Java服务器上工作得更好

有没有办法优化这个

您应该考虑将您传递给客户端的对象重构为“”(DTO)。这些是简单的值对象,仅包含客户端显示所需的数据。这意味着:将数据从服务器传输到客户端所花的时间更少,将对象转换为ActionScript类所花的时间也更少

如何限制所涉及的工作?


您可以在服务器端添加一个层,该层将调用现有的web服务,将复杂数据转换为简单的DTO,并通过AMF服务将其交付给客户端。这样,您就可以保持现有代码的完整性,并且仍然可以获得显著的性能提升。

谢谢。我喜欢最后一种方法。如果你能给我推荐一些使用AMF的例子,那将很有帮助。还要告诉我是否可以使用BlazeDS,或者如果您想进行AMF序列化,则必须使用BlazeDS(或者GraniteDS)。一些资源:。我不了解SpringFlex,因为我从未使用过它(因为我从未真正了解这样做的意义:您可以将Spring与BlazeDS结合使用;但我可能遗漏了一些东西)。