<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DU4AR3s6eip7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763</id><updated>2011-11-27T15:52:26.512-08:00</updated><category term="creational patterns" /><category term="XML" /><category term="Patterns" /><category term="WebService" /><category term="ApplicationServer" /><category term="design patterns" /><category term="Deploy" /><category term="j2ee" /><category term="java" /><category term="Ant" /><category term="Framework" /><category term="Books" /><title>Abdullatif Topcu</title><subtitle type="html">Abdullatif Topcu Kurumsal Java ve Web Uygulamaları Geliştiricisi</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://abdullatiftopcu.blogspot.com/" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AbdullatifTopcu" /><feedburner:info uri="abdullatiftopcu" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEEHRXY7eSp7ImA9WhZXGUg.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-5844830106986178699</id><published>2011-05-09T07:46:00.000-07:00</published><updated>2011-05-09T07:50:34.801-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-09T07:50:34.801-07:00</app:edited><title /><content type="html">&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20px; "&gt;&lt;h1 style="margin-top: 0px; margin-right: 0px; margin-bottom: 6px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font: normal normal normal 24px/26px Georgia, 'Times New Roman', serif; "&gt;jsf hibernate and Spring Enterprise Web Application&lt;/h1&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://www.javaworld.com/javaworld/jw-07-2004/jw-0719-jsf.html?page=1"&gt;http://www.javaworld.com/javaworld/jw-07-2004/jw-0719-jsf.html?page=1&lt;/a&gt;&lt;div&gt;&lt;a href="http://www.javaworld.com/javaworld/jw-07-2004/jw-0719-jsf.html?page=1"&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20px; "&gt;&lt;h3 style="font-size: 12px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Build a real-world Web application with JavaServer Faces, the Spring Framework, and Hibernate&lt;/h3&gt;&lt;p class="byline" style="margin-top: 0px; margin-bottom: 17px; font-size: 11px; line-height: normal; color: rgb(102, 102, 102); "&gt;By Derek Yang Shen, JavaWorld.com, 07/19/04&lt;/p&gt;&lt;p class="byline" style="margin-top: 0px; margin-bottom: 17px; font-size: 11px; line-height: normal; color: rgb(102, 102, 102); "&gt;Son derece güzel ve faydalı bir makale. Temel Tasarım Prensiplerine dikkat edilerek oluşturulmuş bir web enterprise şablon uygulaması içeriryor.&lt;/p&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-5844830106986178699?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VnaCKc4E1nJmV0im0FN4SHsU6eg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VnaCKc4E1nJmV0im0FN4SHsU6eg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VnaCKc4E1nJmV0im0FN4SHsU6eg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VnaCKc4E1nJmV0im0FN4SHsU6eg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/u7kgqy_CvgI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/5844830106986178699/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=5844830106986178699" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/5844830106986178699?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/5844830106986178699?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/u7kgqy_CvgI/jsf-hibernate-and-spring-enterprise-web.html" title="" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2011/05/jsf-hibernate-and-spring-enterprise-web.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YMQHw-eip7ImA9Wx9SGUU.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-3363364204017052549</id><published>2010-12-10T05:43:00.001-08:00</published><updated>2010-12-10T05:53:01.252-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-10T05:53:01.252-08:00</app:edited><title>JPA Ve Hibernate</title><content type="html">JPA ve Hibernate&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;&lt;div&gt;Aslında JPA ve Hibernate farklı şeylerdir. JPA bir Persistence API dir. Implementasyon içermez.Hibernate ise bir persistence layer implementasyonudur. JPA dan önce direk hibernate kullanıyorduk ve hibernate kütüphanelerine bağımlıydık. JPA bir JEE standardıdır ve ek bir library eklememize gerek kalmaz. Uygulamamızdan JPA ya referanslar yazarız. Doğrudan Hibernate kütüphanelerine referans yazmayız. Sonuçta uygulamamız bir implementasyon kütüphanesine bağımlı olmaz. JPA+Hibernate şeklinde yazdığımız bir uygulamayı çok rahatlıkla JPA+EclipseLink yada bir başka implemantasyon setine çevirebiliriz. Kodlarımızda bir bağımlılık olmadığından refactor yapmamız gerekmez. Bu konuda bazı makale ve Tutoriallar:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.theserverside.com/tutorial/Hibernate-35-Without-Hibernate-Ridding-Your-Code-of-the-Hiberante-API-Calls"&gt;http://www.theserverside.com/tutorial/Hibernate-35-Without-Hibernate-Ridding-Your-Code-of-the-Hiberante-API-Calls&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.theserverside.com/tutorial/Hibernate-35-Without-Hibernate-Ridding-Your-Code-of-the-Hiberante-API-Calls"&gt;&lt;/a&gt;&lt;a href="http://netbeans.org/kb/docs/web/hibernate-jpa.html"&gt;http://netbeans.org/kb/docs/web/hibernate-jpa.html&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-3363364204017052549?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dgxNXDig793fD3QCFyTDWe5k5EU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dgxNXDig793fD3QCFyTDWe5k5EU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dgxNXDig793fD3QCFyTDWe5k5EU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dgxNXDig793fD3QCFyTDWe5k5EU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/pOCeg50moGs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/3363364204017052549/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=3363364204017052549" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3363364204017052549?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3363364204017052549?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/pOCeg50moGs/jpa-ve-hibernate.html" title="JPA Ve Hibernate" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2010/12/jpa-ve-hibernate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCRXc6eCp7ImA9Wx9SE0U.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-7544843734319516804</id><published>2010-12-03T05:53:00.000-08:00</published><updated>2010-12-03T05:54:24.910-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-03T05:54:24.910-08:00</app:edited><title>JSF 2.0 Tutorial with Netbeans</title><content type="html">&lt;div&gt;Çok Faydalı bir JSF 2.0 eğitimi.&lt;/div&gt;&lt;a href="http://netbeans.org/kb/docs/web/jsf20-crud.html#createDB"&gt;http://netbeans.org/kb/docs/web/jsf20-crud.html#createDB&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-7544843734319516804?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uySm69oL0H7laeLNUEbqcd59cfc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uySm69oL0H7laeLNUEbqcd59cfc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uySm69oL0H7laeLNUEbqcd59cfc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uySm69oL0H7laeLNUEbqcd59cfc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/u4KVLPznBmQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/7544843734319516804/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=7544843734319516804" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/7544843734319516804?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/7544843734319516804?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/u4KVLPznBmQ/jsf-20-tutorial-with-netbeans.html" title="JSF 2.0 Tutorial with Netbeans" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2010/12/jsf-20-tutorial-with-netbeans.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMCRngycSp7ImA9WB5VF0k.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-1370703657719110312</id><published>2007-08-10T04:32:00.000-07:00</published><updated>2007-08-10T04:47:47.699-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T04:47:47.699-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="design patterns" /><category scheme="http://www.blogger.com/atom/ns#" term="creational patterns" /><title>Core Design Patterns: Abstract Factory Pattern</title><content type="html">&lt;b&gt;Abstract Factory Pattern&lt;/b&gt;: Bu paternin yaptığı iş bir çok değişik factory objesini encapsule etmekdir. Creation ile ilgili bir patterndir. Kullanımı şöyledir. Client uygulama abstract factory classından somut bir obje yaratır. Ve bu objenin genel methodlarını kullanır. Client uygulama alt seviyede yaratılan objenin hangi obje olduğunu bilmez. Bu pattern bir obje kümesinin implementasyon ayrıntıları ile genel kullanımını birbirinden ayırır.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Örnek Kod:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Button.java&lt;/span&gt;&lt;br /&gt;package factory;&lt;br /&gt;abstract class Button&lt;br /&gt;{&lt;br /&gt;    public abstract void paint();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OSXButton.java&lt;/span&gt;&lt;br /&gt;package factory;&lt;br /&gt;class OSXButton extends Button&lt;br /&gt;{&lt;br /&gt;    public void paint()&lt;br /&gt;    {&lt;br /&gt;       System.out.println("I'm an OSXButton: ");&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WinButton.java&lt;/span&gt;&lt;br /&gt;package factory;&lt;br /&gt;class WinButton extends Button&lt;br /&gt;{&lt;br /&gt;    public void paint()&lt;br /&gt;    {&lt;br /&gt;       System.out.println("I'm a WinButton: ");&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;GUIFactory.java&lt;/span&gt;&lt;br /&gt;package factory;&lt;br /&gt;abstract class GUIFactory&lt;br /&gt;{&lt;br /&gt;    public static GUIFactory getFactory()&lt;br /&gt;    {&lt;br /&gt;        //int sys = readFromConfigFile("OS_TYPE");&lt;br /&gt;        int sys=1;&lt;br /&gt;        if (sys == 0)&lt;br /&gt;        {&lt;br /&gt;            return new WinFactory();&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            return new OSXFactory();&lt;br /&gt;        }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public abstract Button createButton();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OSXFactory.java&lt;/span&gt;&lt;br /&gt;package factory;&lt;br /&gt;class OSXFactory extends GUIFactory&lt;br /&gt;{&lt;br /&gt;    public Button createButton()&lt;br /&gt;    {&lt;br /&gt;        return new OSXButton();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WinFactory.java&lt;/span&gt;&lt;br /&gt;package factory;&lt;br /&gt;class WinFactory extends GUIFactory&lt;br /&gt;{&lt;br /&gt;    public Button createButton()&lt;br /&gt;    {&lt;br /&gt;        return new WinButton();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Application.java&lt;/span&gt;&lt;br /&gt;package factory;&lt;br /&gt;public class Application&lt;br /&gt;{&lt;br /&gt;    public static void main(String[] args)&lt;br /&gt;    {&lt;br /&gt;        //GUIFactory içindeki int sys=1 satırı int sys=0 yapılırsa winButton üretilir.&lt;br /&gt;        GUIFactory factory = GUIFactory.getFactory();&lt;br /&gt;        Button button = factory.createButton();&lt;br /&gt;        button.paint();&lt;br /&gt;    }&lt;br /&gt;    // Output is either:&lt;br /&gt;    //   "I'm a WinButton:"&lt;br /&gt;    // or:&lt;br /&gt;    //   "I'm an OSXButton:"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:Abstract_factory_UML.svg"&gt;UML Of Abstract Factory Pattern&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-1370703657719110312?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RKge5mozUyndnHeQwUwjmlLWCLM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RKge5mozUyndnHeQwUwjmlLWCLM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RKge5mozUyndnHeQwUwjmlLWCLM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RKge5mozUyndnHeQwUwjmlLWCLM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/0dmkqVdAteA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/1370703657719110312/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=1370703657719110312" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/1370703657719110312?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/1370703657719110312?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/0dmkqVdAteA/core-design-patterns-abstract-factory.html" title="Core Design Patterns: Abstract Factory Pattern" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/core-design-patterns-abstract-factory.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQCSX46fCp7ImA9WB5VF04.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-3185217938453693545</id><published>2007-08-10T02:10:00.000-07:00</published><updated>2007-08-10T02:32:48.014-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T02:32:48.014-07:00</app:edited><title>Core Design Patterns: Decorator Pattern</title><content type="html">&lt;a href="http://en.wikipedia.org/wiki/Object-oriented_programming" title="Object-oriented programming"&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Decorator Pattern:&lt;/span&gt; run time da var olan obje yada objelere yeni davranış şekilleri eklemek için kullanılır. Bu pattern bir tür subclass işlemidir ancak  extend işlemi compile time da değil runtime da yapılmaktadır. Bu da ekstra flexibility kazandırır.&lt;br /&gt;&lt;br /&gt;Decorator pattern  bir decorator objesinin diğer bir objeyi wrap etmesi şeklinde yapılır. Ve bu genelde decorator objesinin constructorına diğer objenin parametre olarak girmesi ile sağlanır.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Örnek Kod:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DecoratedWindowTest.java&lt;br /&gt;&lt;/span&gt;package decoratorPattern;&lt;br /&gt;&lt;br /&gt;public class DecoratedWindowTest {&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        // create a decorated Window with horizontal and vertical scrollbars&lt;br /&gt;        Window decoratedWindow = new HorizontalScrollBarDecorator (&lt;br /&gt;                new VerticalScrollBarDecorator(new SimpleWindow()));&lt;br /&gt;&lt;br /&gt;        // print the Window's description&lt;br /&gt;        System.out.println(decoratedWindow.getDescription());&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HorizontalScrollBarDecorator.java&lt;br /&gt;&lt;/span&gt;package decoratorPattern;&lt;br /&gt;// the second concrete decorator which adds horizontal scrollbar functionality&lt;br /&gt;class HorizontalScrollBarDecorator extends WindowDecorator {&lt;br /&gt;    public HorizontalScrollBarDecorator(Window decoratedWindow) {&lt;br /&gt;        super(decoratedWindow);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void draw() {&lt;br /&gt;        drawHorizontalScrollBar();&lt;br /&gt;        decoratedWindow.draw();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void drawHorizontalScrollBar() {&lt;br /&gt;        // draw the horizontal scrollbar&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getDescription() {&lt;br /&gt;        return decoratedWindow.getDescription()&lt;br /&gt;                + ", including horizontal scrollbars";&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SimpleWindow.java&lt;br /&gt;&lt;/span&gt;package decoratorPattern;&lt;br /&gt;&lt;br /&gt;// implementation of a simple Window without any scrollbars&lt;br /&gt;class SimpleWindow implements Window {&lt;br /&gt;    public void draw() {&lt;br /&gt;        // draw window&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getDescription() {&lt;br /&gt;        return "simple window";&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;VerticalScrollBarDecorator.java&lt;/span&gt;&lt;br /&gt;package decoratorPattern;&lt;br /&gt;&lt;br /&gt;// the first concrete decorator which adds vertical scrollbar functionality&lt;br /&gt;class VerticalScrollBarDecorator extends WindowDecorator {&lt;br /&gt;    public VerticalScrollBarDecorator(Window decoratedWindow) {&lt;br /&gt;        super(decoratedWindow);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void draw() {&lt;br /&gt;        drawVerticalScrollBar();&lt;br /&gt;        decoratedWindow.draw();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void drawVerticalScrollBar() {&lt;br /&gt;        // draw the vertical scrollbar&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getDescription() {&lt;br /&gt;        return decoratedWindow.getDescription()&lt;br /&gt;                + ", including vertical scrollbars";&lt;br /&gt;    }&lt;br /&gt;}&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Window.java&lt;br /&gt;&lt;/span&gt;package decoratorPattern;&lt;br /&gt;&lt;br /&gt;// the Window interface&lt;br /&gt;interface Window {&lt;br /&gt;    public void draw(); // draws the Window&lt;br /&gt;    public String getDescription(); // returns a description of the Window&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WindowDecorator.java&lt;/span&gt;&lt;br /&gt;package decoratorPattern;&lt;br /&gt;&lt;br /&gt;// abstract decorator class - note that it implements Window&lt;br /&gt;abstract class WindowDecorator implements Window {&lt;br /&gt;    protected Window decoratedWindow; // the Window being decorated&lt;br /&gt;&lt;br /&gt;    public WindowDecorator(Window decoratedWindow) {&lt;br /&gt;        this.decoratedWindow = decoratedWindow;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:Decarator.png"&gt;UML Of Decorator Pattern&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-3185217938453693545?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RAITit1bTppikIlk93eVFXvryW4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RAITit1bTppikIlk93eVFXvryW4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RAITit1bTppikIlk93eVFXvryW4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RAITit1bTppikIlk93eVFXvryW4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/MgB-aZ6n3pk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/3185217938453693545/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=3185217938453693545" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3185217938453693545?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3185217938453693545?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/MgB-aZ6n3pk/core-design-patterns-decorator-pattern.html" title="Core Design Patterns: Decorator Pattern" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/core-design-patterns-decorator-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8DQHk6eyp7ImA9WB5VF04.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-8437164212523528433</id><published>2007-08-10T02:02:00.000-07:00</published><updated>2007-08-10T02:07:51.713-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T02:07:51.713-07:00</app:edited><title>Core Design Patterns: Command Pattern</title><content type="html">&lt;span style="font-weight: bold;"&gt;Command Pattern:&lt;/span&gt; Actionları objeye encapsule etme yönteminin adıdır. Her bir action bir object olarak düşünülür.   Bu sayede yeniden kullanabilme, loglayabilme, undo v.s. bir çok vantaj sağlamaktadır.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Örnek Kod:&lt;/span&gt;&lt;br /&gt;/*&lt;br /&gt;The Design Patterns Java Companion&lt;br /&gt;&lt;br /&gt;Copyright (C) 1998, by James W. Cooper&lt;br /&gt;&lt;br /&gt;IBM Thomas J. Watson Research Center&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package CommandPattern;&lt;br /&gt;&lt;br /&gt;import java.awt.Button;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.FileDialog;&lt;br /&gt;import java.awt.Frame;&lt;br /&gt;import java.awt.Menu;&lt;br /&gt;import java.awt.MenuBar;&lt;br /&gt;import java.awt.MenuItem;&lt;br /&gt;import java.awt.Panel;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;&lt;br /&gt;public class ActionCommand extends Frame {&lt;br /&gt;  Menu mnuFile;&lt;br /&gt;&lt;br /&gt;  MenuItem mnuOpen, mnuExit;&lt;br /&gt;&lt;br /&gt;  Button btnRed;&lt;br /&gt;&lt;br /&gt;  Panel p;&lt;br /&gt;&lt;br /&gt;  Frame fr;&lt;br /&gt;&lt;br /&gt;  //-----------------------------------------&lt;br /&gt;  public ActionCommand() {&lt;br /&gt;    super("Frame without commands");&lt;br /&gt;    fr = this; //sae cop of this frame&lt;br /&gt;    MenuBar mbar = new MenuBar();&lt;br /&gt;    setMenuBar(mbar);&lt;br /&gt;&lt;br /&gt;    mnuFile = new Menu("File", true);&lt;br /&gt;    mbar.add(mnuFile);&lt;br /&gt;&lt;br /&gt;    mnuOpen = new MenuItem("Open...");&lt;br /&gt;    mnuFile.add(mnuOpen);&lt;br /&gt;    mnuExit = new MenuItem("Exit");&lt;br /&gt;    mnuFile.add(mnuExit);&lt;br /&gt;&lt;br /&gt;    mnuOpen.addActionListener(new fileOpen());&lt;br /&gt;    mnuExit.addActionListener(new fileExit());&lt;br /&gt;&lt;br /&gt;    btnRed = new Button("Red");&lt;br /&gt;    p = new Panel();&lt;br /&gt;    add(p);&lt;br /&gt;    p.add(btnRed);&lt;br /&gt;&lt;br /&gt;    btnRed.addActionListener(new btnRed());&lt;br /&gt;    setBounds(100, 100, 200, 100);&lt;br /&gt;    setVisible(true);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  //-----------------------------------------&lt;br /&gt;  private void exitClicked() {&lt;br /&gt;    System.exit(0);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  //-----------------------------------------&lt;br /&gt;  static public void main(String argv[]) {&lt;br /&gt;    new ActionCommand();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  //=====----====--inner classes---=====----&lt;br /&gt;  class fileOpen implements ActionListener {&lt;br /&gt;    public void actionPerformed(ActionEvent e) {&lt;br /&gt;      FileDialog fDlg = new FileDialog(fr, "Open a file", FileDialog.LOAD);&lt;br /&gt;      fDlg.show();&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  //-------------------------------------&lt;br /&gt;  class btnRed implements ActionListener {&lt;br /&gt;    public void actionPerformed(ActionEvent e) {&lt;br /&gt;      p.setBackground(Color.red);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  //-------------------------------------&lt;br /&gt;  class fileExit implements ActionListener {&lt;br /&gt;    public void actionPerformed(ActionEvent e) {&lt;br /&gt;      System.exit(0);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;//=====================================&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-8437164212523528433?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FNFFAhJpEwULmTf7I6IuMgUsmm0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FNFFAhJpEwULmTf7I6IuMgUsmm0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FNFFAhJpEwULmTf7I6IuMgUsmm0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FNFFAhJpEwULmTf7I6IuMgUsmm0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/faCFouVuMtY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/8437164212523528433/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=8437164212523528433" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/8437164212523528433?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/8437164212523528433?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/faCFouVuMtY/core-design-patterns-command-pattern.html" title="Core Design Patterns: Command Pattern" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/core-design-patterns-command-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIGR34zcCp7ImA9WB5VF04.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-4747434639209304250</id><published>2007-08-10T01:51:00.000-07:00</published><updated>2007-08-10T02:02:06.088-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T02:02:06.088-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="design patterns" /><title>Core Design Patterns:Facade Pattern</title><content type="html">&lt;span style="font-weight: bold;"&gt;Facade Pattern&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt; bir nesne merkezli tasarım paternidir.Facade in kelime anlamı maske , önyüz  anlamındadır. Bir facade nesnesi büyük, karmaşık bir kod bloğuna yada bir sınıf kütüphanesine basit bir arayüzdür. Yani karmaşık kütüphanelerin client tarafından kolay kullanımı sağlar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;FacadeSınıfı&lt;/span&gt;&lt;br /&gt;package facadePattern;&lt;br /&gt;import java.text.*;&lt;br /&gt;import java.util.*;&lt;br /&gt;/** "Façade" */&lt;br /&gt;class UserfriendlyDate&lt;br /&gt;{&lt;br /&gt; Calendar cal = Calendar.getInstance();&lt;br /&gt; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");&lt;br /&gt;&lt;br /&gt; public UserfriendlyDate (String isodate_ymd) throws ParseException {&lt;br /&gt;     Date date = sdf.parse(isodate_ymd);&lt;br /&gt;     cal.setTime(date);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void addDays (int days) {&lt;br /&gt;     cal.add (Calendar. DAY_OF_MONTH, days);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String toString() {&lt;br /&gt;     return sdf.format(cal.getTime());&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Client Code:&lt;/span&gt;&lt;br /&gt;package facadePattern;&lt;br /&gt;import java.text.ParseException;&lt;br /&gt;class FacadePattern&lt;br /&gt;{&lt;br /&gt; public static void main(String[] args) throws ParseException&lt;br /&gt; {&lt;br /&gt;     UserfriendlyDate d = new UserfriendlyDate("1980-08-20");&lt;br /&gt;     System.out.println ("Date: " + d);&lt;br /&gt;     d.addDays(20);&lt;br /&gt;     System.out.println ("20 days after: " + d);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:FacadeDesignPattern.png"&gt;UML of Façade Pattern&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-4747434639209304250?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/py8VoXWTDAVZsHDo1Lo5DRj34lo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/py8VoXWTDAVZsHDo1Lo5DRj34lo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/py8VoXWTDAVZsHDo1Lo5DRj34lo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/py8VoXWTDAVZsHDo1Lo5DRj34lo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/8iw0EnVuADY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/4747434639209304250/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=4747434639209304250" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/4747434639209304250?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/4747434639209304250?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/8iw0EnVuADY/core-design-patternsfacade-pattern.html" title="Core Design Patterns:Facade Pattern" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/core-design-patternsfacade-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4BR349fyp7ImA9WB5VF04.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-6704715909306461559</id><published>2007-08-10T01:11:00.000-07:00</published><updated>2007-08-10T01:19:16.067-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T01:19:16.067-07:00</app:edited><title>Core Design Patterns: Observer Pattern</title><content type="html">&lt;span style="font-weight:bold;"&gt;Observer Pattern:&lt;/span&gt; Bu pattern haberleşme ile ilgili bir patterndir. Bir objenin başka bir objedeki değişiklikten haberdar olması ihtiyacına cevap verir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Örnek Kod:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;EvenstSource Objesi&lt;/span&gt;&lt;br /&gt;package observerPattern;&lt;br /&gt;import java.util.Observable;          //Observable is here&lt;br /&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt; &lt;br /&gt;public class EventSource extends Observable implements Runnable&lt;br /&gt;{&lt;br /&gt;   String response;&lt;br /&gt;   public void run()&lt;br /&gt;   {&lt;br /&gt;      try&lt;br /&gt;      {   &lt;br /&gt;          InputStreamReader isr = new InputStreamReader(System.in);&lt;br /&gt;          BufferedReader br = new BufferedReader(isr);&lt;br /&gt;          while( true )&lt;br /&gt;          {&lt;br /&gt;               response = br.readLine();&lt;br /&gt;               setChanged();&lt;br /&gt;               notifyObservers( response );&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;      catch (IOException e)&lt;br /&gt;      {&lt;br /&gt;        e.printStackTrace();&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;/* File Name: ResponseHandler.java */&lt;/span&gt;&lt;br /&gt;package observerPattern;&lt;br /&gt;import java.util.Observable;&lt;br /&gt;import java.util.Observer;  /* this is Event Handler */&lt;br /&gt; &lt;br /&gt;public class ResponseHandler implements Observer&lt;br /&gt;{&lt;br /&gt;      private String resp;&lt;br /&gt;      public void update(Observable obj,Object arg)&lt;br /&gt;      {&lt;br /&gt;            if(arg instanceof String)&lt;br /&gt;            {&lt;br /&gt;             resp = (String) arg;&lt;br /&gt;                 System.out.println("\nReceived Response: "+ resp );&lt;br /&gt;            }&lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;/* Filename : myapp.java */&lt;/span&gt;&lt;br /&gt;/* This is main program */&lt;br /&gt;package observerPattern;&lt;br /&gt;public class myapp&lt;br /&gt;{&lt;br /&gt;      public static void main(String args[])&lt;br /&gt;      {            &lt;br /&gt;            System.out.println("Enter Text &gt;");&lt;br /&gt;            EventSource evSrc = new EventSource();&lt;br /&gt;            ResponseHandler respHandler = new ResponseHandler();&lt;br /&gt;            evSrc.addObserver(respHandler);&lt;br /&gt;            evSrc.run();     &lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:Observer-pattern-uml.jpg"&gt;Observer Pattern UML&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-6704715909306461559?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FZP6ewvUW9W8ANjaw04KC4zm8-Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FZP6ewvUW9W8ANjaw04KC4zm8-Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FZP6ewvUW9W8ANjaw04KC4zm8-Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FZP6ewvUW9W8ANjaw04KC4zm8-Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/GDAmGzAACT0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/6704715909306461559/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=6704715909306461559" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6704715909306461559?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6704715909306461559?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/GDAmGzAACT0/core-design-patterns-observer-pattern.html" title="Core Design Patterns: Observer Pattern" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/core-design-patterns-observer-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MFQX47fyp7ImA9WB5VF08.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-7359781929381676834</id><published>2007-08-09T23:47:00.000-07:00</published><updated>2007-08-10T00:03:30.007-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T00:03:30.007-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="design patterns" /><title>Core Design Patterns: Adapter Pattern</title><content type="html">package adapterPattern;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;&lt;br /&gt;Software Architecture Design Patterns in Java&lt;br /&gt;by Partha Kuchana&lt;br /&gt;&lt;br /&gt;Auerbach Publications&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;import java.awt.BorderLayout;&lt;br /&gt;import java.awt.Container;&lt;br /&gt;import java.awt.GridBagConstraints;&lt;br /&gt;import java.awt.GridBagLayout;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;import java.awt.event.KeyEvent;&lt;br /&gt;import java.awt.event.WindowAdapter;&lt;br /&gt;import java.awt.event.WindowEvent;&lt;br /&gt;&lt;br /&gt;import javax.swing.JButton;&lt;br /&gt;import javax.swing.JComboBox;&lt;br /&gt;import javax.swing.JFrame;&lt;br /&gt;import javax.swing.JLabel;&lt;br /&gt;import javax.swing.JPanel;&lt;br /&gt;import javax.swing.JTextField;&lt;br /&gt;import javax.swing.SwingUtilities;&lt;br /&gt;import javax.swing.UIManager;&lt;br /&gt;&lt;br /&gt;import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;&lt;br /&gt;&lt;br /&gt;public class AddressManager extends JFrame {&lt;br /&gt;public static final String newline = "\n";&lt;br /&gt;&lt;br /&gt;public static final String VALIDATE = "Validate";&lt;br /&gt;&lt;br /&gt;public static final String EXIT = "Exit";&lt;br /&gt;&lt;br /&gt;private JTextField txtCustomerName, txtAddress, txtZip, txtState;&lt;br /&gt;&lt;br /&gt;private JLabel lblCustomerName, lblAddress;&lt;br /&gt;&lt;br /&gt;private JLabel lblZip, lblState, lblType;&lt;br /&gt;&lt;br /&gt;private JComboBox cmbAddressType;&lt;br /&gt;&lt;br /&gt;private JLabel lblResult, lblResultValue;&lt;br /&gt;&lt;br /&gt;public AddressManager() {&lt;br /&gt;  super(" Adapter Pattern - Example ");&lt;br /&gt;&lt;br /&gt;  txtCustomerName = new JTextField(20);&lt;br /&gt;  txtAddress = new JTextField(20);&lt;br /&gt;  txtZip = new JTextField(10);&lt;br /&gt;  txtState = new JTextField(10);&lt;br /&gt;&lt;br /&gt;  cmbAddressType = new JComboBox();&lt;br /&gt;  cmbAddressType.addItem(Customer.US);&lt;br /&gt;  cmbAddressType.addItem(Customer.CANADA);&lt;br /&gt;&lt;br /&gt;  lblCustomerName = new JLabel("Customer Name:");&lt;br /&gt;  lblAddress = new JLabel("Address:");&lt;br /&gt;  lblZip = new JLabel("Zip/PostalCode:");&lt;br /&gt;  lblState = new JLabel("State/Province:");&lt;br /&gt;  lblType = new JLabel("Address Type:");&lt;br /&gt;  lblResult = new JLabel("Result:");&lt;br /&gt;  lblResultValue = new JLabel("Click the Validate Button");&lt;br /&gt;&lt;br /&gt;  //Create the open button&lt;br /&gt;  JButton validateButton = new JButton(AddressManager.VALIDATE);&lt;br /&gt;  validateButton.setMnemonic(KeyEvent.VK_V);&lt;br /&gt;  JButton exitButton = new JButton(AddressManager.EXIT);&lt;br /&gt;  exitButton.setMnemonic(KeyEvent.VK_X);&lt;br /&gt;  ButtonHandler objButtonHandler = new ButtonHandler(this);&lt;br /&gt;&lt;br /&gt;  validateButton.addActionListener(objButtonHandler);&lt;br /&gt;  exitButton.addActionListener(new ButtonHandler());&lt;br /&gt;&lt;br /&gt;  JPanel captionPanel = new JPanel();&lt;br /&gt;  String captionText = "&lt;b&gt;&lt;span style="color: rgb(204, 0, 0);font-size:78%;" &gt;"&lt;br /&gt;      + "Adapter Pattern Example&lt;/span&gt;&lt;/b&gt;";&lt;br /&gt;&lt;br /&gt;  JLabel captionLabel = new JLabel(captionText);&lt;br /&gt;  captionPanel.add(captionLabel);&lt;br /&gt;&lt;br /&gt;  JPanel UIPanel = new JPanel();&lt;br /&gt;&lt;br /&gt;  //****************************************************&lt;br /&gt;  GridBagLayout gridbag = new GridBagLayout();&lt;br /&gt;  UIPanel.setLayout(gridbag);&lt;br /&gt;  GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;&lt;br /&gt;  UIPanel.add(lblCustomerName);&lt;br /&gt;  UIPanel.add(txtCustomerName);&lt;br /&gt;  UIPanel.add(lblAddress);&lt;br /&gt;  UIPanel.add(txtAddress);&lt;br /&gt;  UIPanel.add(lblZip);&lt;br /&gt;  UIPanel.add(txtZip);&lt;br /&gt;  UIPanel.add(lblState);&lt;br /&gt;  UIPanel.add(txtState);&lt;br /&gt;  UIPanel.add(lblType);&lt;br /&gt;  UIPanel.add(cmbAddressType);&lt;br /&gt;  UIPanel.add(lblResult);&lt;br /&gt;  UIPanel.add(lblResultValue);&lt;br /&gt;&lt;br /&gt;  UIPanel.add(validateButton);&lt;br /&gt;  UIPanel.add(exitButton);&lt;br /&gt;&lt;br /&gt;  gbc.insets.top = 5;&lt;br /&gt;  gbc.insets.bottom = 5;&lt;br /&gt;  gbc.insets.left = 5;&lt;br /&gt;  gbc.insets.right = 5;&lt;br /&gt;  gbc.anchor = GridBagConstraints.WEST;&lt;br /&gt;&lt;br /&gt;  gbc.gridx = 0;&lt;br /&gt;  gbc.gridy = 0;&lt;br /&gt;  gridbag.setConstraints(lblCustomerName, gbc);&lt;br /&gt;  gbc.gridx = 1;&lt;br /&gt;  gbc.gridy = 0;&lt;br /&gt;  gridbag.setConstraints(txtCustomerName, gbc);&lt;br /&gt;  gbc.gridx = 0;&lt;br /&gt;  gbc.gridy = 1;&lt;br /&gt;  gridbag.setConstraints(lblAddress, gbc);&lt;br /&gt;  gbc.gridx = 1;&lt;br /&gt;  gbc.gridy = 1;&lt;br /&gt;  gridbag.setConstraints(txtAddress, gbc);&lt;br /&gt;  gbc.gridx = 0;&lt;br /&gt;  gbc.gridy = 2;&lt;br /&gt;  gridbag.setConstraints(lblZip, gbc);&lt;br /&gt;  gbc.gridx = 1;&lt;br /&gt;  gbc.gridy = 2;&lt;br /&gt;  gridbag.setConstraints(txtZip, gbc);&lt;br /&gt;  gbc.gridx = 0;&lt;br /&gt;  gbc.gridy = 3;&lt;br /&gt;  gridbag.setConstraints(lblState, gbc);&lt;br /&gt;  gbc.gridx = 1;&lt;br /&gt;  gbc.gridy = 3;&lt;br /&gt;  gridbag.setConstraints(txtState, gbc);&lt;br /&gt;  gbc.gridx = 0;&lt;br /&gt;  gbc.gridy = 4;&lt;br /&gt;  gridbag.setConstraints(lblType, gbc);&lt;br /&gt;  gbc.gridx = 1;&lt;br /&gt;  gbc.gridy = 4;&lt;br /&gt;  gridbag.setConstraints(cmbAddressType, gbc);&lt;br /&gt;  gbc.gridx = 0;&lt;br /&gt;  gbc.gridy = 5;&lt;br /&gt;  gridbag.setConstraints(lblResult, gbc);&lt;br /&gt;  gbc.gridx = 1;&lt;br /&gt;  gbc.gridy = 5;&lt;br /&gt;  gridbag.setConstraints(lblResultValue, gbc);&lt;br /&gt;&lt;br /&gt;  //gbc.anchor = GridBagConstraints.CENTER;&lt;br /&gt;  gbc.insets.left = 2;&lt;br /&gt;  gbc.insets.right = 2;&lt;br /&gt;  gbc.insets.top = 40;&lt;br /&gt;&lt;br /&gt;  JPanel buttonPanel = new JPanel();&lt;br /&gt;  buttonPanel.add(validateButton);&lt;br /&gt;  buttonPanel.add(exitButton);&lt;br /&gt;  UIPanel.add(buttonPanel);&lt;br /&gt;  gbc.gridx = 1;&lt;br /&gt;  gbc.gridy = 6;&lt;br /&gt;  gridbag.setConstraints(buttonPanel, gbc);&lt;br /&gt;&lt;br /&gt;  //&lt;br /&gt;&lt;br /&gt;  //Add the buttons and the log to the frame&lt;br /&gt;  Container contentPane = getContentPane();&lt;br /&gt;  contentPane.add(UIPanel, BorderLayout.CENTER);&lt;br /&gt;&lt;br /&gt;  try {&lt;br /&gt;    UIManager.setLookAndFeel(new WindowsLookAndFeel());&lt;br /&gt;    SwingUtilities.updateComponentTreeUI(AddressManager.this);&lt;br /&gt;  } catch (Exception ex) {&lt;br /&gt;    System.out.println(ex);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;  JFrame frame = new AddressManager();&lt;br /&gt;&lt;br /&gt;  frame.addWindowListener(new WindowAdapter() {&lt;br /&gt;    public void windowClosing(WindowEvent e) {&lt;br /&gt;      System.exit(0);&lt;br /&gt;    }&lt;br /&gt;  });&lt;br /&gt;&lt;br /&gt;  //frame.pack();&lt;br /&gt;  frame.setSize(350, 300);&lt;br /&gt;  frame.setVisible(true);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getCustomerName() {&lt;br /&gt;  return txtCustomerName.getText();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getAddress() {&lt;br /&gt;  return txtAddress.getText();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getZip() {&lt;br /&gt;  return txtZip.getText();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getAddrState() {&lt;br /&gt;  return txtState.getText();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getAddressType() {&lt;br /&gt;  return (String) cmbAddressType.getSelectedItem();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setResultValue(String str) {&lt;br /&gt;  lblResultValue.setText(str);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;} // End of class AddressManager&lt;br /&gt;&lt;br /&gt;class ButtonHandler implements ActionListener {&lt;br /&gt;AddressManager objAddressManager;&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent e) {&lt;br /&gt;  String validationResult = null;&lt;br /&gt;&lt;br /&gt;  //System.out.println(e.getActionCommand());&lt;br /&gt;  if (e.getActionCommand().equals(AddressManager.EXIT)) {&lt;br /&gt;    System.exit(1);&lt;br /&gt;  }&lt;br /&gt;  if (e.getActionCommand().equals(AddressManager.VALIDATE)) {&lt;br /&gt;    String custName = objAddressManager.getCustomerName();&lt;br /&gt;    String address = objAddressManager.getAddress();&lt;br /&gt;    String zip = objAddressManager.getZip();&lt;br /&gt;    String state = objAddressManager.getAddrState();&lt;br /&gt;    String addressType = objAddressManager.getAddressType();&lt;br /&gt;&lt;br /&gt;    //Create a customer object&lt;br /&gt;    Customer objCustomer = new Customer(custName, address, zip, state,&lt;br /&gt;        addressType);&lt;br /&gt;&lt;br /&gt;    //Check if the address is valid&lt;br /&gt;    if (objCustomer.isValidCustomerAddress()) {&lt;br /&gt;      validationResult = "Valid customer data";&lt;br /&gt;    } else {&lt;br /&gt;      validationResult = "Invalid customer data";&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    objAddressManager.setResultValue(validationResult);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public ButtonHandler() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public ButtonHandler(AddressManager inObjAddressManager) {&lt;br /&gt;  objAddressManager = inObjAddressManager;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;} // End of class ButtonHandler&lt;br /&gt;&lt;br /&gt;class USAddress extends AddressValidator {&lt;br /&gt;&lt;br /&gt;public boolean isValidAddress(String inp_address, String inp_zip,&lt;br /&gt;    String inp_state) {&lt;br /&gt;&lt;br /&gt;  if (inp_address.trim().length() &lt;&gt; 10)&lt;br /&gt;    return false;&lt;br /&gt;  if (inp_state.trim().length() != 2)&lt;br /&gt;    return false;&lt;br /&gt;&lt;br /&gt;  return true;&lt;br /&gt;}&lt;br /&gt;}// end of class&lt;br /&gt;&lt;br /&gt;class Customer {&lt;br /&gt;public static final String US = "US";&lt;br /&gt;&lt;br /&gt;public static final String CANADA = "Canada";&lt;br /&gt;&lt;br /&gt;private String address;&lt;br /&gt;&lt;br /&gt;private String name;&lt;br /&gt;&lt;br /&gt;private String zip, state, type;&lt;br /&gt;&lt;br /&gt;public boolean isValidCustomerAddress() {&lt;br /&gt;  if (type.equals(Customer.US)) {&lt;br /&gt;    USAddress us = new USAddress();&lt;br /&gt;    return us.isValidAddress(address, zip, state);&lt;br /&gt;  }&lt;br /&gt;  if (type.equals(Customer.CANADA)) {&lt;br /&gt;    CAAddress objCAAddress = new CAAddress();&lt;br /&gt;    CAAddressAdapter adapter = new CAAddressAdapter(objCAAddress);&lt;br /&gt;    return adapter.isValidAddress(address, zip, state);&lt;br /&gt;  }&lt;br /&gt;  return true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Customer(String inp_name, String inp_address, String inp_zip,&lt;br /&gt;    String inp_state, String inp_type) {&lt;br /&gt;&lt;br /&gt;  name = inp_name;&lt;br /&gt;  address = inp_address;&lt;br /&gt;  zip = inp_zip;&lt;br /&gt;  state = inp_state;&lt;br /&gt;  type = inp_type;&lt;br /&gt;}&lt;br /&gt;}// end of class&lt;br /&gt;&lt;br /&gt;class CAAddressAdapter extends AddressValidator {&lt;br /&gt;&lt;br /&gt;private CAAddress objCAAddress;&lt;br /&gt;&lt;br /&gt;public CAAddressAdapter(CAAddress address) {&lt;br /&gt;  objCAAddress = address;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public boolean isValidAddress(String inp_address, String inp_zip,&lt;br /&gt;    String inp_state) {&lt;br /&gt;&lt;br /&gt;  return objCAAddress&lt;br /&gt;      .isValidCanadianAddr(inp_address, inp_zip, inp_state);&lt;br /&gt;}&lt;br /&gt;}// end of class&lt;br /&gt;&lt;br /&gt;class CAAddress {&lt;br /&gt;&lt;br /&gt;public boolean isValidCanadianAddr(String inp_address, String inp_pcode,&lt;br /&gt;    String inp_prvnc) {&lt;br /&gt;&lt;br /&gt;  if (inp_address.trim().length() &lt; 15)       return false;     if (inp_pcode.trim().length() != 6)       return false;     if (inp_prvnc.trim().length() &lt; 6)       return false;      return true;   } }// end of class  abstract class AddressValidator {   public abstract boolean isValidAddress(String inp_address, String inp_zip,       String inp_state); }// end of class&lt;br /&gt;&lt;br /&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/en/d/d7/ObjectAdapter.png"&gt;UML Of Adapter Pattern&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-7359781929381676834?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/39DsUlAEbDtRQcMNo77IqqG7vZI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/39DsUlAEbDtRQcMNo77IqqG7vZI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/39DsUlAEbDtRQcMNo77IqqG7vZI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/39DsUlAEbDtRQcMNo77IqqG7vZI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/DUNwxt0DpU8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/7359781929381676834/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=7359781929381676834" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/7359781929381676834?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/7359781929381676834?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/DUNwxt0DpU8/core-design-patterns-adapter-pattern.html" title="Core Design Patterns: Adapter Pattern" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/core-design-patterns-adapter-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IEQHwzfip7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-9177796126361871864</id><published>2007-08-01T06:21:00.000-07:00</published><updated>2007-08-01T07:45:01.286-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:45:01.286-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebService" /><title>What is the difference between standard webservice and wrapped webservice</title><content type="html">The difference between wrapped and normal webservice is not very important. The xml files send are very similar in both methodolgy. Than what is the difference.&lt;br /&gt;Difference is about the interfaces:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Standard Document Style Web Service Interface:&lt;/span&gt;&lt;br /&gt;public class SimpleServiceSOAPImpl implements SimpleService_PortType{&lt;br /&gt;   public String concat(ConcatRequest concatRequest) ... {&lt;br /&gt;       return concatRequest.getS1()+concatRequest.getS2();&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wrapped Document Style Web Service Interface:&lt;br /&gt;&lt;/span&gt;public class SimpleServiceSOAPImpl implements SimpleService_PortType{&lt;br /&gt;       public String concat(String s1, String s2) ... {&lt;br /&gt;               return s1+s2;&lt;br /&gt;               }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;But both are document style web services at real.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-9177796126361871864?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bJI4gDJvWFW94GjpsxU2-98rA_o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bJI4gDJvWFW94GjpsxU2-98rA_o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bJI4gDJvWFW94GjpsxU2-98rA_o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bJI4gDJvWFW94GjpsxU2-98rA_o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/yBesnRXpPAg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/9177796126361871864/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=9177796126361871864" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/9177796126361871864?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/9177796126361871864?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/yBesnRXpPAg/what-is-difference-between-standard.html" title="What is the difference between standard webservice and wrapped webservice" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/what-is-difference-between-standard.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MBRnwzeSp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-8941255193272308325</id><published>2007-08-01T00:54:00.000-07:00</published><updated>2007-08-01T07:44:17.281-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:44:17.281-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Deploy" /><category scheme="http://www.blogger.com/atom/ns#" term="ApplicationServer" /><title>Tomcat Deploy Tips</title><content type="html">tomcat\conf\Catalina\localhost klasöründe bir xml file yaratılır.&lt;br /&gt;Örnek içerik:&lt;br /&gt;Axis.xml&lt;br /&gt;&lt;context docbase="c:/axis/webapps/axis" path="/Axis"&gt;&lt;br /&gt;&lt;br /&gt;Burada yapılan işlem tomcate c:/axis/webapps/axis klasörünün bir webapplication olduğunu söylemektir. Ve http://........./Axis pathi ile browserdan erişileceği söylenmektedir.&lt;/context&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-8941255193272308325?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Fpd5hyr1aARB3UUbitEMUKuWPb0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fpd5hyr1aARB3UUbitEMUKuWPb0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Fpd5hyr1aARB3UUbitEMUKuWPb0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fpd5hyr1aARB3UUbitEMUKuWPb0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/9sXBA-ncVkA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/8941255193272308325/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=8941255193272308325" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/8941255193272308325?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/8941255193272308325?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/9sXBA-ncVkA/tomcat-deploy-tips.html" title="Tomcat Deploy Tips" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/tomcat-deploy-tips.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MGQn86eyp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-1268335051931838260</id><published>2007-08-01T00:08:00.000-07:00</published><updated>2007-08-01T07:43:43.113-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:43:43.113-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebService" /><title>RPC and Document Style WebServices</title><content type="html">&lt;span style="font-weight: bold;"&gt;RPC Style Interface WS Interface&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Local name: concat&lt;br /&gt;Namespace: http://ttdev.com/ss&lt;br /&gt;Input message:&lt;br /&gt;Part 1:&lt;br /&gt;    Name: s1&lt;br /&gt;    Type: string in http://www.w3.org/2001/XMLSchema&lt;br /&gt;Part 2:&lt;br /&gt;    Name: s2&lt;br /&gt;    Type: string in http://www.w3.org/2001/XMLSchema&lt;br /&gt;Output message:&lt;br /&gt;Part 1:&lt;br /&gt;    Name: return&lt;br /&gt;    Type: string in http://www.w3.org/2001/XMLSchema&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Document Style&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;WS Interface&lt;/span&gt;&lt;xsd:schema targetnamespace="http://ttdev.com/ss" xsd="http://www.w3.org/2001/XMLSchema"&gt;&lt;xsd:element name="concatRequest"&gt;&lt;xsd:complextype&gt;&lt;xsd:sequence&gt;&lt;xsd:element name="s1" type="xsd:string"&gt;&lt;xsd:element name="s2" type="xsd:string"&gt;&lt;/xsd:element&gt;&lt;/xsd:element&gt;&lt;/xsd:sequence&gt;&lt;/xsd:complextype&gt;&lt;br /&gt;&lt;br /&gt;Local name: concat&lt;br /&gt;Namespace: http://ttdev.com/ss&lt;br /&gt;Input message:&lt;br /&gt;Part 1:&lt;br /&gt;        Name: concatRequest&lt;br /&gt;        Element: concatRequest in http://ttdev.com/ss&lt;br /&gt;Output message:&lt;br /&gt;Part 1:&lt;br /&gt;        Name: concatResponse&lt;br /&gt;        Type: string in http://www.w3.org/2001/XMLSchema&lt;br /&gt;&lt;br /&gt;Note: See that we have an xsd scheme in the document style ws interface, but not in a rpc style ws interface.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Compare the input messages of the RPC style web service and the document style&lt;br /&gt;web service:&lt;br /&gt;&lt;br /&gt;RPC Style Request:&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;foo:concat foo="http://ttdev.com/ss" xsd="http://www.w3.org/2001/XMLSchema" xsi="http://www.w3.org/2001/XMLSchema-Instance"&gt;&lt;br /&gt;           &lt;s1 type="xsd:string"&gt;abc&lt;/s1&gt;&lt;br /&gt;           &lt;s2 type="xsd:string"&gt;123&lt;/s2&gt;&lt;br /&gt;&lt;/foo:concat&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Document Style Request:&lt;/span&gt;&lt;br /&gt;&lt;foo:concatrequest foo="http://ttdev.com/ss"&gt;&lt;br /&gt;       &lt;s1&gt;abc&lt;/s1&gt;&lt;br /&gt;       &lt;s2&gt;123&lt;/s2&gt;&lt;br /&gt;&lt;/foo:concatrequest&gt;&lt;br /&gt;&lt;br /&gt;According to WS-I (web services interoperability organization), you should use&lt;br /&gt;document style web services only.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/xsd:element&gt;&lt;/xsd:schema&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-1268335051931838260?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qiETqJKlLxk5tqOFbYHaH2-ksrs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qiETqJKlLxk5tqOFbYHaH2-ksrs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qiETqJKlLxk5tqOFbYHaH2-ksrs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qiETqJKlLxk5tqOFbYHaH2-ksrs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/vXVHlVZg4xM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/1268335051931838260/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=1268335051931838260" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/1268335051931838260?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/1268335051931838260?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/vXVHlVZg4xM/rpc-and-document-style-webservices.html" title="RPC and Document Style WebServices" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/08/rpc-and-document-style-webservices.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QBSX89cCp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-3995744627950608401</id><published>2007-07-28T05:41:00.001-07:00</published><updated>2007-08-01T07:42:38.168-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:42:38.168-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ant" /><category scheme="http://www.blogger.com/atom/ns#" term="Framework" /><category scheme="http://www.blogger.com/atom/ns#" term="WebService" /><title>Ant Tasks For Axis</title><content type="html">This is a template page&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-3995744627950608401?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4xX5J0phB66inWEXjWCADjjeYZ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4xX5J0phB66inWEXjWCADjjeYZ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4xX5J0phB66inWEXjWCADjjeYZ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4xX5J0phB66inWEXjWCADjjeYZ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/jny2SnC9PkM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/3995744627950608401/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=3995744627950608401" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3995744627950608401?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3995744627950608401?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/jny2SnC9PkM/ant-tasks-for-axis.html" title="Ant Tasks For Axis" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/07/ant-tasks-for-axis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UDQXk6eCp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-2524560723946348420</id><published>2007-07-28T05:34:00.000-07:00</published><updated>2007-08-01T07:41:10.710-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:41:10.710-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Patterns" /><category scheme="http://www.blogger.com/atom/ns#" term="j2ee" /><title>Some of Widely Known And Used Design Patterns</title><content type="html">&lt;span style="font-weight: bold;"&gt;Some of Widely Known And Used Design Patterns&lt;/span&gt;&lt;br /&gt;The Observer Pattern&lt;br /&gt;The Decorator Pattern&lt;br /&gt;The Factory Pattern&lt;br /&gt;The Singleton Pattern&lt;br /&gt;The Command Pattern&lt;br /&gt;Tha Adapter and Facade Pattern&lt;br /&gt;The Template Method Pattern&lt;br /&gt;The Iterator and Composite PAttern&lt;br /&gt;The State Pattern&lt;br /&gt;The Proxy Pattern&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-2524560723946348420?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/U-O6_RBLj3xHOlKofQWbM0d38J0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U-O6_RBLj3xHOlKofQWbM0d38J0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/U-O6_RBLj3xHOlKofQWbM0d38J0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U-O6_RBLj3xHOlKofQWbM0d38J0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/j-xhVgBOm68" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/2524560723946348420/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=2524560723946348420" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/2524560723946348420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/2524560723946348420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/j-xhVgBOm68/some-of-widely-known-and-used-design.html" title="Some of Widely Known And Used Design Patterns" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/07/some-of-widely-known-and-used-design.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UGRnYyfyp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-6797201891121936724</id><published>2007-07-26T04:15:00.000-07:00</published><updated>2007-08-01T07:40:27.897-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:40:27.897-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebService" /><title>Axis TCPMonitor Tool</title><content type="html">java -cp %AXISCLASSPATH% org.apache.axis.utils.tcpmon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-6797201891121936724?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BXopo9ntKg1A45EfJqMg-jvcJTg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BXopo9ntKg1A45EfJqMg-jvcJTg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BXopo9ntKg1A45EfJqMg-jvcJTg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BXopo9ntKg1A45EfJqMg-jvcJTg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/xho7tSeow8Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/6797201891121936724/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=6797201891121936724" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6797201891121936724?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6797201891121936724?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/xho7tSeow8Y/axis-tcpmonitor-tool.html" title="Axis TCPMonitor Tool" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/07/axis-tcpmonitor-tool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UEQ3k7eCp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-3736054143805245783</id><published>2007-06-13T23:58:00.000-07:00</published><updated>2007-08-01T07:40:02.700-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:40:02.700-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XML" /><category scheme="http://www.blogger.com/atom/ns#" term="WebService" /><title>XML Parsers</title><content type="html">Some of the XML parsers&lt;br /&gt;• Apache Xerces: http://xml.apache.org/&lt;br /&gt;• IBM XML4J: http://alphaworks.ibm.com/tech/xml4j&lt;br /&gt;• James Clark's XP: http://www.jclark.com/xml/xp&lt;br /&gt;• Oracle XML Parser: http://technet.oracle.com/tech/xml&lt;br /&gt;• Sun Microsystems Crimson: http://xml.apache.org/crimson&lt;br /&gt;• Tim Bray's Lark and Larval: http://www.textuality.com/Lark&lt;br /&gt;• The Mind Electric's Electric XML:http://www.themindelectric.com/products/xml/xml.html&lt;br /&gt;• Microsoft's MXSML Parser: http://msdn.microsoft.com/xml/default.asp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-3736054143805245783?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nRxBJTCqSY-9qA6bjimIMfByUsQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nRxBJTCqSY-9qA6bjimIMfByUsQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nRxBJTCqSY-9qA6bjimIMfByUsQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nRxBJTCqSY-9qA6bjimIMfByUsQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/fii5yvBOYhA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/3736054143805245783/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=3736054143805245783" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3736054143805245783?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/3736054143805245783?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/fii5yvBOYhA/xml-parsers.html" title="XML Parsers" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/06/xml-parsers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YASX4yfyp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-4562399683179307250</id><published>2007-06-13T06:15:00.001-07:00</published><updated>2007-08-01T07:39:08.097-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:39:08.097-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Framework" /><category scheme="http://www.blogger.com/atom/ns#" term="WebService" /><title>Web Services Frameworks</title><content type="html">Widely Used Web Service Frameworks:&lt;br /&gt;Axis&lt;br /&gt;Axis2&lt;br /&gt;Xfire&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-4562399683179307250?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sSaAd8y8JvFZIk7CGYX4f96xRZg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sSaAd8y8JvFZIk7CGYX4f96xRZg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sSaAd8y8JvFZIk7CGYX4f96xRZg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sSaAd8y8JvFZIk7CGYX4f96xRZg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/k2g8Mk5xI7A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/4562399683179307250/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=4562399683179307250" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/4562399683179307250?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/4562399683179307250?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/k2g8Mk5xI7A/web-services-frameworks.html" title="Web Services Frameworks" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/06/web-services-frameworks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBSX07cCp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-4442937421218983419</id><published>2007-06-13T05:13:00.000-07:00</published><updated>2007-08-01T07:37:38.308-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:37:38.308-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="j2ee" /><category scheme="http://www.blogger.com/atom/ns#" term="Framework" /><title>Widely Used EE Frameworks</title><content type="html">Spring&lt;br /&gt;Jdon&lt;br /&gt;Expresso&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-4442937421218983419?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hsjnmIteOl9FjWF6lbi2xJ-wLvk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hsjnmIteOl9FjWF6lbi2xJ-wLvk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hsjnmIteOl9FjWF6lbi2xJ-wLvk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hsjnmIteOl9FjWF6lbi2xJ-wLvk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/RwQupDFXN0Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/4442937421218983419/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=4442937421218983419" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/4442937421218983419?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/4442937421218983419?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/RwQupDFXN0Y/widely-used-ee-frameworks.html" title="Widely Used EE Frameworks" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/06/widely-used-ee-frameworks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4DQX0-eSp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-480383702159616969</id><published>2007-06-13T05:04:00.000-07:00</published><updated>2007-08-01T07:36:10.351-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:36:10.351-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Framework" /><title>Widely Used Web Frameworks</title><content type="html">Widely Used Web Frameworks&lt;br /&gt;1) Struts&lt;br /&gt;2) JSF&lt;br /&gt;3) Tapestry&lt;br /&gt;4) Cocoon&lt;br /&gt;5) Spring&lt;br /&gt;6) Hibernate&lt;br /&gt;&lt;br /&gt;Also WebOnSwing is an interesting web framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-480383702159616969?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iBQT-z4GucIxHDxmUj6qCsustRQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iBQT-z4GucIxHDxmUj6qCsustRQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iBQT-z4GucIxHDxmUj6qCsustRQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iBQT-z4GucIxHDxmUj6qCsustRQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/2YFlCc1USkw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/480383702159616969/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=480383702159616969" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/480383702159616969?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/480383702159616969?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/2YFlCc1USkw/widely-used-web-frameworks.html" title="Widely Used Web Frameworks" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/06/widely-used-web-frameworks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYNQngzeip7ImA9WB5VF04.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-5042891929993746992</id><published>2007-06-13T04:46:00.000-07:00</published><updated>2007-08-10T01:23:13.682-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-10T01:23:13.682-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Books" /><title>Favorite Books</title><content type="html">* &lt;span style="font-weight:bold;"&gt;The Design Patterns Java Companion&lt;/span&gt;&lt;br /&gt;      By Addison Wesley Design Patterns Series&lt;br /&gt;      Author=James W. Cooper&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;Java Cookbook&lt;/span&gt;&lt;br /&gt;       O'Reilly&lt;br /&gt;      Author=Ian Darwin&lt;br /&gt;&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;O'Reilly Java and XML&lt;/span&gt;&lt;br /&gt;      Author=Brett McLauglin&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;Java Web Services&lt;/span&gt;&lt;br /&gt;      O'Reilly&lt;br /&gt;     Author= David Chappell &amp; Tyler Jewell&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;A Programmer's Guide to JAVA Certification&lt;/span&gt;&lt;br /&gt;      Addison Wesley&lt;br /&gt;      Author=&lt;span style="text-decoration: underline;"&gt;KHalid A. Muqhal&lt;/span&gt;, Rolf W. Rasmussen&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;Java 2: Web Developer Certification Study Guide&lt;/span&gt;&lt;br /&gt;      Sybex&lt;br /&gt;      Author=Natalie Levi, Phillip Heller&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;Enterprise Integration Patterns:&lt;/span&gt;&lt;br /&gt;      Author=by Gregor Hohpe (Author), Bobby Woolf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-5042891929993746992?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/96gIeNff_OiLzbGhd1ZQhiFBKqo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/96gIeNff_OiLzbGhd1ZQhiFBKqo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/96gIeNff_OiLzbGhd1ZQhiFBKqo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/96gIeNff_OiLzbGhd1ZQhiFBKqo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/zAgr1urei98" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/5042891929993746992/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=5042891929993746992" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/5042891929993746992?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/5042891929993746992?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/zAgr1urei98/favorite-books.html" title="Favorite Books" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/06/favorite-books.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8MQnk8fCp7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-6230442635624465122</id><published>2007-06-13T04:13:00.000-07:00</published><updated>2007-08-01T07:34:43.774-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:34:43.774-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="j2ee" /><title>J2EE Concepts</title><content type="html">1) Web Tier&lt;br /&gt;    *Servlet&lt;br /&gt;    *JSP&lt;br /&gt;    *JSTL&lt;br /&gt;    *Custom Tagged JSPs&lt;br /&gt;    *JSF&lt;br /&gt;2) Web Services&lt;br /&gt;    *JAX-WS&lt;br /&gt;    *XML Schema and Java Object Binding&lt;br /&gt;    *stax&lt;br /&gt;    *JAXR Java API for XML Registry&lt;br /&gt;3) Enterprise Beans&lt;br /&gt;    *Session Beans&lt;br /&gt;    *Message Driven Beans&lt;br /&gt;4) Persistence&lt;br /&gt;   *Persistence in the web tier&lt;br /&gt;   *Persistence int the ejb tier&lt;br /&gt;5) Services&lt;br /&gt;    *Security&lt;br /&gt;    *JMS API&lt;br /&gt;    *Transactions&lt;br /&gt;    *Resource Connections JNDI&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-6230442635624465122?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/le4xolnzn5H1te75ELexkSuOw0Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/le4xolnzn5H1te75ELexkSuOw0Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/le4xolnzn5H1te75ELexkSuOw0Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/le4xolnzn5H1te75ELexkSuOw0Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/gGNkJ8a6gts" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/6230442635624465122/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=6230442635624465122" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6230442635624465122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6230442635624465122?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/gGNkJ8a6gts/j2ee-concepts.html" title="J2EE Concepts" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/06/j2ee-concepts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8AQXs7eip7ImA9WB5WGUo.&quot;"><id>tag:blogger.com,1999:blog-5513189087973241763.post-6787557535747598749</id><published>2007-06-13T03:47:00.000-07:00</published><updated>2007-08-01T07:34:00.502-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T07:34:00.502-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Java Basics</title><content type="html">1) Basics of Java Programming&lt;br /&gt;2) Declarations and Access Control&lt;br /&gt;3)Exception Handling and Assertions&lt;br /&gt;4) Object Oriented Programming&lt;br /&gt;5) Nested Classes and Interfaces&lt;br /&gt;6) Object Lifetime&lt;br /&gt;7) Threads&lt;br /&gt;8) java.lang package --&lt;br /&gt;9) Collections and Maps-- java.util&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5513189087973241763-6787557535747598749?l=abdullatiftopcu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6E68S5thc1fPbgi8Ihh36ZcOSZI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6E68S5thc1fPbgi8Ihh36ZcOSZI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6E68S5thc1fPbgi8Ihh36ZcOSZI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6E68S5thc1fPbgi8Ihh36ZcOSZI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AbdullatifTopcu/~4/SszX4uy-gFM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://abdullatiftopcu.blogspot.com/feeds/6787557535747598749/comments/default" title="Kayıt Yorumları" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5513189087973241763&amp;postID=6787557535747598749" title="0 Yorum" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6787557535747598749?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5513189087973241763/posts/default/6787557535747598749?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AbdullatifTopcu/~3/SszX4uy-gFM/java-basics.html" title="Java Basics" /><author><name>Abdullatif Topçu</name><uri>http://www.blogger.com/profile/16982169898720788934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abdullatiftopcu.blogspot.com/2007/06/java-basics.html</feedburner:origLink></entry></feed>

