A methodology for developing scientific software applications in science gateways: towards the easy accessibility and availability of scientific applications