Tuesday, April 28, 2015

ASP.NET




ASP.NET කියන්නේ Microsoft සමාගම හදපු තාක්ෂණයක්.ASP.NET ඉතිහාසය ගත්හහම එක 2002 දී තමයි නිපදවෙනේ.එත් ASP.NET එන්න කලින් තමයි ASP කියන තාක්ෂණය ආවේ.

එටකොට ASP කියන්නේ මොකක්ද?
ASP කියන්නේ Active Server Pages කියන එකේ short form එක.මේ ASP කියන එක 1996 දී release කරලා තියෙන්නේ.ඒ Windows NT 4.0 කියන OS එකත් එක්ක.මේ ASP අයිති වෙන්නේ server-side scripting languages කියන ජාතියට.තව Client-side scripting කියලා ජාතියකුත් තියනවා.ඒ ගැන පස්සේ බලමු. server-side scripting කියන්නේ dynamically web forms හදන්න use කරන technology එකක්. එහෙමත් නැත්තම් user requests handle කරන්න use වෙන දෙයක්.
උදාහරණයක් විදිහට ගත්තොත් ඔයාලා Facebook log වෙනවා කියලා හිතන්න.එතකොට ඔයාලා enter කරපු details හරිද කියලා බලන්න ඒවා මුලිකව database server එකට ගෙනිහින් බලන්න ඕනි.ඔන්න ඔය වගේ වැඩ වලට තමියි මේ server-side scripting උදව් වෙන්නේ.
ASPට අමතරව තියන තවත් server-side scripting technologies මොනවාද?

තවත් ගොඩක් server-side scripting technologies තියනවා.ඒවා අතරින්
JSP (java server pages)
PHP (Hypertext Preprocessor) වගේ ඒ වා ප්‍රධාන වෙනවා.

ASP ගැන කතා ඇති.එතකොට මොකක්ද ASP.NET කියන්නේ?

මුලිකව ASP.NET සහ ASP කියන 2ම නිෂ්පාදනය වෙන්නේ එකම කාර්යයකට.ඒ web development වලට.එත් මේ technologies දෙකේ මුලික වශයෙන් ලොකු වෙනස්කම් තියනවා.ASP.NET කියන්නේ ASP වල upgrade එකක් වගේ දෙයක්.
ASP හා ASP.NET අතර තියන මුලික වෙනස්කම් මොනවාද?

ASP run වෙන්න අනිවාර්යයෙන්ම Microsoft IIS තියෙන්න ඕනි.එත් ASP.NET run වෙන්න Microsoft IIS අනිවාර්ය නැ. Apache වගේ server වල ASP.NET run වෙනවා.
මලා... දැන් IIS කියන්නේ මොකක්දෝ?
IIS කියන්නේ Internet Information Services කියන එකේ short form එක.මෙයා තමයි Microsoft මාමලාගේ official web server එක.මේක Microsoft OS එකත් එක්ක free ලැබෙනවා.මේ වෙනකොට තියන අලුත්ම IIS version එක තමයි 8.5 කියන එක.එක ආවේ Windows Server 2012 R2 හා Windows 8.1 කියන OS එක්ක.

මොනවද IIS ගෙන් වෙන්නෙ?
ගොඩක් දේවල් තියනවා.ප්‍රධාන දේ තමයි අපි ලියන server side coding execute කරලා result එක html කරලා browser එකට ලබා දෙන එක.අනිත් දේවල් පස්සේ බලමු.
  
ASP හා ASP.NET අතර තියන තවත් වෙනස්කමක් තමයි ASP Support කරන්නේ VBScript හා Jscript/Javascript කියන scripting languages දෙකට.එත් ASP.NET, C#,VB.NET,J# කියන .net Framework එකේ තියන languages වලට Support කරනවා.තවත් ගොඩක් වෙනස්කම් මේ දෙක අතරේ තියනවා.


MVC කියන්නේ මොකද්ද?

