Uvod u Visual Studio LightSwitch – Kreiranje aplikacije Step-by-Step

vs_lightswitch_beta_logoVisual Studio LightSwitch (LS) je nadogradnja za Visual Studio koja omogućava jednostavno kreiranje poslovnih aplikacija za desktop i web (browser-based). Trenutno je LightSwitch u Beta 2 fazi, sa GO Live licencom, što znači da je moguće kreirati aplikacije za produkcioni rad. LS Beta 2 je javno dostupna za korišćenje od 16. marta 2011. godine. Preduslov za instalaciju i korišćenje LS Beta 2 je instaliran SP1 za Visual Studio i deinstaliran LS Beta 1, ukoliko je bio instaliran.

Logički, LightSwitch aplikacija je aplikacija sa tri sloja:

  1. Client (prezentacioni sloj)
  2. Application service (logički sloj)
  3. Data storage (baza podataka)

Tehnologije koje su korišćene za svaki od nivoa:

  1. LightSwitch prezentacioni sloj je Silverlight 4.0 aplikacija koja može funkcionisati kao desktop aplikacija ili može biti pokrenuta u okvriu browsera.
  2. Logički sloj koristi WCF RIA DomainServices koji rade na ASP .NET 4.0. Procesi u logičkom sloju se mogu postaviti na klijentskoj mašini, IIS serveru ili na Windows Azure WebRole.
  3. Sloj baze podataka koristi SQL Server ili SQL Azure ali se može povezati i na SharePoint 2010 liste ili pristupiti bazi putem Entity Framework provider ili pristupiti kreiranim WCF RIA DomainServices.

LightSwitch3-tier

Custom code je moguće razvijati pomoću C# ili Visual Basic .NET.

Kao primjer, proći ćemo kroz sve faze izrade aplikacije od definisanja tabele do kreiranja ekrana za manipulaciju sa podacima za aplikaciju LinguaSchool koja predstavlja aplikaciju za evidenciju podataka o studentima i kursevima za pohađanje kursa stranih jezika.

Korak 1. Kreiranje tabela u okviru Shema editor

Kreiraćemo tri tabele, Student, Course i veznu tabelu za evidenciju kurseva za studenta-StudentCourse:

image

Za tabelu student za pojedina polja smo promijenili tip podataka, kao na primjer za Email  sa String na “Email Address” kako bi LightSwitch mogao ispravno da prikaže podatke i koristio određena biznis pravila koja važe za email (vrši se validacija sintakse emaila bez potrebe da se ona eksplicitno navodi npr. putem regex-a). Kreirali smo Computed property image sa nazivom FullName koje se sastoji od prezimena i imena čiji je cilj da  predstavlja ovu tabelu u određenim Screen-ovima aplikacije kao jedinstvenu identifikaciju entiteta Student. U Edit Method za property od polja FullName dodaćemo kod za prikaz podatka:

partial void FullName_Compute(ref string result)
{
	result = LastName + " " + FirstName;
}

Tabela Course

image

i na kraju vezna tabela za evidenciju koji student pohađa određeni kurs:

image

Poslednji korak u Shema editoru je da povežemo tabele sa relacijama. Prvo ćemo za StudentCourse dodati relaciju na tabelu Student:

Relation Nakon dodavanja relacije i za tabelu Course konačna šema baze izgleda:

image Kao rezultat povezivanja tabela, u veznoj tabeli StudentCourse su kreirana dva polja, Student tipa Student i Course koji ima tip podatka Course.

Korak 2. Kreiranje Screen-ova za unos, pregled i pretragu podataka

Screen predstavlja osnovni vizuelni dijalog koji služi za prikaz podataka iz entiteta. Uz LightSwitch dolaze predefinisani template za kreiranje Screen-ova ali je moguće koristiti i custom template ili čak napraviti i svoj template. Za potrebe naše aplikacije kreiraćemo sledeće Screen-ove:

Screen Name Template Additional Data to include
CreateNewCourse New Data Screen Course Details
CreateNewStudent New Data Screen Student Details; Student StudentCourses
SearchStudent Search Data Screen
SearchCourse Search Data Screen

Kreiranje Screen-a za unos podataka za entitet Course:

image

Nakon kreiranja svih potrebnih Screen-va za manipuliciju sa podacima potrebno je da proglasimo da je defaul Screen, kada pokrenemo aplikaciju, Search Students (Properties na projekat LinguaSchool i stavka menija Screen Navigaion, potom odabrati Search Students i komanda Set):

image Ovo je sve što je potrebno da bi aplikacija bila operativna. Prvi put ćemo pokrenuti aplikaciju i nakon unosa podataka za prvog studenta dobićemo Screen:

image Kako smo za CreateNewStudent odabrali da se prikažu i podaci za Course, prilikom definisanja Sreen-a za unos podataka, to je moguće na istom mjestu definisati i kurs koji student pohađa. Naravno, da bi kreirali kurs potrebno je prvo unijeti podatke za kurs putem Create New Course. Pregled na detalje unešenih podataka za jednog studenta:

image I na kraju putem Search Screen za studenta je moguće vršiti pregled svih studenata po bilo kom kreiterijumu:

SearchStudent

LightSwitch ima ugrađenu mogućnost Export podataka u Microsoft Office Excel image .

Na veoma jednostavnom primjeru smo se upoznali sa osnovnim konceptima Microsoft Visusal Studio LightSwitch. Da bi aplikaciju koristili potrebno je da odradimo Publish kreirane aplikacije.

Proces Publish-ovanja ćemo obraditi u jednom od narednih blog postova pri čemu ćemo prikazati sve mogućnosti koje je moguće koristiti kako bi aplikaciju pripremili za korišćenje.

Zaključak

Upotrebom Visaul Studio LightSwitch-a na veoma jednostavan način možemo kreirati aplikacije kao što je to pokazano u ovom primjeru. Tehnologija na osnovu koje je izgrađen LightSwitch omogućava da se kreiraju i veoma složene poslovne aplikacije. U narednim blog postovima ćemo prikazati ostale koncepte koje nam pruža LightSwitch kao što su.

  1. Upiti
  2. Publish app
  3. Povezivanje na eksterni data source
  4. Validacije
  5. Izvještaji
  6. Slanje email
  7. Autentifikacija i privilegije
  8. Kreiranje Custom WCF RIA Service
  9. Korišćenje Custom kontrola

About Spaso Lazarevic

Spaso Lazarevic is Senior Software Developer working with Microsoft technologies. Leader of .NET User Group Bijeljina, speaker at Microsoft events, writter and blogger. Microsoft MVP for Visual C#.
This entry was posted in Programming and tagged , , . Bookmark the permalink.

2 Responses to Uvod u Visual Studio LightSwitch – Kreiranje aplikacije Step-by-Step

  1. Nikola Simic says:

    Pozdrav Spaso,
    pratim malo ovu temu LightSwitch i imam jedno pitanje: Kako su rijeseni izvjestaji u LightSwitch okruzenju? Kako napraviti npr fakturu?
    Hvala…

    • Nikola,
      možda će se neki razočarati jer Microsoft in obezbijedio “in-box” rješenje koje bi se svidjelo korisnicima. Ali zato postoji niz načina kako odraditi izvještaj: ekstenizije koje već sada postoje na tržištu (npr. DevExpress), silverlight kontrole, WCF RIA servisi, štampa SQL Server reports (rdlc). Vjerovatno je ideja da “zajednica” doprinese razvoju rješenja za štampu prije nego da oni samo to odrade.
      Pozdrav

Leave a Reply

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 / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s