Archive for August, 2006

AJAX frameworks

As I posted the basics of AJAX yesterday, immediately I wanted to checkout the list of available frameworks for AJAX. Whoa, the below links will show you different frameworks available.

And of course Rails already comes built with Ajax capabilities and you can do wonders out of the box without looking for any frameworks.

Blink this AJAX frameworks at blinklist.com    Bookmark AJAX frameworks at blogmarks    Bookmark AJAX frameworks at del.icio.us    Digg AJAX frameworks at Digg.com    Fark AJAX frameworks at Fark.com    Bookmark AJAX frameworks at Furl.net    Bookmark AJAX frameworks at NewsVine    Bookmark AJAX frameworks at reddit.com    Bookmark AJAX frameworks at Simpy.com    Bookmark AJAX frameworks at Spurl.net    Bookmark AJAX frameworks with wists    Bookmark AJAX frameworks at YahooMyWeb

Comments      Cosmos

AJAX basics

I have friends who keep asking me to give some sample code to start with AJAX.  For better reasons there are many frameworks that hide a lot of how AJAX is being done these days and can really ease your way into creating an Ajax application.  But it is worth understanding some basics first and then everything is the same irrespective of what technology or framework is helping you behind.  I was looking for something on AJAX and I hit this article “Implementing simple AJAX..” in JavaReference.com.  This will be a kick start if you are new to AJAX and if you know a little bit of Servlets and JSPs.

Blink this AJAX basics at blinklist.com    Bookmark AJAX basics at blogmarks    Bookmark AJAX basics at del.icio.us    Digg AJAX basics at Digg.com    Fark AJAX basics at Fark.com    Bookmark AJAX basics at Furl.net    Bookmark AJAX basics at NewsVine    Bookmark AJAX basics at reddit.com    Bookmark AJAX basics at Simpy.com    Bookmark AJAX basics at Spurl.net    Bookmark AJAX basics with wists    Bookmark AJAX basics at YahooMyWeb

Comments      Cosmos

Collective code ownership

The common practice during coding is the developers pick up their own modules, create their own programs and kind of claim ownership to that code.  Meaning when there is an issue during integration and the problem has been identified that it is due to a logic error in code written by Developer A, and then the usual practice is developer A needs to be there to fix it.  Another point in normal case of development is, developers stick on to their code, meaning they do not look at anyone else’s code and take ownership in refining it or correcting any mistakes if there are any. Hence within the development team if developers work in silo then it creates more integration issues and end up in developers pointing fingers at each other for mistakes.

In a collective code ownership environment all the developers take ownership of the entire code.  There is no defined rule as only developer A should work on or fix a particular program.  All the developers keep a watch on all the programs, go through each and every program and have an understanding of what it does. And at any point of time any developer could correct or refine a code written by any other developer.  And if code version control system is in place, it would anyway keep track of a version modified by each developer.  Collective code ownership is a feature of XP (Extreme Programming) where there is no disparate teams, but a “whole team” for the project.

Blink this Collective code ownership at blinklist.com    Bookmark Collective code ownership at blogmarks    Bookmark Collective code ownership at del.icio.us    Digg Collective code ownership at Digg.com    Fark Collective code ownership at Fark.com    Bookmark Collective code ownership at Furl.net    Bookmark Collective code ownership at NewsVine    Bookmark Collective code ownership at reddit.com    Bookmark Collective code ownership at Simpy.com    Bookmark Collective code ownership at Spurl.net    Bookmark Collective code ownership with wists    Bookmark Collective code ownership at YahooMyWeb

Comments      Cosmos

AppFuse - Kick start your application development

Getting your J2EE application quickly up and running is a challenge particularly when you are using a variety of open source frameworks, configuring it and structuring your application and integrating them all together and making it work might take a while till your developers are comfortable to start really working on the problem. AppFuse is an open source tool that can kick start your J2EE development. Similar to how you create a rails application with a command, creating a J2EE application that Struts+Hibernate+Spring with AppFuse involves executing few ant scripts.