මේ වෙනකොට development වලදී නිතරම කතා බහට ලක් වෙන දෙයක් තමයි MVC කියනේ. නමුත් මේකේ ආරම්භය 1980 තෙක් විහිදෙනවා. ඒ වගේම අද වෙනකොට ලෝකේ ප්‍රධාන මෘදුකාංග සමාගම් තමන්ගේ products වල MVC ආකෘතියට සහය දක්වන විදියට නිර්මාණය කරලා තියනවා. Joomla කියන CMS(Content Management System) එක, Microsoftලගේ ASP.net ඒකට උදාහරණ. දැන් බලමු මේ MVC කියන්නේ මොකද්ද කියලා.MVC කියන කෙටි යෙදුමේ තේරුම වෙන්නේ Model View Controller කියන එක. ඒ කියන්නේ Model, View, Controller කියන තුනේ එකතුවක් තමයි මේ MVC කියන්නේ. මේක Software Design Pattern එකක්.මේ structure එකෙන් බලාපොරොත්තු වෙන ප්‍රධානම දේවල් මේවා.

Improve code usability
Keep Separation of concerns

දැන් බලමු මේ කියන්නේ මොකක් ගැනද කියලා. මේ ක්‍රමයේදී code එක කොටස් වලට වෙන් කිරීමක් කරනවා.මේ නිසා code readability, usability වගේ දේවල් improve කරගන්න පුළුවන්. මොකද එහෙම නැති උනොත් code ගොඩක් විතරක් අන්තිමට ගොඩ ගැහෙන එකයි වෙන්නේ. මේ කාරණා දෙක පස්සේ විස්තර කරලා කියන්නම්.

දැන් කලින් කතා කරපු Model, View, Controller කියන components ගැන එකින් එක බලමු.

1. Model
මේ නමින් හඳුන්වන්නේ Application එකේ data සහ Software logic කියන දේවල්. Software logic කියන කොටසට අයිති වෙනවා Business Logic සහ Application Data කියන කොටස් දෙක.

2. View
මේ කොටසෙන් තමයි user එක්ක ගනුදෙනු කරන්නේ. සරලවම කියනවා නම් Application එකේ User Interfaces(UI) කියන්නේ මේ component එකට.

3. Controller
මේ කොටසෙන් තමයි user එක්ක සහ model එක අතර සම්බන්ධතාව තියාගන්නේ. වෙනත් විදියකට කියනවා නම් UI සහ data අතර සම්බන්ධතාව තියාගන්නේ.

මේ image එකෙන් මේ ක්‍රියාවලිය පැහැදිලිව බලාගන්න පුළුවන්.


මේකේ අංක කරලා තියන පිළිවෙලට තමයි flow එක වෙන්නේ. මුලින්ම user කෙනෙක් request එකක් යවනවා[1]. ඒක Controller එක බාරගන්නවා. ඒකෙ වෙන්න ඕන වෙනස්කම් බලලා Model එකට යවන එක කරන්නෙත් Controller එකෙන්[2]. ඊටපස්සේ Model එක Database query කරලා[3] data අරන් ආයෙම යනවා Controller ගාවට[4]. ඊටපස්සේ Controller කරන්නේ ඒ data ටික View එකට බාර දෙන එක[5]. අන්තිමට View එක data process කරලා[] Output එක දෙනවා නැවතත් Userට[6].

සරලව විස්තර කරනවා නම් MVC Pattern එකේ වෙන්නේ මේ ක්‍රියාවලිය. නමුත් මේකට තවත් අලුත් කොටස් එකතු කරලා මේකේ result සහ outcome එක වැඩි කරගන්න පුළුවන්.


WWW වැඩ කරන්නේ කොහොමද?





