Luke Rajlich

[Software] Solving the connectivity issues of web applications

May 5, 2006 · Leave a Comment

I have issues with this article. A little background: A major limitation to acceptance of web applications is that you need a connection to the server hosting the web application in order to use it. There are situations, ie, when traveling, where you would want to use some application but wouldn’t have an internet connection. A web application is useless in these scenarios. The author proposes that a java based database will be the key link that will solve this connectivity problem. The article is really overhyping an unproven but interesting technology.

a) The described solution results is a “thin client”. To be technical, an application cannot operate as a thin client if the client does all the work on its own. The author makes an assumption that if it runs in a browser it’s a thin client. Thin client means access to a service is independent of where it’s used. Example: I can use GMail from my computer at work and computer at home and have the same experience, same email, etc. Inherently, a thin client does not allow for disconnected service access. This is in fact a mix of thin and thick client. The client acts as a thin client when it can and when it can’t it acts in a standalone fashion. Mixed thin / thick client is doable and valuable…

b) DB is overkill for the problem. Even if it’s lightweight. The data that would potentially need to be persisted would be rather minimal and the schemas would be per application specific. You don’t need to throw the generality of relational databases at this problem.

c) this solution is no better for solving the problem than existing solutions. Saving the data, formatted as xml, to the filesystem could do the trick. If saving to the filesystem is not possible, write a cookie. This is simpler and lighter-weight and does not require additional middleware.

d) Author does not recognize the bigger issue of re-synchronizing the data once the client is reconnected. This is not a data storage problem but a distributed system partitioning problem. I would expect middleware aimed at enabling disconnected services access to address this issue.

I think mixed thick-thin client is interesting and potentially valuable, however, I don’t think JavaDB specifically will do much for a web application developer. The better solution would be to have a “workoffline” state by which the web application will download it’s functionality locally to the computer. Then the client could operate independently of its connectivity to the service. State changes would be persisted via cookies. Then when the user gets connectivity again, the service would read the cookies to synchronize those changes.

Categories: Uncategorized

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment