හරි දැන් අපි කලේ ස්ටඩි කරන එකනේ. මේ පැත්ත තනිකර ප්රැක්ටිකල්. මම මුලින් ප්රැක්ටිකල් කරලා පස්සේ තියරිය බලන ක්රමේට හැම දේම ඉගෙන ගත්තේ. එත් උබ මේ පැත්තේ මෙලෝ දෙයක් දන්නේ නැති නිසා තම පොඩ්ඩක් ඇත පත ගන්න දුන්නේ. හරි ඒ ෆන් එක ඉවරයි අපි දැන් යමු පොඩි වැඩකට.
රයිට් දැන් අපි ඉගෙන ගත්ත දේවල් නෙක්ස්ට් ලෙවල් එකට යවන්න Workshop කන්සෙප්ට් එකට යනවා. එකේදී වෙන්නේ ස්ටදී පරණ ගමන් ප්රැක්ටිකල් කරන එක . ඊට කලින් උබට කියන්න ඕනේ වෙබ් එකේ path ගොඩක් තියනවා
1. Microsoft technology වලින් හදුනා පාත් එකක්
2. Java technology වලින් හදුනා පාත් එකක්
3. Python technology වලින් හදුනා පාත් එකක්
4. වෙනත් technology වලින් හදුනා පාත් එකක්
මේ කොයි එක ගත්තත් තියෙන්නේ එකම වගේ කන්සෙප්ට් එකක්. එත් ඒවගේ කරන්න පුළුවන් වැඩ සහ technology වෙනස් වෙනවා. මම Microsoft technology පැත්තේ යන නිසා මේක ඒ පැත්තෙන් කරන්න බලමු. මට උබට සපෝට් එකක් දෙන්න පුළුවන්. ඒ වගේම උඩ ඒවගෙන් මොකක් අල්ලා ගත්තත් වෙන එකක් අල්ලා ගන්න හරිම ලේසි.
කරන්න ඕනේ වැඩේ.
=================
මට දැන් ටීචර් කෙනෙක් කතා කරලා කිව්වා පොරගේ ක්ලාස් වල ළමයින්ගේ විස්තර් තියාගන්න පොඩි වෙබ් බේස් සිස්ටම් එකක් හදන්න ඕනේ කියල. මම කිව්වා නිකන් කරන්න බැ මේක ගානක් අරගෙන කරන්න ඕනේ
Workshop Item1: Costing - To Build a Web Application කොහොමද කොස්ටින්ග් එකක් කරන්නේ කියල හොයල විස්තරයක් සහිත ඩොකියුමන්ට් එකක් හැදෙන්න ඕනේ
ඊලග දවසේ මම ගියා පොරව හම්බෙන්න. පොර කිව්වා මගේ ළමයි 1000 ක් විතර ඉන්නවා. ඒ අයගේ මේ විස්තර ටික තියාගන්න ඕනේ . ඊට පස්සේ මට ඕනේ වෙලාවක ළමයෙක්ගේ නම හෝ ID එක ගහලා විස්තර හොයාගන්න ඕනේ සරල එකක් කියල. උ සරල කිව්වට අපි නේ හදන්න ඕනේ. යාලුවා උනත් බිස්නස් නම් බිස්නස් නිසා වැඩේ පිළිවෙලට කරන්න ඕනේ
මම කිව්වා ඉදපන් මම ප්රෝපොසල් එකක් හදලා එවන්නම් බලපන් කියල.
Workshop Item2: how to create a software proposal - එකක් හදන්න ඕනේ වර්ඩ් දොක්යුමන්ට් එකක් විදිහට. ඊට පස්සේ එක pdf එකක් විදිහට් ඇහැරවලා තමා දෙන්න ඕනේ .
හරි දැන් මම ඒ හදපු එක අරුට යැව්වා. යැව්වම ඌ එකට ගාන වැඩි කිව්වා. ලංකාවේ එහෙම තමා .ඒ නිසා පුළුවන් තරඟ රට කස්ටමර් ලා සෙට් කරගන්න බලන්න. දැන් මම ආයි අරක රිවයිස් කරලා හදලා දෙවැනි කොපි එක යවනවා.
workshop Item3: how to modify/amend items to a software proposal and versioning - අර ඩොක් එකේම තව කොපි එකක් එන්න ඕනේ.
හරි දැන් ඒ යවපු එකට පොර කැමති. එහෙම උනා කියල පුතේ වැඩේ හරියන්නේ නැ . අපි උට පැහැදිලිව දෙන්න ඕනේ මේ සිස්ටම් එකෙන් අපි උට දෙන්න ඕනේ මොනවද? නොදෙන්නේ මොනවද කියල. නැත්නම් ඌ රුපියල් 10 දීලා මුළු අච්චාරු හලියම කන්න යනවා. එහෙව් උන් ඉන්නේ. ඒ නිසා මේ ස්ටෙප් එක හරිම වැදගත්. මේකට කියන්නේ software requirement specification(SRS) . මතක තියාගනින් SRS එකක් නැතුව එක ලයින් එකක්වත් ලියන්න යන්නේ නැ . වැඩ කරන තැන උනත් දෙයක් හදපන් කිව්වොත් කෙටියෙන් වැඩේ අහගෙන එක SRS එකේ තියේද බලපන්. SRS දෙනවා කියල තියන එවල් විතරයි අපි සල්ලි ගන්නේ කොස්ටින්ග් එකේ. හුගක් වෙලාවට ලොකු සිස්ටම් SRS 100 කට විතර කඩලා තමා දෙන්නේ.
workshop Item4: study software requirement specification . සහ මේ සිස්ටම් එකට software requirement specification එකක් හදල pdf කරලා දෙන්න ඕනේ.
හරි SRS එකත් ඇප්රුව් වෙලා ඇවිල්ල පේමන්ට් එකකුත් වෙලා තියෙන්නේ. දැන් හදන්න ගන්න ඕනේ. කොහොමද පටන් ගන්නේ? මොන සිස්ටම් එකක් හදන්න ගත්තත් මුලින් architecture එකක් ගැන හිතන්න වෙනවා. ලෝකේ එහෙම ඒවා ගොඩක් තියනවා. එත් අපි එකෙන් දෙක තුනක් අරගෙන මේ වැඩේ කරන්න බලමු. අනික් ඒවා ඔයා ඉස්සරහට යනකොට දැනගනීවි.
Web application architectures
======================
Front End
-------------
මේක තමා පිටට පෙන සයිට් එක. උදාහරණ ikman.lk එකේ සයිට් එකට ගියාම පෙන්නේ මේක.
Back End
------------
මෙයා තමා පස්සේ ඉදන් Front End එකට ඕනේ කරන ඩේටා දෙන්නේ. උදා : ඔයා ඉක්මන් එකෙන් මොකක් හරි සර්ච් කලාම ඕනේ කරන ඩේටා හොයල දෙන්නේ මේක.
All-in-one applications architectures
------------------------------------------------
මේක තමා තියන පොඩිම විදිහ. මේක වැටෙන්නේ monolithic කියන කාණ්ඩයට. ඒ ගැන වැඩි විස්තර හොයන්න ඕනේ.
මේකෙදි අර Front End සහ Back End දෙකම එකම ප්රොජෙක්ට් එකේ තමා තියෙන්නේ. මේක Microsoft technology වලින් හදනවා නම් තියෙන්නේ
Language: C#
ASP.net Core - https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0
Asp.net Core MVC :https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0
Blazor : https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor
“N-Layer” architecture
-----------------------------
මේකෙදි අර කිව්වා Front End සහ Back End දෙකම එක ප්රොජෙක්ට් එකේ තියෙන්නේ. ඒ උනාට මේක ලයර් 3 කට හෝ ගොඩකට කැඩිලා තියෙන්නේ
-UI - මේක තම උසර් ට පෙන ලයර් එක (ප්රොජෙක්ට් ඒක )
-Business Logic Layer - බිස්නට් ලොජික් එක නැත්නම් අර SRS කියන බිස්නස් එකේ ස්ටෙප්ස් ටික මේ ප්රොජෙක්ට් එකේ තම තියෙන්නේ
- Data Access Layer - මේක තම ඩේටා බේස් එකේ ඉදන් ඩේටා අරන් දෙන ලයෙර් එක. (ප්රොජෙක්ට් ඒක )
Language: C#
ASP.net Core - https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0
Asp.net Core MVC :https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0
Blazor : https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor
Service-oriented architecture
-------------------------------------
මේකෙදි Front End සහ Back End දෙකම වෙනස් ටෙක්නොලොජි දෙකකින් හෝ කීපයකින් ලියන්නේ . උඩ එකම තමා වෙනස එන්ඩ් දෙක වෙන වෙනම තියන එක .
Back End
-------------
Language: C#
ASP.net Core web API - https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0
EF, Dapper - Data access Components
(
EF- https://docs.microsoft.com/en-us/ef/
Dapper - https://www.learndapper.com/
)
Front End
-------------
Angular 2+ - https://angular.io/
React JS - https://reactjs.org/
Vue JS - https://vuejs.org/
Blazor
Rest - https://www.geeksforgeeks.org/rest-api-architectural-constraints/
දැන් උඩ තියන ඒවගෙන් මුල් දෙක පොඩ්ඩක් කල් පැනලා. 3 වෙනි එකත් පරණයි. එත් තාම සැහෙන්න පාවිච්චි වෙනවා. ඒ නිසා අපි ඒ ක්රමේ ගනන්ව මේ සොෆ්ට්වෙයා එක හදන්න.
Workshop Item5: study about web application architectures and Service-oriented architecture
Workshop Item 6: create sample Asp.net Core Web API project and create some end points and play with it
Workshop Item 7: create sample Angular Application and play with it
හොදයි මේ ටික කරලා ඊළගට වැඩේ කරන්න බහිමු. අපි මේකෙදි පුළුවන් තරම් ඇඩ්වාන්ස් යන්න බලමු. මේ යකාගේ ක්ලාස් වැඩේ ලොකු අමාරුවක් නැ . ඒ උනාට මේකෙන් අපිට මේ පැත්තේ තියන technology ඔක්කොම වගේ ඉගෙන ගන්න පුළුවන්. එහෙනම්. වැඩේ පටන් ගන්න ඕනේ. මේ විදිහට කරමු.
1. git එකේ repository එකක් හදල එකට උඩ වරක් ෂොප් වල ඔක්කොම ඩොකියුමන්ට් දාන්න ඕනේ. ඊට පස්සේ එකේ චේන්ජ් එකක් කරන්න ඕනේ නම් එකත් කරලා push කරන්න ඕනේ.
2. මේ දොක්යුමන්ට් හදන විදි එක එක කම්පැනි එකට වෙනස. දල අදහසක් එන විදිහට හැදුවාම ඇති.
3. workshop Item 5 සහ 6 කියන්නේ සාම්පල් ප්රොජෙක්ට් දෙකක් හදලා බලන්න මොකක්ද ඒ කියල. රියල් සොෆ්ට්වෙයාර් එක හදන්න තාම පටන් ගත්තේ නැ හොදේ.
4. ඒ සාම්පල් ප්රෝජ්ස්ක්ට් දෙක repository දෙකක් හදලා දාන්න ඕනේ. අපි බලමු ඕකට devops ගාවලා වැඩේ දරුණු කරන්න ඊට පස්සේ
ඊළගට අපි යනවා ඔය දැනුම එක්ක කොහොමද මේ සොෆ්ට්වෙයා එක හදන්නේ කියල බලන්න. ඊට කලින් උඩ දේවල් ගැන හොදට බලලා තියෙන්න ඕනේ. බලන්න ඕනේ හයි ලෙවල් විතරයි හොදේ. වැඩේ කරගෙන යනකොට ඩිටෙල් බලන්න වෙනවා. එතකොට බලමු වැඩේ.
ගොඩක් ස්තුතියි මචන්.ඔයාගේ වටිනා කාලේ මෙච්චර වැය කරලා මන් වගේම it වලට ආස අයට ඉගෙන ගන්න උදව් කරනවට. Respect මචන්



