Archive

Archive for the ‘SDLC’ Category

Startup Software Company – Architecture

Problem Statement: Many times startup companies are approaching me to help them to architect their solutions.

Strengths:
1. Good concept with patents and copy rights
2. Experienced management and Marketing

Weakness:
1. Very low investment
2. Lack of technology.
3. No infrastructure.

They expect very fast faced development.
Rapid prototyping.

My suggestions are as follows.
1. Avoid infrastructure issues
Option 1: Go with Amazon
Option 2: Go with any available data centers
2. Use Ubuntu Linux for Development testing.
3. Concentrate on data storage, performance and integrity. (Data Architect / DBAs Work)
4. Keep back end as services. (Don’t build monolithic 500k lines of code and 100 jars)
Also provides easy integration with future UIs and other services.
5. Build UI separately and let it consume services.
6. Choose experienced Solution Architect to orchestrate the end to end solution.
7. Don’t tightly couple with any vendor (Amazon, …etc) specific API.
….I can’t write all hear….contact me for more information….

Web Application Hosting

http://d36cz9buwru1tt.cloudfront.net/architecturecenter/AWS_ac_ra_web_01.pdf
http://aws.amazon.com/architecture/

Option 1: We can move to Amazon and avoid buying all new hardware and internet bandwidth.

Option 2: Learn from Amazon on how they are serving 1000′s of customers without much issues.

Option 3: Planned data center costs must be competitive with Amzon pricing.
http://aws.amazon.com/ec2/#pricing

Monitoring
http://aws.amazon.com/cloudwatch/

Case Studies
http://aws.amazon.com/solutions/case-studies/

Not learning from others is not an excuse for our busy schedules.
We need to spend 10% of our time in research and future planning.
-o-

Holidex – System to learn and inspire next generation software

March 21, 2012 Leave a comment

http://pleasantfamilyshopping.blogspot.com/2011/09/holiday-inn-worlds-innkeeper_06.html

http://www.hotelnewsnow.com/Articles.aspx?ArticleId=7800&par1=s1WRFPeoeMUc6U3iPlpXFw==&par2=lBfQrf5q3DbzRU/GFnRdD8ManukpBLBm9qFYWZaj66lnh1ofbXC6IHxH7ECBb5/P

The following article is written in general. Nothing to do with Holidex.

Observations in Legacy systems and Present Systems:

+ Points:

1. Excellent documentation for Booking Agents, Users ..etc

2. 99.999 up time.

3. Capable to take more load

 

- Points:

1. Lack of documentation for developers.

2. Mixed business rules across different layers

3. In modern cloud computing, difficult to achieve 99.999 up time.

4. Difficult to deploy across continents.

5. Failed to maintain knowledge and Failed to retain staff who worked long time on systems.

6. Not cost effective

-o-

Categories: Software Architecture

Java – USB – Lights

November 30, 2011 Leave a comment

Problem Statement:

We need to display lights and play sounds for different activities in IT Departments.

Example: Specific production server went down. Or Build failed. Or Too much traffic on network, got email from xyz….etc

Solution 1:

DelCom Product: This comes with DLL and we need to write Java JNI.

http://www.delcomproducts.com/products_USBLMP.asp

Solution 2:

Arduino Micro Controller

http://joe.blog.freemansoft.com/2011/04/extreme-feedback-aka-status-lights-das.html

http://arduino.cc/en/

http://cweiske.de/tagebuch/usblamp-monitoring.htm

Writing simple USB Driver: http://www.linuxjournal.com/article/7353

Hudson Build Lights: http://www.rallydev.com/engblog/tag/indicator-lights/

-o-

Categories: Hardware, Hudson, JAVA

SVN Merge

July 15, 2011 Leave a comment

Reference: http://www.orcaware.com/svn/wiki/Svnmerge.py

>svn checkout http://asdf.com/svn/project/branches/release_1.0

>svn update

——————-

>set path=%path%;C:\Program Files\svnmerge\;
>svnmerge avail
40253,40276-40234,40233,40210

>svnmerge avail –log

>svnmerge merge -r40253,40276-40234,40233,40210

>svn commit -F svnmerge-commit-message.txt

Categories: SVN

Architecture – Wattle and Daub House Vs Software

June 4, 2011 1 comment

Today visited “Etowah’s Wattle & Daub House”.  It is very impressive. You can see complete information here http://www.gastateparks.org/item/160828 . This is very common practice in India too. My grand parents had this type of houses. What I liked in it is …

1. Easy to construct.
2. All earthly materials.
3. Low Costs.
4. Local Jobs.
5. Own Ideas.
6. They can’t over build, when they dont need it. Because it is their own labor.
7. Easy to incorporate their needs into construction. I remembered attics, hen house, lamp posts, …etc incorporated into house.
8. No landfills after demolition.
9. Reacts nicely to local temperatures.
10. Simplicity