AppFuseAppFuse is an application for “kickstarting” webapp development. Download, extract and execute ant new to instantly be up and running with a Struts+Spring+Hibernate app running on Tomcat/MySQL app. Uses Ant, XDoclet, Spring, Hibernate (or iBATIS), JUnit, jMock, StrutsTestCase, Canoo’s WebTest, Struts Menu, Display Tag Library, OSCache, JSTL and Struts (Spring MVC, WebWork, Tapestry and JSF are also options). To learn more about AppFuse, its history, goals and future, checkout AppFuse: Start Your J2EE Web Apps on java.net. You can also watch this video, which shows you how to create a project with AppFuse - as well as gives you a tour of its out-of-the-box features.

Blink this AppFuse - Kick start your application development at blinklist.com    Bookmark AppFuse - Kick start your application development at blogmarks    Bookmark AppFuse - Kick start your application development at del.icio.us    Digg AppFuse - Kick start your application development at Digg.com    Fark AppFuse - Kick start your application development at Fark.com    Bookmark AppFuse - Kick start your application development at Furl.net    Bookmark AppFuse - Kick start your application development at NewsVine    Bookmark AppFuse - Kick start your application development at reddit.com    Bookmark AppFuse - Kick start your application development at Simpy.com    Bookmark AppFuse - Kick start your application development at Spurl.net    Bookmark AppFuse - Kick start your application development with wists    Bookmark AppFuse - Kick start your application development at YahooMyWeb

Comments      Cosmos

SQL Injection movie

I have already talked about SQL Injection and Cross Site Scripting.  Here is a movie that demonstrates SQL injection in action.

Happy weekend

Blink this SQL Injection movie at blinklist.com    Bookmark SQL Injection movie at blogmarks    Bookmark SQL Injection movie at del.icio.us    Digg SQL Injection movie at Digg.com    Fark SQL Injection movie at Fark.com    Bookmark SQL Injection movie at Furl.net    Bookmark SQL Injection movie at NewsVine    Bookmark SQL Injection movie at reddit.com    Bookmark SQL Injection movie at Simpy.com    Bookmark SQL Injection movie at Spurl.net    Bookmark SQL Injection movie with wists    Bookmark SQL Injection movie at YahooMyWeb

Comments      Cosmos

Code Coverage

Code Coverage is a process which determines the level of testing that has been performed on a program. While you can get more information on code coverage from wikipedia, manually doing code coverage is going to be a tedious process and you need someone specifically for it to really look at all the programs the developers have done. At the same time code coverage is important to identify how much of testing is done on a code and how much can actually be covered during unit testing.

We know that unit testing is very important as it uncovers lot of issues prior to the application going to QA. A vigorously tested application at the development end means a lot of challenge to the QA team to really break the system. If the QA team is challenged they are forced to think beyond what it takes to really bring up a bug. This means you are covering all sorts of possibilities that will break the system and solve it. Ultimately the point is each and every project should have code coverage done.

Of course not 100% of the code can be unit tested. Come on how can you unit test this line in your code “}” :) . So there should be an acceptable percentage set that the unit tests should cover. Given that, code coverage will make more sense in terms of time if there is a tool that could it. There are tools that will help in doing code coverage. Each and every technology has a flavor of code coverage tools which you can google search and get. The highlight would be if you can automate this code coverage so that you can view the report every day and make sure the developers cover unit tests properly. Cobertura is one tool that can analyze the JUnit tests written and if your application build/release is automated through Maven, the maven cobertura plugin can help generate the code coverage results as and when a build happens (or you could schedule report generation at a separate time say every midnight since it takes some take than the normal build).

