<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24590849</id><updated>2012-02-05T22:46:29.077+05:30</updated><category term='open group conference proceedings_bangalore'/><title type='text'>My Stuff</title><subtitle type='html'>Views on software development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24590849.post-5561262140059505477</id><published>2011-07-15T14:21:00.000+05:30</published><updated>2011-07-15T14:21:45.907+05:30</updated><title type='text'>JSF Life Cycle explained</title><content type='html'>Following diagram briefly explains &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-e2jjT0-kRgg/Th__i7U7TgI/AAAAAAAAAEw/uubqmdy5t84/s1600/jsf_LifeCycle.gif" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="320" width="306" src="http://4.bp.blogspot.com/-e2jjT0-kRgg/Th__i7U7TgI/AAAAAAAAAEw/uubqmdy5t84/s320/jsf_LifeCycle.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;the JSF life cycle&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-5561262140059505477?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/5561262140059505477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=5561262140059505477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5561262140059505477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5561262140059505477'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2011/07/jsf-life-cycle-explained.html' title='JSF Life Cycle explained'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-e2jjT0-kRgg/Th__i7U7TgI/AAAAAAAAAEw/uubqmdy5t84/s72-c/jsf_LifeCycle.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-8902055954303072151</id><published>2011-06-25T14:45:00.000+05:30</published><updated>2011-06-25T14:45:46.642+05:30</updated><title type='text'>Can Big Upfront Architecture Document will be beneficial for the team</title><content type='html'>At times big upfront architecture document say about more than 50 pages document may not grab the attention of developers/other concerned parties. So we architects should be aware of creating architecture documents which are short and to the point. There is no point in creating big documents which no body interested in to know/refer. In my opinion, the architecture document shall be&lt;br /&gt;1) Shall be simple and shall contain key architecture decisions. In my opinion with few UML diagrams and brief description should solve the purpose.&lt;br /&gt;2) Update the document only if deemed to be necessary/otherwise don't update&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-8902055954303072151?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/8902055954303072151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=8902055954303072151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8902055954303072151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8902055954303072151'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2011/06/can-big-upfront-architecture-document.html' title='Can Big Upfront Architecture Document will be beneficial for the team'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-700795450110473287</id><published>2010-12-12T20:26:00.000+05:30</published><updated>2010-12-12T20:26:45.559+05:30</updated><title type='text'>My Reading List</title><content type='html'>This is the live content I will be using as my reading list.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Technical&lt;/b&gt;&lt;br /&gt;- Software Craftmanship - Currently reading&lt;br /&gt;- The Design Patterns Small Talk Companion - Under progress&lt;br /&gt;- Expert One on One - J2EE without EJB - Finished&lt;br /&gt;- Agile and Iterative Development  - Finished&lt;br /&gt;- TOGAF 9, Pocket Guide - Finished&lt;br /&gt;- Agile Project Mgmt with Scrum - Finished&lt;br /&gt;- Java Server Faces - Currently Reading&lt;br /&gt;- Applying UML and Patterns - Finished, but needs some revisits&lt;br /&gt;- Evolutionary Arch and Design - Currently Reading &lt;br /&gt;- Architecture Principles - Finished&lt;br /&gt;- Information Arch and User Experience - Currently exploring&lt;br /&gt;- Architecture Review (ATAM, SARA) - Currently Reading&lt;br /&gt;-  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Non-Technical&lt;/b&gt;&lt;br /&gt;The Toyata Way - Currently Reading&lt;br /&gt;Mega Living - Currently Reading&lt;br /&gt;Discover Dimond In You - Finished&lt;br /&gt;The World is Flat - Currently Reading&lt;br /&gt;The Malgudi Days - Currently Reading&lt;br /&gt;The Koutilya Arthasastra - Currently Reading&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-700795450110473287?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/700795450110473287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=700795450110473287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/700795450110473287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/700795450110473287'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/12/my-reading-list.html' title='My Reading List'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-7334059069989840047</id><published>2010-12-12T20:08:00.000+05:30</published><updated>2010-12-12T20:08:50.987+05:30</updated><title type='text'>Concrete skills</title><content type='html'>Each and every individual professional in the IT must have self analysis on some concrete skills. Here what I mean by concrete skills is nothing but deep understanding on the subject which can be easily appreciated and recieved by your collegues.In other words, these concrete skills demonstrates your authorative knowledge and experience on the subject. For example, following are few subjects which myself analysed on my professional life mostly reflects my day to day actvities.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mostly concrete&lt;/b&gt;&lt;br /&gt;Architecture, OOA/D, General Programming skills, Review, Agile engineering practices, Java/J2EE, build scripts, unit testing, Documentation, Presentations on different subjects, Leadership, Pre-sales etc.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;No so concrete&lt;/b&gt;&lt;br /&gt;Spring, JSF, Javascripts, CSS, HTML, SQL/PL-SQL, Installations, Debugging,&lt;br /&gt;network, protocols, User experience etc.&lt;br /&gt;&lt;br /&gt;This kind of analysis puts you to pritorize your free time towards reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-7334059069989840047?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/7334059069989840047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=7334059069989840047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7334059069989840047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7334059069989840047'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/12/concrete-skills.html' title='Concrete skills'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-6600220136358226239</id><published>2010-12-08T21:55:00.000+05:30</published><updated>2010-12-08T21:55:10.487+05:30</updated><title type='text'>Does architecture care about implementation?</title><content type='html'>Does really architecture care about implementation details ie. design realization and subsequent code development?&lt;br /&gt;&lt;br /&gt;In my opinion, hands-on experience atleast to ensure reference architecture will provide great value-add to entire architecture. Otherwise it will be the quiet abstract activity which may not be well recieved by development community.&lt;br /&gt;&lt;br /&gt;The reference architecture might contain:&lt;br /&gt;1) The implementaion view of the core components&lt;br /&gt;2) All application specific cross cutting concerns&lt;br /&gt;3) Vertical slice of the one use case to demonstrate the architecture realization; kind of Reference implementation for the specification&lt;br /&gt;4) Do's/Dont stuff on target technology stack; chosen one&lt;br /&gt;5) Application build&lt;br /&gt;6) Development best practices/process overview&lt;br /&gt;7) Unit test strategy (atleast development front)&lt;br /&gt;8) Major component/module interface specifications (if possible; generate &lt;br /&gt;javadocs)&lt;br /&gt;9) Usage of static analysers with in the build environment; it would be great if your tooling support best practices customization&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-6600220136358226239?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/6600220136358226239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=6600220136358226239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/6600220136358226239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/6600220136358226239'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/12/does-architecture-care-about.html' title='Does architecture care about implementation?'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-2212137247245278276</id><published>2010-12-08T21:42:00.000+05:30</published><updated>2010-12-08T21:42:35.777+05:30</updated><title type='text'>It is very easy to slip from abstraction to implementation</title><content type='html'>During architecture development, sometimes we feel that it is very easy to slip from conceptual/pure architectural thinking to our faviroute technology specific/implementation specific thoughts. In my opinion this is very natural process; but care must be taken to ensure that architecture purity should not influenced by our pet technical jargons.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-2212137247245278276?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/2212137247245278276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=2212137247245278276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2212137247245278276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2212137247245278276'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/12/it-is-very-easy-to-slip-from.html' title='It is very easy to slip from abstraction to implementation'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-6224763534817050694</id><published>2010-09-20T13:04:00.001+05:30</published><updated>2011-04-03T17:00:21.329+05:30</updated><title type='text'>How create message queue using Spring 2.5.x and Oracle Weblogic Server 11g</title><content type='html'>Last week I spent some time on configuring JMS Message Queue using Spring 2.5.4 and Oracle Weblogic Server 11g R2.&lt;br /&gt;&lt;br /&gt;Following are the step by step instructions to create queue.&lt;br /&gt;&lt;br /&gt;1) Log into http://localhost:7001/console, supply weblogic/weblogic (default)&lt;br /&gt;2) Create JMS Server using Oracle Weblogic Server. I used JDBC persistent store - MySQL based, to store the messages under db. &lt;br /&gt;3) Name your jms queue and factory and let these refer to your newly created jms server which points to JDBC persistent store.&lt;br /&gt;&lt;br /&gt;4) Now configure your spring jms file; which looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:jee="http://www.springframework.org/schema/jee" xmlns:jms="http://www.springframework.org/schema/jms" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd  http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-2.5.xsd"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"&gt;&lt;br /&gt;&lt;property name="connectionFactory" ref="connectionFactory"/&gt;&lt;br /&gt;&lt;/bean&gt;&lt;br /&gt;&lt;br /&gt;&lt;jee:jndi-lookup id="connectionFactory" jndi-name="jdbcCF"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;jee:jndi-lookup id="jdbcQ" jndi-name="jdbcQ"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;bean id="contextApplicationContextProvider" class="amp.ApplicationContextProvider"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;bean id="messageListener" class="amp.MyQueueListener"/&gt; &lt;br /&gt;&lt;br /&gt;&lt;bean id="jmsTransActionManager" class="org.springframework.jms.connection.JmsTransactionManager"&gt;&lt;br /&gt;&lt;property name="connectionFactory"&gt;&lt;br /&gt;&lt;ref local="connectionFactory" /&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/bean&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--  jms configuration style - 1 --&gt;&lt;br /&gt;&lt;!--     &lt;bean id="messageListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"&gt;&lt;br /&gt;&lt;property name="connectionFactory" ref="connectionFactory"/&gt;&lt;br /&gt;&lt;property name="messageListener" ref="messageListener"/&gt;&lt;br /&gt;&lt;property name="destination" ref="jdbcQ"/&gt;&lt;br /&gt;&lt;property name="concurrentConsumers" value="5" /&gt;&lt;br /&gt;&lt;property name="maxConcurrentConsumers" value="10" /&gt;          &lt;br /&gt;&lt;property name="sessionTransacted" value="true"/&gt; &lt;br /&gt;&lt;property name="transactionManager" ref="jmsTransActionManager" /&gt;         &lt;br /&gt;&lt;/bean&gt; &lt;br /&gt;--&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--  jms configuration style - 2 --&gt;&lt;br /&gt;&lt;bean id="messageListenerContainer"  class="org.springframework.jms.listener.DefaultMessageListenerContainer"  p:connectionFactory-ref="connectionFactory"  p:destination-ref="jdbcQ" p:messageListener-ref="messageListener"  p:concurrentConsumers="10"  p:maxConcurrentConsumers="50"  p:receiveTimeout="5000"  p:idleTaskExecutionLimit="10" /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/beans&gt;&lt;br /&gt;&lt;br /&gt;5) Create message listener class; which is influenced by traditional mdbs (J2EE 1.3 era..)&lt;br /&gt;&lt;br /&gt;package amp;&lt;br /&gt;&lt;br /&gt;import javax.jms.JMSException;&lt;br /&gt;import javax.jms.Message;&lt;br /&gt;import javax.jms.MessageListener;&lt;br /&gt;import javax.jms.TextMessage;&lt;br /&gt;&lt;br /&gt;public class MyQueueListener implements MessageListener&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;public void onMessage(Message message)&lt;br /&gt;{&lt;br /&gt;if (message instanceof TextMessage)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;String txtMessage = ((TextMessage) message).getText();&lt;br /&gt;System.out.println("&lt;log_msg&gt;" + txtMessage + "&lt;/LOG_MSG&gt;");&lt;br /&gt;}&lt;br /&gt;catch (JMSException ex)&lt;br /&gt;{&lt;br /&gt;throw new RuntimeException(ex);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;throw new IllegalArgumentException(&lt;br /&gt;"Message must be of type TextMessage");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;7) Create client class whcih produces huge message payloads; just to test&lt;br /&gt;&lt;br /&gt;package amp;&lt;br /&gt;&lt;br /&gt;import javax.jms.JMSException;&lt;br /&gt;import javax.jms.Message;&lt;br /&gt;import javax.jms.Queue;&lt;br /&gt;import javax.jms.Session;&lt;br /&gt;import javax.jms.TextMessage;&lt;br /&gt;&lt;br /&gt;import org.springframework.context.ApplicationContext;&lt;br /&gt;import org.springframework.jms.core.JmsTemplate;&lt;br /&gt;import org.springframework.jms.core.MessageCreator;&lt;br /&gt;&lt;br /&gt;public class QueueClient&lt;br /&gt;{&lt;br /&gt;private ApplicationContext ctx = AppContext.getApplicationContext();   &lt;br /&gt;private JmsTemplate jt    = (JmsTemplate) ctx.getBean("jmsTemplate");&lt;br /&gt;private Queue q     = (Queue) ctx.getBean("jdbcQ");&lt;br /&gt;&lt;br /&gt;public void sendMessage(final String m) throws Exception&lt;br /&gt;{&lt;br /&gt;jt.send(q, new MessageCreator()// inner class&lt;br /&gt;{   &lt;br /&gt;public Message createMessage(Session session)&lt;br /&gt;throws JMSException&lt;br /&gt;{&lt;br /&gt;TextMessage tm = session.createTextMessage();&lt;br /&gt;tm.setText(m);&lt;br /&gt;return tm;&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;//System.out.println("message sent to destination called "+q.getQueueName());&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;8) Finally call this class under web environment; to see the message output. I used OEPE pack to conduct these tests.&lt;br /&gt;&lt;br /&gt;Hope this helps to configure message queues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-6224763534817050694?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/6224763534817050694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=6224763534817050694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/6224763534817050694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/6224763534817050694'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/09/how-create-message-queue-using-spring.html' title='How create message queue using Spring 2.5.x and Oracle Weblogic Server 11g'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-391734043634083197</id><published>2010-09-03T11:59:00.005+05:30</published><updated>2010-09-04T06:26:06.368+05:30</updated><title type='text'>Care for simple architecture</title><content type='html'>We J2EE architects must care for simple architecture; few things might help do develop application which are long lasting and easy to accommodate future requirements.&lt;br /&gt;&lt;br /&gt;For example; I tried with followings&lt;br /&gt;1) Care for OO rather than standards/specifications&lt;br /&gt;2) Create architecture against requirements in hand rather than technology specific&lt;br /&gt;3) Do not distribute objects if requirements are not called for&lt;br /&gt;4) Follow good architecture and design principles rather than just following patterns&lt;br /&gt;5) Leverage on lightweight architecture like Spring centric which greatly helps in interface driven programming, container level capabilities, test strategies&lt;br /&gt;6) Follow thought full analysis of business requirements and come up with list of high level components, its responsibilities and associated rationale&lt;br /&gt;7) Follow whiteboard driven architectures to kick start the discussion&lt;br /&gt;Care for executable architecture (RUP), spike resolution (XP) and vertical slicing to get confidence in the architecture&lt;br /&gt;8) Come up with list of development standards, guidelines and implementation classes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-391734043634083197?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/391734043634083197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=391734043634083197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/391734043634083197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/391734043634083197'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/09/care-for-simple-architecture.html' title='Care for simple architecture'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-8977434302846046963</id><published>2010-08-12T11:30:00.005+05:30</published><updated>2010-09-04T06:28:28.864+05:30</updated><title type='text'>Architecture development steps</title><content type='html'>I used mind-mapping technique to represent and structure the architecture development&lt;br /&gt;steps. &lt;br /&gt;&lt;br /&gt;It is being influenced by TOGAF and RUP architecture development guidelines.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_XGwX1XMOBfk/TGOOWrqEUEI/AAAAAAAAADs/dcGSYpNydBw/s1600/archdevsteps.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 202px;" src="http://4.bp.blogspot.com/_XGwX1XMOBfk/TGOOWrqEUEI/AAAAAAAAADs/dcGSYpNydBw/s320/archdevsteps.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5504399689904312386" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-8977434302846046963?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/8977434302846046963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=8977434302846046963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8977434302846046963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8977434302846046963'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/08/architecture-development-steps.html' title='Architecture development steps'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XGwX1XMOBfk/TGOOWrqEUEI/AAAAAAAAADs/dcGSYpNydBw/s72-c/archdevsteps.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-2194734744454073378</id><published>2010-08-11T18:38:00.004+05:30</published><updated>2010-08-12T11:29:32.878+05:30</updated><title type='text'>Software Quality vs Design Principle, Pattern and Practice Catalog</title><content type='html'>The Software System usually has many quality attributes, such as Maintainance, Performance, Security, Usabality etc. It is very important to have catalog of patterns, principles or other related practices which is being mapped to software quality attributes.&lt;br /&gt;&lt;br /&gt;For example; I tried like this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_XGwX1XMOBfk/TGKi7V6I__I/AAAAAAAAADk/-E5WERcFFzM/s1600/untitled.bmp"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 202px;" src="http://2.bp.blogspot.com/_XGwX1XMOBfk/TGKi7V6I__I/AAAAAAAAADk/-E5WERcFFzM/s320/untitled.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5504140834977153010" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-2194734744454073378?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/2194734744454073378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=2194734744454073378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2194734744454073378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2194734744454073378'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/08/software-quality-vs-design-principle.html' title='Software Quality vs Design Principle, Pattern and Practice Catalog'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_XGwX1XMOBfk/TGKi7V6I__I/AAAAAAAAADk/-E5WERcFFzM/s72-c/untitled.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-5134554341979755478</id><published>2010-08-11T18:34:00.002+05:30</published><updated>2010-08-11T18:37:50.212+05:30</updated><title type='text'>Utility Projects and Strategic Projects</title><content type='html'>I like the idea of project catagorization like utility projects and strategic projects. This helps organizations to spend their IT investments rather carefully; again it is inline with application portfolio of an enterprise.&lt;br /&gt;&lt;br /&gt;But enterprise can really focus their energy and investments on strategically aligned projects so that competetive advanatages are more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-5134554341979755478?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/5134554341979755478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=5134554341979755478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5134554341979755478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5134554341979755478'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/08/utility-projects-and-strategic-projects.html' title='Utility Projects and Strategic Projects'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-475462616602829033</id><published>2010-07-07T17:51:00.003+05:30</published><updated>2010-07-07T17:57:23.995+05:30</updated><title type='text'>Architecture vs Design</title><content type='html'>Architecture is all about identifying the major components and its associations/responsibilities with right level of abstraction. It also involves taking decisions which are having system wide effect. &lt;br /&gt;Where in design is all about constructing the software based on the context set by architecture. It involves choice of better algorithms, applying logic, patterns, reusable/generic blocks etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-475462616602829033?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/475462616602829033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=475462616602829033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/475462616602829033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/475462616602829033'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/07/architecture-vs-design.html' title='Architecture vs Design'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-1678724619543218435</id><published>2010-02-25T22:31:00.005+05:30</published><updated>2010-09-03T12:20:52.402+05:30</updated><title type='text'>User story vs. Use case</title><content type='html'>Few things about the possible differences between these concepts&lt;br /&gt;1) A user story is the title of one scenario, whereas a use case is the contents of multiple scenarios.&lt;br /&gt;2) User story is written by customer before getting into actual conversation, where in use case is formal record of that conversation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-1678724619543218435?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/1678724619543218435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=1678724619543218435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/1678724619543218435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/1678724619543218435'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/02/user-story-vs-use-case.html' title='User story vs. Use case'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-2446687215819342718</id><published>2010-02-04T18:50:00.003+05:30</published><updated>2010-02-04T18:53:19.661+05:30</updated><title type='text'>Does OOA/D steps helps experienced developers?</title><content type='html'>In my opinion it is not mandatory to follow all OOA/D steps while individual has enough experience and knowledge on problem domain. In other words, if individual is comfortable with all architecture/design styles, patterns and principles, he/she could directly start coding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-2446687215819342718?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/2446687215819342718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=2446687215819342718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2446687215819342718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2446687215819342718'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2010/02/does-ooad-steps-helps-experienced.html' title='Does OOA/D steps helps experienced developers?'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-7853176391203548864</id><published>2009-11-09T10:37:00.004+05:30</published><updated>2009-11-09T10:47:58.679+05:30</updated><title type='text'>Bangalore BTSummit Nov 09</title><content type='html'>The BTSummit held at Bangalore on November 03 and 04, 2009 provided greater insight into latest trends in Cloud computing, SOA and BI. It is indeed a good effort from BTS event executives to bring industry leaders and practitioners under single roop.&lt;br /&gt;&lt;strong&gt;Day-1, 3rd Nov 2009&lt;/strong&gt;&lt;br /&gt;The keynote/focused session was delivered by Mr.Howard Charney CISCO, in his inspirational speech, he highlightedthe IT visionary by developing smart IT services for better future for all of us.&lt;br /&gt;After that, Mr.Ravikumar delivered speach on Cloud Computing, he explained different cloud computing environments andrelated models to chose and apply. In his views, "Cloud Computing is an application and infrastructure over Internet". There are three aspects of cloud computing:&lt;br /&gt;1) The availability of infinite computing on demand &lt;br /&gt;2) The elimination of up front community&lt;br /&gt;3) The ability to pay on usage basis&lt;br /&gt;Also cloud infrastructure shall be categorized into less constrained models to highly constrained models. The offering from Amazon, MS or Google falls either of these categories.Also he shared and urged the audience to have a look at white paper called "Above the cloud a Berkeley view of Cloud Computing".&lt;br /&gt;&lt;br /&gt;Mr.Robert S, from think88, shared his views on SOA, Composite and Cloud Computing. The SOA key concepts covered are scope of vision,scope of deployment, decision making, speed to deployment, technical skills required, market penetration, speed to ROI, eventual total ROI, expected longevity of solutions, available standards and maturity of the vision. I personally felt, these concepts are very vital in overall SOA/EA initiative.He also emphasized on some characteristics of cloud computing such as s/w assets hosted offsite, browser is the primary UI, if there is no UI, then s/w assets are being accessed through REST services. Many of us did not know the true meaning composite apps, so from the speech it was evident that, "from the prospective of the user, it appears that, the primary functionality is 'extended' from multiple disparate apps". Also he envised that composite apps and mashups might converge in near future, may be 3 to 5 years. The composite apps are business oriented where in mashups are consumer oriented.&lt;br /&gt;According to Mr.Robert, following factors might favor cloud computing:- &lt;br /&gt;a)Limited internal apps&lt;br /&gt;b)Limited IT assets- &lt;br /&gt;c)Non-sensitive data&lt;br /&gt;d)Not willing to buy IT assets&lt;br /&gt;For SOA, the limited IT resources, software reuse and hosted web services might influence strategic decisions.&lt;br /&gt;&lt;br /&gt;Mr.Eben Hewitt, took us a brief case study on SOA. According Hewitt, "Business Driven" means business users/Top executives knows SOA/or any other EA initiatives. Also he shared his views on establishing CoE. Also according to him, SOAP vs REST is outdated topic, and organizations are moved beyond that. Also Eben delivered speech on designing the RESTful web services and related architecture. He emphasized REST is an a architectural style with some of characteristics/concepts such as stateless, separation of concerns, cacheable, uniform interface, info hiding etc. In REST architecture, GET is for read, POST is for create/update and PUT is for update/create.&lt;br /&gt;&lt;br /&gt;Mr.Som Sarma from 3i Infotech, delivered very inspirational and typical business executive style of speech on innovation. He highlighted how innovations are changing the business dynamics and how products like iPhone are becoming part of enterprise IT.&lt;br /&gt;&lt;br /&gt;Dr.Robert Marcus, Sr.IT professional delivered speech on Cloud computing use cases. He categorized the clouds as end user to cloud (public cloud), enterprise to cloud (outsourced services), enterprise to cloud to end user (enhanced services) and private cloud (intra services). Following are standard requirements mapped to use cases under cloud computing environment: - Cloud Management- Security- Identity- Open Client- Federated Identity- Location awareness&lt;br /&gt;Also Mr.Robert Marcus, explained cloud categorization such as IaaS, PasS, SaaS.&lt;br /&gt;&lt;br /&gt;Mr.Jinesh Varia from Amazon delivered one of the best speech (in my view) on cloud computing; specifically on cloud migration strategies. He highlighted the phased approach to address the existing apps migration to cloud env. According to speaker, following are few phase-wise steps one shall consider for migration planning.&lt;br /&gt;a) Cloud Assement Phase - In this phase, care should be taken for cost benefit analysis, app/infra dependencies, technical assessments etc.&lt;br /&gt;b) POC Phase - In this phase, reference architecture shall be built by having management buy-in for this new initiative. So POCs must include some critical factors such as technology validations, testing of legacy apps, orgn feasibility etc. Also reference architecture must be developed with the help of learning AWS, small apps and small datasets. It is to just check the water before going big-bang approach.&lt;br /&gt;c) DB Migration Phase - One should take care by leveraging different storage options, different db options, expert opinions from db architects etc.&lt;br /&gt;d) App Migration Phase - He advised two strategies called "forklift" and "hybrid" migration strategy&lt;br /&gt;e) Leverage the cloud Phase - He highlighted the cloud capability such as auto-scaling, automation and elasticity.&lt;br /&gt;f) Optimization Phase - Mr.Jinesh, explained importance of having optimization phase by considering some of the factors such as utilization, performance (post migration) and efficiency. Also give a brief explanation on Amazon's capability for different elasticity styles such as proactive cycle scale, proactive event based and auto-scaling on demand basis.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;04 Nov 09 - 2nd Day&lt;/strong&gt;&lt;br /&gt;Mr.Nils Puhlmann from Cloud Security Alliance delivered thought provoking speech on new challenges of security under modern enterprise environment.The speaker highlighted some key drivers and associatedchallenges/threats to protect business from security vulnerabilities. Following are few drivers:&lt;br /&gt;1) Younger generation is growing up with consumer technologies&lt;br /&gt;2) IT becoming a tool to enhance peoples creativity&lt;br /&gt;3) Consumer products like iPhone are now part of enterprise environment; including but not limited to emails, calendar, contacts, SMS etc...Also he shared interesting fact about iPhone taking every user browsing activities as screen shot in the background.&lt;br /&gt;Mr.Srinvivas V from Vigyanlabs, shared his thoughts on virtual enterprise and key facts like how business can leverage on latest technological trends to truly become virtual enterprise?, the typical spread of modern enterprise comprising customers, employees, partners/suppliers, enterprise assets, services, products spread across multiple IT products and services.&lt;br /&gt;&lt;br /&gt;Mr.Robert S from think88, shared his views on applying governance technologies for effective SOA governance. Following are top 10 strategies:&lt;br /&gt;1) Include governance technologies as part of SOA governance&lt;br /&gt;2) Make sure your governance platform is agnostic about service development platforms&lt;br /&gt;3) Make sure that governance platform is able to support all service deployment technologies&lt;br /&gt;4) Importance of SOA testing&lt;br /&gt;5) Collect governance metrics and review periodically&lt;br /&gt;6) Track activity through multiple IT resource layers (e.g., db, middle ware, object, app server)7) Breakdown the barriers between repositories and registries&lt;br /&gt;8) When selecting governance technology product, write a formal RFP (interesting strategy, this leads proper homework)&lt;br /&gt;9) Avoid tools that would require code modifications&lt;br /&gt;10) Make sure that, the selected governance tool fits into existing IT governance landscape&lt;br /&gt;&lt;br /&gt;According Robert S, following are three major SOA life cycle events- Design time (meta data mgmt, service discovery, service composition/modeling, orgn policy)- Testing and QA (Service unit validation, policy adoption, compliance, performance and prediction)- Runtime (SLA, Version control, error reporting &amp;amp; mgmt, performance monitoring)&lt;br /&gt;&lt;br /&gt;Mr.Eben Hewitt delivered speech on "10 things software architect must know", these are shared views from different architects/developers worldwide and it is available on the net under the title called "97 things s/w architect should know". He highlighted the Gartners architecture definition covering concepts like abstraction, constraints, translation, properties/principles and enabling evolution. One of the thing (in list of 10) that particularly took audience attention was moving the problems on course of enabling evolutions.&lt;br /&gt;&lt;br /&gt;Mr.Janakiraman delivered inspirational speech on open source based cloud computing. According to speaker, there are four key tenets:&lt;br /&gt;1) Elasticity&lt;br /&gt;2) Pay by use&lt;br /&gt;3) Self service&lt;br /&gt;4) Programmability (muliti machine apps).&lt;br /&gt;&lt;br /&gt;Cloud shall be classified as IaaS - Renting machine in simple terms, PaaS - O.S specific, being offered by google, MS and SaaS - Google apps. Also cloud could implemented as private, public, hybrid and community clouds.&lt;br /&gt;Under the anatomy of cloud, "hypervisors" are plays a key role. These are heart and soul of the cloud computing technology. Over the hypervisors, platform, infrastructure and applications shall be placed and managed. There are couple of open source hypervisors; KUM from linux ubuntu and Xen from EC2 Amazon; the Citrix is the commercial form. The cloud open source tools stack includes LAMP (linuxm apache, mysql and php), ubuntu enterprise cloud, apache Hadoop etc.&lt;br /&gt;Mr.Vivek Khurana from SoundSource, shared his dashboard design and development experience under the topic called "Building Enterprise Dashboards". According to speaker;&lt;br /&gt;1) Dashboards should act as immediate decision making aid&lt;br /&gt;2) While designing dashboard; one should keep different stakeholder's interest in mind&lt;br /&gt;3) UI controls should be selected judiciously&lt;br /&gt;4) Focus should be on data, try to remove unusable data&lt;br /&gt;5) Don't put too much data; because of screen size&lt;br /&gt;6) Don't listen to business users on solutions part&lt;br /&gt;7) Dashboard data should be current&lt;br /&gt;8) Notify user on dashboard events/data changes&lt;br /&gt;9) Learn from new sites like CNN, BBC, nyt for about placing and arranging important/key data&lt;br /&gt;10) Important dashboard data which do matter to the business should be placed under mobile - best way is to arrange with text based SMSs&lt;br /&gt;On the trends, speaker identified following few such as animated charts, streaming dashboards, collaborative visualization and expressions. For animated charts, speaker requested audience to visit Hans Roslings TED talks/gapminder.org&lt;br /&gt;&lt;br /&gt;Mr.Udayan Banerjee, shared NIIT's experience in developing collaborative website for internal employees using enterprise 2.0 tools. The speaker advised that "collaboration and interaction can not be forced rather it has to emerge and technology is an enabler". Following are web2.0 technology stacks; wiki, blogs, IM, mashups, RSS, social networking sites etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-7853176391203548864?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/7853176391203548864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=7853176391203548864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7853176391203548864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7853176391203548864'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2009/11/bangalore-btsummit-nov-09.html' title='Bangalore BTSummit Nov 09'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-8616143679667789295</id><published>2009-10-28T16:54:00.003+05:30</published><updated>2009-10-28T17:00:25.069+05:30</updated><title type='text'>TOGAF 8/9 Training and Certification</title><content type='html'>I underwent TOGAF 8.1.1/9 training and certification program in last week of sept'09. It was good experience and lot of knowledge gained. I successfully completed all the requirements required for the certification.&lt;br /&gt;I specially liked the instructure (Mr.Dave Gilmour from Architecting the Enterprise) word that "TOGAF is a structured common sense from the past experience". This is true as EA is complex in nature and often poses the challenge where to start, where to end, how to compile, deliver etc. With the structured framework like TOGAF, the architect should not be worried about structured following, clear deliveries and structuring of the EA artifacts&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-8616143679667789295?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/8616143679667789295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=8616143679667789295' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8616143679667789295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8616143679667789295'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2009/10/togaf-89-training-and-certification.html' title='TOGAF 8/9 Training and Certification'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-7333033966664122625</id><published>2009-04-27T10:23:00.016+05:30</published><updated>2010-02-04T18:49:12.375+05:30</updated><title type='text'>Few agile thoughts</title><content type='html'>&lt;div&gt;Last week I spent a week in my office to undergo training on agile i.e. from 21 april 2009 to 25 april 2009.&lt;br /&gt;It was very effective and found to be informative in the sence mixing the UP, XP and SCRUM practices for today's software development demands.&lt;br /&gt;&lt;strong&gt;Day-1&lt;/strong&gt;&lt;br /&gt;Following are key points which come-up during discussion:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Agile is a collabaration of all principles&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;SCRUM does not address all the aspect of software development; best bet would be mix of processes like XP, UP and Scrum&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;"Time Boxing" will break if deadline is extended or scope is reduced&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Six week iteration will pose a motivatio challenge to the team; as human does not show the urgency if the task is more than 6 weeks long&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Initial productivity will also been lost due to laid back attitude&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;The ATS expects fundamental change in mind; usually change expects 12-36 months duration. As most of the human fall either Neophilic (embrace change), Bewildered (dominant followers) and Neophobic (dont embrace change)&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;No missin critcial or important projects should be taken as part of ATS&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Iteration is all about cutting down WIP tasks, it is about finishing the tasks&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;strong&gt;Principles of 2nd generation agile lean&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_XGwX1XMOBfk/SfVV37MXUyI/AAAAAAAAABk/6yf3AnAW5Ts/s1600-h/iterations.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5329260153333568290" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 59px" alt="" src="http://2.bp.blogspot.com/_XGwX1XMOBfk/SfVV37MXUyI/AAAAAAAAABk/6yf3AnAW5Ts/s320/iterations.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Standups - Catch the problems which are smaller in size&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Many agile teams unable to keep track of project progress&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Agile project mgmt is all about risk management&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Up-front req is bad as there is a chance of feaure being not used by user (study shows that 45% of the developed features are not being used)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Deliver early and oftenly is a best way to deal with req mgmt&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Iteration '0' shall be used for strategic planning, high level architecture, POC, goals, vision etc&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Risk driven development addresses both technical and business risks &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Risks&lt;/strong&gt;&lt;br /&gt;Scoping risk - dont know what is in the scope&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Req risk - dont know what is req&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Verification risk - dont know what is acceptance crieteria&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Do the work which you dont understand; always look for dark corners in teh project&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Lean principles such as No waste; only value add, no unevennes and no stress must be applied for better worklife and product output&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Requirements is always exploration in accordance with risk&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Requirement analysis must be carried out always through out teh life cycle to identify the lean symptoms &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Day-2&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Dont impose the work; rather design the work which suites the individual. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Pair programming- Front seater: key in code, syntax check (tactical), Back-seater: strategic thinking &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Retrospectives: Without actions; it is waste of time. Also it should be place for strategic thinking and implement few actions (SMART) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Pay attention to study Neural Networks to know behaviour of s/w ppl&lt;br /&gt;estimation is a guess. It has two types, wild guess and scientific guess. Pessimist makes always good guess :) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Self organizaing teams: a) Train the team about prinicples b) Set the goals, objectives c)Get out of the way from team &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Goal is direction and Objectives are phases to achieve the goal&lt;br /&gt;----------obj1----------obj2-------------obj3-------objN----------&gt;GOAL&lt;br /&gt;Risk profile is directly propotional to sw process&lt;br /&gt;Risk first; do the risk things first; it is better to fail early and cheaply &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Key roles in good team&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_XGwX1XMOBfk/SfVOzFadfKI/AAAAAAAAABU/BKdtEyJPHKE/s1600-h/idealteam.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5329252373596306594" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 154px" alt="" src="http://1.bp.blogspot.com/_XGwX1XMOBfk/SfVOzFadfKI/AAAAAAAAABU/BKdtEyJPHKE/s320/idealteam.JPG" border="0" /&gt;&lt;/a&gt;Project Mgr - Responsbile for project progress (Steering committie, Sponsers, LoB VP)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;Product owner - Responsible for business value (Busines Analyst, SME)&lt;br /&gt;Tech Lead - Care about feasible solution (Architects, Designers, Developers)&lt;br /&gt;Test Lead - Concerns about s/w quality (Testers, Test Analyst)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;9 Box technique for risk driven development&lt;/strong&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;a href="http://3.bp.blogspot.com/_XGwX1XMOBfk/SgGA38hI7HI/AAAAAAAAABs/0lAR_32gCKc/s1600-h/riskprofile.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332685132409662578" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 212px" alt="" src="http://3.bp.blogspot.com/_XGwX1XMOBfk/SgGA38hI7HI/AAAAAAAAABs/0lAR_32gCKc/s320/riskprofile.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_XGwX1XMOBfk/SfVSDzCDjeI/AAAAAAAAABc/RR1zq47cSSo/s1600-h/riskprofile.JPG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Agile Metrics&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Measures outcome; not output&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Follow trends; not numbers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Must be easy to collect&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dont email the metrics report to anybody; since it aviods the communication (direcly ask them to come for meeting)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Metrics are artifacts&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Any development involves two types of code; solution code and verification code&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Agile strories can be Epic-&gt;Story-Features. It similar to RUP Use cases like Composite UC-&gt;Scenario-&gt;UC&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;strong&gt;Estimation is not committment&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Estimation shall be divided into&lt;/strong&gt;&lt;br /&gt;No-fidelity (No analysis, less time) +- 200%&lt;br /&gt;Low-fidelity (some analysis)+-50%&lt;br /&gt;High-fidelity (good analysis, POC, good time) +-5-10%&lt;br /&gt;&lt;strong&gt;Estimation variance&lt;/strong&gt;&lt;br /&gt;no-fi = effort * 3.0&lt;br /&gt;low-fi = effort * 1.5&lt;br /&gt;high-fi = effort * 1.05&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Iteration planning must include change mgmt, new stories estimations, WBS, report progress (strategic plan/release plan)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Vision should be collabartive effort; never take all the inputs from single source. As part of requirements/ATS disussion sessions; follow few guidelines such as&lt;/li&gt;&lt;br /&gt;&lt;li&gt;situation questions like where are the pain points, what are teh goals, problem context, real problems, value of the client etc.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Key questions&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Why - pains, goals&lt;/li&gt;&lt;br /&gt;&lt;li&gt;who, where - Narrow or broad groups, shallow or deep team (like BA, Executives etc)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;what - business types, LoB, business practice in use&lt;/li&gt;&lt;br /&gt;&lt;li&gt;how many - affected groups, size of each group etc&lt;/li&gt;&lt;br /&gt;&lt;li&gt;how soon - time constraints&lt;/li&gt;&lt;br /&gt;&lt;li&gt;how much - budget constraints, targets&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Team work - The real problem of responsbility emerges when things go wrong&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-7333033966664122625?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/7333033966664122625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=7333033966664122625' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7333033966664122625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7333033966664122625'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2009/04/few-agile-thoughts.html' title='Few agile thoughts'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_XGwX1XMOBfk/SfVV37MXUyI/AAAAAAAAABk/6yf3AnAW5Ts/s72-c/iterations.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-5226190247745173264</id><published>2009-03-23T11:19:00.002+05:30</published><updated>2009-03-23T11:22:29.809+05:30</updated><title type='text'>Few EA info</title><content type='html'>&lt;strong&gt;SOA and TOGAF&lt;/strong&gt;&lt;br /&gt;SOA is a more of bottom-up model where in TOGAF is more top-down model.For the successful EA; one must understand both the model. Most of the RUP based implementation such as OOA/P are heavily influenced by top-down; If too much concentration at higher level, then every fear is that system might never built.&lt;br /&gt;The TOGAF ADM phases like oppartunities and solutions, migration planning, implementation governance (E, F, and G phase) mostly inltrgh RUP.&lt;br /&gt;&lt;br /&gt;TOGAF phases naturally fits SOA style of initiative. In Business Architecture phase one need not essentially know the what should be done with the technology. The business operations must be defined with out keeping implementation in mind.&lt;br /&gt;In IT architecture phase, along with defining the new services, care must be taken to cohessively work with existing legacy applications; that will not be converted "services"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Architectural Standards&lt;/strong&gt;&lt;br /&gt;Every company should have architectural standards;reference base to reduce the structural complexity of the software system in development system.&lt;br /&gt;Architectural governance means enforcing such standards into software development system to bring in modularity, consistency in the system. Lack of such governance will reduce the chances of meeting architectural decisions and vision with implementation (code).&lt;br /&gt;Architectural standards/rules are: -- Layered Architecture-- Seperation of concerns-- Domain Driven Design-- DAO layer should not depend on other layers-- Presentation layer should not directly interact with DAO layer-- Service layer should never call web layer-- Service objects shoud be created using factory classes&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;EA issues&lt;/strong&gt;&lt;br /&gt;Following are few enterprise issues should have support from development platform:-- Scalability-- Concurrency-- Transaction-- Robustaness-- Performance-- Atomicity&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;EA decisions&lt;/strong&gt;&lt;br /&gt;-- Choice of tools/frameworks-- Choice of programming languages-- Choice of platform-- Choice of OS-- Choice of database-- Choice of architecture style&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MDA&lt;/strong&gt;&lt;br /&gt;The Model Driven Architecture (MDA) enables business user to define the business processes using standards like UML, MOF (Meta Object Factory) and CWM (The Common Warehouse MetaModel) which seperates the business logic from application logic. Using MDA, business or underlying technlogies shall be changed to gain the advantages of new business trends or technological solutions.&lt;br /&gt;MDA-&gt;UML,MOF or CWF-&gt;J2EE, .NET, WebServices etc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-5226190247745173264?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/5226190247745173264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=5226190247745173264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5226190247745173264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5226190247745173264'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2009/03/few-ea-info.html' title='Few EA info'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-8194563795325493844</id><published>2008-05-30T14:46:00.001+05:30</published><updated>2008-05-30T14:47:55.953+05:30</updated><title type='text'>Advantages of JSF/Ajax over Struts</title><content type='html'>&lt;strong&gt;Architecture&lt;br /&gt;&lt;/strong&gt;JSF is a Component based UI framework. It is industry endorsed framework governed by JCP&lt;br /&gt;Provides cleaner separation of concerns; uses MVC architecture&lt;br /&gt;Robust event handling architecture. Each JSF component hierarchy is associated with rich set of listeners&lt;br /&gt;JSF has in-built plug-in architecture to support application scalability; any third libraries like Tomahawk (JSF enabled components) shall be easily integrated and extended.&lt;br /&gt;Robust event handling mechanism&lt;br /&gt;All UI components initiate OO web-application development. Thus JSF enabled web applications can leverage on rich-proven OO practices for rapid application development&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Usability (Both Application end user and Application developer)&lt;br /&gt;&lt;/strong&gt;Increased user interface experience with rich client features like data grid, trees, dashboard features, auto-complete, auto-refresh etc&lt;br /&gt;Increased application user productivity with the help of in-built features like asynchronous page rendering, automatic refresh of server data, reduced number of user clicks and auto page submissions&lt;br /&gt;Multiple options to select JSF specification implementation frameworks like Sun RI, Apache My faces, JBoss Rich faces and Exadel’s facelets for application development&lt;br /&gt;Comprehensive JSF tool support from leading industry vendors; such tools includes Eclipse, JDeveloper, IBM RAD,  Sun Studio and JBoss Studio&lt;br /&gt;Provides in-built validation framework to validate UI inputs. Significant reduction in development time; moreover validation framework uses latest JSTL enabled expression language&lt;br /&gt;All JSF custom tags are JSTL/EL aware&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Scalability&lt;br /&gt;&lt;/strong&gt;JSF rendering kit provides different rendering techniques to handle requests like WML, XML etc. In other words; it is not limited to HTML only. So JSF enabled application are scalable in nature to address different clients with out changing underlying business/data architecture&lt;br /&gt;Provides seamless integration with Ajax technology. All JSF component tree model are Ajax aware; so any non-Ajax application can leverage on this excellent scalable feature. Again application developer has good support from open source frameworks like Ajax4JSF&lt;br /&gt;Provides pluggable life cycle phase listeners. So JSF based application can be scalable to add in-built listeners against application’s future requirements&lt;br /&gt;JSF is based on standard converters. Custom converters can be easily developed or extended for ever changing requirements&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Maintainability&lt;br /&gt;&lt;/strong&gt;JSF based applications shall be maintained with ease; provides good separation from configuration files, backing beans, form beans etc. Backing beans shall be developed using POJO centric development model. If application leverage on ORM solution like Hibernate; then significant reduction in code; thus better management of the application&lt;br /&gt;Clean separation of roles; Thus better managed application source repository both development and maintenance phase&lt;br /&gt;Custom JSF components like progress bar, drag n drop, file movement etc shall be reused across the application. So there is no redundancy in source code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-8194563795325493844?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/8194563795325493844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=8194563795325493844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8194563795325493844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/8194563795325493844'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2008/05/advantages-of-jsfajax-over-struts.html' title='Advantages of JSF/Ajax over Struts'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-7948401976409539774</id><published>2008-05-28T10:17:00.001+05:30</published><updated>2008-05-28T10:17:28.649+05:30</updated><title type='text'>View My profile On Linked-In</title><content type='html'>&lt;a href="http://www.linkedin.com/in/arvindpatil"&gt;&lt;img src="http://www.linkedin.com/img/webpromo/btn_viewmy_120x33.gif" width="120" height="33" border="0" alt="View Arvind Patil's profile on LinkedIn" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-7948401976409539774?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/7948401976409539774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=7948401976409539774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7948401976409539774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7948401976409539774'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2008/05/view-my-profile-on-linked-in.html' title='View My profile On Linked-In'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-7844806879804516374</id><published>2008-05-27T14:05:00.001+05:30</published><updated>2008-05-27T14:06:38.305+05:30</updated><title type='text'>Factors to be considered for productvity measurement of agile practices</title><content type='html'>&lt;strong&gt;Abstract&lt;br /&gt;&lt;/strong&gt;The Agile methodology really lacks its ability to collect the productivity metrics. Agile gives utmost priority to satisfy the customer with the help of frequent deliveries of working software. However there are several factors do exist to capture agile metrics. Following article discusses some of those.&lt;br /&gt;&lt;strong&gt;Factors to be considered for productivity measurement&lt;/strong&gt;&lt;br /&gt;Following section list downs the different factors to be considered to measure the productivity of agile practices, viz., SCRUM, Continuous Integration, Workshops and Dual Monitors. Each factor might applicable to one or more agile practices.&lt;br /&gt;&lt;br /&gt;1)       Customer satisfaction&lt;br /&gt;It is one of the better ways to measure the productivity of the agile processes or related practices. Each iteration/sprint will end-up with tangible output which is going to perceived or evaluated by the client according to his/her business requirements. So in this process no of customer feedbacks (good as well as not so good), his active participation frequency and delivery satisfaction rate (on the scale of 1-5) etc shall be measured.&lt;br /&gt;Applicability: SCRUM, Continuous integration, Workshops&lt;br /&gt;&lt;br /&gt;2)       Reduced/Manageable risk&lt;br /&gt;The number of risks envisaged and able to mitigate the risks with successful counter measurements per iteration. Also how team as a whole successfully managed the risk with in iteration with out affecting the delivery. It requires disciplined way to capture such instances during iteration. Best candidate would be Scrum Master.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;3)       Improved quality&lt;br /&gt;Quality differs from context to context. From the SCRUM aspect, it is reduced code review defects, increased design/architectural specific brain storming sessions, reduced build rejections from internal QC/ or client, Increased junior team member participants in design workshops, increase in review efficiency, reduce in number of failed attendees for SCRUM stand-up meeting, etc…&lt;br /&gt;Applicability: SCRUM, Workshops, Continuous Integration&lt;br /&gt;&lt;br /&gt;4)       On time delivery&lt;br /&gt;On time delivery of working software (with duly tested!) of all story points identified for the iteration. If any delay in delivery; then associated delay can be measured in number of person days / or IEH&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;5)       Innovation&lt;br /&gt;The number of innovative ideas/best practices adopted to deliver out of box solution with in iteration. It might be good design strategy, improved code quality, increased automation by using good tools under all stages of SDLC cycle etc. Again it is in process matrix collection mechanism, Scrum Master is the best person to judge such initiatives.&lt;br /&gt;Applicability: SCRUM, Workshops, Continuous Integration&lt;br /&gt;&lt;br /&gt;6)       No of Reusable components to the organization&lt;br /&gt;How many reusable components are contributed to the organization from the project? Here code is fully tested and moved to client’s production environment. Any such code which does not have any customer obligations shall be moved organization’s reusable component repository. It can be measured across the projects over the period of time. This measurement shall be conducted against iteration or specific period of time.&lt;br /&gt;Applicability: SCRUM, Agile process as a whole&lt;br /&gt;&lt;br /&gt;7)       Increased knowledge sharing activities&lt;br /&gt;How many times from specific SCRUM team member shared his technical competency with others in the form of presentations, trainings, articles etc. Any such instances shall be captured.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;8)       Team engagement&lt;br /&gt;Team engagement during sprint, shall be calculated in the form of Ideal Engineering Hours (IEH). Also overall team engagement in the form of understanding requirement, design, code, review, testing, training, research etc shall be classified.&lt;br /&gt;Applicability: SCRUM (Backlogs)&lt;br /&gt;&lt;br /&gt;9)       Burn down charts&lt;br /&gt;Burn down chart is early warning system, which gives product owner how the team is performing to achieve user story points for current iteration. At high level; number of high level warnings occurred during sprint / or across the sprint(s) shall be measured.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;10)   Personal Excellence&lt;br /&gt;Capture information such as how many people with in SCRUM team are being certified for various technological tools/frameworks? How many people participated seminars, training programs? How many team members contributed to open source projects or initiatives? Thus increase in company branding etc...&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;11)   Agile maturity&lt;br /&gt;Judge the team maturity with help of schedule over run, effort over run (directly related to matured way of conducting task estimation), what kind of task selection from team member during iteration planning, active participation instances in various workshops, retrospective meetings, stick on to realization of sprint goals, adherence to multiple project checklists etc. Any violations or innovative ideas should be captured as part of sprint.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;12)   Compliance with respect agile principles/or number of tailor made approaches which violates agile principle&lt;br /&gt;Capture any agile principle violations in the form of tailor made requirements; might be influenced by external stakeholder. Also identify number of agile principles being practiced on iteration basis. Derive such matrix at the end of each iteration. In my opinion it is the most important activity shall be considered with high priority.&lt;br /&gt;Applicability: SCRUM, Workshops, Continuous Integration&lt;br /&gt;&lt;br /&gt;13)   Obstacles cleared per iteration&lt;br /&gt;Capture number of blockers removed per iteration.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;14)   Number of De-scoped functions/tasks over into next iteration&lt;br /&gt;All de-scoped story points of the current sprint&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;15)   Number of retrospectives per iteration&lt;br /&gt;How often SCRUM teams adheres to “Inspect and Adapt” principle? Identify number of retrospectives being conducted with in sprint. Also capture what are the types of retrospective meetings are being practiced and related feedback from the team.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;16)   Implementation status of retrospective action items&lt;br /&gt;It is number of outstanding retrospective action items from previous sprints.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;17)   Number of functional tests / iteration or user story&lt;br /&gt;It is a process of capturing number of functional tests developed and applied against user story points per iteration.&lt;br /&gt;Applicability: SCRUM, Continuous Integration&lt;br /&gt;&lt;br /&gt;18)   Unit tests / iteration&lt;br /&gt;Capture number of unit test cases against code developed per sprint.&lt;br /&gt;Applicability: SCRUM, Continuous Integration&lt;br /&gt;&lt;br /&gt;19)   Number of builds / iteration&lt;br /&gt;Capture number of successful builds / or broken builds per sprint.&lt;br /&gt;Applicability: SCRUM, Continuous Integration&lt;br /&gt;&lt;br /&gt;20)   Number of functional defects / iteration&lt;br /&gt;It is number of functional defects found by both internal QC team and client.&lt;br /&gt;Applicability: SCRUM, Continuous Integration&lt;br /&gt;&lt;br /&gt;21)   Lines of code&lt;br /&gt;It is mainly concentrated on development team productivity on lines of code delivered for the specific period. For example; KLOC/Person day. But most of the agile practicing companies discourage this approach as 50 lines of code with just variable declarations can’t be more productive compare to just 20 lines of code which does important business functionality. In my opinion it is most crud way to measure productivity; shall be discarded.&lt;br /&gt;Applicability: SCRUM, Continuous Integration&lt;br /&gt;&lt;br /&gt;22)   Function Point&lt;br /&gt;It is originally intended to use for project estimation. It revolves under Input, Output (Report) and data. Again as explained with LOC; one can not depend on FP for measurement for the simple reason, a simple CRUD operation will carry more function point where in most complex business scenario which does not have any output will carry less FP. In my opinion each FP should have weightage and determination of weight-age will ask for definitive discussion.&lt;br /&gt;Applicability: SCRUM&lt;br /&gt;&lt;br /&gt;23)   Velocity&lt;br /&gt;Sustained development pace of the team is determined by Velocity mechanism. Here it depends on number of story points delivered per iteration. Most of the agile practitioners recommend this approach to determine overall team productivity. Here also some fundamental question arises like “if team of 3 delivers 40 story points where in another team of 10 delivers 50 story points, so which sprint team is more productive?”&lt;br /&gt;Applicability: SCRUM&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-7844806879804516374?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/7844806879804516374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=7844806879804516374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7844806879804516374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/7844806879804516374'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2008/05/factors-to-be-considered-for.html' title='Factors to be considered for productvity measurement of agile practices'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-3847785536196720988</id><published>2008-05-27T11:32:00.001+05:30</published><updated>2008-05-27T11:37:50.936+05:30</updated><title type='text'>Linked-In QA</title><content type='html'>Stakeholder Interest&lt;br /&gt;&lt;a href="http://www.linkedin.com/answers/technology/software-development/TCH_SFT/234124-14255949"&gt;http://www.linkedin.com/answers/technology/software-development/TCH_SFT/234124-14255949&lt;/a&gt;&lt;br /&gt;EA best practices to Individual Projects&lt;br /&gt;&lt;a href="http://www.linkedin.com/answers/technology/enterprise-software/TCH_ENT/234126-14255949"&gt;http://www.linkedin.com/answers/technology/enterprise-software/TCH_ENT/234126-14255949&lt;/a&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-3847785536196720988?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/3847785536196720988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=3847785536196720988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/3847785536196720988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/3847785536196720988'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2008/05/linked-in-qa.html' title='Linked-In QA'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-5940106195889164942</id><published>2008-05-22T19:01:00.005+05:30</published><updated>2008-05-22T19:15:13.271+05:30</updated><title type='text'>Dont justify agile based on productivity</title><content type='html'>&lt;span style="font-size:85%;"&gt;It is often found that, many people adopt agile development process for quicker delivery. But it is thorough bad idea, with out understanding agile goals and true engineering practices. Productivity of an s/w person cant be measured in the form of lines of code, how many function point is delievered etc. Rather it will be more meaningful if it is associated like&lt;br /&gt;Increased customer satisfaction (may conduct ratings)&lt;br /&gt;Increase in the quality of delivery like no architectural issues under design phase, no design mistakes during production run, better quality code in context to better API usages, easier maintenance etc&lt;br /&gt;Increased personal excellance in the form of better problem solving skills; communication with co-team members, external people&lt;br /&gt;Contribution to online community, information sharing with in organization or outside organization&lt;br /&gt;etc..etc..etc...many more&lt;br /&gt;-&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-5940106195889164942?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/5940106195889164942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=5940106195889164942' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5940106195889164942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/5940106195889164942'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2008/05/dont-justify-agile-based-on.html' title='Dont justify agile based on productivity'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-1583607775577899988</id><published>2008-03-06T15:30:00.004+05:30</published><updated>2008-03-18T18:04:24.455+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='open group conference proceedings_bangalore'/><title type='text'>Open group confrence proceedings - Bangalore, INDIA</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Why Enterprise Architecture?&lt;br /&gt;&lt;/strong&gt;Following are the few reasons to start with:&lt;br /&gt;Silo-ed applications&lt;br /&gt;Inconsistent and Islands of data&lt;br /&gt;Rigid technical infrastructure which are very hard to change&lt;br /&gt;Change in business strategy to have competitive advantage&lt;br /&gt;&lt;br /&gt;“Enterprise architecture should provide support to the business by providing the fundamental technology and process structure with the help of IT strategy”&lt;br /&gt;&lt;br /&gt;Here IT is a responsive asset for modern business strategy.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Highlights of the conference proceedings&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;SONA as Networking Platform&lt;br /&gt;In a keynote address, CISCO executive expressed his thoughts on today’s IT challenges in following areas:&lt;br /&gt;Empowered Users&lt;br /&gt;Real time information&lt;br /&gt;Borderless Enterprise&lt;br /&gt;&lt;br /&gt;Now a days business user’s are exposed to innovative user interfaces (like innovations from Google); and no means IT service company will escape by providing at par solutions which adheres to current user expectations&lt;br /&gt;&lt;br /&gt;SONA (Service Oriented Networking Architecture) is open standard, which nicely fits in between Business Architecture and Technology architecture. It provides in built networking services like faster IP routing, data cache, security etc. With the help of SONA enabled applications; with in CISCO, enterprise applications response through-put increased to ~ 40%.&lt;br /&gt;&lt;br /&gt;It also observed that, any strategy should be on business centric rather than people or technology centric; to stay competitive in modern business environment.&lt;br /&gt;&lt;br /&gt;CISCO adopted TOGAF – ADM as architectural framework while developing SONA.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Managing Change in EA Program&lt;br /&gt;&lt;/strong&gt;Mr.Ron Baillie of Cathay Pacific shared his practical experience when introducing the Enterprise architecture program with in IT team. Initially there was lots of resistance from internal IT team to understand and adapt new enterprise concepts. Mr.Ron introduced several EA program innovative concepts like;&lt;br /&gt;Having all EA principle (there were 06 principle’s to start with) in a cube.&lt;br /&gt;Arranged many programs to understand such concepts; including his CIO&lt;br /&gt;&lt;br /&gt;He highlighted few observations which are come out during EA program execution;&lt;br /&gt;Motivate the people respect to the context (like cost= total no of First class empty seats…)&lt;br /&gt;There must be Centralized architectural artifacts&lt;br /&gt;Identify the key principles in EA program&lt;br /&gt;Create an ownership for each principle&lt;br /&gt;Roadmaps should be created for each EA components&lt;br /&gt;Associate business matter experts for each roadmap&lt;br /&gt;&lt;br /&gt;Also he highlighted EA is a journey; not an end point. Following are few principle’s he adopted in Cathay Pacific:&lt;br /&gt;Simplicity&lt;br /&gt;Modularity&lt;br /&gt;Standardization&lt;br /&gt;Measurement&lt;br /&gt;Life Cycle&lt;br /&gt;Etc…&lt;br /&gt;&lt;br /&gt;Finally there is very interesting presentation slide; which shows picture were all fishermen rowing the boat in one direction. In an analogy he stated; it is very important in EA program whether all stakeholders are rowing same direction or not.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Introduction to TOGAF&lt;/strong&gt;&lt;br /&gt;Mr.Vishwanthan of C&amp;amp;CC solutions; Australia (TOGAF certified) gave a nice presentation on TOGAF 8.1. Few things about TOGAF;&lt;br /&gt;1. TOGAF is a framework; not a architecture&lt;br /&gt;2. TOGAF certification is all about checking one’s knowledge about TOGAF; not a check on skills or related implementation. Holds very good acceptance from enterprise architect’s community&lt;br /&gt;3. It’s customer initiative; not from Open group&lt;br /&gt;4. It is defacto industry accepted architectural framework. It can be used in conjunction with many architectural frameworks like Zachman, DoDAF, MDA, FEAF etc&lt;br /&gt;5. Zachman and TOGAF compliment each other. TOGAF shall be used as implementation framework for Zachman.&lt;br /&gt;6. Already there are several mappings exists respect to TOGAF; mainly&lt;br /&gt;a. Zachman&lt;br /&gt;b. MDA&lt;br /&gt;c. DoDAF&lt;br /&gt;d. COBIT&lt;br /&gt;e. ITIL&lt;br /&gt;f. FEAP&lt;br /&gt;&lt;br /&gt;TOGAF shall be certified in two ways;&lt;br /&gt;§ Directly taking the exam from Prometric center&lt;br /&gt;§ Or attending the training from Open group authorized training institution.&lt;br /&gt;&lt;br /&gt;One can build a business case for TOGAF as EA; providing sufficient strengths like&lt;br /&gt;Ability to chunk-up the whole enterprise architectural program into different ADM phases. Here each ADM phase may run into several iterations; depending on the organization’s business complexity.&lt;br /&gt;Avoid the redundancy in process to building new project&lt;br /&gt;Avoid the silo-ed approach.&lt;br /&gt;&lt;br /&gt;TOGAF 8.1 divided into three parts;&lt;br /&gt;ADM (Core implementation phases)&lt;br /&gt;Enterprise Continuum (TRMs, Federated EA’s etc…)&lt;br /&gt;Resource base (Case studies, Glossaries, Templates, Evaluations etc…)&lt;br /&gt;&lt;br /&gt;Also he emphasized on ADM and its relative importance in overall EA implementation program.&lt;br /&gt;&lt;br /&gt;ADM is an iterative method; consists of totally 8+1 phases. Also there is preliminary phase to start with&lt;br /&gt;Each iteration; there will be new decisions. So each decision should have adequate information on&lt;br /&gt;Overall enterprise coverage&lt;br /&gt;Level of detail to understand the decision&lt;br /&gt;Time horizon to implement the decision etc…&lt;br /&gt;Every phase is validated against the business requirements&lt;br /&gt;Any decision will be based on Competence (business) and resource availability&lt;br /&gt;&lt;br /&gt;Jason Uppal from QuickResponse, Canada; gave excellent insight towards TOGAF 8.1 by going through ADM phases. Below are few thoughts:&lt;br /&gt;&lt;br /&gt;Business Requirements&lt;br /&gt;These are also called as “Architectural Requirements” are nothing but set of wish lists which enterprise have, but preventing for implementation. So these are actual architectural requirements. It might include wicked problems as well. Wicked problems are one which is very hard to frame.&lt;br /&gt;&lt;br /&gt;Architecture Vision&lt;br /&gt;In this phase, EA should attack the wicked problems, apply the SMART objectives and also come up the statement of architectural work. If Architecture vision is set right; then rest of phases more likely to succeed. It is very important that EA must gain confidence from all stake holders.&lt;br /&gt;&lt;br /&gt;Business Architecture&lt;br /&gt;While developing business architecture, following are few areas should be considered for effective impact on overall EA program:&lt;br /&gt;Effective business process&lt;br /&gt;Impact of change on people&lt;br /&gt;Implementable business process (think “Realistic” principle of SMART!)&lt;br /&gt;&lt;br /&gt;Data architecture&lt;br /&gt;What information is required to make an effective business process?&lt;br /&gt;&lt;br /&gt;Application architecture&lt;br /&gt;Cost effective way to deliver information system to make business process efficient&lt;br /&gt;&lt;br /&gt;Infrastructure&lt;br /&gt;Hardware, Software, People are required to deliver services to meet required SLA&lt;br /&gt;&lt;br /&gt;Opportunities and Solutions&lt;br /&gt;Ideal set of objectives/Initiatives (Technology is limiting factor; people &amp;amp; process change etc are key challenges!)&lt;br /&gt;&lt;br /&gt;Migration Planning&lt;br /&gt;Set of initiatives required to deliver architectural vision.&lt;br /&gt;&lt;br /&gt;Define Value&lt;br /&gt;Organization learning towards expected benefits from EA program. Also value of exploring current enterprise capabilities&lt;br /&gt;&lt;br /&gt;KPI Governance&lt;br /&gt;Define, Measure and Report architectural changes. Also study the corrective action and impact analysis on already defined phases of ADM due to change.&lt;br /&gt;&lt;br /&gt;Brief on SMART objectives&lt;br /&gt;All businesses need to set objectives for themselves or for the products or services they are launching. What does your company, product or service hope to achieve? Setting objectives are important. It focuses the company on specific aims over a period of time and can motivate staff to meet the objectives set.&lt;br /&gt;&lt;br /&gt;A simple acronym to set the objectives is called SMART objectives.&lt;br /&gt;Specific – Objectives should specify what they want to achieve.Measurable – You should be able to measure whether you are meeting the objectives or not.Achievable - Are the objectives you set, achievable and attainable?Realistic – Can you realistically achieve the objectives with the resources you have?Time – When do you want to achieve the set objectives?&lt;br /&gt;&lt;br /&gt;Difference between Zachman and TOGAF&lt;br /&gt;Following are few differences;&lt;br /&gt;TOGAF tells step by step implementation of each step is dependent on other, where in Zachman framework does not have the dependency&lt;br /&gt;Operations feature is not included in TOGAF, but Zachman got detailed information.&lt;br /&gt;Proposed TOGAF 9 focuses on Governance, Portfolio management etc.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Enterprise conceptual model&lt;br /&gt;&lt;/strong&gt;Mr.Gundars Osvalds from BearingPoint, USA, gave short presentation on conceptual model in EA. Enterprise architecture conceptual model contains following sections; these conceptual model elements are interlinked and will drive each other.&lt;br /&gt;Framework&lt;br /&gt;Architecture&lt;br /&gt;Life History&lt;br /&gt;View&lt;br /&gt;View Point&lt;br /&gt;Abstractions&lt;br /&gt;&lt;br /&gt;Framework concept&lt;br /&gt;Select one or more framework (Federated architectural approach!) to arrive EA.&lt;br /&gt;Zachman&lt;br /&gt;TOGAF&lt;br /&gt;Framework&lt;br /&gt;DoDAF&lt;br /&gt;FEAF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enterprise Architects can be developed&lt;br /&gt;In interesting presentation Jason Uppal from QuickResponse, ITAC level-2; opened up a nice discussion on how to develop an Enterprise architect. Here are few ideas:&lt;br /&gt;Start working with some strategy in mind. Strategy should have direction (like Financial, Customer supplier, Organization objectives etc…)&lt;br /&gt;Perform the litmus test using SMART objectives&lt;br /&gt;Identify the current constraints (Area not to focus on)&lt;br /&gt;Have a Guidelines (Area to focus on)&lt;br /&gt;Develop a programmatic roadmap (Benefits, Costs, Risks, Why you???) for a business strategy. Provide expertise based on leadership to help and execute the roadmap&lt;br /&gt;Study architectural views on People, Process and Technology for Business Architecture, Data Architecture, Application Architecture and Infrastructure Architecture&lt;br /&gt;He advised audience to concentrate on “Wicked Problems” of business&lt;br /&gt;More wicked problems, higher level of effort is needed to come up with realistic EA.&lt;br /&gt;&lt;br /&gt;In spot light forum discussions, Mr. Allen Brown, CEO of Open group gave insight towards few standards like;&lt;br /&gt;“Interoperable Enterprise” - Look for white paper from &lt;/span&gt;&lt;a href="http://www.opengroup.org/cio/iop/index.htm"&gt;&lt;span style="font-size:85%;"&gt;http://www.opengroup.org/cio/iop/index.htm&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;He also highlighted the current problems in enterprise; mainly Cross functional team culture, new business partners and stove-piped information.&lt;br /&gt;&lt;br /&gt;He also stressed on having “Bounderyless Information flow” with in enterprise. Finally he concluded discussion by saying “Requirement defects are very expensive” and worldwide nearly 53% of defects are raised from business requirement.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-1583607775577899988?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/1583607775577899988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=1583607775577899988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/1583607775577899988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/1583607775577899988'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2008/03/open-group-confrence-proceedings.html' title='Open group confrence proceedings - Bangalore, INDIA'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-2347413345683717756</id><published>2007-10-30T11:29:00.000+05:30</published><updated>2007-10-30T11:30:23.462+05:30</updated><title type='text'>regulatory compliance urls</title><content type='html'>&lt;a href="http://www.baselalert.com/"&gt;www.baselalert.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.compliancereporter.com/"&gt;www.compliancereporter.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.theirm.org/"&gt;www.theirm.org&lt;/a&gt;&lt;a href="http://en.wikipedia.org/wiki/Basel_II"&gt;http://en.wikipedia.org/wiki/Basel_II&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.basel2implementation.com/"&gt;http://www.basel2implementation.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bis.org/cbanks.htm"&gt;http://www.bis.org/cbanks.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.federalreserveeducation.org/fed101/policy/basics.htm"&gt;http://www.federalreserveeducation.org/fed101/policy/basics.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fsa.gov.uk/"&gt;http://www.fsa.gov.uk/&lt;/a&gt;&lt;a href="http://www.deloitte.com/dtt/article/0,1002,cid%253D139228,00.html"&gt;http://www.deloitte.com/dtt/article/0,1002,cid%253D139228,00.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rbi.org.in/scripts/AboutusDisplay.aspx"&gt;http://www.rbi.org.in/scripts/AboutusDisplay.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.financialexpress.com/news/story/163382/"&gt;http://www.financialexpress.com/news/story/163382/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.woccu.org/best_practices/regnews.php"&gt;http://www.woccu.org/best_practices/regnews.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ecb.int/press/key/date/2007/html/sp070712.en.html"&gt;http://www.ecb.int/press/key/date/2007/html/sp070712.en.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-2347413345683717756?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/2347413345683717756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=2347413345683717756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2347413345683717756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/2347413345683717756'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2007/10/regulatory-compliance-urls.html' title='regulatory compliance urls'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-3112501388975836939</id><published>2007-07-13T12:32:00.001+05:30</published><updated>2010-08-12T11:38:57.808+05:30</updated><title type='text'>My URLs</title><content type='html'>&lt;a href="http://www.developer.com/"&gt;http://www.developer.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hillside.net/patterns/onlinepatterncatalog.htm"&gt;http://hillside.net/patterns/onlinepatterncatalog.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javaperformancetuning.com/newsletter.shtml"&gt;http://www.javaperformancetuning.com/newsletter.shtml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javalobby.org/"&gt;http://www.javalobby.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javaworld.com/"&gt;http://www.javaworld.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="https://jdk.dev.java.net/"&gt;https://jdk.dev.java.net/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.onjava.com/"&gt;http://www.onjava.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.theserverside.com/"&gt;http://www.theserverside.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/index.html"&gt;http://developers.sun.com/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bredemeyer.com/"&gt;http://www.bredemeyer.com/&lt;/a&gt;&lt;br /&gt;Open Source Links :- &lt;a href="http://www.openlogic.com/resources.php?content=projectdetails"&gt;http://www.openlogic.com/resources.php?content=projectdetails&lt;/a&gt;&lt;br /&gt;Static Analysers:- &lt;a href="http://java-source.net/open-source/code-analyzers"&gt;http://java-source.net/open-source/code-analyzers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.jboss.com/file-access/default/members/jbossajax4jsf/freezone/docs/devguide/developerGuide.html"&gt;http://labs.jboss.com/file-access/default/members/jbossajax4jsf/freezone/docs/devguide/developerGuide.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ajaxmatters.com/r/resources?id=3"&gt;http://www.ajaxmatters.com/r/resources?id=3&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-3112501388975836939?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/3112501388975836939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=3112501388975836939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/3112501388975836939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/3112501388975836939'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2007/07/my-urls.html' title='My URLs'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-114837534744727923</id><published>2006-05-23T14:37:00.000+05:30</published><updated>2006-05-23T14:39:07.456+05:30</updated><title type='text'>Fitneese WIKI</title><content type='html'>A simple to install collabaration tool for internal project management. Just download the zip from fintneese.org and assign a port. That's it!! you are ready to create a custom WIKI pages&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-114837534744727923?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/114837534744727923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=114837534744727923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114837534744727923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114837534744727923'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2006/05/fitneese-wiki.html' title='Fitneese WIKI'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-114785919230729760</id><published>2006-05-17T15:06:00.000+05:30</published><updated>2006-05-17T15:16:32.316+05:30</updated><title type='text'>Agile development</title><content type='html'>Today had a session with Craig about agile development. Criag shared his wast experience on agile development with some of us. Following are few points related to this session:&lt;br /&gt;1.Agile != XP&lt;br /&gt;2.According to Craig, Pair programming shall be used for skill transfer. Not recommended practice&lt;br /&gt;3.A task switch leads to avg 1 hr productivity drop for a typical developer time&lt;br /&gt;4.Agile manifesto contains:&lt;br /&gt;- People are important over process&lt;br /&gt;- Working s/w important over documentation&lt;br /&gt;- Customer collabaration important than contract negotitation&lt;br /&gt;- Response to change &gt; following PEP&lt;br /&gt;5.Agile inspired by Lean thinking and Theory of constraints&lt;br /&gt;6.Descope of the current iteration should be arrived before one week (in typical 3 week iterations..)&lt;br /&gt;7.FIT and Selenium are opensource test frameworks for acceptance tests and shall be adopted as part of contineous integration.&lt;br /&gt;8.Craig also instisted on design for testability.&lt;br /&gt;9.Two optional points during scrum shall be shared as:&lt;br /&gt;- Share the best practices adopted (if any)&lt;br /&gt;- what are features missed for current sprint&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-114785919230729760?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/114785919230729760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=114785919230729760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114785919230729760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114785919230729760'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2006/05/agile-development.html' title='Agile development'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-114725968856851526</id><published>2006-05-10T16:40:00.001+05:30</published><updated>2006-05-10T16:44:48.570+05:30</updated><title type='text'>A day with agile guru</title><content type='html'>I got the oppartunity to spend some time on agile modeling with Craig Larman, a renowned agile guru.&lt;br /&gt;&lt;br /&gt;He explained us, a software architect is who, knows good programming skills. He also discussed somthing about architecutural documentation. A architectural documentation will be only complete in all sense during the project release time. It will be helpfull for a new comer joining the project for maintainance or new development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-114725968856851526?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/114725968856851526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=114725968856851526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114725968856851526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114725968856851526'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2006/05/day-with-agile-guru_10.html' title='A day with agile guru'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-114725968348354478</id><published>2006-05-10T16:40:00.000+05:30</published><updated>2009-04-27T11:19:54.288+05:30</updated><title type='text'>A day with agile guru</title><content type='html'>I got the oppartunity to spend some time on agile modeling with Craig Larman, a renowned agile guru.&lt;br /&gt;&lt;br /&gt;He explained us, a software architect is who, knows good programming skills. He also discussed somthing about architecutural documentation. A architectural documentation will be only complete in all sense during the project release time. It will be helpfull for a new comer joining the project for maintainance or new development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-114725968348354478?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/114725968348354478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=114725968348354478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114725968348354478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114725968348354478'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2006/05/day-with-agile-guru.html' title='A day with agile guru'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-114318206949975900</id><published>2006-03-24T12:01:00.001+05:30</published><updated>2010-12-08T21:59:49.558+05:30</updated><title type='text'>Refactoring</title><content type='html'>&lt;a name="_Toc106008288"&gt;1. &lt;strong&gt;Introduction&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The process of changing a software system in such away that it does not alter the external behavior of the code, yet improves it’s internal structure.&lt;br /&gt;- Martin Fowler&lt;br /&gt;Refactoring is the process of taking an object design and rearranging it in various ways to make the design more flexible and/or reusable. There are several reasons you might want to do this, efficiency and maintainability being probably the most important.&lt;br /&gt;- Ralph Johnson            &lt;br /&gt;&lt;br /&gt;In software world, it is very difficult to design and development a right system at first time. Thus keeping this is in mind, refactoring analysis was carried out to improve the SuD for better performance and maintainability.&lt;br /&gt;&lt;br /&gt;2&lt;a name="_Toc106008293"&gt;.  &lt;strong&gt;When to refactor?&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Refactoring is a systematic way to clean-up buggy but working code. It is needed when a system lives with bad designs, wrong decisions and poor code. Following are some of the situations which call for refactoring:&lt;br /&gt;It was very difficult to get the system correct the very first time&lt;br /&gt;Lack of  understanding of  the problem domain&lt;br /&gt;Heavy presence of monolithic code; lack of  modularization&lt;br /&gt;Programs that are hard to understand, hard to maintain, contain heavy duplication of logic/code etc. Following are the top ten reasons of bad code smells that ask for refactoring:&lt;br /&gt;Duplicated code&lt;br /&gt;Long method&lt;br /&gt;Large class (too many responsibilities)&lt;br /&gt;Long parameter list (missing object)&lt;br /&gt;Too many case statements&lt;br /&gt;Same class changes differently depending on the additions&lt;br /&gt;Dependency of method is too high from other objects&lt;br /&gt;Lazy class (does not do too much)&lt;br /&gt;Class with too many delegating methods&lt;br /&gt;Too much coupled amongst the classes, accessor classes&lt;br /&gt;Overall slow response time to client requests&lt;br /&gt;&lt;br /&gt;3&lt;a name="_Toc106008294"&gt;. &lt;strong&gt;Refactoring Benefits&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc106008295"&gt;&lt;/a&gt;&lt;a name="_Toc106004453"&gt;&lt;/a&gt;&lt;a name="_Toc106004436"&gt;Some of the main benefits of refactoring are elaborated below:&lt;/a&gt;&lt;br /&gt;Code manipulation in safe environment&lt;br /&gt;Improves scalability, maintainability and portability of the existing system, where possible&lt;br /&gt;Leads to better understanding of existing code&lt;br /&gt;Identifies and reduces an existing system’s performance bottlenecks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-114318206949975900?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/114318206949975900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=114318206949975900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114318206949975900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114318206949975900'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2006/03/refactoring.html' title='Refactoring'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-114311881832674126</id><published>2006-03-23T18:23:00.000+05:30</published><updated>2006-03-23T18:30:18.326+05:30</updated><title type='text'>Automated EAR deployment through ANT script in WAS</title><content type='html'>Any body who deployed webapplications through websphere admin console will know the pain full process of having series of wizards asking n number of questions.&lt;br /&gt;&lt;br /&gt;To avoid, recently I tried for automated deployment process throgh ANT. I thought of sharing my experience wrto same.&lt;br /&gt;&lt;br /&gt;Here the steps which I followed:&lt;br /&gt;1.Created the ANT script which builds the EAR.&lt;br /&gt;2.Since our application server situated outside our current dev env, I used SSH facility throgh ant and copied the ear into the server location.&lt;br /&gt;3.Then I used .jacl scripts (which are websphere propietry..) for the copied ear deployment.&lt;br /&gt;4.Created the .sh/.bat file (depends on the WAS installed OS) which will execute the .jacl script.&lt;br /&gt;5.Called the .sh file through ANT script.&lt;br /&gt;6.You can extend your build script to run the JUnits to know how much your build stable??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-114311881832674126?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/114311881832674126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=114311881832674126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114311881832674126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114311881832674126'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2006/03/automated-ear-deployment-through-ant.html' title='Automated EAR deployment through ANT script in WAS'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24590849.post-114311173877375385</id><published>2006-03-23T16:30:00.000+05:30</published><updated>2006-03-23T17:23:48.866+05:30</updated><title type='text'>Agile development</title><content type='html'>Agile development opened up a new way of developing a software in more meaningful way of day-day development approach.&lt;br /&gt;&lt;br /&gt;In the current project which I am associated with contains following agile and xp best practices:&lt;br /&gt;&lt;li&gt;SCRUM &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Contineous Intigration &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Test-First Approach &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sprint Backlog Management&lt;br /&gt;&lt;br /&gt;we found above practices are very useful.&lt;/li&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24590849-114311173877375385?l=arvindpatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arvindpatil.blogspot.com/feeds/114311173877375385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24590849&amp;postID=114311173877375385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114311173877375385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24590849/posts/default/114311173877375385'/><link rel='alternate' type='text/html' href='http://arvindpatil.blogspot.com/2006/03/agile-development.html' title='Agile development'/><author><name>Arvind Patil</name><uri>http://www.blogger.com/profile/04332722328794630383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_XGwX1XMOBfk/TH7qnk5AK6I/AAAAAAAAAD8/VFzMvR62G30/S220/RSCN1849.jpg'/></author><thr:total>0</thr:total></entry></feed>
