Array to WebOrb’s Java

This content continues on http://flexblog.teerasej.com

For this week, my project has moved into final phase. I have found that if you want to send pure Flex’s Array to Java’s server site through WebOrb data service (it’s free for all! but some great feature such as Security and Data-push only available for paid version) You must declare the public attribute type ( a collection one ) to be plain array.

like here,

Java class destination

public class JavaToken{

public SimpleClassBean[] collection;

}

Flex’s class initialize

public class FlexToken{

public collection : Array;

}

With these implementation, Weborb will serialize flex’s array attribute to Java’s destination.

In Thai

สัปดาห์นี้ เป็นช่วงเวลาที่ โปรเจคผมเริ่มเข้าสู่ เส้นตาย เอ้ย ช่วงสุดท้ายแล้วครับ ( จริงๆ แล้วเหลืออีก อาทิตย์หนึ่ง แห่ะๆ) วันนี้ผมได้ค้นพบว่า สำหรับผู้ใช้ WebOrb for Java อาจจะไม่แน่ใจเรื่องการส่ง type array เข้าไปฝั่ง server วันนี้ได้ข้อกระจ่างครับ คือให้ทำการประกาศ class ฝั่ง server ให้ attribute array ดังกล่าวเป็น plain array ครับ (ดังตัวอย่างด้านบน) ซึ่ง Weborb จะทำการ pass ไปให้อย่างไม่มีข้อผิดพลาด

PS. เสาร์ที่ 2 กุมภา นี้ เจอกัน ที่งาน Flex seminar โดย Double-i Studio นะครับ (อยากได้เสื้อง่ะ แงๆ)

Advertisements

Adobe Flex 3 and Adobe AIR, now Live!

This content continues on http://flexblog.teerasej.com

image

Today, Adobe has released full version of Adobe Flex 3 professional IDE and Adobe AIR 1. This is the greatest news for me and for me, Flex developer, can’t wait any more to try it on my machine. Have anyone got a key? hehe.

In Thai:

และแล้ววันนี้เอง เป็นวันที่ Flex builder 3 professional IDE และ Adobe AIR 1 ได้ถูกปลดปล่อยจากพันธานาการทั้งปวง ยินดีจริงๆ โดยเฉพาะตัวผม ซึ่งเป็น Flex developer อยู่แล้ว คงไม่สามารถอดใจรอที่จะลิ้งลองพลังที่แอบซ่อนไว้ในด้านมืดของจักรวาลชิ้นนี้อย่างแน่นอน

มีใครมี key บ้าง ! ฮ่าๆ

Yahoo group: Thai flex developer declared!

This content continues on http://flexblog.teerasej.com

image

yesterday I have registered for a yahoo group of Thai flex developer. It looks good that you will share knowledge and help others to build thier application

Group home page: http://groups.yahoo.com/group/thaiflexdeveloper
Group email address: thaiflexdeveloper@yahoogroups.com

In Thai:

เมื่อวานผมได้เปิด Yahoo group ของ Thai Flex developer ขึ้นมาครับ ตั้งใจจะให้เป็นแหล่งช่วยเหลือซึ่งกันและกัน เหมือนๆ กับชุมชนต่างประเทศเขา เหมือนกัน

ผู้รู้และ ผู้อยากรู้ เข้ามากันได้เลยนะครับ

Group home page: http://groups.yahoo.com/group/thaiflexdeveloper
Group email address: thaiflexdeveloper@yahoogroups.com

Something is coming in the AIR… (and Flex)

This content continues on http://flexblog.teerasej.com

Yesterday, Ted has post an extremely image on his blog. Is it a photoshop-modified? Is it stolen from Adobe’s most secret repository? I didn’t know anything much except the galaxy trilogy content that he posted with this image. 🙂

เมื่อวานนี้เอง Ted ได้ post content ที่สร้างกระแสเพิ่มขึ้นเรื่อยๆ เพียงแค่ใส่เนื้อความปฐมบทของ มหากาพย์ภาพยนตร์ครอบจักรวาล กับภาพเพียง 1 ภาพเท่านุ้น นี่เป็นภาพแบบฉบับ photoshop หรือเปล่า? หรือมันหลุดรอดออกมาจากโรงงานลับสุดยอด ของ Adobe Labs? อย่างไรก็ตาม Ted ยังไม่ได้ออกมายืนยัน ถึงแหล่งที่มา และเหตุผลของการ post ภาพนี้ครับ 🙂

Hi, Flex Beginner!

This content continues on http://flexblog.teerasej.com

 

อาทิตย์ก่อน มีคนส่ง mail มาหาผมให้ช่วยแนะนำแนวทางในการศึกษา Flex สำหรับผู้เริ่มต้น เห็นว่ามีประโยชน์ดี เลยขอเปิดผนึกมาลงในนี้นะครับ

1. การศึกษา Flex เป็นการศึกษาภาษาโปรแกรมมิ่งทั่วไปเหมือนกับ C# และ Java ครับ ซึ่งภาษา สองตัวนี้เป็นการโปรแกรมลักษณะที่สนับสนุน Object-Oriented programming
หากว่าเคยศึกษา สองตัวนี้มาก่อน (ได้แต้มบวกไป 1 แต้ม) การจับ Flex ให้ดิ้นได้จะเร็วมากครับ (โดยเฉพาะ OOP จะช่วยให้เราจับ concept และออกแบบได้ )

2. การพัฒนา Flex สามารถทำได้ สองวิธีครับ คือ

a. การใช้ SDK ซึ่งเป็น Opensource แจกฟรี โดยการเขียน code ผ่าน text editor ทั้งหลาย แล้วสั่งผ่าน command line ให้ Flex SDK ทำการ compile ออกเป็น Flash-content
วิธีนี้อาจจะต้องใช้ความชำนาญ

b. ใช้ Flex Builder ซึ่งเป็น การทำงานบน IDE (Integrated Development Environment) โดย Flex Builder ทำงานบนพื้นฐานของ Eclipse IDE ครับ (ใครอยู่ฝั่ง Java ได้แต้มบวกอีก 1 แต้ม)
โดย Flex Builder จะช่วยในการ code และ compile ได้อย่างรวดเร็ว (Beta version download ได้ที่ www.adobe.com/devnet/flex)

3. สำหรับคนที่ไม่เคยรู้เรื่อง Flex มาก่อนผมจะขอแบ่งเป็น 4 กลุ่มใหญ่ๆ นะครับ ใครอยู่กลุ่มไหนก็ลองตามเศษขนมปังออกจากป่าให้ได้นะ ฮ่ะๆ