Blink this Code Coverage at blinklist.com    Bookmark Code Coverage at blogmarks    Bookmark Code Coverage at del.icio.us    Digg Code Coverage at Digg.com    Fark Code Coverage at Fark.com    Bookmark Code Coverage at Furl.net    Bookmark Code Coverage at NewsVine    Bookmark Code Coverage at reddit.com    Bookmark Code Coverage at Simpy.com    Bookmark Code Coverage at Spurl.net    Bookmark Code Coverage with wists    Bookmark Code Coverage at YahooMyWeb

Comments (1)      Cosmos

Job Scheduler

Suppose your web application needs to run something on a periodical basis. Say for example every day at midnight you want to send a quote to all your subscribers. So you need a scheduler that can trigger off a process which will call appropriate action in your application that will get a quote from the database, get the list of subscriber’s mail id and send out a mail to each subscriber. This scheduler is the key to make sure that a specific action gets triggered in your application at a scheduled time. The following are the job scheduling frameworks available for different technologies.

“Quartz is a full-featured, open source job scheduling system that can be integrated with, or used along side virtually any J2EE or J2SE application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components or EJBs. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.

Quartz is freely usable, licensed under the Apache 2.0 license.”

“Schedule and run server-side tasks from your ASP.NET applications. PortSight Task Scheduler is a component for ASP.NET applications that can be used for scheduling an immediate or recurring execution of server-side tasks. Since the tasks are executed on the server, they can run asynchronously and under a privileged account. It allows you to execute long-running and resource intensive tasks. You can also serialize your tasks to avoid concurrent access to shared resources and possible locks, which makes your applications more robust and available”

PortSight is commercial but is available for trial.

“RailsCron is a way to execute background tasks using your Ruby on Rails environment. The RailsCron object is an ActiveRecord, so you can manipulate it in familiar ways”

Also a ruby program can be written to run as cron job. The book “Enterprise integration with Ruby” has some insights on creating services and daemons.

Blink this Job Scheduler at blinklist.com    Bookmark Job Scheduler at blogmarks    Bookmark Job Scheduler at del.icio.us    Digg Job Scheduler at Digg.com    Fark Job Scheduler at Fark.com    Bookmark Job Scheduler at Furl.net    Bookmark Job Scheduler at NewsVine    Bookmark Job Scheduler at reddit.com    Bookmark Job Scheduler at Simpy.com    Bookmark Job Scheduler at Spurl.net    Bookmark Job Scheduler with wists    Bookmark Job Scheduler at YahooMyWeb

Comments      Cosmos

Almost Plain Text

In web applications where you want to provide an option to the users to enter text and want to display the entered text in the form of an HTML, then the user should have some understanding of HTML. Then he/she has to embed the text along with HTML tags and you just bring back whatever he/she entered.  Now there are two major disadvantages with this approach. One the user must know HTML and the second any malformed HTML is going to spoil the entire page. A quick alternative would be to use some simple markup languages and then convert them into appropriate format.  One of them is Almost Plain Text (APT).  The aptconvert tool is a command line tool available for windows and UNIX that can help convert apt text files to formats like HTML, PDF etc.  Maven extensively uses APT to generate site as well as help creating user manuals in the form of PDF.  Refer this APT format description page Maven web site.  Doxia is a content generation framework part of Maven that can parse, convert and render an APT document into other formats.

Read through my series of posts on “Mavenizing your project“.

Blink this Almost Plain Text at blinklist.com    Bookmark Almost Plain Text at blogmarks    Bookmark Almost Plain Text at del.icio.us    Digg Almost Plain Text at Digg.com    Fark Almost Plain Text at Fark.com    Bookmark Almost Plain Text at Furl.net    Bookmark Almost Plain Text at NewsVine    Bookmark Almost Plain Text at reddit.com    Bookmark Almost Plain Text at Simpy.com    Bookmark Almost Plain Text at Spurl.net    Bookmark Almost Plain Text with wists    Bookmark Almost Plain Text at YahooMyWeb

Comments      Cosmos

· « Previous entries

Creative Commons License  This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.