<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Spring Platform Information in Thailand</title>
	<atom:link href="http://spring66.com/blogs/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://spring66.com/blogs</link>
	<description>สปริงเฟรมวิร์คสำหรับชาวไทย</description>
	<lastBuildDate>Thu, 26 Aug 2010 03:26:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Starbucks ไม่ใช้ 2-phase-commit</title>
		<link>http://spring66.com/blogs/?p=911</link>
		<comments>http://spring66.com/blogs/?p=911#comments</comments>
		<pubDate>Wed, 25 Aug 2010 15:44:37 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[case study]]></category>
		<category><![CDATA[2-phase-commit]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Transaction]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=911</guid>
		<description><![CDATA[แปลมาจาก Starbucks Doesn&#8217;t use two phase commit Hotto Cocoa o Kudasai ผมเพิ่งกลับมาจากทริปญี่ปุ่นได้สองสัปดาห์ ระหว่างการเดินทางที่ญี่ปุ่นครั้งนี้มีสิ่งหนึ่งที่ผมคุ้นตามากมันคือสัญลักษณ์รูป ทรงกลมเขียวอันเป็นเอกลักษณ์ของ Starbucks นั่นเองโดยเฉพาะแถวๆเขต Shinjuku และ Roppongi และระหว่างที่ผม รอรับเครื่องดื่ม “Hotto Cocoa” ของผมผมก็สังเกตเห็นอะไรบางอย่างในกระบวนการจัดการ Order ของ Starbucks แนวคิดหลักของ Starbucks และธุรกิจอื่นๆคือการรับ Order ให้ได้มากที่สุดเท่าที่จะมากได้เพราะยิ่งรับ Order มากเท่าไหร่มันหมายถึงรายได้ที่เพิ่มขึ้นมาตามจำนวน นั่นเป็นสาเหตุให้ Starbucks เลือกใช้กระบวนการจัดการ Order แบบ Asynchornous ถ้าเราลองนึกภาพตามการสั่งกาแฟที่ Starbucks จะเริ่มจากเราสั่งกาแฟที่ cashier จากนั้น cashier จะจดรายการนั้นลงไปที่แก้วแล้ววางไว้ที่ Queue ระหว่างเครื่องชงซึ่ง Queue นี้เป็นปัจจัยหลักที่ทำให้ Cashier สามารถทำงานเป็นอิสระ (Decouple) จาก [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=911</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>สร้าง RESTFul WS ด้วย Spring MVC3</title>
		<link>http://spring66.com/blogs/?p=879</link>
		<comments>http://spring66.com/blogs/?p=879#comments</comments>
		<pubDate>Tue, 10 Aug 2010 10:15:17 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[RESTFul]]></category>
		<category><![CDATA[SpringMVC 3]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=879</guid>
		<description><![CDATA[Introduction ไม่ recap เรื่อง REST แล้วนะครับเพราะเขียนเรื่องแนวคิดไปสองสามบทความแล้วครับเราเข้าเรื่องกัน เลยว่านอก จากการใช้ RESTEasy, Jersey แล้วเรายังสามารถใช้ SpringMVC3 เพื่อสร้าง RESTFul Service ได้เหมือนกันครับ ก่อนอื่น sourcecode ทั้งหมดอยู่ที่นี่ครับ https://restfulspringmvc3.googlecode.com/svn/trunk/ Spring 3 REST support ก่อนที่ Spring จะรองรับการทำ REST เราสามารถเลือกใช้ Framework อื่นๆเช่น Restlet, RestEasy, และ Jersey เพื่อนำมาสร้าง RESTFul ws ขึ้นมาโดยที่ Framework เหล่านี้จะ implement อยู่บนมาตรฐาน JAX-RS (JSR 311) ปัจจุบัน Spring3 ได้ทำการรวมเอาความสามารถเรื่อง RESTFul WS เข้ามาไว้ในตัวเรียบร้อยแต่วิธีการสร้าง REST ของ Spring3 [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=879</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Master Data Management</title>
		<link>http://spring66.com/blogs/?p=851</link>
		<comments>http://spring66.com/blogs/?p=851#comments</comments>
		<pubDate>Wed, 14 Jul 2010 06:34:34 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[general information]]></category>
		<category><![CDATA[Master Data Management]]></category>
		<category><![CDATA[MDM]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=851</guid>
		<description><![CDATA[ที่มาของเอกสารนี้มาจาก http://www.dataflux.com ผมอ่านและสรุป ตัดออกบ้าง เกริ่นก่อน ในโลกยุคปัจจุบันที่เป็นยุคแห่งการแข่งขันเรื่องข้อมูลข่าวสาร การแลกเปลี่ยนข้อมูลข่าวสารระหว่าง แผนก,องค์กร เป็นเรื่องที่เกิดขึ้นกันเป็นปกติเนื่องจากยิ่งมีการเชื่อมต่อระหว่างพันธมิตรมีมากเท่าไหร่ก็ทำให้เรามีความได้เปรียบทางการ แข่งขันมากขึ้นเท่านั้น แต่อย่างไรก็ตาม เราพบว่ายิ่งเราพยายามแบ่งปันข้อมูลมากขึ้นและการแยกการประมวลผลข้อมูลของแต่ละกลุ่มของ ธุรกิจให้อิสระต่อกันให้มากขึ้น สองสิ่งนี้นำเราไปสู่การสร้างกลุ่มของการประมวลผลที่ผูกติดแน่นต่อกัน โดยที่แต่ละกลุ่มจะมีข้อมูลบางชุดที่ใช้งานเหมือนๆกันโดยที่แต่ละกลุ่มเองก็จะมีโครงสร้าง definition,dictionary ที่เป็นของตัวเองโดยอิงกับความต้องการทางธุรกิจของตัวเอง ผลสืบเนื่องต่อมาอีกคือในองค์กรขนาดใหญ่เราจะพบว่าจะมีการเก็บข้อมูลที่ดูเหมือนว่าจะเป็นข้อมูลของสิ่งๆเดียวกันในหลายๆที่ โดยที่แต่ละที่จะมีองค์ประกอบของข้อมูลที่แตกต่างกันเล็กน้อย และมีซ้ำกันทั้งใน Operational และ Analytical process และตอบไม่ได้ว่าถ้าเราต้องการข้อมูลที่ถูกต้องที่สุดเราต้องไปหยิบจากระบบไหน ดังนั้นเพื่อเป็นการแก้ปัญหานีองค์กรเหล่านั้นจะต้องหาวิธีที่จะนำมาใช้สำหรับ การแยกแยะข้อมูล อธิบายมุมมองของการใช้งานข้อมูลในกลุ่มธุรกิจต่างๆ รวมไปถึงการควบรวมข้อมูลเหล่านั้นเพื่อให้ข้อมูลเหล่านั้นสามารถถูกนำกลับไปใช้งานโดยหน่วยงานต่างๆได้เหมือนเดิม ซึ่งจะส่งผลให้องค์กรมีความสามารถในการ จัดการและบริหารข้อมูลได้อย่างมีประสิทธิภาพมากขึ้น อย่างไรก็ตามหลังจากโลกไอทีของเราย้ายฝั่งไปที่ฝั่ง Distributed ระยะหนึ่งตอนนี้มันกำลังย้ายกลับมาที่ฝั่งของ Centralized เราเริ่มเห็นแนวโน้มแล้วจากระบบที่เป็นหัวใจสำคัญเช่น Data Warehouse ที่มีการปล่อยให้ข้อมูลเกือบทั้งหมดขององค์กรไหลเข้าสู่ระบบ DW และทำการ Transform และ Cleansing เพื่อนำไปทำการออก Analytical Report แต่อย่างไรก็ตามกระบวนการ Transform และ Cleansing นั้นส่งผลกระทบให้ข้อมูลที่นำไปใช้ออก Report ไม่สอดคล้องกับข้อมูลต้นทาง นี่จึงเป็นอีกเหตุผลที่ส่งเสริมให้องค์กรควรจะสร้างสิ่งที่เรียกว่า Single [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=851</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Spring MVC 3 มันเป็นยังไง</title>
		<link>http://spring66.com/blogs/?p=837</link>
		<comments>http://spring66.com/blogs/?p=837#comments</comments>
		<pubDate>Fri, 25 Jun 2010 07:49:10 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[general information]]></category>
		<category><![CDATA[SpringMVC 3]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=837</guid>
		<description><![CDATA[จริงมีเนื้อหาสำหรับ Spring MVC มาแล้วสามตอนด้วยกันคือ SpringMVC ภาค 1, SpringMVC ภาค 2 และ SpringMVC ภาค3 หรือสามารถเข้าไปหาหาจาก Tag SpringMVC ได้ครับ แต่วันนี้มาดูของใหม่ใน Spring MVC 3 กันหน่อยว่าสวยงามกว่าเดิมขนาดไหนก่อนอื่นให้ไป Check Out โค้ดตัวอย่าง mvc-basic และให้เพิ่ม jetty plugin เข้าไปเพื่อความสะดวกในการทดสอบเพราะไม่อยาก build เป็น war เมื่อเรียบร้อยแล้วเรามาดูกันทีละไฟล์ไปว่ามีอะไรน่าสนใจบ้างไฟล์แรกที่เราจะดูคือ web.xml ส่วนแรกคือ UrlRewriteFilter โอวจริงมันเป็นของที่เพิ่มเข้ามาเพื่อทำให้ URL สวยงามตามมาตรฐาน REST (ตัวโปรเจคอยู่ที่ urlrewritefilter ได้รับอิทธิพลจาก mod_rewrite) &#60;!-- Enables clean URLs with JSP views e.g. /welcome instead [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=837</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrate Spring กับ Web Framework อื่นๆ</title>
		<link>http://spring66.com/blogs/?p=832</link>
		<comments>http://spring66.com/blogs/?p=832#comments</comments>
		<pubDate>Wed, 23 Jun 2010 04:16:41 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[ContextLoaderListener]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=832</guid>
		<description><![CDATA[เคยมีคนเล่าให้ฟังว่าได้เห็นการใช้ Spring แบบมหาเกรียนมาหนึ่งรูปแบบคือ ทุกๆ Request บน Servlet จะทำการสร้าง Application Context ใหม่สดเสมอ ???? ผมถึงกับอึ้งว่า ทำไมช่างกล้าใช้งานแบบนั้นนั่นมันอวิชาชัดๆ คือไม่รู้ว่าจะใช้ยังไงแล้วเอาไปใช้แบบผิดๆทำให้เสียหายกันไปหมด เรามาดูวิธีการใช้งานที่ถูกต้องกันดีกว่าอันดับแรกสิ่งที่เราต้องเข้าใจก่อนคือเราต้องมี Application Context เพียง 1 อันเท่านั้นอย่าไปสร้างเพิ่มโดยไม่จำเป็นดังนั้นสิ่งที่เราจะทำคือเราจะฝังมันไว้ใน Web Application Context โดยเราต้องประกาศ ContextLoaderListener ก่อนเพื่อโดยการเพิ่มเข้าไปที่ web.xml &#60;listener&#62; &#60;listener-class&#62;org.springframework.web.context.ContextLoaderListener&#60;/listener-class&#62; &#60;/listener&#62; จากนั้นเราก็ต้องบอกว่า ContextLoaderListener ต้องไปอ่าน Application Context Configuration ที่ไหนโดยให้ระบุเป็น param-value เข้าไปดังนี้ ให้ใส่ใน web.xml เหมือนกันครับแต่ใส่วใต้ ContextLoaderListener &#60;context-param&#62; &#60;param-name&#62;contextConfigLocation&#60;/param-name&#62; &#60;param-value&#62;/WEB-INF/applicationContext*.xml&#60;/param-value&#62; &#60;/context-param&#62; เป็นอันเสร็จเรียบร้อยครับต่อไปสิ่งที่ต้องทำคือการดึงมันออกมาใช้ วิธีการคือเราจะใช้ WebApplicationContext เพื่อดึงเอา bean ออกมาใช้ดังนี้ WebApplicationContext [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=832</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>การทำ Autowire แบบต่างใน Spring</title>
		<link>http://spring66.com/blogs/?p=819</link>
		<comments>http://spring66.com/blogs/?p=819#comments</comments>
		<pubDate>Mon, 21 Jun 2010 10:41:58 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[Autowire]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=819</guid>
		<description><![CDATA[Spring Container สามารถทำสิ่งที่เรียกว่า autowire เพื่อจัดการ relation ระหว่าง beans ได้แบบอัตโนมัติโดยที่เราไม่ต้องระบุ(bean id=&#8221;" ref=&#8221;" ) โดยข้อดีของการทำ Autowire คือ Autowiring ทำให้เราจำนวนของการทำ bean configuration ทั้ง (properties และ constructor) ลงไปได้เยอะมากเนื่องจาก Spring จะจัดการหาสิ่งที่เหมาะสมให้เอง Autowiring แก้ไขได้ง่ายมากกว่าเนื่องจากเราไม่ต้องไปแก้ไขอะไรมากที่ Configuration File เช่นถ้าเราต้องการเพิ่ม Dependency เข้าไปให้กับ Bean ของเราใหม่เราไม่จำเป็นต้องไปแตะ Configuration File ทำให้ ความเสี่ยงเรื่องของความผิดพลาดจะลดน้อยลงไปเยอะมาก ในกรณีที่เราใช้การทำ Configuration แบบ XML เราสามารถระบุให้ spring ทำงานแบบ Autowire ได้ด้วยการระบุ autowire attribute ลงไปใน &#60;bean/&#62; โดยที่การทำ autowire นั้นสามารถทำได้ [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=819</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google I/O กับ Spring &#8212; Roo กับ GWT</title>
		<link>http://spring66.com/blogs/?p=792</link>
		<comments>http://spring66.com/blogs/?p=792#comments</comments>
		<pubDate>Thu, 03 Jun 2010 10:16:22 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[Google IO]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[roo]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=792</guid>
		<description><![CDATA[สิ่งที่ทุกคนรอคอยมาแล้วว่า google กับ SpringSource มันทำอะไรกัน อย่าได้รอช้าชม VDO ยาว 2 ชั่วโมงนี้แล้วจะกรี๊ด]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=792</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven คืออะไร</title>
		<link>http://spring66.com/blogs/?p=763</link>
		<comments>http://spring66.com/blogs/?p=763#comments</comments>
		<pubDate>Wed, 26 May 2010 06:02:46 +0000</pubDate>
		<dc:creator>justice_form</dc:creator>
				<category><![CDATA[general information]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=763</guid>
		<description><![CDATA[What is Maven? เรามาทำความรู้จักMavenกันก่อน Maven นั้นเกิดในยุดของการสร้าง Web Application ด้วย  Web Framework ในช่วงแรกๆ (Apache Turbine Web Application Framework) โดยสาเหตุหลักที่ทำให้เกิด Maven ขึ้นมาเพราะเมื่อก่อนเราจะใช้ Ant หรือ Build Script ที่เราสร้างขึ้นมาเอง ในการ build โปรเจคซึ่งสองสิ่งนี้มีความยืดหยุ่นสูงมากและในทางกลับกันพอเรามีโปรเจคมากขึ้น การใช้สองสิ่งนั้นมันดูยุ่งยากและจัดระเบียบในเรื่องต่างๆไม่ว่าจะเป็น Project Structure หรือ Library Management ได้ค่อนข้างยาก ผลคือทำให้เกิด Maven ขึ้นมาโดยที่มันเองก็เป็น build tool อีกตัวนึงที่สามารถทำในสิ่งที่ Antและ Build Script ทำได้ยากได้ ดังนั้น Mavenจึงเป็น build tools อีกตัวนึง ที่เอาไว้ใช้ build, compile, test, clean, [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=763</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>หนังสือ Spring Python มีจำหน่ายแล้ว</title>
		<link>http://spring66.com/blogs/?p=767</link>
		<comments>http://spring66.com/blogs/?p=767#comments</comments>
		<pubDate>Tue, 25 May 2010 11:05:13 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[SpringPython]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=767</guid>
		<description><![CDATA[หนังสือ Spring Python 1.1 มีจำหน่ายแล้วครับ!! Spring Python เป็นการนำเอาแนวคิดของ Spring Framework และ Spring Security เข้ามาสู้โลกของ Python เนื้อหาของหนังสือเล่มนี้จะครอบคลุมเรื่อง dependency injection, aspect oriented programming, data access, transaction management, remoting และ security นอกจากนี้ยังมีตัวอย่างการสร้างแอพพลิเคชั่นซึ่งตัวแรกจะเป็น Banking App โดยตัวอย่างนี้จะใช้ basic component ทั้งหมดเท่าที่จำเป็นเพื่อสร้างออกมาให้เร็วที่สุดก่อน ส่วนตัวอย่างที่สองจะเป็นการทำงานร่วมกันระหว่าง python กับ java เพื่อสร้างระบบสำรองที่นั่งของสายการบิน นอกจากนี้ภายในเล่มเองยังเต็มไปด้วย ตัวอย่างของโค้ด screeshot diagram และการอธิบายในจะเป็นเชิงปฏิบัติ ไม่มีการอธิบายแบบไร้สาระ ดังนั้นหนังสือเล่มนี้จึงเหมาะกับ Java Programmer ที่ต้องการใช้งาน Dynamic Language และ Python Programmer [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=767</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring Roo 1.1.0.M1 ออกแล้ว</title>
		<link>http://spring66.com/blogs/?p=758</link>
		<comments>http://spring66.com/blogs/?p=758#comments</comments>
		<pubDate>Sun, 23 May 2010 00:34:33 +0000</pubDate>
		<dc:creator>roofimon</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[roo]]></category>
		<category><![CDATA[Spring Roo]]></category>

		<guid isPermaLink="false">http://spring66.com/blogs/?p=758</guid>
		<description><![CDATA[สาวก Roo ทั้งหลายช่วยลองเอาไปใช้หนอ่ยครับรุ่นนี้แก้ไปข้อบกพร่องไปกว่า 200 ข้อพร้อมทั้งมีความสามารถเพิ่มอีกหลายอย่าง Significant Spring MVC integration improvements: ลดโค้ดในส่วนของ JSPX ไปเกือบ 90% ทำให้ประสิทธิภาพการทำงานดีขึ้นมากพร้อมทั้งสามารถตรวจจับการเปลี่ยนแปลงที่ JSPX ได้อีก (GWT) Support: คำสั่งใหม่ gwt setup ที่จะสร้างเวบโปรเจคมี GWT เป็นส่วนประกอบในการแสดงผล (GAE) Support: เพียงคำสั่งเดียวก็ deploy งานบน GAE ได้ &#8220;mvn gae:deploy&#8221; นอกจากนี้คำสั่งเดียวก็ยังสามารถเตรียม configuration สำหรับ GAE Project ไว้ให้พร้อมเช่นกัน &#8220;persistence setup –provider DATANUCLEUS –database GOOGLE_APP_ENGINE&#8221; Apache Solr Search Server: เราสามารถทำ index ให้กับ entity ได้ด้วย [...]]]></description>
		<wfw:commentRss>http://spring66.com/blogs/?feed=rss2&amp;p=758</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