WWW වැඩ කරන්නේ කොහොමද , මගේම කියලා domain එකක් නමක් ඇති වෙබ් පිටුවක් අන්තර්ජාලයේ තියාගන්නෙ කොහොමද , Web Hosting යනුවෙන් හඳුන්වන්නේ මොකක්ද, Internet Service Provider කෙනෙක් කියන්නේ කවුද, ඒ අයත් එක්ක වැඩ කරද්දි මොන මොන කරුණු සම්බන්ධයෙන්ද අපි සැලකිලිමත් විය යුතු යනාදි කාරණා පිළිබඳව. අන්තර්ජාලය හරහා අපට වෙබ් පිටුවක් පෙන්වන්නේ කොහොමද කියන කාරණයට මුලින්ම එන්නම්. මුලින් කීව Web Hosting සේවාව (Internet Service Provider) මූලිකවම අවශ්‍ය වෙන්නෙ වෙබ් අඩවියක් දියත් කරනවිට. ඊට අමතරව ඒ සදහා අපිට වෙබ් අඩවිය නාමාවලියකට එක් කිරීම සඳහා DNS(Domain Name Server) එකක සහයකුත් අවශ්‍යයි.

 ඒ ගැන පස්සේ කතා කරමුකො. දැන් හිතන්නකො අපි අලුතෙන් වෙබ් අඩවියක් නිර්මාණය කරනව අපේ පරිගණකයේ තියාගෙන. Wamp හෝ XXamp වගේ web development platform එකක් මත ඉඳන් අපේ පරිගණකයේම Web Browser එකෙන් ඒ අඩවිය නරඹනව. කොහොමද Web Browser එකට ඒ සයිට් එක ලෝඩ් වෙන්නෙ, කොහෙන්ද මූලාශ්‍ර ගන්නේ? මේ අවස්ථාවෙදි Web Browser එකෙන් පෙන්වන්නේ ඔයාගෙ පරිගණකයේම තියෙන සයිට් එක. ඒ නිසා එය ක්ලික් කල සැණින් මතු වේවි. දන්නවනේ ඉතින් කොහොමද සයිට් එකක් web browser එකක පෙන්වන්නට එන තැන වෙනකම් ක්‍රියාපටිපාටිය.

අන්තර්ජාලයේ විවිධ වූ කාර්යන්, සේවාවන් නිවැරදිවත් කාර්යක්‍ෂමවත් පවත්වාගෙන යාම සඳහා ඇතිකර ගත් එකඟතාවය තමයි Internet Protocol එක කියන්නේ. මම මගේ නෙට්වර්ක් ලිපි පෙල මගින් මේ පිළිබඳව කතා කරා මතක ඇති. ඒ කියන්නේ යම් කිසිවක් කිරිමට ඇති නිශ්චිත ක්‍රමවේදයට. ඔබ උදේ නැගිට්ට වෙලාවෙ ඉඳන් ඔෆීසියට , පාසලට යන්නට සූදානම් වන යම් පිලිවෙලක් ඇත්ද අන්න ඒ වගේ නිශ්චිත පටිපාටියක්.
ඔබේ web browser එක open කරගෙන www.google.com කියන වෙබ් අඩවියට පිවිසෙනව කියල හිතන්න.www.google.com කියන්නේ අපට කියවීමට හැකි ආකාරයට හා මතක තබා ගත හැකි ආකාරයට පරිවර්තනය කර පෙන්වීමක්. නමුත් ඊට යටින් තියෙන්නේ 74.125.235.23 වගේ‍ එකක්. (ඔබත් cmd open කරගෙන taracert හෝ ping විධානය මගින් කැමති URL එකක් ට්‍රේස් කර බලන්න. හැබැයි security websites හෝ ආරක්ෂාව සම්බන්ධ වෙබ් අඩවි නම් ඔබට එසේ ට්‍රේස් කිරීමේ හැකියාවක් නැහැ. මොකද නොයෙකුත් හේතු මත ඒවා trace කිරීමේ හැකියාව අවමයි. ) අපි දන්නවා URL ගැන. Universal Resource Locator කියන එකයි URL යනුවෙන් හඳුන්වන්නේ. අපි browser එකේ ටයිප් කරනවා www.google.com කියලා.
www.google.com කියන්නේ URL එකක්. ඉතින් කලින් කීව DNS(Domain Name Server) එක මගින් ඔබේ URL එක දිහා බලලා එයට අදාල IP Address එක සොයා ගන්නවා. 

