LightSwitch RIA Services


1

Microsoft Visual LightSwitch เป็นเครื่องมือพัฒนาใหม่สำหรับการสร้างแอปพลิเคชั่นทางธุรกิจ ที่เข้ามาช่วยทำให้กระบวนการพัฒนานั้นง่ายขึ้น โดยไม่ต้องอาศัยโปรแกรมเมอร์มืออาชีพ คุณก็สามารถสร้างแอปพลิเคชั่นทางธุรกิจที่มีคุณภาพได้ และยังสามารถสร้างได้อย่างง่ายๆ เสมือนว่าคุณใช้เพียงปลายนิ้ว เปิดสวิตไฟ ประมาณนั้นเลย (โปรแกรมเมอร์มืออาชีพเตรียมตัวตกงาน งิงิ)

 

LightSwitch สามารถติดต่อกับ datasource ได้หลายแหล่งเช่น  Database servers, SharePoint และ WCF RIA Services

image

ในบทความนี้จะแสดงตัวอย่างการติดต่อกับ WCF RIA Services โดยจะแสดงหน้าจอประวัติลูกค้า ดังรูป28

 

สิ่งที่จำเป็น (Prerequisites)

ขั้นตอนการพัฒนาแอพพลิเคชั่น

  • ขั้นตอนที่ หนึ่ง สร้างโปรเจ็กต์ WCF RIA Services Class Library (RIA Services)
  • ขั้นตอนที่ สอง เพิ่ม ADO.NET Entity Data Model
  • ขั้นตอนที่ สาม เพิ่ม Domain Service Class
  • ขั้นตอนที่ สี่ ปรับแต่ง Domain Service Class ให้ LightSwitch  สามารถเข้าถึงข้อมูลได้
  • ขั้นตอนที่ ห้า สร้างโปรเจ็กต์ Visual Studio LightSwitch application
  • ขั้นตอนที่ หก เพิ่ม RIA Services data source
  • ขั้นตอนที่ เจ็ด สร้างหน้าจอประวัติของลูกค้าโดยใช้แหล่งข้อมูลจาก RIA Services
  • ขั้นตอนที่ แปด ทดสอบแอพพลิเคชั่น

 

ขั้นตอนที่ หนึ่ง สร้างโปรเจ็กต์ WCF RIA Services Class Library (RIA Services)

สร้างโปรเจ็กต์ด้วยเทมเพลต WCF RIA Services Class Library, จะได้โครงสร้างโซลูชั่นดังรูป

12

 

ขั้นตอนที่ สอง เพิ่ม ADO.NET Entity Data Model

ไปที่โปรเจ็กต์ RIAServices.Web แล้วเพิ่มไอเทม ADO.NET Entity Data Model

34

 

เลือกอ็อบเจ็กต์ตารางที่ต้องการ, และ Build โปรเจ็กต์ 1 ครั้ง เพื่อให้ Domain Service Class มองเห็นอ็อบเจ็กต์ต่างๆ ของฐานข้อมูลนั่นเอง

5

 

ขั้นตอนที่ สาม เพิ่ม Domain Service Class

จากนั้นเพิ่มไอเทม Domain Service Class, เลือกทั้งหมด แล้ว OK

67

 

จะได้โครงสร้างโปรเจ็กต์ RIAService.Web ดังรูป

8

 

ขั้นตอนที่ สี่ ปรับแต่ง Domain Service Class ให้ LightSwitch  สามารถเข้าถึงข้อมูลได้

ปรับแต่ง Domain Service Class ให้ LightSwitch  สามารถเข้าถึงข้อมูลได้ โดยเพิ่มแอททริบิว [Query (IsDefault = true)]  บนทุกเมธอดเกี่ยวกับ IQueryable

8_1

 

ขั้นตอนที่ ห้า สร้างโปรเจ็กต์ Visual Studio LightSwitch application

