<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-9025293719803821929</atom:id><lastBuildDate>Thu, 29 Aug 2024 10:34:13 +0000</lastBuildDate><category>Java</category><category>JBPM</category><category>Java Basic</category><category>BPM</category><category>Book Review</category><category>Design Pattern</category><category>JBPM Architecture</category><category>Algorithms</category><category>Amazon</category><category>Creational Pattern</category><category>ENUMS</category><category>Interview Question</category><category>JBPM Database</category><category>Java Thread</category><category>Oracle BPM</category><category>PHP</category><category>SOA</category><category>SoapUI</category><title>My Technology Blog</title><description>Topics covered are on SOA,Java, Oracle, BEA, Aqualogic, BPM, PHP</description><link>http://technical-tutorials.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-4787764647690426368</guid><pubDate>Fri, 23 Jul 2010 07:53:00 +0000</pubDate><atom:updated>2010-07-23T01:12:44.099-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Creational Pattern</category><category domain="http://www.blogger.com/atom/ns#">Design Pattern</category><title>Factory Method Pattern</title><description>&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;Factory Method Pattern&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;An important facet of system design is the manner in which objects are created. One of the most widely used creational patterns is the &lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Factory Method Pattern.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Creational patterns describe object-creation mechanisms that enable greater levels of reuse in evolving systems&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Let’s consider that, the client is an object that requires an instance of another object (the product) for some purpose. Rather than creating the product instance directly, the client delegates this responsibility to the factory. Once invoked, the factory creates a new instance of the product, passing it back to the client. Put simply, the client uses the factory to create an instance of the product.&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;CLIENT&lt;/b&gt; ---uses----&amp;gt; &lt;b&gt;FACTORY (Creator)&lt;/b&gt; ----create----&amp;gt;&lt;b&gt;PRODUCT&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The &lt;b&gt;Factory&lt;/b&gt; completely abstracts the creation and initialization of the &lt;b&gt;Product&lt;/b&gt; from the &lt;b&gt;Client&lt;/b&gt;, which helps client to focus on its discrete role. As the product implementation changes in future, the client remains unchanged.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;“Factory Method Pattern defines an interface for creating an object but let’s subclass decide which class to instantiate”&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Most implementations of the Factory method pattern use two abstract classes, &lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Factory&lt;/span&gt;&lt;/b&gt; and &lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Product.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Consider the following example for Factory Method Pattern.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Let consider AbstractProduct.java class as abstract product class which return the cost of the product. This abstract product class is extended and two concrete classes are created i.e.&amp;nbsp; ProductSubClass_One.java and ProductSubClass_Sec.java&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr8_5T26iReSYZ6kYEGJyk74cNKI1FOKdf02F9eWn-3iypr3uhhKWCdY0z1wf2OmoxeRqfc9acTD46p4Su9PGAJS11Nxdfx4NV4gENgv8dDacS-NKxkRwMSUQpLI_emueFhENC72AccekG/s1600/AbstractProd.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr8_5T26iReSYZ6kYEGJyk74cNKI1FOKdf02F9eWn-3iypr3uhhKWCdY0z1wf2OmoxeRqfc9acTD46p4Su9PGAJS11Nxdfx4NV4gENgv8dDacS-NKxkRwMSUQpLI_emueFhENC72AccekG/s320/AbstractProd.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;ProductSubClass_One.java-This class extends AbstractProduct class and provide first concrete implementation of getProductCost() method.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNUXX_zPztmiKxaF-1J57mSgmP6SrMrTrNPm_zt_hafHxVFg1uVi9ycTSq8ltc3uAyfTic1mP6RYMoK2lY6UYYut7zBtKnZtSiz8hXdeTU4Kp_mb71n59f_X9PmvqM1Rs29RiYvBskTaxY/s1600/ProdSubClass_One.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNUXX_zPztmiKxaF-1J57mSgmP6SrMrTrNPm_zt_hafHxVFg1uVi9ycTSq8ltc3uAyfTic1mP6RYMoK2lY6UYYut7zBtKnZtSiz8hXdeTU4Kp_mb71n59f_X9PmvqM1Rs29RiYvBskTaxY/s320/ProdSubClass_One.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&amp;nbsp;  &lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;ProductSubClass_Sec.java-This class extends AbstractProduct class and provide second concrete implementation of getProductCost() method.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhabNCMGBp4g9VGivRJnTSD4dSIe9PFGMRlM64Az3L_m1zerzthFgPgrHUf8HDbMZ7hFoCwruzlOuXa7iAnm5vaKBdnRJJbxHlTd-WkF31leMLrgNlrrmKRab-3Tk8ZYabRGOboyMF-8sgk/s1600/ProdSubClass_Sec.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhabNCMGBp4g9VGivRJnTSD4dSIe9PFGMRlM64Az3L_m1zerzthFgPgrHUf8HDbMZ7hFoCwruzlOuXa7iAnm5vaKBdnRJJbxHlTd-WkF31leMLrgNlrrmKRab-3Tk8ZYabRGOboyMF-8sgk/s320/ProdSubClass_Sec.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Next consider the Factory (Creator) class AbstractCreator.java is an abstract class which contains one method createProduct(String)&amp;nbsp; method for creating the Product.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUb-66wOcpDNjhzNC9YpPbwBITD64aJtgpKvG288XkIZX9QKi6pHPlovvqcdI8NigyQgCiXZQ-MWI91547Ok1I6pkWbTWf62n6Kj5_ugzJAeVFCcELmel6JYBgQQeoNlbDq9elwvzpBwpS/s1600/AbstractCreator.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUb-66wOcpDNjhzNC9YpPbwBITD64aJtgpKvG288XkIZX9QKi6pHPlovvqcdI8NigyQgCiXZQ-MWI91547Ok1I6pkWbTWf62n6Kj5_ugzJAeVFCcELmel6JYBgQQeoNlbDq9elwvzpBwpS/s320/AbstractCreator.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Now we will create a concrete class of the Factory (creator) i.e. ConcreteCreator.java which override the createProduct (String) method to return object of the concrete Product Sub Class based on the type.&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMKjLC3N3DuK9n4WGaObxlNQDXygTYpD4q8WmMOVs4M0dWK8-rNe3k6aTFsoTtK_jxhVC4aX6a6sy-uuosHQXGksyrMkfAsF8fa3AjQilYhOL4eqmiQHAbxbzQTx16X5k3IntYeTzw-bdO/s1600/ConcreteCreator.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMKjLC3N3DuK9n4WGaObxlNQDXygTYpD4q8WmMOVs4M0dWK8-rNe3k6aTFsoTtK_jxhVC4aX6a6sy-uuosHQXGksyrMkfAsF8fa3AjQilYhOL4eqmiQHAbxbzQTx16X5k3IntYeTzw-bdO/s320/ConcreteCreator.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Till now we have created Factory and Product related classes, now we will create a Client class which in turn uses Factory (creator) class to obtain a Product object.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKBSLjsAvLmuHtMXGdD1D7s2eTWqCK8njr54VkiufWZSvpoTcgZMasg1syVUUYCoF7Xgs7j7JA66Q0z5DiLyDVD2mrJGRTwF2bUoLefXD4g1QljXRj3kIJTL5n3bujL2b1c8Py8aZuZlJC/s1600/Client.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKBSLjsAvLmuHtMXGdD1D7s2eTWqCK8njr54VkiufWZSvpoTcgZMasg1syVUUYCoF7Xgs7j7JA66Q0z5DiLyDVD2mrJGRTwF2bUoLefXD4g1QljXRj3kIJTL5n3bujL2b1c8Py8aZuZlJC/s320/Client.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&amp;nbsp;  &lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Here in this class we are creating a Factory (creator) object and using this factory object to obtain the product based on “type” which passed as argument in createProduct (String) method.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;When we run the Client.java class we will get object of ProductSubClass_One class which gives following output.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWkFy1yKRdHkwYYyPIC2GzqQfhJVy-nfbj7fnspWcjsk2_u0QThhgln85Guk4_xne0p-gPCOqxiAcMNgJI34vchwC3_3q2v9FGVxOeT9tqMDl0GF61uW4f5OGRNG0Vmn9i6knMvG_iW1Xw/s1600/Client_Op.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWkFy1yKRdHkwYYyPIC2GzqQfhJVy-nfbj7fnspWcjsk2_u0QThhgln85Guk4_xne0p-gPCOqxiAcMNgJI34vchwC3_3q2v9FGVxOeT9tqMDl0GF61uW4f5OGRNG0Vmn9i6knMvG_iW1Xw/s320/Client_Op.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;    &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Factory method pattern should be used,&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li style=&quot;font-family: inherit;&quot;&gt;When the object creation depends upon the user data or some event;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;When object which is getting created is abstracted from the user;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;When the type of object created is to be decided at runtime.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;</description><link>http://technical-tutorials.blogspot.com/2010/07/factory-method-pattern.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr8_5T26iReSYZ6kYEGJyk74cNKI1FOKdf02F9eWn-3iypr3uhhKWCdY0z1wf2OmoxeRqfc9acTD46p4Su9PGAJS11Nxdfx4NV4gENgv8dDacS-NKxkRwMSUQpLI_emueFhENC72AccekG/s72-c/AbstractProd.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-203769348209141756</guid><pubDate>Sat, 17 Jul 2010 08:39:00 +0000</pubDate><atom:updated>2010-07-17T01:41:16.353-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Algorithms</category><category domain="http://www.blogger.com/atom/ns#">Amazon</category><category domain="http://www.blogger.com/atom/ns#">Interview Question</category><title>Amazon Interview Questions</title><description>Q1.&lt;br /&gt;
&lt;br /&gt;
Given an array of size n+1 which contains all the numbers from 1 to n. Find the number which is repeated in O(n) time. How do you proceed with the same with floating numbers from 0 to 1 instead of 1 to n.&lt;br /&gt;
&lt;br /&gt;
Ans: &lt;br /&gt;
&lt;br /&gt;
The number appearing two times is (sum of all the numbers in the array) - (sum of the numbers from 1 to n). For floating numbers multiply it with 100 and proceed.&lt;br /&gt;
&lt;br /&gt;
Q2. &lt;br /&gt;
&lt;br /&gt;
How will you find the first k smallest elements in a given unsorted array in O(n) at the worst case?&lt;br /&gt;
&lt;br /&gt;
Ans:&lt;br /&gt;
&lt;br /&gt;
This can be solved in O(n) time.  You can find out the position of kth element in an array using the  &quot;median of medians&quot; algorithm.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Selection_algorithm#Linear_general_selection_algorithm_-_.22Median_of_Medians_algorithm.22&quot;&gt;Median of Medians Algorithm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Once we have the kth element, we can just iterate through the array and print elements that are smaller than the kth element to get the k smallest elements.</description><link>http://technical-tutorials.blogspot.com/2010/07/amazon-interview-questions.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-5342221450324099147</guid><pubDate>Fri, 09 Jul 2010 13:52:00 +0000</pubDate><atom:updated>2010-07-09T06:57:49.009-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Effective SOA Governance</title><description>&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CDOCUME%7E1%5Cgur20221%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;
	mso-font-charset:2;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
	{font-family:&quot;Cambria Math&quot;;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:&quot;&quot;;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:&quot;Times New Roman&quot;;
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:825785765;
	mso-list-type:hybrid;
	mso-list-template-ids:-762045336 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l1
	{mso-list-id:857235256;
	mso-list-type:hybrid;
	mso-list-template-ids:-2095523432 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l2
	{mso-list-id:1127508623;
	mso-list-type:hybrid;
	mso-list-template-ids:1713782172 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3
	{mso-list-id:1190265601;
	mso-list-type:hybrid;
	mso-list-template-ids:-1067165314 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l3:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.5in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l4
	{mso-list-id:1197546413;
	mso-list-type:hybrid;
	mso-list-template-ids:-462257862 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l4:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l5
	{mso-list-id:1264847191;
	mso-list-type:hybrid;
	mso-list-template-ids:348694254 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l5:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l5:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.5in;
	text-indent:-.25in;
	font-family:&quot;Courier New&quot;;}
@list l6
	{mso-list-id:1463767519;
	mso-list-type:hybrid;
	mso-list-template-ids:604700142 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l6:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.5in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l7
	{mso-list-id:1837528767;
	mso-list-type:hybrid;
	mso-list-template-ids:-1922551912 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l7:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l8
	{mso-list-id:1878853080;
	mso-list-type:hybrid;
	mso-list-template-ids:-699766448 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l8:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--&gt;
&lt;/style&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Now a day it is of paramount importance that an enterprise that is strategizing around SOA needs an efficient governance mechanism. SOA governance is more than just providing governance for SOA efforts; it is how IT governance should operate within an enterprise that has adopted SOA as its primary approach to enterprise architecture.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Steps for effective SOA governance&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;text-align: justify; text-indent: -0.25in;&quot;&gt;1.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Governance should be included from very beginning of SOA initiative.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Because of the nature of discrete, well-defined services within a SOA, governance is not exclusively a runtime or design-time activity. SOA governance happens all the time—design time, run time, and change time—and architects understand this.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: justify; text-indent: -0.25in;&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Effective SOA starts with governance but a governance solution need to be sold to business to get necessary funding. Approach executive management with the justification for SOA governance. Business should understand the benefit of SOA governance for getting support. E.g.&amp;nbsp; Hartford case study. There was firm commitment from Leadership team of Hartford to put governance in place.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in; text-align: justify;&quot;&gt;Business team need to understand the benefit of codifying best practices, processes and rules into reusable services based on&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 1.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Better control of business solution&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 1.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Enabling business and IT teams to collaborate based on business requirements.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in; text-align: justify;&quot;&gt;Business team needs to provide support for SOA governance&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 1.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Cross organizational oversight&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Centralize management of adoption of SOA across organization&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Encourage collaboration across business units with different perspectives.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.5in; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify; text-indent: -0.25in;&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Create a comprehensive plan to create high value and right business service with executive support. Roadmap is needed to ensure success.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Begin with understanding of the corporate goals and objectives of the business. Establish a governance process before your organization begins building business services.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Choosing projects that integrate and automate business processes that have the most widespread, visible, and positive impact across the organization enables IT to both qualitatively and quantifiably demonstrate the value of well-governed SOA to the business.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Develop a process to catalog information about each service- definitions, control, and change management.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt; Plan to ensure services are safe to use i.e. security&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify; text-indent: -0.25in;&quot;&gt;4.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Establish process for organizational change-managing change is as important as creating SOA services. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Put processes in place to keep track of which business services are developed and when/how they are changed&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Avoid chaos by creating systematic approach to notification and approval for changes.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Business need to agree on business rules to ensure stability and trust.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Create business services in a predictable manner based on corporate governance requirements.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify; text-indent: -0.25in;&quot;&gt;5.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Balancing risk with oversight to find proper balance for SOA governance.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;How much risk can you afford to take?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Which business need high level of oversight at corporate and IT level? Some business process require high level of oversight other not. There should always be room for innovation. Future innovation should not be constrained.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Build flexibility into your governance model.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: justify; text-indent: -0.25in;&quot;&gt;6.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Governing Service Lifecycle – ongoing process&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in; text-align: justify;&quot;&gt;Governance process needs to be ongoing. Step to manage service over their lifecycle&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Decompose parts of business processes&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Identify the service owner. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Identify the source of funding.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Govern services from an end to end perspective, so they are not viewed as isolated elements.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Provide support to ongoing services.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Ensure service meet the corporate objectives. As corporate objective change services change&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in; text-align: justify;&quot;&gt;In the end some important points&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;SOA demands a business focus to be effective&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;SOA demands that you codify business processes into reusable services&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 1in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Trust is the heart of SOA governance – predictability is the foundation of trust&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; line-height: 115%;&quot;&gt;Business and IT are jointly responsible for ensuring that software reflects best business and IT practices&lt;/span&gt;&lt;/div&gt;</description><link>http://technical-tutorials.blogspot.com/2010/07/effective-soa-governance.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-3992803091476440942</guid><pubDate>Sat, 26 Jun 2010 11:03:00 +0000</pubDate><atom:updated>2010-06-26T04:03:48.131-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Design Pattern</category><category domain="http://www.blogger.com/atom/ns#">Java</category><title>Singleton Design Pattern</title><description>The Singleton creation pattern is a common programming idiom.The Singleton is a useful Design Pattern for allowing only one instance of your class to be created, but common mistakes can inadvertently allow more than one instance to be created.&lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;classic &lt;/b&gt;example is:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRWEevlGl0yEQIbAtJR91Nthh4K1GtfKxKKOjtORzk6E0rMxxXychj9nyezwVBdYYJ3DBDDPvX-Og1vYs9uT3BAur80CdLVa0zkMzFtN_Mg_GUHvayiDqu9Mg_U2qcCCYgZ63e7SEnUBLM/s1600/classic_singleton.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;285&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRWEevlGl0yEQIbAtJR91Nthh4K1GtfKxKKOjtORzk6E0rMxxXychj9nyezwVBdYYJ3DBDDPvX-Og1vYs9uT3BAur80CdLVa0zkMzFtN_Mg_GUHvayiDqu9Mg_U2qcCCYgZ63e7SEnUBLM/s400/classic_singleton.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&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;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
This is a good solution and design of this class ensures that only one &lt;code&gt;Singleton&lt;/code&gt; object is ever created. The constructor is declared &lt;code&gt;private&lt;/code&gt; and the &lt;code&gt;getInstance()&lt;/code&gt; method creates only one object&amp;nbsp;  In the general case, however, it is not thread-safe. This implementation is fine for single threaded program but when multiple threads are introduced then getInstance() method must be protected.&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: inherit;&quot;&gt;Consider two threads calling the &lt;code&gt;getInstance()&lt;/code&gt; method concurrently and the following sequence of events.&lt;/div&gt;&lt;ol&gt;&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread A calls the &lt;code&gt;getInstance()&lt;/code&gt; method and determines that &lt;code&gt;instance&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt; at //1. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread A enters the &lt;code&gt;if&lt;/code&gt; block at //1, but is preempted by thread B before executing the line at //2. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B calls the &lt;code&gt;getInstance()&lt;/code&gt; method and determines that &lt;code&gt;instance&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt; at //1. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B enters the &lt;code&gt;if&lt;/code&gt; block at //1 and creates a new &lt;b&gt;&lt;code&gt;Singleton&lt;/code&gt; &lt;/b&gt;object and assigns the variable &lt;code&gt;instance&lt;/code&gt; to this new object at //2. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B returns the &lt;b&gt;&lt;code&gt;Singleton&lt;/code&gt;&lt;/b&gt; object reference at //3. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B is preempted by thread A. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread A starts where it left off and executes line //2 which results in creation of another &lt;b&gt;&lt;code&gt;Singleton&lt;/code&gt; &lt;/b&gt;object. &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Thread A returns this second object at //3&lt;/span&gt;.&lt;/li&gt;
&lt;/ol&gt;The above classic example creates two Singleton objects when it should create one. This problem can be corrected by synchronization of getInstance() method, which would allow only one thread to execute at a time in getInstance() method.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIzx_J5WWxY9QKjPESiTfkSmoMufjDaSZwza15IwtynWU92Gf531HjzWdIDP5VAd_rjTi1JhzoLqbg3i7hJXKYU4vq8uCq4bH_rcnBEB_sgo16GOGRg709Ns3FZNRA-SGKl8l5b_DITWY0/s1600/sync_singleton.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIzx_J5WWxY9QKjPESiTfkSmoMufjDaSZwza15IwtynWU92Gf531HjzWdIDP5VAd_rjTi1JhzoLqbg3i7hJXKYU4vq8uCq4bH_rcnBEB_sgo16GOGRg709Ns3FZNRA-SGKl8l5b_DITWY0/s1600/sync_singleton.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;195&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIzx_J5WWxY9QKjPESiTfkSmoMufjDaSZwza15IwtynWU92Gf531HjzWdIDP5VAd_rjTi1JhzoLqbg3i7hJXKYU4vq8uCq4bH_rcnBEB_sgo16GOGRg709Ns3FZNRA-SGKl8l5b_DITWY0/s400/sync_singleton.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;
&lt;ol&gt;&lt;/ol&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;
The synchronized code mentioned above works correctly for a multithreaded access to getInstance() method. But on carefully looking at the code, you can easily make out that instead of synchronizing whole of getInstance() method, synchronization is required only for the first invocation of the method. Subsequent invocations to getInstance() method does not require synchronization because the first invocation is the only invocation that executes the code at line //2. Synchronization has performance cost associated with it, so in order to make above program more efficient we have following third approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoqVdvkod4kb-Y4M9_NOMtO-41mL0rdTdxFJNtFa5Y6TpyViQtEfLxVEm_64ioahAQEBL52CWduAzU1xAARQP87E52ZtGG9tn8S8Ds1WSN2UFMt7rN_J5JLD7sMNaAILLFgIcYYjdNeWsv/s1600/sync_singleton_2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;257&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoqVdvkod4kb-Y4M9_NOMtO-41mL0rdTdxFJNtFa5Y6TpyViQtEfLxVEm_64ioahAQEBL52CWduAzU1xAARQP87E52ZtGG9tn8S8Ds1WSN2UFMt7rN_J5JLD7sMNaAILLFgIcYYjdNeWsv/s400/sync_singleton_2.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&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;
SyncSingleton_2 class also exhibits the same problem as was there with the Classic approach.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: inherit;&quot;&gt;Consider two threads calling the &lt;code&gt;getInstance()&lt;/code&gt; method concurrently and the following sequence of events.&lt;/div&gt;&lt;ol&gt;&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread A calls the &lt;code&gt;getInstance()&lt;/code&gt; method and determines that &lt;code&gt;instance&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt; at //1. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread A enters the &lt;code&gt;if&lt;/code&gt; block at //1, but is preempted by thread B before entering the Synchronized block.. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B calls the &lt;code&gt;getInstance()&lt;/code&gt; method and determines that &lt;code&gt;instance&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt; at //1. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B enters the &lt;code&gt;if&lt;/code&gt; block at //1 and creates a new &lt;b&gt;&lt;code&gt;Singleton&lt;/code&gt; &lt;/b&gt;object and assigns the variable &lt;code&gt;instance&lt;/code&gt; to this new object at //2. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B returns the &lt;b&gt;&lt;code&gt;Singleton&lt;/code&gt;&lt;/b&gt; object reference at //3. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread B is preempted by thread A. &lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: inherit;&quot;&gt;Thread A starts where it left off and executes line //2 which results in creation of another &lt;b&gt;&lt;code&gt;Singleton&lt;/code&gt; &lt;/b&gt;object. &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Thread A returns this second object at //3&lt;/span&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
To fix the above problem there is solution which require that a second check should be made before creating the object. This method is called &lt;b&gt;Double Checked locking&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp777y6GFpvwQB_yKBEjPoxWfgr3facZ2aaWB3zO_OFSqMjzi2Nu3dl4g0e-o_iwJn46mpkuLZYtIOU5HuOXqF74g2356c6jArfv3__RxqNX02dByguzU-V77yh-Mayq1GgQ1t62h1r6va/s1600/sync_singleton_dc.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;252&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp777y6GFpvwQB_yKBEjPoxWfgr3facZ2aaWB3zO_OFSqMjzi2Nu3dl4g0e-o_iwJn46mpkuLZYtIOU5HuOXqF74g2356c6jArfv3__RxqNX02dByguzU-V77yh-Mayq1GgQ1t62h1r6va/s400/sync_singleton_dc.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&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;
The concept behind double-checked locking is that the second check at //2 makes it impossible for two different &lt;code&gt;SyncSingleton_3&lt;/code&gt; objects to be created.&lt;br /&gt;
The concept behind Double Check Locking makes it perfect, but this is not the case.The problem with double-checked locking is that there is no guarantee it will work.This is because of Java Platform memory model which allow out-of order writes. We won&#39;t be covering that here.&lt;br /&gt;
&lt;br /&gt;
The bottom line is that double-checked locking, in whatever form, should not be used because you cannot guarantee that it will work. So there are only two options left which are as follows.&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;First is to synchronize getInstance() method, which we have already covered above.&lt;/li&gt;
&lt;li&gt;Second is to let go synchronization and use static instead, which we will cover now.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqdv-YCgx8z5vLBarbpZjzFY4EFIyTJ6BNXLctpdPgogdDyL5fAes9VUxTI7JxyFhcMzIZUazABo5ux-iitMcpuvzN2OnHCtqoegq_9T5nVPaNISDO_gHBZuhZQsUgeexRpaBiN3cM8WEC/s1600/static_singleton.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqdv-YCgx8z5vLBarbpZjzFY4EFIyTJ6BNXLctpdPgogdDyL5fAes9VUxTI7JxyFhcMzIZUazABo5ux-iitMcpuvzN2OnHCtqoegq_9T5nVPaNISDO_gHBZuhZQsUgeexRpaBiN3cM8WEC/s400/static_singleton.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&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;
In the above scenario StaticSingleton object is not created until call is made to static getInstance() method. This is a good alternative is you donot wish to use synchronisation.The Java specs guarantees that the static initializer will be executed only once, at class load time. There could be an argument that, this would create an object if someone refers to the class or at class loading time even if it is not used and this becomes a valid argument when the object is heavy.&lt;br /&gt;
&lt;br /&gt;
An embedded static final class can defer this as shown below&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg07VJeN0DSbqoDShG1g2vyaH48SwdQ9psDhytB9bwlxV3rg1vlmn5CUXM0weoMnN_81cYUMCbyBYJlNXX438t39lIt8V2mRZrcVGPgvd5BKusZuYpBwf9AoDKg7De7fG7U5OFE2v-DF-44/s1600/static_singleton_inner.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;195&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg07VJeN0DSbqoDShG1g2vyaH48SwdQ9psDhytB9bwlxV3rg1vlmn5CUXM0weoMnN_81cYUMCbyBYJlNXX438t39lIt8V2mRZrcVGPgvd5BKusZuYpBwf9AoDKg7De7fG7U5OFE2v-DF-44/s400/static_singleton_inner.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&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;
&amp;nbsp; &lt;br /&gt;
If someone happens to refer to StaticSingleton.class , the singleton object would not be created unless explicit call to getInstance() method is not done.At that time, S&lt;strong&gt;&lt;/strong&gt;ingletonHolder is referred to; its class loads; and its static member &lt;b&gt;instance&lt;/b&gt; is instantiated.&lt;br /&gt;
&lt;br /&gt;
There is one thing clear after above discussion on Singleton, that any implementation should be matched carefully to the application at hand.</description><link>http://technical-tutorials.blogspot.com/2010/06/singleton-design-pattern.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRWEevlGl0yEQIbAtJR91Nthh4K1GtfKxKKOjtORzk6E0rMxxXychj9nyezwVBdYYJ3DBDDPvX-Og1vYs9uT3BAur80CdLVa0zkMzFtN_Mg_GUHvayiDqu9Mg_U2qcCCYgZ63e7SEnUBLM/s72-c/classic_singleton.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-489864016043646647</guid><pubDate>Thu, 17 Jun 2010 19:04:00 +0000</pubDate><atom:updated>2010-06-17T12:05:33.568-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle BPM</category><title>Configuration of Oracle BPM enterprise 10.3.1.0.0 (Standalone) with MSSQL Server 2005</title><description>&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso&quot; rel=&quot;Edit-Time-Data&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:&quot;&quot;;
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:&quot;Times New Roman&quot;;
	mso-fareast-font-family:&quot;Times New Roman&quot;;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;Step 1: Click on &lt;b&gt;Add &lt;/b&gt;button&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNhkoJlyCTH7c6unBCKS2kEqLDNQBxM03I2U-1ZxS2VuRJ1i4mlxGpnOF4rVpslOFAApxQdJ1EAGxwR7O1aFhs3byJ7hjcroEEmpjbtpLhgyG_yP70tjFQ2VCxWSNRWnCH1b4wlHuF_x4S/s1600/untitled1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNhkoJlyCTH7c6unBCKS2kEqLDNQBxM03I2U-1ZxS2VuRJ1i4mlxGpnOF4rVpslOFAApxQdJ1EAGxwR7O1aFhs3byJ7hjcroEEmpjbtpLhgyG_yP70tjFQ2VCxWSNRWnCH1b4wlHuF_x4S/s320/untitled1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;Step 2:&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSXZo13UICrEvsmf1JvJSXATiSIYy-I1wZi6w7QCiBm8VUWPZKCqjrkEQzdsXwl-7favGzwjPrESW41276zzn6RGzcH8EB1wQ4Zx8ZbQSICX_mjacWZZNLIF_YbptZf0pVFvAtr_dTheT9/s1600/clip_image002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSXZo13UICrEvsmf1JvJSXATiSIYy-I1wZi6w7QCiBm8VUWPZKCqjrkEQzdsXwl-7favGzwjPrESW41276zzn6RGzcH8EB1wQ4Zx8ZbQSICX_mjacWZZNLIF_YbptZf0pVFvAtr_dTheT9/s320/clip_image002.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; Step 3:&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;br /&gt;
&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGT6WiUrLGNcdNf8_nzFX-d4L6gKjUDVyizoVDzcN99hPvuT-yFuLdGjnfb1T2QMCpgkoNo4T7i4t6iUZeqkgX1VBZWXy1Rwi8ehb1rJGukFnNqLlKTgve8m3NnBuxplNmFmhhP3pbC93i/s1600/clip_image003&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGT6WiUrLGNcdNf8_nzFX-d4L6gKjUDVyizoVDzcN99hPvuT-yFuLdGjnfb1T2QMCpgkoNo4T7i4t6iUZeqkgX1VBZWXy1Rwi8ehb1rJGukFnNqLlKTgve8m3NnBuxplNmFmhhP3pbC93i/s320/clip_image003&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;br /&gt;
&lt;/o:p&gt;&lt;/div&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:&quot;&quot;;
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:&quot;Times New Roman&quot;;
	mso-fareast-font-family:&quot;Times New Roman&quot;;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:44718439;
	mso-list-type:hybrid;
	mso-list-template-ids:-288735280 67698711 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-number-format:alpha-lower;
	mso-level-text:&quot;%1\)&quot;;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1
	{mso-list-id:488063153;
	mso-list-type:hybrid;
	mso-list-template-ids:1120972326 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--&gt;
&lt;/style&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;Step 4: &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;margin-top: 0in;&quot; type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot;&gt;Enter      the host name were MSSQL server is running&amp;nbsp;      &lt;b&gt;Host&lt;/b&gt;: localhost&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enter      the Port on which MSSQL server is listening/running &lt;b&gt;Port&lt;/b&gt; : 2108&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Create      a login in MSSQL server &lt;b&gt;obpmdir&lt;/b&gt;      and provide &lt;b&gt;dbcreator&lt;/b&gt; role&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1in; text-indent: -0.25in;&quot;&gt;a.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Enter &lt;b&gt;User&lt;/b&gt; : obpmdir&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1in; text-indent: -0.25in;&quot;&gt;b.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Enter &lt;b&gt;Password&lt;/b&gt; : ********&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1in; text-indent: -0.25in;&quot;&gt;c.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Enter &lt;b&gt;Confirm Password&lt;/b&gt; : *********&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;ol start=&quot;4&quot; style=&quot;margin-top: 0in;&quot; type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot;&gt;Enter      the database name for Directory: &lt;b&gt;Database&lt;/b&gt;      : OBPMDir&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU07u14ZK4sbbxGWtejKYi-Kk1AisjcmBjwVLgr2Bia0LzhTELCvkxCIOWvs7m9GJqe7GMCX7wPBmO3nNLf3VmJkjeaZIOAN-xZLpvszi4lFmr1ZwldRhc3r_KhUlP5mfX08m0ovzQKmTA/s1600/clip_image004.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU07u14ZK4sbbxGWtejKYi-Kk1AisjcmBjwVLgr2Bia0LzhTELCvkxCIOWvs7m9GJqe7GMCX7wPBmO3nNLf3VmJkjeaZIOAN-xZLpvszi4lFmr1ZwldRhc3r_KhUlP5mfX08m0ovzQKmTA/s320/clip_image004.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&amp;nbsp;Step 5:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJBzicwRMJKhUsq43ON-kNpNxoLBZi6pskJ0mxpcjjlnXHjMX_7pw5I4DY_MW6ezL6m0eViFy2HLcCyyeBZAhoNs6b86XNw_iTXzsLBD4egkhJReOwmwQhEBASlyFU41vpo4pOmr4UMQ5I/s1600/clip_image005.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJBzicwRMJKhUsq43ON-kNpNxoLBZi6pskJ0mxpcjjlnXHjMX_7pw5I4DY_MW6ezL6m0eViFy2HLcCyyeBZAhoNs6b86XNw_iTXzsLBD4egkhJReOwmwQhEBASlyFU41vpo4pOmr4UMQ5I/s320/clip_image005.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&amp;nbsp;Step 6: &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxk310rd9-XdEWaDvx9jdwsD9KdWj5BO6V1cysqGA6SWCaWMA810BIEUXCirP25vcoSPGuSUNg76mzUvfj7LVgb0g9X798ZT9fGs3g8SJ0KaSLZoA0c8OiZlNXR6fl6Pfn8xDM5sIktyeS/s1600/clip_image006.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxk310rd9-XdEWaDvx9jdwsD9KdWj5BO6V1cysqGA6SWCaWMA810BIEUXCirP25vcoSPGuSUNg76mzUvfj7LVgb0g9X798ZT9fGs3g8SJ0KaSLZoA0c8OiZlNXR6fl6Pfn8xDM5sIktyeS/s320/clip_image006.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Step 7:&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:&quot;&quot;;
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:&quot;Times New Roman&quot;;
	mso-fareast-font-family:&quot;Times New Roman&quot;;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt; Repeat steps performed for creating directory i.e. step 4, for creating engine&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKjWr1yIo6_80QyzCkhk3NYJTcwsOc8lEjgk6Gluw4Qtt-oIXPc8IFTuenAdWn-OryBC_RJ0AoyTgJqXO1hPcJQFTQbcoyFZYiZ5tnBMma9NGK2MPWL1z_F-h7qeJiy3t5JEcFC31ua73j/s1600/clip_image007.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKjWr1yIo6_80QyzCkhk3NYJTcwsOc8lEjgk6Gluw4Qtt-oIXPc8IFTuenAdWn-OryBC_RJ0AoyTgJqXO1hPcJQFTQbcoyFZYiZ5tnBMma9NGK2MPWL1z_F-h7qeJiy3t5JEcFC31ua73j/s320/clip_image007.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 8:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT2-OrBI1GvF3FrMS3HSLoilSsj_vePss07lHK7CckILqnUnrAlqUQT1XyCVTXNbCzcIaaaxEVp0LpZLaEu-WsrFFtPX-r2WGEJs-adIW6mIwjQhthVW2sDbYyKv0JvHI1JL8u-85XqcGt/s1600/clip_image008.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT2-OrBI1GvF3FrMS3HSLoilSsj_vePss07lHK7CckILqnUnrAlqUQT1XyCVTXNbCzcIaaaxEVp0LpZLaEu-WsrFFtPX-r2WGEJs-adIW6mIwjQhthVW2sDbYyKv0JvHI1JL8u-85XqcGt/s320/clip_image008.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;Step 9: Make sure MSSQL server is up and running&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGOL5_sDOdrHpyheykn_TF6ydmYjhjseHGPUXOhZ-2DP_NsNIrUNMQ9EnSPgagEHhmQPjp5aBRtXU4rk-GL3enifM6CZhhooctWVnYw2jDcGjHLbrMDpCvmtuJOw9t_4uMrSkC2QxyyIl_/s1600/clip_image009.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGOL5_sDOdrHpyheykn_TF6ydmYjhjseHGPUXOhZ-2DP_NsNIrUNMQ9EnSPgagEHhmQPjp5aBRtXU4rk-GL3enifM6CZhhooctWVnYw2jDcGjHLbrMDpCvmtuJOw9t_4uMrSkC2QxyyIl_/s320/clip_image009.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Step 10: &lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:&quot;&quot;;
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:&quot;Times New Roman&quot;;
	mso-fareast-font-family:&quot;Times New Roman&quot;;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;Directory configuration added under Directories section&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMVMzEARkHlD_fGQyy2AFPBQprLpeJdtyQBWfb_JJzDGoOmI1DoVkpefBJoRupYEUuUS4OwsAWr3SjY7ewrZVdEbP6oirs5Uyy17Mvb5Ob5DwuLQjTSOC5BiiHjUu6WyVpkayQFzqSi8qj/s1600/clip_image010.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMVMzEARkHlD_fGQyy2AFPBQprLpeJdtyQBWfb_JJzDGoOmI1DoVkpefBJoRupYEUuUS4OwsAWr3SjY7ewrZVdEbP6oirs5Uyy17Mvb5Ob5DwuLQjTSOC5BiiHjUu6WyVpkayQFzqSi8qj/s320/clip_image010.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;</description><link>http://technical-tutorials.blogspot.com/2010/06/configuration-of-oracle-bpm-enterprise.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNhkoJlyCTH7c6unBCKS2kEqLDNQBxM03I2U-1ZxS2VuRJ1i4mlxGpnOF4rVpslOFAApxQdJ1EAGxwR7O1aFhs3byJ7hjcroEEmpjbtpLhgyG_yP70tjFQ2VCxWSNRWnCH1b4wlHuF_x4S/s72-c/untitled1.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-8358510172481627215</guid><pubDate>Mon, 29 Dec 2008 14:27:00 +0000</pubDate><atom:updated>2008-12-29T07:26:18.689-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PHP</category><title>How to install and run PHP 5 with Apache 1.x on Windows</title><description>Step 1 : Download PHP 5 from following link&lt;br /&gt;&lt;a href=&quot;http://www.php.net/get/php-5.2.8-win32-installer.msi/from/a/mirror&quot;&gt;PHP 5 Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 2: Download Apache 1.3.x from following link&lt;br /&gt;&lt;a href=&quot;http://archive.apache.org/dist/httpd/binaries/win32/apache_1.3.19-win32-src-r2.msi&quot;&gt;Apache 1.3.x Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 3 : Install Apache 1.3.x download by running the msi file.&lt;br /&gt;&lt;br /&gt;Step 4: On Server Information screen enter the following information&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Network Domain : &lt;span style=&quot;font-weight: bold;&quot;&gt;localhost&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Server Name : &lt;span style=&quot;font-weight: bold;&quot;&gt;localhost&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Administrator Email Address :&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; abc@abc.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Select&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; for All Users, on Port 80 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;radio button&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a style=&quot;font-weight: bold;&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVvVzYSGn4KF7kTIohiIKFaIahyOo6ZRmPvsoqKIAwil_ohyOGTLx6i61r-Av1T1sjHT3aI-iafH6h2bFHyj9iGnrIrVUlxhqfmHORgfQWpN8qCDwVSt6YpWb0I3Nq5TNAZH8lt9KIfBNc/s1600-h/Apache_Installation_1.JPG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 254px; height: 195px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVvVzYSGn4KF7kTIohiIKFaIahyOo6ZRmPvsoqKIAwil_ohyOGTLx6i61r-Av1T1sjHT3aI-iafH6h2bFHyj9iGnrIrVUlxhqfmHORgfQWpN8qCDwVSt6YpWb0I3Nq5TNAZH8lt9KIfBNc/s200/Apache_Installation_1.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5285222300204546578&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Step 5 : Select &lt;span style=&quot;font-weight: bold;&quot;&gt;Typical&lt;/span&gt;  radio button and click next to install Apache Http Server.&lt;br /&gt;&lt;br /&gt;Step 6 : Install PHP by clicking on the php msi installer&lt;br /&gt;&lt;br /&gt;Step 7 : Select &lt;span style=&quot;font-weight: bold;&quot;&gt;Apache 1.3.x Module&lt;/span&gt;  as radio button option&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivoSiZxWmunlIzsn9ftFD0eq9UZnDXyGEvXa1xKO7GXyG6nHKfB8ikA12FgHolEr6WcLLEIsH34l-IvuNDeXFhKzxnmXXn2NCRa-1UJCoJ1mNN6lv939octmfkK4Naa9PpsugjxJjBCU2D/s1600-h/PHP_Install+1.JPG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 254px; height: 197px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivoSiZxWmunlIzsn9ftFD0eq9UZnDXyGEvXa1xKO7GXyG6nHKfB8ikA12FgHolEr6WcLLEIsH34l-IvuNDeXFhKzxnmXXn2NCRa-1UJCoJ1mNN6lv939octmfkK4Naa9PpsugjxJjBCU2D/s200/PHP_Install+1.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5285224092152535986&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;Step 8 : Specify the location of the PHP installation.&lt;br /&gt;&lt;br /&gt;Basic installation is done by following steps from 1 to 8. Now Apache needs to be configured for using PHP 5.&lt;br /&gt;&lt;br /&gt;Step 1 : Open &lt;span style=&quot;font-weight: bold;&quot;&gt;httpd&lt;/span&gt; configuration file which can be found at&lt;br /&gt;\\Apache Software Foundation\Apache\conf&lt;br /&gt;&lt;br /&gt;Step 2 : Enter the following LoadModule statement after series of LoadModule statement as shown below&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;LoadModule php5_module &quot;c:/php/php5apache.dll&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJTluBJrmOk29WOdoc9NdKq7oqoo-5W3t4InD733zLfMo0E3UIThBGqbu2uHrYaNdedspQuUJZTBM47J4ysomfE8fsLE6mbBTnXTfWDdoCqD5kJ9Uk_W4LdqJY21LrlEB6c9j7R1WsOVHS/s1600-h/LoadModule.JPG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 254px; height: 142px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJTluBJrmOk29WOdoc9NdKq7oqoo-5W3t4InD733zLfMo0E3UIThBGqbu2uHrYaNdedspQuUJZTBM47J4ysomfE8fsLE6mbBTnXTfWDdoCqD5kJ9Uk_W4LdqJY21LrlEB6c9j7R1WsOVHS/s200/LoadModule.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5285227013755764898&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Step 3 : Enter the following AddType statement after series of AddType statements as shown below&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;AddType application/x-httpd-php .php&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;AddType application/x-httpd-php .phtml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyzw1hUJAiZKdqNSqHv4ONCdG27tNxY-hUnFGABZhci3Q4JXijp-cdfxp2Nupbwmvvd0VaEcLoBWVaI2FPTkZ_V8-jN9I89sMxW4ggq42Ei1Oya9M6l6ZFxnuk3dnO79XQJqA2Oh1d963Y/s1600-h/AddType.JPG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 254px; height: 130px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyzw1hUJAiZKdqNSqHv4ONCdG27tNxY-hUnFGABZhci3Q4JXijp-cdfxp2Nupbwmvvd0VaEcLoBWVaI2FPTkZ_V8-jN9I89sMxW4ggq42Ei1Oya9M6l6ZFxnuk3dnO79XQJqA2Oh1d963Y/s200/AddType.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5285228368833815458&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Step 4 : Enter the following ScriptAlias after ScriptAlias statement as shown below&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ScriptAlias /php/ &quot;c:/PHP/&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuKFm9VqrKb7t3dupj79M4ZolzGMwjU2ypi_2HwgvWoHxqgZCPPLRWsu63Sq7OJa_8k_Ao1ANzkPi3v1o-WGpkSYcaNlbIk8fAX0kni9-z6WHe4WpHAcmxaUg5o4GuDEIAstNqyOv6tL-n/s1600-h/ScriptAlias.JPG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 286px; height: 81px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuKFm9VqrKb7t3dupj79M4ZolzGMwjU2ypi_2HwgvWoHxqgZCPPLRWsu63Sq7OJa_8k_Ao1ANzkPi3v1o-WGpkSYcaNlbIk8fAX0kni9-z6WHe4WpHAcmxaUg5o4GuDEIAstNqyOv6tL-n/s200/ScriptAlias.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5285230562010956738&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;Step 5 : Test PHP configuration&lt;br /&gt;&lt;br /&gt;Create PHP file as follows&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;test.php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Place this file under &lt;span style=&quot;font-weight: bold;&quot;&gt;\\Apache Software Foundation\Apache\htdocs&lt;/span&gt; directory.&lt;br /&gt;&lt;br /&gt;Start the Apache server and place http://localhost/test.php in browser.&lt;br /&gt;&lt;br /&gt;If screen with php info is displayed then it mean that configuration is successful else there is something wrong somewhere.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://technical-tutorials.blogspot.com/2008/12/how-to-install-and-run-php-with-apache.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVvVzYSGn4KF7kTIohiIKFaIahyOo6ZRmPvsoqKIAwil_ohyOGTLx6i61r-Av1T1sjHT3aI-iafH6h2bFHyj9iGnrIrVUlxhqfmHORgfQWpN8qCDwVSt6YpWb0I3Nq5TNAZH8lt9KIfBNc/s72-c/Apache_Installation_1.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-7850215996999738732</guid><pubDate>Fri, 26 Dec 2008 09:03:00 +0000</pubDate><atom:updated>2009-01-03T00:54:52.183-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Book Review</category><title>Book Review : Jasper Report for Java Developers</title><description>I just finished reading &lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/span&gt;Jasper Report for Java Developer&lt;/span&gt; written by &lt;span style=&quot;font-weight: bold;&quot;&gt;David R. Heffelfinger&lt;/span&gt; and published by PACKT publishing and here is my review on the book.&lt;br /&gt;&lt;br /&gt;The book is really a good read as far as I am concerned. I had never worked on the Jasper Reports earlier, so I can say that its a very good book for beginners . If you are a java developer and want to learn working on Jasper Reports fast I would recommend this as a first book about Jasper Reports.&lt;br /&gt;&lt;br /&gt;For those who have never worked on java I would not recommend this as the first book as it requires some basic java understanding.&lt;br /&gt;&lt;br /&gt;The book is divided into 11 chapters.&lt;br /&gt;&lt;br /&gt;Chapter 1 and 2 are introductory chapter describing history of Jasper Report in general and what Jasper Report is all about. It also describes the  environment setup required for using Jasper Reports.&lt;br /&gt;&lt;br /&gt;Chapter 3 is the actually where you create your first report. It also provides some of the basics of Jasper Reporting.&lt;br /&gt;&lt;br /&gt;Chapter 4  and 5 deals with generating reports by embedding sql queries in report and using different data sources like databases, XML, Java objects etc.&lt;br /&gt;&lt;br /&gt;Chapter 6 is an important chapter of the book as provide knowledge about maintaining report layout and design. Sub reporting details are also provided in this chapter.&lt;br /&gt;&lt;br /&gt;Chapter 7  and 8 details out step required for adding Chart and other graphic features to the report.&lt;br /&gt;&lt;br /&gt;Chapter 9 is totally dedicated to export formats that are supported by Jasper Reports.&lt;br /&gt;&lt;br /&gt;Chapter 10 describe how to create reports using IReport designer. IReport makes the designing of the report very easy and simpler. In earlier chapter whatever has been mentioned related to layout and designing of report are done by writing code in JRXML file of report, but using IReport designer its just drag and drop. Although its always good to know how its reflected at the actual jrxml file and how to create reports if designer is not available.&lt;br /&gt;&lt;br /&gt;Chapter 11 is all about integrating of Jasper Report with other frameworks like Struts and Spring. These have been explained with simple example.&lt;br /&gt;&lt;br /&gt;In the end I would like to recommend this book to all developers who want to learn or use Jasper Report. This book is written in easy to understand language with simple example which can be used for getting hands-on.&lt;br /&gt;&lt;br /&gt;Book can be purchased from &lt;a style=&quot;font-weight: bold;&quot; href=&quot;http://www.packtpub.com/&quot;&gt;Packt&lt;/a&gt; publishing</description><link>http://technical-tutorials.blogspot.com/2008/12/book-review-jasper-report-for-java.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-8648706491121945813</guid><pubDate>Tue, 16 Dec 2008 16:18:00 +0000</pubDate><atom:updated>2010-06-26T04:24:37.653-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Java Basic</category><title>Identifiers in Java</title><description>&lt;meta content=&quot;text/html; charset=utf-8&quot; equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;Some points about &lt;link href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;style&gt;
 &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:&quot;&quot;; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-fareast-font-family:&quot;Times New Roman&quot;;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1427574336; 	mso-list-type:hybrid; 	mso-list-template-ids:-1551978832 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; 
&lt;/style&gt;Identifiers   &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;A name      in a program is called an identifier.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;An      identifier is sequence of characters which can be a letter, digit, connecting      characters (Underscore _) or a currency symbol ($, ¢, ¥ or £).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;Identifier      cannot start with a digit, after first character digits are allowed.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;Identifiers      in java are case sensitive i.e. test and Test are two different      Identifiers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;Identifier      can be of any length&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;Keywords      cannot be used as an Identifier.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; &lt;br /&gt;
Illegal Identifier &lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;45abcd – Starting with a digit&lt;/li&gt;
&lt;li&gt;abcd@efgh – @ is not allowed &lt;/li&gt;
&lt;li&gt;new – Keyword not allowed&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Legal Identifier&lt;/span&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol&gt;&lt;li&gt;$$ – $ is allowed &lt;/li&gt;
&lt;li&gt;Ab88cd – Digits are allowed after first character.&lt;/li&gt;
&lt;li&gt;Abc_88 – Underscore is a valid connecting character.&lt;/li&gt;
&lt;/ol&gt;</description><link>http://technical-tutorials.blogspot.com/2008/12/identifiers-in-java.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-6073580223174774778</guid><pubDate>Tue, 16 Dec 2008 16:07:00 +0000</pubDate><atom:updated>2010-06-26T04:24:12.672-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Java Basic</category><title>Important Point about hash code</title><description>Important points about hash code&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Hash code is used for increasing the performance of large collection of data.&lt;/li&gt;
&lt;li&gt;Hash code is not always unique.&lt;/li&gt;
&lt;li&gt;Hash code only tell about the bucket to go into, but not how to locate the name once we are in that bucket.&lt;/li&gt;
&lt;li&gt;Collection use the hash code value of the object to decide in which bucket / slot the object should land.&lt;/li&gt;
&lt;li&gt;If two objects have same hash code value then it is not necessary that they are equal.&lt;/li&gt;
&lt;li&gt;Hashing is a two step process firstly search the right bucket using the hash code value, then search for the element in the bucket using equals()&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;</description><link>http://technical-tutorials.blogspot.com/2008/12/important-point-about-hash-code.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-9217352127072269741</guid><pubDate>Tue, 16 Dec 2008 15:53:00 +0000</pubDate><atom:updated>2008-12-16T08:06:17.357-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><title>equals()  and   ==</title><description>==  operator evaluates to true, only when both references refer to the same object            &lt;br /&gt;e.g  reference a------------&gt; Object1&lt;br /&gt;      reference b------------&gt; Object1&lt;br /&gt;then a == b returns true.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;String class and Wrapper classes has override equals() method , so that two different objects could be compared to see if their contents are meaningfully equal.&lt;/li&gt;&lt;li&gt;If classes equals() method is not overridden then it cannot be used as key in a Hashtable.&lt;/li&gt;&lt;li&gt;equals() method in Object Class use only the == operator for comparison.&lt;/li&gt;&lt;li&gt;If two objects are considered equal by using the equals() method then they should have identical hashcode values. So it is advisable to override hashCode() when equals() is overridden.&lt;/li&gt;&lt;/ol&gt;</description><link>http://technical-tutorials.blogspot.com/2008/12/equals.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-6465929166209101338</guid><pubDate>Tue, 16 Dec 2008 04:55:00 +0000</pubDate><atom:updated>2010-06-26T04:23:33.741-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Java Basic</category><title>Basics of Java</title><description>Complexity can be handled by abstraction. In OOPS abstraction is modeled using Classes and objects.&lt;br /&gt;
A &lt;b&gt;Class&lt;/b&gt; models abstraction by defining properties and behavior of an object.&lt;br /&gt;
&lt;b&gt;Properties&lt;/b&gt; of an object are defined by the attributes, which are fields in java. A field in java is a variable that can hold value.&lt;br /&gt;
&lt;b&gt;Behavior&lt;/b&gt; of an object is defined by the methods in java.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Object&lt;/b&gt; is an instance of the class. In java objects can only be manipulated using references.&lt;br /&gt;
Each Object created maintains its own copy of instance variables. Two objects can have same state if the values of their instance variable are same.&lt;br /&gt;
Object communicates with each other using message passing.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Static members/methods&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Certain members belong to Class only not to object these are called static members.&lt;/li&gt;
&lt;li&gt;A static member is initialized when the class is loaded at runtime.&lt;/li&gt;
&lt;li&gt;Certain methods that belong to the Class only and not to an object are called static methods.&lt;/li&gt;
&lt;li&gt;Client can access static methods using the class name.&lt;/li&gt;
&lt;li&gt;Static members of the Class can be accessed either using Object reference or using Class name. &lt;/li&gt;
&lt;/ol&gt;&lt;div align=&quot;justify&quot;&gt;&lt;b&gt;Example&lt;/b&gt; of Class &amp;amp; Object&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #993399;&quot;&gt;package&lt;/span&gt; Test;&lt;br /&gt;
&lt;span style=&quot;color: #006600;&quot;&gt;//Class declaration&lt;/span&gt;&lt;span style=&quot;color: #993399;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #993399;&quot;&gt;public class&lt;/span&gt; Example_Class {&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #006600;&quot;&gt;//Attribute declaration - These variables defines the state of the object&lt;/span&gt;&lt;span style=&quot;color: #993399;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #993399;&quot;&gt;private int&lt;/span&gt; first_attribute;&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;private int&lt;/span&gt; second_attribute;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #006600;&quot;&gt;//constructor&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #993399;&quot;&gt;public&lt;/span&gt; Example_Class(int x, int y) {&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #006600;&quot;&gt;//Initializing attributes of newly created object.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;this&lt;/span&gt;.first_attribute = x;&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;this&lt;/span&gt;.second_attribute =y;&lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #006600;&quot;&gt;//Method - These methods define the behavior of the object&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;public&lt;/span&gt; int addResult() {&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;return&lt;/span&gt; first_attribute + second_attribute;&lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #006600;&quot;&gt;//Main method of Class&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #993399;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #993399;&quot;&gt;void&lt;/span&gt; main(String[] args) {&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #33cc00;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #006600;&quot;&gt;/* Object instantiation - Object is created using &quot;new&quot; keyword With new keyword Constructor   of the class is called which returns the reference of the newly created object, which is assigned to&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #006600;&quot;&gt;reference variable of appropriate Class.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #006600;&quot;&gt;*/&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #006600;&quot;&gt;// objFirst ---------&amp;gt; Object1(1,2)&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Example_Class objFirst = &lt;span style=&quot;color: #993399;&quot;&gt;new&lt;/span&gt; Example_Class(1, 2);&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #33cc00;&quot;&gt;&lt;span style=&quot;color: #006600;&quot;&gt;//Both objFirst and objSecond object refernces will point to two different objects in heap&lt;br /&gt;
// objSecond ---------&amp;gt; Object2(1,2)&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;Example_Class objSecond = &lt;span style=&quot;color: #993399;&quot;&gt;new&lt;/span&gt; Example_Class(1, 2);&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #993399;&quot;&gt;int&lt;/span&gt; addResultFirst = objFirst.addResult();&lt;br /&gt;
System.out.println(&quot;Add Result First:&quot; + addResultFirst);&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;color: #33cc00;&quot;&gt;&lt;span style=&quot;color: #006600;&quot;&gt;//Calling method on second created Object&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #993399;&quot;&gt;int&lt;/span&gt; addResultSecond = objSecond.addResult();&lt;br /&gt;
System.out.println(&quot;Add Result Second:&quot; + addResultSecond);&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;}&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;}&lt;/div&gt;</description><link>http://technical-tutorials.blogspot.com/2008/12/basics-of-java.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-6740152308971879</guid><pubDate>Sun, 30 Nov 2008 07:48:00 +0000</pubDate><atom:updated>2008-11-30T00:05:47.635-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SoapUI</category><title>Installing &amp; using SoapUI</title><description>&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Steps for installing and using SoapUI are as follows&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol style=&quot;font-family: arial;&quot;&gt;&lt;li&gt;&lt;meta equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;&lt;meta name=&quot;ProgId&quot; content=&quot;Word.Document&quot;&gt;&lt;meta name=&quot;Generator&quot; content=&quot;Microsoft Word 11&quot;&gt;&lt;meta name=&quot;Originator&quot; content=&quot;Microsoft Word 11&quot;&gt;&lt;link rel=&quot;File-List&quot; href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate=&quot;false&quot; latentstylecount=&quot;156&quot;&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:&quot;&quot;; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-fareast-font-family:&quot;Times New Roman&quot;;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:&quot;Table Normal&quot;; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:&quot;&quot;; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Install the Soap UI plug-in in eclipse or WebLogic Workshop&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;meta equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;&lt;meta name=&quot;ProgId&quot; content=&quot;Word.Document&quot;&gt;&lt;meta name=&quot;Generator&quot; content=&quot;Microsoft Word 11&quot;&gt;&lt;meta name=&quot;Originator&quot; content=&quot;Microsoft Word 11&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate=&quot;false&quot; latentstylecount=&quot;156&quot;&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:&quot;&quot;; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-fareast-font-family:&quot;Times New Roman&quot;;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1802188941; 	mso-list-type:hybrid; 	mso-list-template-ids:1003406556 246713510 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-number-format:alpha-lower; 	mso-level-tab-stop:.75in; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:&quot;Table Normal&quot;; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:&quot;&quot;; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Go to the Help &gt; Software Updates &gt; Find &amp;amp; Install&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Select for &quot;Search for new features to install&quot;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Click Next button&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Click on &quot;New Remote Site&quot;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Enter the name : SoapUI&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Enter url&lt;span style=&quot;text-decoration: underline;&quot;&gt;: &lt;a href=&quot;http://www.soapui.org/eclipse/update/site.xml&quot;&gt;http://www.soapui.org/eclipse/update/site.xml&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;/span&gt;&lt;/span&gt;Click Finish&lt;/li&gt;&lt;li&gt;SoapUI plug-in will be installed on system.&lt;/li&gt;&lt;li&gt;After installation is complete, restart the workshop&lt;/li&gt;&lt;li&gt;Go to Window &gt; Open Perspective &gt; Other&lt;/li&gt;&lt;li&gt;Select SoapUI&lt;/li&gt;&lt;li&gt;Right click on Project Icon on the left  and create &quot;New WSDL Project&quot;&lt;/li&gt;&lt;li&gt;Enter the project name&lt;/li&gt;&lt;li&gt;Enter the WSDL location&lt;/li&gt;&lt;li&gt;Click OK button&lt;/li&gt;&lt;li&gt;Project will be created with entered name and all the projects exposed by WSDL will be visible under the + sign&lt;/li&gt;&lt;li&gt;Click on + sign to view all the methods&lt;/li&gt;&lt;li&gt;Double click on the method you want to test  and click on Request 1 icon&lt;/li&gt;&lt;li&gt;Enter the inputs required by the method and click on green play button on the top left.&lt;/li&gt;&lt;li&gt;Based on entered input Response is generated on right pane.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;</description><link>http://technical-tutorials.blogspot.com/2008/11/installing-using-soapui.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-8950222528807763954</guid><pubDate>Sun, 30 Nov 2008 07:33:00 +0000</pubDate><atom:updated>2010-06-26T04:20:47.337-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Java Thread</category><title>Important Points about Threads in Java</title><description>&lt;meta content=&quot;text/html; charset=utf-8&quot; equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 11&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///D:%5CDOCUME%7E1%5CANKURM%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;style&gt;
 &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:&quot;&quot;; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-fareast-font-family:&quot;Times New Roman&quot;;} code 	{font-family:&quot;Courier New&quot;; 	mso-ascii-font-family:&quot;Courier New&quot;; 	mso-fareast-font-family:&quot;Times New Roman&quot;; 	mso-hansi-font-family:&quot;Courier New&quot;; 	mso-bidi-font-family:&quot;Courier New&quot;;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1699234774; 	mso-list-type:hybrid; 	mso-list-template-ids:-917860562 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:.25in; 	mso-level-number-position:left; 	margin-left:.25in; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; 
&lt;/style&gt;  &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;To synchronize threads, the Java programming language uses monitors, which are a high-level mechanism for allowing only one thread at a time to execute a region of code protected by the monitor.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;The behavior of monitors is explained in terms of locks; there is a lock associated with each object.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;The methods &lt;/span&gt;&lt;span style=&quot;font-family: times new roman; font-size: 100%;&quot;&gt;&lt;code&gt;wait&lt;/code&gt;, &lt;code&gt;notify&lt;/code&gt;, and &lt;code&gt;notifyAll&lt;/code&gt; of class&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;code&gt;Object&lt;/code&gt; support an efficient transfer of control from one thread to another.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;code&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;A thread can suspend itself using &lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;code&gt;wait&lt;/code&gt; until such time as another thread awakens it using &lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;code&gt;notify.&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;Each thread has a working memory, in which it may keep copies of the values of variables from the main memory that is shared between all threads.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;To access a shared variable, a thread usually first obtains a lock and flushes its working memory. This guarantees that shared values will thereafter be loaded from the shared main memory to the threads working memory.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;When a thread unlocks a lock it guarantees the values it holds in its working memory will be written back to the main memory.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;Every thread has a &lt;i&gt;working memory&lt;/i&gt; in which it keeps its own &lt;i&gt;working copy&lt;/i&gt; of variables that it must use or assign. As the thread executes a program, it operates on these working copies. The main memory contains the &lt;i&gt;master copy&lt;/i&gt; of every variable.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;The main memory also contains &lt;i&gt;locks&lt;/i&gt;; there is one lock associated with each object. Threads may compete to acquire a lock.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;</description><link>http://technical-tutorials.blogspot.com/2008/11/important-thread-points.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-909614415711263538</guid><pubDate>Sat, 26 Jul 2008 06:56:00 +0000</pubDate><atom:updated>2010-06-26T04:26:33.599-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Java Basic</category><title>Finalization in Java</title><description>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre&gt;protected void &lt;b&gt;finalize&lt;/b&gt;() throws Throwable

&lt;/pre&gt;&lt;ol&gt;&lt;li&gt;It is declared in Object class.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Is invoked by the garbage collector after it determines that this object is no  longer reachable and its space is to be reclaimed.&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;finalize&lt;/tt&gt; is that it is invoked   if and when the Java&lt;sup&gt;TM&lt;/sup&gt; virtual   machine has determined that there is no longer any  means by which this object can be accessed by any thread that has  not yet died, except as a result of an action taken by the  finalization of some other object or class which is ready to be  finalized.&lt;/li&gt;
&lt;li&gt;Subclasses of   &lt;tt&gt;Object&lt;/tt&gt; may override this definition.&lt;/li&gt;
&lt;li&gt;It is   guaranteed that the thread that invokes finalize() will not   be holding any user-visible synchronization locks when finalize() is   invoked.&lt;/li&gt;
&lt;li&gt;  Any exception thrown by the &lt;code&gt;finalize()&lt;/code&gt; causes   the finalization of this object to be halted, but is otherwise   ignored.&lt;/li&gt;
&lt;li&gt;finalize() is invoked at most once per object, even if execution of this method causes  the object to become reachable again and later it becomes unreachable again.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</description><link>http://technical-tutorials.blogspot.com/2008/07/finalization-in-java.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-7926390904392545000</guid><pubDate>Sun, 17 Feb 2008 07:19:00 +0000</pubDate><atom:updated>2010-06-26T04:23:04.464-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ENUMS</category><category domain="http://www.blogger.com/atom/ns#">Java</category><title>ENUMS in Java</title><description>&lt;div class=&quot;MsoNormal&quot;&gt;Some Important points about Java Enums.&lt;/div&gt;&lt;ol&gt;&lt;li class=&quot;MsoNormal&quot;&gt;Enums can be declared as their own separate class, or as a class member, however they must not be declared within a method.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enums can be declared outside the class.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enums cannot be private or protected.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enums can have only default or public modifier.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Semicolon at the end of Enums declaration is optional.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enum is a special type of Class.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enum constructor are never invoked directly&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enum constructor can be overloaded just like any other constructor in class.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;If an enum is declared as public then it should be declared in its own file.&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;Enums declared within a class can have public, private, protected, default, static and abstract modifiers&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #993399;&quot;&gt;package&lt;/span&gt; TechnicalTutorial;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #006600;&quot;&gt;/* Enum declared outside the class can have default access only */&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;enum &lt;/span&gt;TechEnum{&lt;br /&gt;
&lt;span style=&quot;color: #3333ff;&quot;&gt;FIRST, SECOND, THIRD&lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #cc33cc;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;color: #993399;&quot;&gt;class &lt;/span&gt;Example_1 {&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt;public enum &lt;/span&gt;TechEnum_2{&lt;br /&gt;
&lt;span style=&quot;color: #3333ff;&quot;&gt;        HUNDRED, THOUSAND&lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #993399;&quot;&gt; public static void&lt;/span&gt; main(String[] args) {&lt;br /&gt;
TechEnum num = TechEnum.&lt;span style=&quot;color: #3333ff;&quot;&gt;FIRST&lt;/span&gt;;&lt;br /&gt;
System.out.println(num);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;/div&gt;&lt;br /&gt;
In above example enum can be declared as public only within a Class i.e.  TechEnum_2 . If an enum need to be declared as public outside the class then it should be created in separate file.</description><link>http://technical-tutorials.blogspot.com/2008/02/enums-in-java.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-780696116355127196</guid><pubDate>Mon, 14 Jan 2008 11:41:00 +0000</pubDate><atom:updated>2008-12-26T02:19:56.937-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Book Review</category><title>Book Review : Business Process Management with Jboss JBPM</title><description>&lt;p&gt;Currently I am working on a project that involves jBPM as the workflow engine and jPDL as the design language. Recently I had gone through a review copy of book &lt;b&gt;Business Process Management with JBoss jBPM&lt;/b&gt;, written by Matt Cumberlidge and published by PACKT Publishing and here is the review on the book as per terms of review copy.&lt;/p&gt;&lt;p&gt;The book is good introduction into the JBPM, primarily for Business Analysts and architects. For developers it is useful guide that highlights the correct approach that should be followed before implementing a BPM solution.&lt;/p&gt;&lt;h2&gt;&lt;u&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Things I liked about the book:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/h2&gt;&lt;p&gt;Firstly, the book actually delivers what it says: providing a good introduction into the jBPM world. It can be followed as hands on book by business analyst and beginners can follow it as a tutorial for quick start.&lt;/p&gt;&lt;p&gt;All the features of jPDL designer are explained step by step with properly supporting images. Images always put information more intuitively. Initial chapter of the book talk about the environment setup which includes installation of each and every software. &lt;/p&gt;&lt;p&gt;Book follows one example approach, linking whole software development lifecycle and how BPM fits in it, although I personally would have liked some small examples also.&lt;/p&gt;&lt;h2&gt;&lt;u&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Things I didn’t like about the book:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/h2&gt;&lt;p&gt;There are more than a couple of things that I didn’t like about the book. The book doesn’t dive deep into the technical aspect of the jBPM. The book is more on theoretical side with only one example explained through out the book. Some of the technical stuff related to sub process and super states was too concise. The book was not thoroughly enough for developers.&lt;/p&gt;&lt;h2 style=&quot;font-weight: normal; font-style: italic;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;I would recommend this book to newbie’s who wants to learn about JBPM and BPM. From developer’s point of view it does not provide answer to actually create an enterprise level application although it is good book for beginners.&lt;/p&gt;The book can found at &lt;a style=&quot;font-weight: bold;&quot; href=&quot;http://www.packtpub.com/&quot;&gt;Packt Publishing&lt;/a&gt;</description><link>http://technical-tutorials.blogspot.com/2008/01/business-process-management-with-jboss.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-5059177127358496810</guid><pubDate>Thu, 27 Dec 2007 15:48:00 +0000</pubDate><atom:updated>2010-06-26T04:22:42.190-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">JBPM</category><title>Setting Variables</title><description>&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;For setting variables &lt;b&gt;ContextInstance&lt;/b&gt; is required. ContextInstance maintains all the key-value pairs for a process instance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;We can get ContextInstance from Process Instance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;ContextInstance contextInstance = processInstance.getContextInstance ();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;Variable can be set as mentioned below using ContextInstance obtained from processInstance.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;contextInstance.setVariable (“Variable Name”, “Value”);&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://technical-tutorials.blogspot.com/2007/12/setting-variables.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-7583205251988436140</guid><pubDate>Thu, 27 Dec 2007 15:43:00 +0000</pubDate><atom:updated>2010-06-26T04:25:19.593-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">JBPM</category><category domain="http://www.blogger.com/atom/ns#">JBPM Database</category><title>JBPM Database Steps</title><description>&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;One of the basic features of jBPM is the ability to persist executions of processes in the database when they are in a wait state. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;1.      &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;First we create the JBPM Configuration. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;Static&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt; JbpmConfiguration jBpmConfiguration = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;
This is &lt;b&gt;static&lt;/b&gt; as same jbpm configuration can be used for the entire threads configuration.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;2.      &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;All the configuration related information is stored in resource file “jbpm.cfg.xml”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;3.      &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;The jBPM configuration is loaded.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;jBpmConfiguration = JbpmConfiguration.parseResource (&quot;jbpm.cfg.xml&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;4.      &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;Get the jBPM context from the jbpm configuration.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue; font-family: &amp;quot;; font-size: 100%;&quot;&gt;jBPMContext = jBpmConfiguration.&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;; font-size: 100%;&quot;&gt;createJbpmContext&lt;/span&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue; font-family: &amp;quot;; font-size: 100%;&quot;&gt; ();&lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: left; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-family: times new roman;&quot;&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;5.      &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;Get the graph Session from jBPM Context&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;jbpmGraphSession = jBPMContext.getGraphSession ();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;6.      &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;Get process definition from Graph Session&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;ProcessDefinition processDefinition= jbpmGraphSession.findLatestProcessDefinition (“Add Product”);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;7.      &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;Get process Instance from Process Definition&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.25in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: blue;&quot;&gt;ProcessInstance processInstance = new ProcessInstance (processDefinition);&lt;/span&gt;&lt;/div&gt;After getting the process Instance user can do whatever he wants to do.&lt;br /&gt;
Data will not not be persisted in database untill and unless &lt;span style=&quot;font-weight: bold;&quot;&gt;jBPMContext &lt;/span&gt;is not closed</description><link>http://technical-tutorials.blogspot.com/2007/12/jbpm-database-steps.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-1887736494764729193</guid><pubDate>Wed, 26 Dec 2007 16:06:00 +0000</pubDate><atom:updated>2010-06-26T04:25:44.448-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">JBPM</category><category domain="http://www.blogger.com/atom/ns#">JBPM Architecture</category><title>JBPM Architecture Continued !!</title><description>&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Action Handlers are contained in process definition and are executed in JBPM engine.When the process engine encounter a node during the execution of process instance which is derived from process definition, action handler associated with them are executed. Action handlers are instances of Java code that interact with external systems when executed.&lt;b&gt;&lt;span style=&quot;font-size: 36pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Process Definition: &lt;/b&gt;A process definition is based on a directed graph (A ProcessDefinition is formal description of process represented as Java Objects). The graph is composed of nodes, transitions, one start state, and one end state. The type of each node defines the runtime behavior for the node. While a process definition executes, the following entities come into play: &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;b&gt;Process instance:&lt;/b&gt; A process instance is one execution of a process definition. When a process instance is created a token is created for main path of execution called the &quot;&lt;b&gt;Root Token&lt;/b&gt;&quot; and is positioned and the start state of the Process Definition.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;ProcessInstance processInstance = new ProcessInstance (processDefinition);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;u1:p&gt;&lt;/u1:p&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;b&gt;Token:&lt;/b&gt; A token is one path of execution. A token is the runtime concept that maintains a pointer to a node in the graph. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot; style=&quot;margin-left: 0.25in; text-align: justify;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Token token = processInstance.getRootToken ();&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;u1:p&gt;&lt;/u1:p&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;b&gt;Signal:&lt;/b&gt; A signal instructs a token to continue graph execution by transition out of a node.&lt;u2:colorscheme colors=&quot;#ffffff,#4d4d4d,#000000,#999999,#f04e22,#f0b500,#f07800,#00a6ad&quot;&gt;&lt;/u2:colorscheme&gt;When receiving an unnamed signal, the token will leave its current node over the default leaving transition. When a transition-name is specified in the signal, the token will leave its node over the specified transition. A signal given to the process instance is delegated to the root token.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot; style=&quot;margin-left: 0.25in; text-align: justify;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;token.signal ();&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;u1:p&gt;&lt;/u1:p&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot; style=&quot;margin-left: 0.25in; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;b&gt;Node:&lt;/b&gt; Nodes are responsible for the continuation of a graph execution. When a token enters a node, the node executes. Node type determine what will happen when execution arrives at a particular node&lt;b&gt;.A node that does not propagate execution is regarded as a state. &lt;u1:p&gt;&lt;/u1:p&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;Action:&lt;/b&gt; Actions are instances of Java code executed when events occur in a process execution. The primary&lt;b&gt; event types&lt;/b&gt; are &quot;&lt;b&gt;entering a node&lt;/b&gt;,&quot; &quot;&lt;b&gt;leaving a node”&lt;/b&gt;, and &quot;&lt;b&gt;taking a transition&lt;/b&gt;.&quot;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt; &lt;/span&gt;</description><link>http://technical-tutorials.blogspot.com/2007/12/jbpm-architecture-continued.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-4284165316426876899</guid><pubDate>Wed, 26 Dec 2007 15:43:00 +0000</pubDate><atom:updated>2010-06-26T04:22:11.936-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">JBPM</category><category domain="http://www.blogger.com/atom/ns#">JBPM Architecture</category><title>Overview of JBOSS JBPM Architecture</title><description>&lt;div class=&quot;MsoNormal&quot;&gt;JBoss jBPM defines process definitions within files written using the JBoss process definition language e.g jPDL. &lt;b&gt;JPDL is a graphic-oriented programming (GOP) language based on a model of nodes, transitions, and actions&lt;/b&gt;. In this model, &lt;b&gt;nodes &lt;/b&gt;are traversed and executed as they are encountered during the flow of a process definition. &lt;b&gt;Transitions &lt;/b&gt;direct the flow of execution of a process definition, and &lt;b&gt;actions &lt;/b&gt;perform specific logic as a node or transition event occurs. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot;&gt;&lt;b&gt;In jBPM, process definitions are packaged as process archives&lt;/b&gt;, when process definition is created using Process designer &quot;&lt;b&gt;.par&lt;/b&gt;&quot; file is created. A process archive is passed to the JBPM process engine for execution. The JBPM runtime engine traverses a process graph (which is always a directed graph) and executes actions defined with various transitions and states or nodes. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot;&gt;JBoss jBPM &lt;u1:p&gt;mainly consists of following components.&lt;br /&gt;
&lt;br /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/u1:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot;&gt;&lt;b&gt;Runtime engine:&lt;/b&gt; This component executes process actions, maintains process state, and logs all process events via the following components:&lt;br /&gt;
&lt;br /&gt;
&lt;u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/u1:p&gt;&lt;/div&gt;&lt;ol face=&quot;times new roman&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot;&gt;A request handler &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;A state manager &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;A log manager &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;A definition loader &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;An execution service&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot;&gt;&lt;b&gt;Process monitor:&lt;/b&gt; There are various modules in JBPM one of them is Process monitor, which is responsible for auditing and logging. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot;&gt;&lt;b&gt;Process language:&lt;/b&gt; The process definition language (jPDL) is based on GOP which is easier to use and can keep business and programmer on same page. Business can create the Graph (More or less like flowchart) and developer can implement the logic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; face=&quot;times new roman&quot;&gt;&lt;b&gt;Interaction services:&lt;/b&gt; These services expose legacy applications as functions or data to be used in process executions&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;</description><link>http://technical-tutorials.blogspot.com/2007/12/overview-of-jboss-jbpm-architecture.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-5983166476798385769</guid><pubDate>Wed, 26 Dec 2007 12:05:00 +0000</pubDate><atom:updated>2007-12-26T04:29:37.505-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">JBPM</category><title>What is JBPM ?</title><description>&lt;p style=&quot;font-family: trebuchet ms;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;In simple words Jboss jBPM is sophisticated state machine that can execute long running process that can be visualized graphically.JBoss jBPM is a JBoss Enterprise Framework that delivers work flow, business process management (BPM), and process orchestration in a scalable and flexible product footprint.&lt;br /&gt;JBoss jBPM 3.0 delivers the capability of developing new automated business processes and work flows with industry-standard orchestration using Business Process Execution Language (BPEL), a flexible and pluggable API, a native process definition language, and a graphical modeling tool.&lt;u1:colorscheme colors=&quot;#ffffff,#4d4d4d,#000000,#999999,#f04e22,#f0b500,#f07800,#00a6ad&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/u1:colorscheme&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms;&quot;&gt;JBoss jBPM enables automation of business processes that coordinate between people, applications and services.&lt;/span&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://technical-tutorials.blogspot.com/2007/12/what-is-jbpm_26.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-8643420983774159536</guid><pubDate>Wed, 26 Dec 2007 11:56:00 +0000</pubDate><atom:updated>2008-12-16T07:40:55.932-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPM</category><title>BPM Continued</title><description>&lt;p class=&quot;MsoNormal&quot;  style=&quot;text-align: justify; font-family: trebuchet ms;font-family:times new roman;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;BPM has three important phases.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;  style=&quot;text-align: justify; font-family: trebuchet ms;font-family:times new roman;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;  style=&quot;margin-left: 0.25in; text-indent: -0.25in; font-family: trebuchet ms;font-family:times new roman;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;b&gt;Process design:&lt;/b&gt; The task of designing existing and new processes using various process design languanges such as jPDL (jBPM Process Definition Language), BPEL (Business Process Execution Language) etc&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;  style=&quot;margin-left: 0.25in; text-indent: -0.25in; font-family: trebuchet ms;font-family:times new roman;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;b&gt;Process execution:&lt;/b&gt; The execution of an automated sequence of related events involving software processes and/or human activities&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;  style=&quot;margin-left: 0.25in; text-indent: -0.25in; font-family: trebuchet ms;font-family:times new roman;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;b&gt;Process monitoring:&lt;/b&gt; Observance and auditing of the state of individual processes so that the statistics and performance of these processes can be recorded, reported, and optimized&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;  style=&quot;margin-left: 0.25in; text-indent: -0.25in; font-family: trebuchet ms;font-family:times new roman;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://technical-tutorials.blogspot.com/2007/12/bpm-continued.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9025293719803821929.post-8095127918555370550</guid><pubDate>Wed, 26 Dec 2007 11:26:00 +0000</pubDate><atom:updated>2008-12-16T07:34:39.778-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPM</category><title>What is BPM ?</title><description>&lt;p style=&quot;font-family: times new roman; text-align: justify;font-family:trebuchet ms;&quot;  class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;The term &lt;i&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;BPM &lt;/span&gt;i.e &lt;span style=&quot;font-weight: bold;&quot;&gt;business process management&lt;/span&gt;&lt;/i&gt; typically refers to a set of activities enterprises can employ to automate and optimize business processes in a manner adaptable to dynamically changing environments.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: trebuchet ms; text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt; &lt;!--[if gte vml 1]&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; spt=&quot;75&quot; preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;  &lt;v:stroke joinstyle=&quot;miter&quot;&gt;  &lt;v:formulas&gt;   &lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;   &lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;   &lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;   &lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;   &lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;   &lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;   &lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;   &lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;   &lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;   &lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;   &lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;   &lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; connecttype=&quot;rect&quot;&gt;  &lt;o:lock ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt; &lt;/v:shapetype&gt;&lt;v:shape id=&quot;_x0000_i1025&quot; type=&quot;#_x0000_t75&quot; alt=&quot;*&quot; style=&quot;&#39;width:24pt;&quot;&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;img src=&quot;file:///D:/DOCUME%7E1/ANKURM%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image001.gif&quot; style=&quot;height: 31.81%; left: -4.51%; position: absolute; top: 9.09%; width: 1.37%;&quot; alt=&quot;*&quot; shapes=&quot;_x0000_i1025&quot; width=&quot;32&quot; height=&quot;32&quot; /&gt;BPM offers a programmatic structure for designing transactions and executing them using automated decisions, tasks and sequence flows. These activities usually seek help from software engineering and tools therefore, the term BPM is often used directly to refer to the engineering techniques and tools.&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;!--[endif]--&gt; &lt;!--[if !supportLineBreakNewLine]--&gt; &lt;!--[endif]--&gt;&lt;/p&gt;  &lt;span style=&quot;font-size:100%;&quot;&gt;&lt;u1:colorscheme style=&quot;font-family: trebuchet ms;&quot; colors=&quot;#ffffff,#4d4d4d,#000000,#999999,#f04e22,#f0b500,#f07800,#00a6ad&quot;&gt;&lt;/u1:colorscheme&gt;&lt;/span&gt;  &lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1026&quot; type=&quot;#_x0000_t75&quot; alt=&quot;*&quot; style=&quot;&#39;width:24pt;height:24pt&#39;/&quot;&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;img src=&quot;file:///D:/DOCUME%7E1/ANKURM%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image001.gif&quot; style=&quot;height: 31.81%; left: -4.51%; position: absolute; top: 9.09%; width: 1.37%; font-family: trebuchet ms;&quot; alt=&quot;*&quot; shapes=&quot;_x0000_i1026&quot; width=&quot;32&quot; height=&quot;32&quot; /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;BPM solutions typically include three components: an engine that executes process definitions, services that allow the engine to interact with the outside world, and tools that aid process development and monitoring.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;!--[endif]--&gt; &lt;/p&gt;</description><link>http://technical-tutorials.blogspot.com/2007/12/what-is-bpm.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item></channel></rss>