Archive for the 'GigaSpaces' Category
Web Client/Server
February 12th, 2010I’ve been working on a new project using GWT. Being the only developer of my team, I’ve started with prototyping the user interface interaction model and was looking for a framework that will help me go fast, without a need too change to many paradigms. As I’m building a SaaS product, it has to be web, so I was browsing for various alternatives for web development.
Basically, I had two options:
- Content Driven – create bunch of HTML documents for basic interaction and later enhance these with JavaScript (AJAX) for more dynamic feel
- Application Driven – build rich client application using modern development tools such as GWT or Flex and add server-side integration later.
I have taken the second approach and used GWT as I’m familiar with Java and Eclipse so the ramp up was fast enough.
I came about using principles from Test Driven Development (TDD). I used a TODO list to make sure I’m focused on a single specific task without thinking about infrastructure layers at all. I had to make sure I’m not looking at the big picture while doing the little things, as I wasn’t interested at all in optimization and long-term thinking. Coming from an architecture mind-set, I had to control my tendency to think about the system while doing UI coding.
My working methodology was something like:
Step 1: Create a screen using GWT and make sure it looks right
Step 2: Add client-side, mock data to fill the tables and grids I’m using just to make sure the interaction model is what I’m looking for
Step 3: Data is encapsulated into some kind of Data Provider abstraction that is still static and within the client, however it is not part of the view anymore
Step 4: Data is moved to the server and as the Data Provider is enhanced with data loading capabilities
Step 5: Server starts to create dynamic data based on real data sources and instead of dummy data sets
Through this exercise I learned something which wasn’t clear to me prior
- As client side development is much simpler than server side interaction between the various tier, I was able to move extremely fast in building the right interaction model for the client application
- The architecture that has evolved from this approach is of modern two-tiers approach, similar the the old client/server model but in internet age. Most of the functionality is being done within the client where as the serer serves as a data provider. Coming to think of it, this is a huge opportunity for web driven database which support web protocols – HTTP, REST and query capabilities.
It simply struck me. I don’t consider myself the fastest developer, I’ve been privileged to manage some of the top talent out there, so I know where I stand. Still, the opportunity RIA, web enabled middleware services and the cloud presents something unseen before, as we are finally getting to the right level of abstraction in building internet applications.
From my perspective, the days of page-driven web development for applications, and super-complex packages such as JEE with tiered MVC are long gone. Although I’m telling a known secret here, those who are going to leverage fast cloud enablement technologies will gain tremendous advantage of those who don’t.
The Missing Piece in the Virtualization Stack (Part 1)
January 18th, 2010This and the next post will discuss how virtualization and cloud computing, as we know it today, is only a small part of the solution for today’s IT inefficiencies. While new technologies and delivery models have made it much simpler…
Application Monitoring as a Service with New Relic and GigaSpaces
January 18th, 2010Application monitoring has become a core component of IT infrastructure. It gives you a view of what’s happening to your applications at the higher level. With this information, you can detect anomalies and prevent failure before it happens, analyze trends…
Moving into Production Checklist
December 26th, 2009You are about to complete your existing project , all the functionality is in place , all unit tests are passing , profiling done and there are no visible bottlenecks , benchmarks been executed and the system seems to scale and perform nicely: You (think you) are ready to move the system into production to [...]
The Common Principles Behind the NOSQL Alternatives
December 15th, 2009A few weeks ago, I wrote a post describing the drive behind the demand for a new form of database alternatives, often referred to as NOSQL. A few weeks ago during my Qcon presentation, I went through the patterns of…