เพิ่มโปรเจ็กต์ Visual Studio LightSwitch  เข้ามาในโซลูชั่นโดยคลิกขวา=>Add=> New Project…, จากนั้นเลือกเทมเพลตโปรเจ็กต์เป็น LightSwitch แล้วระบุภาษาที่ต้องการ (ในบทความใช้ C# เราไม่ได้เขียนโค้นะครับ

910

 

ขั้นตอนที่ หก เพิ่ม RIA Services data source

เมื่อเข้าสู่หน้าจอ Designer ให้คลิก Attach to external database เพื่อติดต่อ Data source ที่มีอยู่แล้ว, จากนั้นเลือก WCF RIA Service

1112

กด Add Reference, เลือก RIAServices.Web

1314

 

กด Next, เลือกอ็อบเจ็กต์ทั้งหมด กด Finish

1516

 

มีคำเตือนเกี่ยวกับ WCF RIA Service datasource ว่าไม่อยู่ในโปรแกรมของคุณ ปกติแล้ว ใน Class WCF RIA ต้องใส่แอททริบิ EnableClientAccess() ไคลเอ็นต์จึงสามารถเข้าถึงข้อมูลได้ ให้กด Continue เพราะ VS2010 ใส่เป็น Default ให้แล้ว

17

 

เมื่อกด Continue เสร็จสิ้นขั้นตอนการผูกข้อมูลให้ LightSwitch ในโซลูชั่นคุณจะเห็นอ็อบเจ็กต์ datasource ต่างๆดังรูป

18

 

ขั้นตอนที่ เจ็ด สร้างหน้าจอประวัติของลูกค้าโดยใช้แหล่งข้อมูลจาก RIA Services

 

หน้าจอ(Screen) บน LightSwitch จะมีเทมเพลตโดย default ให้เลือก 5 แบบ(beta1) ดังนี้ 

20_120_220_320_420_5

 

การเพิ่มหน้าจอให้คลิกเมนู Screen

19

 

ให้คุณใช้แบบที่ 5 List and Detail Screen, เมื่อกด OK คุณจะเข้าสู่หน้า Designer ของเทมเพลต แบบที่ 5 นั่นคือคุณสามารถ ปรับแต่งมันได้อีกตามต้องการ (จะไม่ขอกล่าวในบทความนี้)

2122

 

ขั้นตอนที่ แปด ปรับปรุง Config ConnectionString ของ RIA Services data source

มาถึงตรงนี้ลองทดสอบรัน เราจะยังไม่สามารถเข้าถึงข้อมูลบน RIA Service ได้ต้องแก้ไข ConnectionString นิดหน่อย

23

 

ให้เปิดมุมมองโปรเจ็กต์ LightSwitch  ใหม่ให้เป็น File View, แล้วให้แสดงทุกไฟล์ (Show All Files)

2425

 

ให้ Copy ConnectionString ในไฟล์ App.Config ของโปรเจ็กต์ RIAServices.Web ไปวางที่ไฟล์ Web.Config ของโปรเจ็กต์ ServerGenerated

26

 

ขั้นตอนที่ เก้า ทดสอบแอพพลิเคชั่น

ทดสอบรันโปรแกรม LightSwitch อีกครั้ง, ครั้งนี้คุณจะสามารถเข้าถึงข้อมูลบน RIA Service แล้ว

2728

 

ไม่ต้องเขียนโค้ด… ไม่ต้องง้อโปรแกรมเมอร์มืออาชีพ อีกต่อไป…555

แต่จริงๆ มันมาช่วยให้โปรแกรมเมอร์มืออาชีพ ยิ่งเพิ่มความเป็นมืออาชีพมากยิ่งขึ้น โดยการไม่ต้องใช้แรงงานเยอะ ในการเขียนโค้ดซ้ำๆ เหล่านั้น เช่นเขียนเพื่อติดต่อ/จัดการ/ตรวจสอบข้อมูล , เขียนโค้ดสร้างหน้าจอ ต่างๆ เป็นต้น

แหล่งข้อมูลอ้างอิง:
LightSwitch Developer Center:
http://msdn.microsoft.com/th-th/lightswitch

เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

เขียนใน LightSwitch
8 comments on “LightSwitch RIA Services
  1. yoke พูดว่า:

    แล้วเวลาจะทำเรื่อง ซีเคียวริตี้(พิมพ์ไม่ถูกคับ)จะทำยังไงเหรอครับ
    1. ถ้าเป็นใน asp.net จะมีคำสั่ง System.web.HttpContext.Curent.User.Isauthenticate(พิมพ์ไม่ถูกครับจำได้คร่าว ๆ )
    2. ใน silverlight ก็สามารถใส่ [Request Authenation] ไว้ที่หัวของ Service Function และสามารถสร้าง user control เพื่อ ใช้งาน authen domain service class ได้

    *** แต่ใน light switch ไม่สามารถสร้าง userControl ได้ หรือได้แต่ผมไม่เป็นก็ไม่รู้ ก็เลยไม่รู้ว่าจะ login ได้ยังไง

  2. oak พูดว่า:

    แล้วสามารถสร้างรายงานจาก crystal report ได้หรือไม่ครับ เพราะโปรแกรมทางธุรกิจจะเน้นรายงานเยอะ ไม่ทราบว่ามันจะซัพพอร์ตมั้ยครับ

  3. […] JANAWAT หน้าแรกAbout « LightSwitch RIA Services […]

  4. janawat พูดว่า:

    ตอนนี้ LightSwitch ยังไม่ support crystal report ครับ

    แต่มีวิธี อ้อมๆ ประมาณนี้
    สร้าง Crystal Report บน asp.net
    สร้าง Silverlight Control ไปเรียกเพจ asp.net ดังกล่าว

    แล้วเอา Control ดังกล่าวไปแสดงใน LightSwitch

  5. janawat พูดว่า:

    บทความชุด Microsoft Visual Studio LightSwitch สามารถติดตามได้ในนิตยาสาร WindowsITPro อีกสองตอน คือ

    ตอนที่ หนึ่ง: การสร้างแอปพลิเคชั่นทางธุรกิจอย่างรวดเร็วไม่ง้อโปรแกรมเมอร์มืออาชีพ ด้วย Microsoft Visual Studio LightSwitch:WindowsITPro (ฉบับ 85 เดือน Jan-Feb’11)

    ตอนที่ สอง: การปรับแต่งหน้าจอแอพพลิเคชั่นบน Visual Studio LightSwitch:WindowsITPro (ฉบับ 86 เดือน Feb-Mar’11)

  6. gamon พูดว่า:

    กราฟแท่งที่สร้างในตัวอย่าง (Application1) สร้างจาก LightSwitch หรือ Extension ครับ (ถ้าบอกวิธีสร้างด้วยก็จะดีมากครับ)

  7. gamon พูดว่า:

    ขอบคุณครับ…หาเจอแล้วครับต้องใช้ Custom Control กำลังศึกษาอยู่ครับ

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

In Archive
%d bloggers like this: