Projects SE

Psiko

Well-known member
  • Mar 10, 2023
    12,486
    11,850
    113
    🤍
    මේවට හරියන කරන්න පුලුවන් Project ටිකක් කියන්න යහලුවනේ... :D

    1.Client Server architecture


    2.Multi Tier architecture


    3.Service Oriented architecture


    4.Microservices


    5.Clean architecture and CQRS
     
    • Like
    Reactions: jennt

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,168
    113
    Homagama
    මේවට හරියන කරන්න පුලුවන් Project ටිකක් කියන්න යහලුවනේ... :D

    1.Client Server architecture


    මේක නම් දැන් සැහෙන්න රෙයා තමා පාවිච්චි වෙන්නේ. නැතිම ගාන . තිබ්බත් අලුතෙන් ප්‍රොජෙක්ට් එකක් ගහන්න එන්නේ නැ ලෙසියකට. ඒ නිසා මම නම් හිතන්නේ ටයිම් වෙස්ට් එකක් වෙයි

    2.Multi Tier architecture


    3.Service Oriented architecture


    4.Microservices
    මේ 3 න ඉතින් ඕනෙම ප්‍රොජෙක්ට් එකක් කරන්න පුළුවන් රියල් ටයිම් සිස්ටම් ඇරෙන්න.(karanna bari kamakuth na) රියල් ටයිම් සිස්ටම් වල සග්රිගේෂන් එකක් තියෙන්න ඕනේ. ඒ කියන්නේ රීඩ්/රයිට් ෆාස්ට වෙන්න ඕනේ. මේකෙදි ඔයා අහන්නේ මොකක්ද කියල තේරෙනවා. එත් අපි රියල් වර්ල්ඩ් එකේදී අර්කිටෙච් එක තෝරනකොට කරන්නේ එහෙම නෙමේ.

    දුන්න සිස්ටම් එක Microservices වලින් ම ගහන්න ඕනේ නම් අපිට කරන්න දෙයක් නැනේ. අපි හිතමු අපිට දුන්න ප්‍රොජෙක්ට් එක SOA හෝ Microservices දෙකෙන්ම පුළුවන් කියල. අපි මේ දෙකෙන් එකක් තෝරාගන්න ඕනේ. එහෙම වෙලේට කරන්න ඕනේ ෆිසිබිලිටි ඉවලුවේෂන් එකක් කරන එක. ඒ කියන්නේ අපේ බජට් එක කොමද? ඉන්න දිවලොපර් ලගේ ලෙවල් එක , ටයිම් එක බලලන්න ඕනේ. විශේෂෙන් ඔය ඉන්ටර්න් සහ ASE වගේ ගොඩක් ඉන්නවා නම් ඉතින් SOA තෝරාගන්නවා.


    5.Clean architecture and CQRS
    Clean architecture and CQRS ගෙනාවේ උඩ මෙතඩ් ඔක්කොගෙම තියන කෙස් විසදන්න. මේකේ විශේෂෙන් රීඩ්/රයිට් වෙනම ඔප්ටිමයිස් කරන්න පුළුවන්. ඒ කියන්නේ රියල්ටයිම් සිස්ටම් වලට තමා මේක තියෙන්නේ CQRS කියන්නේ මිඩියේටර් ඩිසයින් පැටර්න් එක මත දුවන එකක්. මේක කරන්න ටිකක් ටෙක්නිකල් නොලේජ් එකක් ඕනේ.

    දැන් ඔයා දෙන ලද ප්‍රොජෙක්ට් එකක් අරගෙන බලන්න ඕනේ උඩ කිව්ව කරුණු එක්ක මොන එකද දාන්න හොද කියල
    නැතුව ඔය එක එකට හරියන ප්රෝජෙච්ට් කියන්න බැ

    මම කිව්වේ තියන ෆිචර්ස් ටිකක් විතරයි. ඔය 3 ගැන වැඩිදුර අද්‍යනය කරන්න ඕනේ
     

    Psiko

    Well-known member
  • Mar 10, 2023
    12,486
    11,850
    113
    🤍
    මේක නම් දැන් සැහෙන්න රෙයා තමා පාවිච්චි වෙන්නේ. නැතිම ගාන . තිබ්බත් අලුතෙන් ප්‍රොජෙක්ට් එකක් ගහන්න එන්නේ නැ ලෙසියකට. ඒ නිසා මම නම් හිතන්නේ ටයිම් වෙස්ට් එකක් වෙයි


    මේ 3 න ඉතින් ඕනෙම ප්‍රොජෙක්ට් එකක් කරන්න පුළුවන් රියල් ටයිම් සිස්ටම් ඇරෙන්න.(karanna bari kamakuth na) රියල් ටයිම් සිස්ටම් වල සග්රිගේෂන් එකක් තියෙන්න ඕනේ. ඒ කියන්නේ රීඩ්/රයිට් ෆාස්ට වෙන්න ඕනේ. මේකෙදි ඔයා අහන්නේ මොකක්ද කියල තේරෙනවා. එත් අපි රියල් වර්ල්ඩ් එකේදී අර්කිටෙච් එක තෝරනකොට කරන්නේ එහෙම නෙමේ.

    දුන්න සිස්ටම් එක Microservices වලින් ම ගහන්න ඕනේ නම් අපිට කරන්න දෙයක් නැනේ. අපි හිතමු අපිට දුන්න ප්‍රොජෙක්ට් එක SOA හෝ Microservices දෙකෙන්ම පුළුවන් කියල. අපි මේ දෙකෙන් එකක් තෝරාගන්න ඕනේ. එහෙම වෙලේට කරන්න ඕනේ ෆිසිබිලිටි ඉවලුවේෂන් එකක් කරන එක. ඒ කියන්නේ අපේ බජට් එක කොමද? ඉන්න දිවලොපර් ලගේ ලෙවල් එක , ටයිම් එක බලලන්න ඕනේ. විශේෂෙන් ඔය ඉන්ටර්න් සහ ASE වගේ ගොඩක් ඉන්නවා නම් ඉතින් SOA තෝරාගන්නවා.



    Clean architecture and CQRS ගෙනාවේ උඩ මෙතඩ් ඔක්කොගෙම තියන කෙස් විසදන්න. මේකේ විශේෂෙන් රීඩ්/රයිට් වෙනම ඔප්ටිමයිස් කරන්න පුළුවන්. ඒ කියන්නේ රියල්ටයිම් සිස්ටම් වලට තමා මේක තියෙන්නේ CQRS කියන්නේ මිඩියේටර් ඩිසයින් පැටර්න් එක මත දුවන එකක්. මේක කරන්න ටිකක් ටෙක්නිකල් නොලේජ් එකක් ඕනේ.

    දැන් ඔයා දෙන ලද ප්‍රොජෙක්ට් එකක් අරගෙන බලන්න ඕනේ උඩ කිව්ව කරුණු එක්ක මොන එකද දාන්න හොද කියල
    නැතුව ඔය එක එකට හරියන ප්රෝජෙච්ට් කියන්න බැ

    මම කිව්වේ තියන ෆිචර්ස් ටිකක් විතරයි. ඔය 3 ගැන වැඩිදුර අද්‍යනය කරන්න ඕනේ
    වැඩිදුර අද්‍යනය කරලම එන්නම් ප්‍රශන අහ්න්න .. මම හිතුවේ මේවට වෙන් වෙච්ච පොජෙක්ට් ඇති කියලා... :love2:
    Thank you Brooooooo
     
    • Like
    Reactions: HAneo and jennt

    jdchathuranga

    Well-known member
  • May 4, 2009
    568
    1,348
    93
    37
    Colombo
    මේක නම් දැන් සැහෙන්න රෙයා තමා පාවිච්චි වෙන්නේ. නැතිම ගාන . තිබ්බත් අලුතෙන් ප්‍රොජෙක්ට් එකක් ගහන්න එන්නේ නැ ලෙසියකට. ඒ නිසා මම නම් හිතන්නේ ටයිම් වෙස්ට් එකක් වෙයි
    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
     
    Last edited:

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,168
    113
    Homagama
    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
    Client server architecture is not like that. when it was implemented it meant to be such server has every thing (DB , application , etc..)
    But web application has API's these days. DB can be accessed On premises , requests are handled by different server. so technically it's not



    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

    this is more like you have created your own one using mix of existing ones. every software company do this. they have internal architectures and methodologies to develop softwires. what we describe are global standard patterns so once can start learn. after he gain more experience he can archive what you said