මේවට හරියන කරන්න පුලුවන් Project ටිකක් කියන්න යහලුවනේ...
1.Client Server architecture
මේ 3 න ඉතින් ඕනෙම ප්රොජෙක්ට් එකක් කරන්න පුළුවන් රියල් ටයිම් සිස්ටම් ඇරෙන්න.(karanna bari kamakuth na) රියල් ටයිම් සිස්ටම් වල සග්රිගේෂන් එකක් තියෙන්න ඕනේ. ඒ කියන්නේ රීඩ්/රයිට් ෆාස්ට වෙන්න ඕනේ. මේකෙදි ඔයා අහන්නේ මොකක්ද කියල තේරෙනවා. එත් අපි රියල් වර්ල්ඩ් එකේදී අර්කිටෙච් එක තෝරනකොට කරන්නේ එහෙම නෙමේ.2.Multi Tier architecture
3.Service Oriented architecture
4.Microservices
Clean architecture and CQRS ගෙනාවේ උඩ මෙතඩ් ඔක්කොගෙම තියන කෙස් විසදන්න. මේකේ විශේෂෙන් රීඩ්/රයිට් වෙනම ඔප්ටිමයිස් කරන්න පුළුවන්. ඒ කියන්නේ රියල්ටයිම් සිස්ටම් වලට තමා මේක තියෙන්නේ CQRS කියන්නේ මිඩියේටර් ඩිසයින් පැටර්න් එක මත දුවන එකක්. මේක කරන්න ටිකක් ටෙක්නිකල් නොලේජ් එකක් ඕනේ.5.Clean architecture and CQRS
වැඩිදුර අද්යනය කරලම එන්නම් ප්රශන අහ්න්න .. මම හිතුවේ මේවට වෙන් වෙච්ච පොජෙක්ට් ඇති කියලා...මේක නම් දැන් සැහෙන්න රෙයා තමා පාවිච්චි වෙන්නේ. නැතිම ගාන . තිබ්බත් අලුතෙන් ප්රොජෙක්ට් එකක් ගහන්න එන්නේ නැ ලෙසියකට. ඒ නිසා මම නම් හිතන්නේ ටයිම් වෙස්ට් එකක් වෙයි
මේ 3 න ඉතින් ඕනෙම ප්රොජෙක්ට් එකක් කරන්න පුළුවන් රියල් ටයිම් සිස්ටම් ඇරෙන්න.(karanna bari kamakuth na) රියල් ටයිම් සිස්ටම් වල සග්රිගේෂන් එකක් තියෙන්න ඕනේ. ඒ කියන්නේ රීඩ්/රයිට් ෆාස්ට වෙන්න ඕනේ. මේකෙදි ඔයා අහන්නේ මොකක්ද කියල තේරෙනවා. එත් අපි රියල් වර්ල්ඩ් එකේදී අර්කිටෙච් එක තෝරනකොට කරන්නේ එහෙම නෙමේ.
දුන්න සිස්ටම් එක Microservices වලින් ම ගහන්න ඕනේ නම් අපිට කරන්න දෙයක් නැනේ. අපි හිතමු අපිට දුන්න ප්රොජෙක්ට් එක SOA හෝ Microservices දෙකෙන්ම පුළුවන් කියල. අපි මේ දෙකෙන් එකක් තෝරාගන්න ඕනේ. එහෙම වෙලේට කරන්න ඕනේ ෆිසිබිලිටි ඉවලුවේෂන් එකක් කරන එක. ඒ කියන්නේ අපේ බජට් එක කොමද? ඉන්න දිවලොපර් ලගේ ලෙවල් එක , ටයිම් එක බලලන්න ඕනේ. විශේෂෙන් ඔය ඉන්ටර්න් සහ ASE වගේ ගොඩක් ඉන්නවා නම් ඉතින් SOA තෝරාගන්නවා.
Clean architecture and CQRS ගෙනාවේ උඩ මෙතඩ් ඔක්කොගෙම තියන කෙස් විසදන්න. මේකේ විශේෂෙන් රීඩ්/රයිට් වෙනම ඔප්ටිමයිස් කරන්න පුළුවන්. ඒ කියන්නේ රියල්ටයිම් සිස්ටම් වලට තමා මේක තියෙන්නේ CQRS කියන්නේ මිඩියේටර් ඩිසයින් පැටර්න් එක මත දුවන එකක්. මේක කරන්න ටිකක් ටෙක්නිකල් නොලේජ් එකක් ඕනේ.
දැන් ඔයා දෙන ලද ප්රොජෙක්ට් එකක් අරගෙන බලන්න ඕනේ උඩ කිව්ව කරුණු එක්ක මොන එකද දාන්න හොද කියල
නැතුව ඔය එක එකට හරියන ප්රෝජෙච්ට් කියන්න බැ
මම කිව්වේ තියන ෆිචර්ස් ටිකක් විතරයි. ඔය 3 ගැන වැඩිදුර අද්යනය කරන්න ඕනේ
is it?මේක නම් දැන් සැහෙන්න රෙයා තමා පාවිච්චි වෙන්නේ. නැතිම ගාන . තිබ්බත් අලුතෙන් ප්රොජෙක්ට් එකක් ගහන්න එන්නේ නැ ලෙසියකට. ඒ නිසා මම නම් හිතන්නේ ටයිම් වෙස්ට් එකක් වෙයි
Client server architecture is not like that. when it was implemented it meant to be such server has every thing (DB , application , etc..)is it?
why can't we consider any web application as a client - server app. client runs on user's browser and send request to centralised server and server process and respond
If you think about, any SOA app can be considered as client - server app. Again for real time apps, what about web socket communication, we have a server and web socket client isn't that ideal example for client-server
WDYT?
I will give you another example we have actually developed.
We have set of micro services exposing row data as REST services
We have another layer of micro services working on top of above REST services which has some business logics
And we have another REST service layer (called BFF) specially designed to expose above services for frontend friendly way
There are CDC/Event Queues and event processors are in place
Each of above micro services are implemented in a layers pattern. (so we have layers on top of layers)
My point is, modern(reasonably complex) applications can't simply put in to a one single category