උදාහරණයක් විදිහට අපි දුරකථන නාමාවලිය දිහා බලලා දුරකථන අංකයක් හොයාගන්නව වගේ. ඔබ යවන සෑම දත්තයක්ම කුඩා පැකට් වශයෙන් තමයි ගමන්ගන්නේ. මේ ආකාරයේ ජාලයකට අපි කියනවා packet switched network එකක් කියලා. ඔබ ඔබේ යහලුවෙකුට යවන e-mail message එකක් උදාහරණයට ගමු. මේ e-mail message එක එකකට නිශ්චිත bytes ගණනක් වශයෙන් කොටස් කිහිපයකට වෙන් වෙනවා මුලින්ම.එය විශාලත්වයෙන් 3,500 bits (3.5 kilobits) යැයි කියමු. එය නිශ්චිත කොටස් ප්‍රමාණයකට කැඩෙනවා. අන්න ඒවටයි අපි packets කියන්නේ. ඉතින් packet කීපයක් එකතු වෙලා තමයි දත්තයක් නිර්මානය වෙන්නෙ. මේ දත්තයෙන් එක packet එකක් හරි නැති උනොත් ඒ දත්තය සම්පූර්නය වෙනවද? නෑ නේද? හැම packet එකකම අඩංගු වෙනවා එහි ගමනාන්තය (destination) පිළිබඳව තොරතුරු, යවන්නාගේ IP address එක (Originating address), ලබන්නාගේ IP address එක (Destination address), යවන පැකට් ගණන, තමන්ගේ දත්ත පැකට්ටුවේ අංකය (which packet this is in a sequence of packets), ඒවා සම්බන්ද විය යුතු පිලිවෙල හා මේ e-mail message එක කොටස් කීයකට කැඩී ඇත්දැයි යනාදී තොරතුරු. ඉතින් e-mail message එකක් පමණක් නෙවෙයිවෙබ් පිටුවක් හෝ මොන යම් ආකාරයක දත්තයක් වුවත් මේ ආකාරයට නිශ්චිත පැකට් ප්‍රමාණයකට කැඩී අන්තර්ජාලය හරහා load වීමේදිත් ඒ ක්‍රියාවලිය එසේම සිද්ධ වෙනවා. 

ඒ වගේම අන්තර්ජාලයේ දී භාවිතා වන Transmission Control Protocol/Internet Protocol (TCP/IP) එක මතයි මේ packets ගමන් කරනු ලබන්නේ. සාමාන්‍යෙයන් එක් packet එකක් ගත්විට bytes 1,000 or 1,500 අතර ප්‍රමාණයක් අඩංගු වෙනවා. මේ පැකට්ටුවක් කොටස් තුනකට බෙදා දැක්විය හැකියි පහසුව සඳහා. එනම් Header, Payload, Trailer ලෙසයි. මේ පැකට්ටු ජාලයේ ඇති රවුටරය කියන උපකරණයට තමයි මුලින්ම ගමන් කරන්නේ. නමුත් දත්ත පැකට් විවිද මාර්ග ඔස්සේ ගමනාන්තයට ලගා වෙන්න පුලුවන් මේ ආකාරයට යන්න දුන්නොත්. ඒ සඳහා මෙන්න මේ කියන Router එකේ lookup table කියන කොටසේ තමන් යටතේ සිටින client computer වල දත්ත (IP) ඇතුලත් වෙනවා. දැන් මොහු කරන්නේ තමන්ගේ Routing Table එක දිහා බලලා , e-mail message destination IP එකට පැකට්ටුව යවන එකයි. එය අනුපිලිවෙලටම එන්නෙත් නැහැ. පැකට් සියල්ල පැමිණි පසු පරිගණකය පැකට්ටු සියල්ලම පිළිවෙලට තියලා e-mail message එක සම්පූර්ණ කරලා අපිට පෙන්වනවා. අපිට නොපෙනුනාට විශාල process එකක් මේ ක්‍රියාවලියේදි සිද්ධ වෙනවා තත්පර කිහිපයකදි හෝ තත්පරයෙන් කුඩා පංගුවකදී.

අපි web address එකක් උදාහරණයට ගමු -
http://www.w3schools.com/html/default.asp .
මේ පිටුවේ යොමුව මෙන්න මේ වගේ.
scheme://host.domain:port/path/filename

පැහැදිලි කිරිම:

