Loading... Cancel

AsyncServlet (JSR-315) proposed by Greg R

July 28th, 2007

Ajax based application is growing too fast, many frequent requests have to handle by application servers. this overhead is really one of the big concern to maintain ajax based application.

more over reading the instance reply is one of the biggest challenge. as all requests are asychronizely processed, so ajax based application send request to application server more frequent that it actually needs.

the good example can be a chat application or a system where we have frequent request to sync with our messaging or notification service.

thats what greg pointed to the JSR 315 proposal. if you already have heard about continuation i belief you have find some use case for using on your own ajax application.

the basic process in continuation is to send delay response. for example -

i had a ajax request, which is intended for receiving a bunch of incoming message from my application server. so my request won’t get disconnected unless they really have some data to notify me. in between this time my request thread will be in suspended mode. obviously you can apply certain timeout period.

following diagram show how a request cycle works -

http_contd_1.gif

the following part shows the event model, which is used to wake up suspended request before it becomes dead and time out request.

http_contd_2.gif

best wishes,

Content Management System (CMS) R

January 28th, 2007

today, i got a request to explain about Content management system and how it suppose to be developed. here i am putting my cms architectural thoughts over an Graphical presentation. i hope it will be easier to understand. (more will come on next blog)
How a Content Management System architecture should look like:

cms_arch.jpg Overall architecture

1. Presentation layer:
presentation layer is consists with HTML, WML, XML, PDF or Multimedia object representation. if you say about Java. i would love to use “JSP, Velocity or Ruby” type scripting language. which has less access on core API or database access layer.
2. API:
API is main area to focus for the time being, on my next article, i will come up with more stuffs on integration or joint point. API is a complete bridge among presentation, web services and plugin integration. API has to maintain a series of stuffs.like: framework, repository and version of contents, LDAP and Database stuffs.

3. Framework:
Framework is the way to hook or tie up all stuff together. this part is consisting with Class/Interface and application container. most often DI and IoC container could be used over here, where managed objects are created and destroyed inside the container. this is for concrete Implementation on language dependent framework.

I would love to say about Spring Framework for managing all class and interface and aspects related stuffs.

this part of framework is highly scalable, tuned and tightly coupled with distributed object caching, DSO and persistence layer. this part has to support clustering and other performance and loading balancing related stuffs.

4. Repository/Version (VFS):
Repository is meant to be a process of storing content and their changes in a several versions. Repository is maintained over a Database or filesystem.

some content like Multimedia object which is better to be stored in local file system. repository and version system will ensure those object to be stored with their every change logs.

5. LDAP/Database:
For authentication and authorization purpose LDAP server can be used. it is good for isolating user related stuff. single ldap server can be used for multiple enterprise purpose. it is better practice to keep user out of the application specific storage.

6. Database:
any relational database can be used to store and retrieve contents. local file system will be used to store media type objects. (for example: image, video, audio etc…)
7-8. Web services:
To simplify all stuffs and tie them all under a same hood. web service is meant to be a good choice. it will provide various services over HTTP protocol. RESTful services with various content type. for example: JSON, XML or Plain textual. it is good choice to become more on web 2.0 and more on upcoming WEB 3.0 with lot of sharing with 3rd party buddies.

9-10. Joint point or Plugin:
this part is coming with a simple wrapper of API, which is intended to provide an abstract platform for Plugin and 3rd party developer. those who want to meet or add on their requirement on top of Content Management System, this part has to be developed.

best regards,
-hasan
“Fly without wings”