Thursday, September 24, 2009

Jboss Tips & Tricks.





1.Do you know how to see all the nodes/servers in your cluster in one console ?
After you have start the servers and enabled cluster, go to the following link to manage all the servers in the cluster in once console - http://:8080/jmx-console/cluster/

2.Do you know what HASingleton means ?
If you want a particular business case to be executed once only once across the cluster, if one node picks up the task the other shouldn't be, use HA sinlgeton.

3. How do i load my .war without context path in jboss, like http://localhost:8080?
Delete ROOT.war and deploy your war in that location.

4.What is Farming?
In a cluster you no more have to deploy in each and every node, anything *.war, *.ear dropped in this folder is automatically pushed/deployed in the other nodes in the cluster. How cool it is :)

5.Do you see problem during runtime/hot deployment in jboss?
Use move instead of copy to copy your deployment archival, as copy cheats the deployment scanner and make it read premature and fail the deployment process.

6.How do i deploy my *.war,*.ear file before the deploying another serivice ?
Jboss supports deployment by sort order or explicit ordering to do this all you need to do is enable the commented section deployment scanner in the jboss-service.xml

7.How do you make your web application clustered?
Add in web.xml to make it clustered.

8.How to configure HTTP session replication ?
HTTP Session Replication can be controlled by jboss-service.xml in tomcat SAR's meta-inf.

Saturday, September 12, 2009

Selenium - Functional Test Automation.




Key Selenium benefits on a glance,
1. Platform independent test scripts (OS Supported).
2. Browser independent test scripts (Browser Supported).
3. Language independent test script (Language Supported)
4. Natural Support for AJAX driven applications, which very few tools provide.
5. Tools around it, interesting was Bromine(Web Based Test tool for selenium, natural integration).
6. Very active community (Wiki, Jira and releases).
7. Good list of committers & supporters.

Reference
http://seleniumhq.org/

Tuesday, September 08, 2009

Test Driven Scaffolding: a new agile method





Test Driven Scaffolding : a new agile method, was a hot topic of discussion in theserverside.com last week. Very interesting thinking process by James Perry (software solutions inspired by nature) "code generation from Test cases". James has shown few examples using GWT to build a web based application from a set of testcases. First impression was "WOW' and got curious about the topic itself,

As far as my reasoning goes,
1. Feasibility of the approach of generating full blown source code production quality from a test case itself.
2. Do we have enough test case in first place to cover up every single possible business scenarios (it could become tedious like java script validation etc.).
3. Do we have enough information first place in the test case to come up with a source code. Say, I would have asserted an outcome from a method which could be hitting database, file system etc to get the data.
4. Looks like language like 'prolog' works with this approach, will this fit into java?

Conclusion: If we are advocating for test drive development(TDD), we should definitely have some thing like this which can ease the development process itself and not just be a test case. It is obvious we need more information than the test case itself to generate the code, I am keeping figures crossed to see the progress in this paradigm shift....

Reference,
http://www.theserverside.com

Sunday, September 06, 2009

Apache Hadoop!




Interesting name isn't it? The goals it accomplishes is as interesting as it's name. Heard of Map reduce, Big table, Casandra, parallel processing, high performance and grid computing, hadoop supports most of it.

Let's understand the terminologies,

MapReduce is a framework for computing certain kinds of distributable problems using a large number of computers (nodes), collectively referred to as a cluster. Computational processing can occur on data stored either in a filesystem or within a database.

BigTable is a, compressed high performance, and proprietary file system built on Google File System (GFS), Chubby Lock Service, and a few other Google programs; it is currently not distributed or used outside of Google, although Google offers access to it as part of their Google App Engine.

Cassandra is an open source distributed database management system. It was initially developed by Facebook for storing very large amounts of data.

Hoping you get the context...

The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing. Hadoop includes these subprojects,

  • Hadoop Common: The common utilities that support the other Hadoop subprojects.
  • Avro: A data serialization system that provides dynamic integration with scripting languages.
  • Chukwa: A data collection system for managing large distributed systems.
  • HBase: A scalable, distributed database that supports structured data storage for large tables.
  • HDFS: A distributed file system that provides high throughput access to application data.
  • Hive: A data warehouse infrastructure that provides data summarization and ad hoc querying.
  • MapReduce: A software framework for distributed processing of large data sets on compute clusters.
  • Pig: A high-level data-flow language and execution framework for parallel computation.
  • ZooKeeper: A high-performance coordination service for distributed applications.
Excited about the project, want to try developing a reasonable business case for a tech works...

Reference,
Wikipedia
Hadoop
QuickStart