scheme -
අන්තර්ජාල සේවාවේ type(වර්ගය) අර්ථ දක්වනවා. බොහෝම සුලභ වර්ගයක් තමයි http කියන්නෙ
host - domain host
එක අර්ථ දක්වනවා (the default host for http is www)
domain -
අන්තර්ජාලයේ domain name එක අර්ථ දක්වනවා, මේන්න මේ වාගේ w3schools.com
:port - host
එකේ port number එක අර්ථ දක්වනවා (the default port number for http is 80) මේ port එක http port එක වන අතර SSH, SMTP, DNS, NNTP, IMAP, SNMP, HTTPS වශයෙන් protocol ගණනාවකට නිශ්චිත වු ports පවතී.
path - server(
අනුග්‍රාහක)ට path එක අර්ථ දක්වනවා
filename -
ගොනුවකට හෝ වෙනත් පිටුවක නම අර්ථ දක්වනවා

මං තවත් ටිකක් පුංචි විස්තරයක් කරන්නම්. URL භාවිතා කිරිමේදි ඒ සදහා භාවිතා කළ හැක්කේ ASCII නැමති බයිනරි දත්ත කාණ්ඩයක් එනම් character-set එකක් පමණයි. Web Browser එක හරහා අපි වෙබ් පිටුවක් request කරන විට Browser එක අදාල URL එක කොටස් තුනකට වෙන් කරගන්නවා.

උදා -
The protocol ("http")
The server name ("www.microsoft.com")
The file name ("products.htm")

server name
හා file name යන දෙකම අපි ගබඩා කරපු තැනින් හොයලා දෙන්නේ Name server එකක් ආධාරයෙන්. ඉතින් වෙබ් ලිපිනයන්හි නිතරම ASCII ගණයට අයත් නොවන characters අඩංගු වන බැවින්, URL එක වලංගු ASCII ගණය‍ට වැටෙන එකක් බවට පත් කිරිම සිදුකරගන්නවා. encoding කරනව කියලා අපි හඳුන්වන්නේ මෙයයි. URL encoding මඟින් characters අන්තර්ජාලය හරහා සම්ප්‍රේෂණය කළ හැකි characters ගණයක් බවට පත් කරගනිමින් තමන්ටම ආවේණික වු සන්නිවේනයක් ගොඩ නගා ගනු ලබනවා. URL encoding මඟින් ASCII නැමති characters ගණයට නොවැටෙන characters මෙම සලකුණත් සමඟ "%" තවත් hexadecimal සංඛ්‍යා දෙකකුත් බවට පත් කරනවා. 

URL වල spaces(වචන දෙකක් අතර පරතරයක්) අඩංගු වෙන්න බැහැ. URL encoding මඟින් space එකක් , වචන 2ක් අතර‍ පරතරයක් + සලකුණක් බවට පත් කරනවා. ඒ විදිහට ‍තමයි ඉල්ලපු කුමක් වුවත් ඔබට Web Browser එක හරහා දර්ශණය වන්නේ. ගෙදර ඉඳන් අන්තර්ජාලයේ සැරි සරනවා නම් මුලින්ම DSL හෝ cable modem එක මගින් ISP( Internet Service Provider) ටත්, ISP තමන්ගේත් ISP ලොක්කටත්, ISP ලොක්කත් තමන් ඉන්න පලාතේ හරි රටේ හරි main ISP ටත්(මේ main ISP අදාල රට තුල හෝ ප්‍රෙද්ශයේ fiber optic backbone එකක් නඩත්තු කරන කෙනෙක් වෙන්න පුලුවන්), main ISP නඩත්තු කරන backbone එක ලෝකය වටා එලා ඇති fiber optic line වලටත්, undersea cables වලට හෝ satellite links වලට සම්බන්ධ වීම තුලිනුයි අන්තර්ජාලය තුල තියෙන තවත් පරිගණකයට එම ජාලයේම ඇති තවත් එකක් හරහා පණිවිඩ හුවමාරු කල හැක්කේ. එය තීරණය වන්නේ තමන්ගේ හා තම සේවාදායකයා ගේ තාක්ෂණික පොහොසත්කම මතයි. resources වල තියෙන බලවත්කම මතයි. වෙබ්පිටුවක් ලෝඩ් විමේ සිට අන්තර්ජාලයේ ක්‍රියාකාරිත්වයත් මේ ආකාරයෙන් තමයි සිද්ධ වෙන්නේ.
From www.Elakiri.com