tag:blogger.com,1999:blog-6817331.post7363548256315323483..comments2024-02-09T02:58:58.887-08:00Comments on Java Performance blog: BlazeDS does not make use of the HTTP caching infrastructureAnonymoushttp://www.blogger.com/profile/06348916709650836506noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-6817331.post-18125794100540617432010-11-09T09:17:07.140-08:002010-11-09T09:17:07.140-08:00So BlazeDS can't benefit for http caching. In ...So BlazeDS can't benefit for http caching. In one same app, why not use BlazeDS for requests where cache is not to be used and simple httprequest/xml for cachable data ?redbenhttps://www.blogger.com/profile/07715537162907767292noreply@blogger.comtag:blogger.com,1999:blog-6817331.post-28817929149557999022009-06-02T14:07:09.881-07:002009-06-02T14:07:09.881-07:00Hi Espen,
Yes push could somehow help, but it's o...Hi Espen, <br />Yes push could somehow help, but it's only really a workaround. It still would not benefit from HTTP proxies, it requires special server support to have acceptable resource consumption (Comet support). The server would also have to know whether the client is still interested in updates for the particuliar data.Anonymoushttps://www.blogger.com/profile/06348916709650836506noreply@blogger.comtag:blogger.com,1999:blog-6817331.post-61555005520060669832009-06-02T09:03:53.270-07:002009-06-02T09:03:53.270-07:00Hi Markus,
With Blaze, the way to avoid those iss...Hi Markus,<br /><br />With Blaze, the way to avoid those issues you're discussing here, would in my opinion be to use a state of the world call on startup of the flex application to retrieve the initial data, and then rely on Blaze's push service to update the data when it's stale. This way, the server can determine when the data needs to be updated, and the client only have to worry about the Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6817331.post-39268191898892757912009-02-10T00:36:00.000-08:002009-02-10T00:36:00.000-08:00Hi Brian,Thanks for your comment!I don't have to c...Hi Brian,<BR/>Thanks for your comment!<BR/>I don't have to cache that much to be able scale better. For example (I'm making this up) If your application server can handle 100 requests per second, which would be enough to handle 1000 users and you can save 2 out of 10 requests, assuming that all requests cost the same and you don't run into other limitations you could handle 1250 users. <BR/>Anonymoushttps://www.blogger.com/profile/06348916709650836506noreply@blogger.comtag:blogger.com,1999:blog-6817331.post-59950990575616758112009-02-09T18:56:00.000-08:002009-02-09T18:56:00.000-08:00You have a valid argument that Blaze won't HTTP ca...You have a valid argument that Blaze won't HTTP caching. However:<BR/>1. How much data can you possibly be wanting to cache on the client that Blaze won't scale? You have to be using a lot!<BR/>2. Using a shared object is about 3 lines of code. <BR/>3. In the mx:RemoteObject tag you can specify a custom url. If you call a custom servlet you can probably configure it to cache via HTTPAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6817331.post-25842676280723056492008-08-28T05:29:00.000-07:002008-08-28T05:29:00.000-07:00Hi Ariel,To all others: Sorry the comment form sto...Hi Ariel,<BR/>To all others: <BR/>Sorry the comment form stopped working (at least for me). I changed it to use a popup window, which works for me. <BR/><BR/>@Ariel Thanks for the detailed explanation!<BR/>Yes I know that there are workarounds to this problem. <BR/>These workarounds might be acceptable for some applications and not acceptable for other applications. <BR/><BR/>Still IMHO the Anonymoushttps://www.blogger.com/profile/06348916709650836506noreply@blogger.comtag:blogger.com,1999:blog-6817331.post-76224801265821561162008-08-27T10:15:00.000-07:002008-08-27T10:15:00.000-07:00I'm running on the same kind of "trouble". In my c...I'm running on the same kind of "trouble". In my case I'm using AMFPHP instead of BlazeDS but for the purpouse is the same... as long as the "method call parameters" go by POST your browser won't cache the response.<BR/><BR/>So the "solution" is simple: If your application is well divided you will have some sort of Model package where you will store responses from the queries to the backend; as Ariel Scarpinellihttps://www.blogger.com/profile/04689689948125634936noreply@blogger.comtag:blogger.com,1999:blog-6817331.post-56823901668566881922008-08-21T09:37:00.000-07:002008-08-21T09:37:00.000-07:00Hi Tristan,1. Flex does use the browser cache as l...Hi Tristan,<BR/>1. Flex does use the browser cache as long as you directly send HTTPRequest. So you can build a Flex Application against a REST-style webservice and caching will still work. <BR/><BR/>2. Caching is not an all or nothing solution. <BR/>You usually cache for a given amount of time. <BR/>You say "if your app doesn't have the brains to determine if it already has the data". Of course Anonymoushttps://www.blogger.com/profile/06348916709650836506noreply@blogger.comtag:blogger.com,1999:blog-6817331.post-72351716745090999122008-08-21T08:51:00.000-07:002008-08-21T08:51:00.000-07:00My point is that if you need http caching your app...My point is that if you need http caching your application is horibly broken.<BR/><BR/>Flex/flash, or even java applets, do not use the traditional browser cache, so storing data there (http cache) is of no use. if you need to persist data across sessions then the best use would be AIR's SQLlite db.<BR/><BR/>If you have a datafile that you think should be cached at a http level, ie at the isp forAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6817331.post-32443531986266674842008-08-21T00:06:00.000-07:002008-08-21T00:06:00.000-07:00Hi tristan,My point is not how the server would ca...Hi tristan,<BR/>My point is not how the server would cache the data, but that because the server knows that the data is not going to change until the next day (for example), it can tell the client when sending the data, that this data is not going to change and therefore the client doesn't need to ask(until the next day). <BR/><BR/>I know that it is supposed to be RPC, but I don't get why it Anonymoushttps://www.blogger.com/profile/06348916709650836506noreply@blogger.comtag:blogger.com,1999:blog-6817331.post-78816068409987427282008-08-20T12:08:00.000-07:002008-08-20T12:08:00.000-07:00i dont think you understand.if your server knows t...i dont think you understand.<BR/><BR/>if your server knows the data will only be updated once per day then it can create a static file that it recreates when it is outdated, and apache/iis can deal with caching it, or you can create a cache using AOP in your bean. Or you can add a little intelligence to your flash app, since it, and not the browser will be asking for the data.<BR/><BR/>This is Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6817331.post-7999747291156029752008-08-20T00:48:00.000-07:002008-08-20T00:48:00.000-07:00Check my new post for answers to your comments: ht...Check my new post for answers to your comments: <BR/><BR/>http://kohlerm.blogspot.com/2008/08/blazeds-does-not-make-use-of-http.htmlAnonymoushttps://www.blogger.com/profile/06348916709650836506noreply@blogger.com