a. ผู้ที่มีความเชี่ยวชาญในการ programming แบบ OOP หรืออย่างอื่น ในภาษาอื่นอยู่ก่อนแล้ว (Java, C#)
กลุ่มนี้คือกลุ่มคนที่ทำการสร้างสรรค์ application อยู่เป็นนิจ แต่อยากลองอะไรใหม่ๆ ที่มัน วูบวาบๆ

i. ศึกษา syntax กับ framework API ได้ทาง Adobe.com โดยเข้าไปดูที่ help ของ Flex ได้เลยครับ (มี version online อยู่)

ii. Flex ใช้ Actionscript 3 ที่เป็นภาษาเดียวกับ Flash เข้าใจให้ถ่องแท้ซะ

iii. โหลด Flex Builder มาลองเล่นได้เลย (ย้ำ ถ้าเป็น Eclipse อยู่แล้ว ได้แต้มบวก 1 แต้ม อิๆ)

iv. ลอง tutorial เล็กๆ ได้ที่ www.adobe.com/devnet/flex section getting started

b. ผู้ที่มีความเชี่ยวชาญในการสร้าง web ด้วย ภาษา script (PHP, Perl, Javascript) และยังใหม่กับการ program แบบ Object-Oriented programming
พวกนี้คือคนที่เชี่ยวในการสร้าง web ด้วยภาษา PHP หรือ script-based และยังไม่ค่อยถนัดกับการออกแบบ web แบบ MVC

i. ศึกษาหลักการเกี่ยวกับ OOP จะช่วยได้มาก

ii. ฝึกใช้ eclipse ด้วยนะ (หากอยากใช้ Flex builder)

iii. CSS ก็สำคัญอยู่นะ (ใครเชี่ยวแล้ว บวก หนึ่งแต้ม)

iv. ทำตามพวกกลุ่ม a ได้เลยครับ

c. ผู้ที่ท่องเวบไปมา และรู้จักการสร้าง web ด้วย dream weaver และคลั่งไคล้ web ที่สวยงาม อย่าง Flash

i. ขอให้ เรียนรู้หลักการ oop อย่างถ่องแท้ จะดีมากๆ

ii. หากคุณใช้ dreamweaver เป็น ก็เตรียมตัวรู้จักกับ Flex builder ได้แล้ว

iii. การออกแบบเวบจะหายไปส่วนหนึ่ง แต่คุณก็จะยังได้รู้จักกับ combobox และ textbox อย่างใน dreamweaver อยู่นะ

iv. ทำตามกลุ่ม b เลย

d. กลุ่ม flash developer
พวกคุณคือ คนที่เชี่ยวชาญในทาง design content หรือ programming content หรือทั้งสองอย่าง ภาษาที่คุณใช้คือ actionscript 2

i. ทำการศึกษา Actionscript 3 ซะ มันไม่เหมือนญาติมันมากนะ เพราะมันเป็น pure OOP

ii. Flex builder จะเป็น tool ใหม่ประจำตัวคุณ มันทรงพลังกว่า script panel ขาดแต่ไม่เห็นรูปเท่านั้น

iii. จากนั้น ก็ทำตาม กลุ่ม a ได้เลย (อย่าลืมศึกษาหลักของ OOP ล่ะ)

Flex’s Date class and .NET Web service DateTime class

This content continues on http://flexblog.teerasej.com

One day delay on passing Date value to DateTime value

I have mention before about my AIR project which communicate with .NET web service. There is some wrong casting type like DateTime, if you have tried to pass Flex’s Date class to .NET web service’s DateTime class directily, You will enforce that .NET web service framework will casting date value “delay” one day from given Flex’s Date.

The example is

Flex’s Date : 01/01/2008

will be turned into

.NET Date : 12/31/2008

The best solution that I have been using now is to send String value of Flex Date to web service, then use .NET framework to cast them back to DateTime value. This solution is proved. Nice!

PS. In other word, I am trying to format Flex’s DateField component’s format to match with common .NET DateTime class. It may useful ( Anybody who tried it already, please comment me! )

In Thai:

ผมเคยบ่นเกี่ยวกับปัญหาในการทำ AIR โปรเจคที่เชื่อมต่อกับ .NET Web Service มาแล้ว อย่างหนึ่งคือการส่ง Flex Date class ไปยัง .NET web service ตรงๆ ซึ่งจะทำให้เกิดปัญหา คือ .NET จะ cast value ให้มันช้าไปหนึ่งวัน! โอว ทำไมหน่ะหรอ…. นั่นสิ ทำไมล่ะ! ใครรู้ตอบผมที

ตัวอย่างเช่น

Flex’s Date : 01/01/2008

จะกลายเป็น

.NET Date : 12/31/2008

ซึ่งตอนนี้ยังงงๆ อยู่เลยครับ แต่วิธีที่ดีที่สุดตอนนี้คือ การส่ง string จาก flex ไป cast เป็น DateTime บน Web servcie เองครับ

AIR to XFire Web Service

This content continues on http://flexblog.teerasej.com

After I have worked hard for trying to use XFire Web service to be the server’s end point of my AIR project. I have realize that XFire will generate complexType’s attribute if you following to declare that serialization class to have getter/setter method for every attribute. like below

class Sample{
public String username; // public accessor for Flex passing value
public String password; // public accessor for Flex passing value

public Sample() { } // required for common web service serialization

public String getUsername() { return this.username; }
public String getPassword() { return this.password; }

public void setUsername( value : String ) { this.username = value; }
public void setPassword( value : String ) { this.password = value; }

}