Moral of the story: Incorporate similar principles in Software too.
1. Simplicity
2. Less Costs
3. Dont build for 100 years, when you want to stay for 30 years. This reduces cost.

-o-

Look at this video. How easy / affordable to people to build.

http://calearth.org/

-o-

Micro House

http://www.micromedia.li/microhouse/index.php

-o-
Earthship House using Tyres
http://www.earthship.net/

-o-
Natural alternative building

http://www.kleiwerks.org/
-o-
Did you ever thought, we can build house just with Sand alone?
http://www.earthbagbuilding.com

See more interesting videos at
http://www.earthbagbuilding.com/videos/worldvideos.htm
-o-

What are the best practices for Java development team?

March 18, 2011 2 comments

At individual level
In Eclipse IDE use following files and share with team to maintain consistency.

PMD-rules-eclipse.xml
Eclipse-Clean-Config.xml
Eclipse-Code-Formatter.xml
Eclipse-Code-Template.xml
Eclipse-Import-Order.importorder

TestNG Test Cases
Emma plug in to check code coverage
Tie the memory and performance numbers to test cases

At team level
What happens in Hudson?
Configure following in Hudson, so that it is easy to check after each build.

Code Coverage Report
Open Tasks Report
PMD Report
Surefire Test Report

At organizational level
How to compare different projects / modules in organization?
Use SONAR and use maven plug in to push the data to Sonar server.

Code Coverage
Comments
Complexity
Lines of Code
PMD
Test Success

References:
http://java.net/projects/hudson/
http://www.sonarsource.org/
http://pmd.sourceforge.net/
http://emma.sourceforge.net/

Source Code Repository …Moving from SVN to GIT….

March 9, 2011 Leave a comment

Is it the time to move from SVN to GIT?

Check this links
https://git.wiki.kernel.org/index.php/GitSvnComparison
http://git-scm.com/
http://www.codebasehq.com/

One drawback I observed in GIT:
Generally people can steal source code, with GIT they can steal code along with version history.   :  (

Categories: GIT, SVN

Software Testing – SDLC

March 1, 2011 Leave a comment

This is at abstract level. We need to fine tune this for each project.

Those who miss proper testing, will see stars in production.

What went wrong in many projects I had seen?

1. Business team is giving performance numbers at the end of the project.

2. Managers are pushing to achieve functionality first to show case to business by ignoring performance numbers.

3. Not measuring memory, CPU usage during performance testing. Not doing performance testing all together.

4. Setting new performance goals at the end of the project.

5. Not having any performance tracking code plugged in or written. (Every body want to measure at the end…how?)

6. Not spending adequate time on performance testing. Many people do 1 hour or 6 hour. Supposed to simulate production environment for more than two weeks.

 

Many time production systems will fail after deploying new code with in hours to first two weeks.

Because the missed parallel production steps.

If you have any more questions, please let me know.

Thank you,
Bhavani P Polimetla

mvn build error: Could not get SVN revision

February 3, 2011 Leave a comment

>mvn install
is causing following error

[info] svn: ‘c:\path\folder’ is not a working copy
[INFO] ————————————————————————
[ERROR] BUILD ERROR
[INFO] ————————————————————————
[INFO] Could not get SVN revision

Embedded error: svn: ‘c:\path\folder’ is not a working copy
[INFO] ————————————————————————
[INFO] For more information, run Maven with the -e switch
[INFO] ————————————————————————

Solution:
Check with team and use the correct version of TortoiseSVN.
Or the version user is using must be in sync with server version.

Check 1: Make sure that system dont have svn available with other versions.
First of all, subversion client is not required in windows if using Tortoisesvn
-o-

Categories: SVN Tags:

Hudson Setup

October 14, 2010 Leave a comment

I would like to write about Hudson Setup http://wiki.hudson-ci.org.

Option 1: Decided to go with >java -jar hudson.war
It is not performing as expected. So did the following steps.

Setup Maven manually and provide following information.

starthudson.sh file looks like this. Fill with correct information

export MAVEN_HOME=$HOME/apache-maven-2.2.1
export PATH=$MAVEN_HOME/bin:$PATH

export JAVA_HOME=/apps/java1.5/
export PATH=$JAVA_HOME/bin:$PATH

export HUDSON_HOME=$HOME/hudson/.hudson

nohup java -jar hudson.war –httpPort=23455 –ajp13Port=23456 &

Manually setup .m2 folder. I.e copy content from local system to linux system.

Now Hudson is up and running.

Step 2: Enable the security. Same document given how to disable security too.

http://wiki.hudson-ci.org/display/HUDSON/Standard+Security+Setup

List of Hudson plugins are available at http://wiki.hudson-ci.org/display/HUDSON/Plugins

-o-

Follow

Get every new post delivered to your Inbox.