{"id":1693,"date":"2023-01-18T11:56:27","date_gmt":"2023-01-18T10:56:27","guid":{"rendered":"https:\/\/www.laravel-entwickler.de\/mikae-on-lumen-framework\/"},"modified":"2023-01-18T11:59:47","modified_gmt":"2023-01-18T10:59:47","slug":"mikae-on-lumen-framework","status":"publish","type":"post","link":"https:\/\/www.laravel-entwickler.de\/fi\/mikae-on-lumen-framework\/","title":{"rendered":"Mik\u00e4 on Lumen Framework?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Mik\u00e4 on Lumen Framework?  <\/h2>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP-micro-framework.jpg\" rel=\"wp-prettyPhoto[1693]\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"250\" src=\"https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP-micro-framework.jpg\" alt=\"\" class=\"wp-image-1661\" srcset=\"https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP-micro-framework.jpg 575w, https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP-micro-framework-300x130.jpg 300w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><\/a><\/figure><\/div>\n<p>Verkkosovelluksen luomiseksi ei yleens\u00e4 ole j\u00e4rkev\u00e4\u00e4 kehitt\u00e4\u00e4 sit\u00e4 itse tyhj\u00e4st\u00e4. Ensinn\u00e4kin se edellytt\u00e4isi hyvin kattavaa tiet\u00e4myst\u00e4. Toisaalta siihen kuluva aika olisi hyvin suuri, joten se tuskin olisi kannattavaa. T\u00e4st\u00e4 syyst\u00e4 t\u00e4h\u00e4n tarkoitukseen k\u00e4ytet\u00e4\u00e4n usein kehyksi\u00e4.  <\/p>\n\n<p>N\u00e4m\u00e4 sis\u00e4lt\u00e4v\u00e4t jo kaikki vastaavan teht\u00e4v\u00e4n kannalta olennaiset toiminnot. Sitten ne on vain koottava yhteen ja mukautettava yksil\u00f6llisiin vaatimuksiin.<\/p>\n\n<p>Verkkokehysten alalla on kuitenkin hyvin laaja valikoima. Siksi on t\u00e4rke\u00e4\u00e4 valita sopiva paketti. Yksi mahdollisuus t\u00e4h\u00e4n on Lumen. T\u00e4m\u00e4 on suhteellisen uusi ratkaisu &#8211; se julkaistiin vasta vuonna 2015.<\/p>\n\n<p>Toinen erityispiirre on, ett\u00e4 sama kehitt\u00e4j\u00e4 vastaa suunnittelusta kuin Laravel-verkkokehyksest\u00e4. T\u00e4m\u00e4 viittaa jo siihen, ett\u00e4 joitakin yht\u00e4l\u00e4isyyksi\u00e4 on olemassa. T\u00e4ss\u00e4 artikkelissa esitell\u00e4\u00e4n, mik\u00e4 Lumen on, sen erityispiirteet ja sen ero Laraveliin.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Verkkosovellusten k\u00e4ytt\u00f6\u00f6notto mikropalvelun kautta<\/strong><\/h3>\n\n<p>Johdannossa esiteltiin jo Lumenin karkeat ominaisuudet: Se on web-sovellusten kehitt\u00e4miseen tarkoitettu kehys, jonka on suunnitellut sama henkil\u00f6 kuin paljon tunnetumpi kehys Laravel. On kuitenkin my\u00f6s joitakin muita t\u00e4rkeit\u00e4 ominaisuuksia. Eritt\u00e4in t\u00e4rke\u00e4\u00e4 on esimerkiksi se, ett\u00e4 se on mikropalveluihin perustuva kehys. T\u00e4m\u00e4 tekniikka ei ole toistaiseksi kovin yleinen t\u00e4ll\u00e4 alalla. Siksi on eritt\u00e4in t\u00e4rke\u00e4\u00e4 selvitt\u00e4\u00e4 tarkemmin, mit\u00e4 mikropalvelut oikeastaan ovat ja mit\u00e4 etuja ja haittoja ne tarjoavat.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Mik\u00e4 on mikropalvelu?<\/strong><\/h3>\n\n<p>Monien vuosikymmenten ajan tietokoneohjelmat olivat l\u00e4hes aina monoliittisia ohjelmia. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 ne koostuvat suljetusta yksik\u00f6st\u00e4, joka toimii vain kokonaisuutena. Jo muutaman vuoden ajan mikropalvelut ovat kuitenkin kasvattaneet suosiotaan. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 ohjelma koostuu monista yksitt\u00e4isist\u00e4 osista, jotka ovat toisistaan riippumattomia ja toimivat my\u00f6s itsen\u00e4isesti. Ohjelma voi sitten k\u00e4ytt\u00e4\u00e4 erilaisia t\u00e4llaisia palveluja. N\u00e4m\u00e4 tekev\u00e4t ty\u00f6ns\u00e4 t\u00e4ysin itsen\u00e4isesti ja v\u00e4litt\u00e4v\u00e4t vain tuloksen. Yhteys on vain l\u00f6ys\u00e4. Esimerkiksi eri sovellukset voivat k\u00e4ytt\u00e4\u00e4 samoja mikropalveluja.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Viestint\u00e4 API:n kautta<\/strong><\/h3>\n\n<p>Mikropalveluja k\u00e4ytett\u00e4ess\u00e4 on eritt\u00e4in t\u00e4rke\u00e4\u00e4 kiinnitt\u00e4\u00e4 huomiota sopivaan viestint\u00e4muotoon. T\u00e4h\u00e4n tarkoitukseen k\u00e4ytet\u00e4\u00e4n niin sanottuja sovellusrajapintoja. T\u00e4m\u00e4 lyhenne tarkoittaa Application Programming Interface (sovellusohjelmointirajapinta). Jokaisen mikropalvelun on tarjottava vastaava API. Varsinainen sovellus voi sitten k\u00e4ytt\u00e4\u00e4 n\u00e4it\u00e4 ja tehd\u00e4 vastaavan pyynn\u00f6n. Tarvittaessa t\u00e4m\u00e4 pyynt\u00f6 todennetaan. Jos t\u00e4m\u00e4 onnistuu, mikropalvelu suorittaa teht\u00e4v\u00e4ns\u00e4 ja l\u00e4hett\u00e4\u00e4 tuloksen takaisin sovellukselle. J\u00e4lkimm\u00e4inen voi sitten k\u00e4ytt\u00e4\u00e4 sit\u00e4. Jotta j\u00e4rjestelm\u00e4 toimisi, on t\u00e4rke\u00e4\u00e4 valita sopivat tietomuodot. Yksityiskohtainen dokumentaatio on my\u00f6s tarpeen, jotta mikropalvelua k\u00e4ytt\u00e4v\u00e4t kehitt\u00e4j\u00e4t tiet\u00e4v\u00e4t tarkalleen, mit\u00e4 tietoja he saavat mikropalvelusta.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Mit\u00e4 etuja mikropalveluiden k\u00e4yt\u00f6st\u00e4 on?<\/strong><\/h3>\n\n<p>Kun haluat p\u00e4\u00e4tt\u00e4\u00e4, haluatko k\u00e4ytt\u00e4\u00e4 Lumenia verkkosovellukseesi, on t\u00e4rke\u00e4\u00e4, haluatko k\u00e4ytt\u00e4\u00e4 monoliittista ohjelmaa vai mikropalveluja. Siksi on eritt\u00e4in t\u00e4rke\u00e4\u00e4 tarkastella tarkkaan mikropalvelujen k\u00e4yt\u00f6n etuja ja sit\u00e4, miss\u00e4 tapauksissa t\u00e4m\u00e4 tekniikka on j\u00e4rkev\u00e4\u00e4.<\/p>\n\n<p>Merkitt\u00e4v\u00e4 etu on n\u00e4iden j\u00e4rjestelmien suuri joustavuus. Tarvittaessa uusia toimintoja voidaan helposti lis\u00e4t\u00e4 sopivan mikropalvelun kautta ilman, ett\u00e4 muihin palveluihin tarvitsee tehd\u00e4 muutoksia. Siksi laajennukset voidaan toteuttaa paljon helpommin kuin monoliittisissa ohjelmissa. J\u00e4rjestelmien skaalautuvuus on my\u00f6s hyv\u00e4, sill\u00e4 uusien palvelujen lis\u00e4\u00e4minen ei ole ongelma. Kehitysvaiheessa on my\u00f6s eduksi, ett\u00e4 perustoimintoja voidaan k\u00e4ytt\u00e4\u00e4 jo lyhyen ajan kuluttua. Voit sitten lis\u00e4t\u00e4 hieman v\u00e4hemm\u00e4n t\u00e4rkeit\u00e4 toimintoja, kun k\u00e4yt\u00e4t ohjelmaa jo. Kunnossapitotoimenpiteet on my\u00f6s helppo toteuttaa, koska ne voidaan toteuttaa erikseen kunkin yksitt\u00e4isen palvelun osalta.<\/p>\n\n<p>Mikropalveluille on ominaista my\u00f6s se, ett\u00e4 kokonaissovellusta voidaan kehitt\u00e4\u00e4 useissa itsen\u00e4isiss\u00e4 tiimeiss\u00e4. On vain m\u00e4\u00e4ritelt\u00e4v\u00e4, mitk\u00e4 teht\u00e4v\u00e4t kunkin yksitt\u00e4isen palvelun on suoritettava. Sitten tiimi voi kehitt\u00e4\u00e4 sit\u00e4 melko itsen\u00e4isesti. On jopa mahdollista k\u00e4ytt\u00e4\u00e4 eri ohjelmointikieli\u00e4 yksitt\u00e4isiss\u00e4 palveluissa. T\u00e4m\u00e4 ei johda ainoastaan suunnittelun suureen joustavuuteen. Lis\u00e4ksi kuhunkin palveluun voidaan valita tekniikka, joka soveltuu t\u00e4ydellisesti kyseiseen teht\u00e4v\u00e4\u00e4n. Lis\u00e4ksi voit aina k\u00e4ytt\u00e4\u00e4 uusinta teknologiaa laajennuksissa &#8211; vaikka muut palvelut toimisivatkin viel\u00e4 vanhemmilla teknologioilla. T\u00e4ll\u00e4 tavoin asteittainen nykyaikaistaminen on mahdollista.<\/p>\n\n<p>Lopuksi voit yleens\u00e4 hy\u00f6ty\u00e4 suuresta suoritusnopeudesta. Pienten itsen\u00e4isten palveluiden k\u00e4ytt\u00f6 tarkoittaa, ett\u00e4 vastaavien teht\u00e4vien suorittamiseen tarvittava laskentaty\u00f6 on yleens\u00e4 huomattavasti pienempi kuin k\u00e4ytett\u00e4ess\u00e4 suurta monoliittista sovellusta. Siksi mikropalveluiden k\u00e4ytt\u00f6 on suositeltavaa, jos arvostat tehokasta toteutusta.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP.jpg\" rel=\"wp-prettyPhoto[1693]\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"250\" src=\"https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP.jpg\" alt=\"\" class=\"wp-image-1673\" srcset=\"https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP.jpg 575w, https:\/\/www.laravel-entwickler.de\/wp-content\/uploads\/2023\/01\/PHP-300x130.jpg 300w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><\/a><\/figure><\/div>\n<h3 class=\"wp-block-heading\"><strong>Lumen ja Laravel<\/strong><\/h3>\n\n<p>Olemme jo sanoneet, ett\u00e4 Lumenilla on paljon yhteist\u00e4 tunnetun verkkokehyksen Laravel kanssa: Molemmat tekniikat on kehitt\u00e4nyt sama henkil\u00f6 &#8211; Taylor Otwell. Siksi on ilmeist\u00e4, ett\u00e4 on olemassa my\u00f6s joitakin yht\u00e4l\u00e4isyyksi\u00e4. N\u00e4in on todellakin, ja monissa hankkeissa on jopa j\u00e4rkev\u00e4\u00e4 k\u00e4ytt\u00e4\u00e4 molempia tekniikoita yhdess\u00e4.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Yhteensopivuus Laravelin kanssa<\/strong><\/h3>\n\n<p>On jo sanottu, ett\u00e4 mikropalvelut tarjoavat pieni\u00e4 itsen\u00e4isi\u00e4 palveluja. Juuri t\u00e4h\u00e4n teht\u00e4v\u00e4\u00e4n Lumen on tarkoitettu. N\u00e4m\u00e4 palvelut ovat back-end-sovelluksia. N\u00e4it\u00e4 palveluja k\u00e4ytt\u00e4vi\u00e4 etusovelluksia ei kuitenkaan voi luoda Lumenilla. Voit k\u00e4ytt\u00e4\u00e4 t\u00e4h\u00e4n useita muita kieli\u00e4 ja kehyksi\u00e4. Eritt\u00e4in suosittu ratkaisu on k\u00e4ytt\u00e4\u00e4 t\u00e4h\u00e4n Laravel-ohjelmaa. N\u00e4m\u00e4 kaksi kehyst\u00e4 ovat t\u00e4ydellisesti koordinoituja, joten eritt\u00e4in tehokkaita sovelluksia voidaan luoda helposti.<\/p>\n\n<p>Lis\u00e4ksi syntaktiset yht\u00e4l\u00e4isyydet ovat suuret. Laravel-ohjelmiston hallitseva kehitt\u00e4j\u00e4tiimi voi my\u00f6s luoda mikropalveluja Lumenilla suhteellisen lyhyell\u00e4 koulutusajalla. Lis\u00e4ksi Lumen-sovellukset voidaan tarvittaessa vaihtaa Laraveliin.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Yksinkertainen ja tehokas kehitys<\/strong><\/h3>\n\n<p>Toinen t\u00e4m\u00e4n kehyksen tarjoama etu on, ett\u00e4 sit\u00e4 on eritt\u00e4in helppo kehitt\u00e4\u00e4. Oppimisk\u00e4yr\u00e4 on hyvin jyrkk\u00e4. N\u00e4in eri alojen kehitt\u00e4j\u00e4t voivat tutustua nopeasti. My\u00f6s kehitysaika on yleens\u00e4 hyvin lyhyt. K\u00e4ytett\u00e4viss\u00e4 on laaja valikoima toimintoja, joten niit\u00e4 ei tarvitse kehitt\u00e4\u00e4 itse. T\u00e4m\u00e4 v\u00e4hent\u00e4\u00e4 merkitt\u00e4v\u00e4sti sovellusten luomiseen tarvittavaa ty\u00f6t\u00e4.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Johtop\u00e4\u00e4t\u00f6s: Lumenien k\u00e4ytt\u00f6 takaa nopean toteutuksen.<\/strong><\/h3>\n\n<p>Lumen-kehys on mielenkiintoinen vaihtoehto aiemmille web-kehitysmahdollisuuksille. Erityisen kiinnostavaa t\u00e4ss\u00e4 yhteydess\u00e4 on mikropalvelujen k\u00e4ytt\u00f6, mik\u00e4 ei ole mahdollista useimmilla muilla tekniikoilla. T\u00e4m\u00e4 johtaa erinomaiseen joustavuuteen kehityksess\u00e4 ja erinomaisiin yll\u00e4pito- ja laajentamismahdollisuuksiin. Lis\u00e4ksi toteutusnopeus on eritt\u00e4in suuri. Jos arvostat n\u00e4it\u00e4 n\u00e4k\u00f6kohtia, t\u00e4m\u00e4 kehys on erinomainen valinta projekteihisi.<\/p>\n\n<p>Mielenkiintoisia artikkeleita:<\/p>\n\n<p><a href=\"https:\/\/lumen.laravel.com\/\">Lumenin virallinen sivu<\/a><\/p>\n\n<p><a href=\"https:\/\/github.com\/laravel\/lumen-framework\">Tietoa kehyksest\u00e4 Githubissa<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mik\u00e4 on Lumen Framework? Verkkosovelluksen luomiseksi ei yleens\u00e4 ole j\u00e4rkev\u00e4\u00e4 kehitt\u00e4\u00e4 sit\u00e4 itse tyhj\u00e4st\u00e4. Ensinn\u00e4kin se edellytt\u00e4isi hyvin kattavaa tiet\u00e4myst\u00e4. Toisaalta siihen kuluva aika olisi hyvin suuri, joten se tuskin olisi kannattavaa. T\u00e4st\u00e4 syyst\u00e4 t\u00e4h\u00e4n tarkoitukseen k\u00e4ytet\u00e4\u00e4n usein kehyksi\u00e4. N\u00e4m\u00e4 sis\u00e4lt\u00e4v\u00e4t jo kaikki vastaavan teht\u00e4v\u00e4n kannalta olennaiset<\/p>\n","protected":false},"author":1,"featured_media":1665,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[108],"tags":[],"class_list":["post-1693","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel-fi"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/posts\/1693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/comments?post=1693"}],"version-history":[{"count":1,"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/posts\/1693\/revisions"}],"predecessor-version":[{"id":1694,"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/posts\/1693\/revisions\/1694"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/media\/1665"}],"wp:attachment":[{"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/media?parent=1693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/categories?post=1693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.laravel-entwickler.de\/fi\/wp-json\/wp\/v2\/tags?post=1693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}