A webszolgáltatások fejlesztésének módszerei – Mobil alkalmazások fejlesztése, webszolgáltatások, SOA architektúra – technológia
Ugrás a tartalomra

A webszolgáltatások fejlesztésének módszerei – Mobil alkalmazások fejlesztése, webszolgáltatások, SOA architektúra

Reklámok

Coulouris úgy határozta meg az elosztott rendszereket, mint „olyan rendszereket, amelyekben a számítógépes hálózatban létező hardver- és/vagy szoftverkomponensek üzenetváltással kommunikálnak és koordinálják tevékenységeiket”.

Ez a koncepció az elmúlt években több tényező miatt is népszerűvé vált. Az első olyan tényező, amely az elosztott rendszerek fejlődését elősegítette, a nagy sebességű helyi hálózatok megjelenése volt. Egy másik fontos tényező a személyi számítógépek teljesítményének technológiai fejlődése és az elosztott alkalmazásokat támogató szoftverek fejlesztése volt. Az elosztott rendszerek a Web és az Internet fogalmához kapcsolódnak. A Web fejlődésével, új területek, interakciók, igények és alkalmazások megjelenésével megjelenik a Web 2.0 koncepciója. Ezt a kifejezést Tim O'Reilly találta ki 2004-ben, hogy a web történetének második generációjára utaljon, amely felhasználói közösségeken és olyan speciális szolgáltatásokon alapul, mint a közösségi hálózatok, blogok, wikik vagy népszonómiák, amelyek ösztönzik az együttműködést és a gyors. a felhasználók közötti információcsere.

Az első olyan architektúrák, amelyek szolgáltatás-orientáltnak (SOA) tekinthetők, a CORBA-n (Common Object Request Broker Architecture) alapultak, amely absztrakciós rétegként működött az architektúra különböző elemeinek összekapcsolására és szolgáltatások kiépítésére. Más korábbi technológiák a DCOM (Distributed Component Object Model) vagy az RPC (Remote Procedure Protocol) voltak. Az elosztott rendszerek weben való hatékony tervezésének és megvalósításának igényével több kihívás is felmerül, amelyek egy része magára a fejlesztésre (teljesítmény, felhasználói élmény, stb.) irányult, másrészt pedig a szolgáltatások újrafelhasználhatóságára és kompatibilitására épülő kiegészítők. Ezekből az igényekből fakadnak a webszolgáltatások, amelyek szabványosított mechanizmusokat biztosítanak a különböző felhasználók és az információs szerverek összekapcsolására.

SZOLGÁLTATÁS-ORIENTÁLT ÉPÍTÉSZET

A SOA (Service Oriented Architecture) szerint olyan szoftverarchitektúrák, amelyek meghatározzák az üzleti igények támogatására szolgáló szolgáltatások használatát, amelyek célja a szoftverügynökök közötti lehető legkevesebb csatolás elérése. A szolgáltatás a szolgáltató által a szolgáltatást igénybe vevő által kívánt végeredmény elérése érdekében végzett munkaegység. Mind a szolgáltató, mind a szolgáltatás fogyasztó szerepe a szoftverügynökök, nem pedig a szoftvertulajdonosok szerepe. Általános értelemben a szolgáltatás-orientált architektúra olyan szoftvermegoldás, amelynek célja, hogy lehetővé tegye a vállalat számára a különféle folyamatok megszervezését és felhasználását. A SOA-val a szoftveralkalmazások többé már nem funkciók és folyamatok hatalmas blokkjai. Ehelyett ezek az alkalmazások összeszerelt moduláris szolgáltatásokból állnak. Ne feledje, hogy a szolgáltatás egy egyszerű szoftverfunkció (például egy CD törlése). Igény szerint bármilyen rendszeren futtatható, operációs rendszertől, platformtól, programozási nyelvtől és földrajzi helytől függetlenül.

A SOA-ban nem maga a már régóta létező koncepció a forradalmi, hanem az, hogy a WWW-en (World Wide Web) keresztül is megvalósítható. Ugyanúgy, ahogy a weboldalak betöltődnek bármely platformon, a webszolgáltatások hasonlóan működnek, függetlenül attól, hogy milyen platformra épülnek
egyetemes szabványok.

FényképA SOA ötlete közvetlenül az objektum-orientált programozásból ered, ami az adatok és azok feldolgozása közötti kapcsolatot sugallja. Így formálisan az alapul szolgáló platformtól és programozási nyelvtől független interfészeken keresztül határozzák meg a szolgáltatásokat. Ezek az interfészek elrejtik megvalósításuk sajátosságait, ami függetlenné teszi őket a fejlesztői és programozási nyelv. Ezeken az architektúrákon keresztül lehetőség nyílik olyan nagymértékben skálázható rendszerek tervezésére és megvalósítására, amelyek tükrözik az üzleti logikát, és egyúttal elősegítik a különböző szabadalmaztatott vagy harmadik féltől származó rendszerek közötti interakciót. Azért akarjuk, hogy valaki más végezze el helyettünk a munkát, mert ők szakértők. Egy szolgáltatás igénybevétele általában olcsóbb és hatékonyabb, mint saját maga. Így a legtöbben megértjük, hogy nem lehetünk mindenben szakértők. Ugyanez a szabály alkalmazható szoftverrendszerek építésére is.

Az interfészek nagyon fontosak, ha nincsenek jól definiálva, vagy nem működnek, akkor a rendszer nem működik. Több interfész integrálása költséges, és növeli a hibalehetőséget az elosztott alkalmazásokban. A távoli interfészek a legtöbb elosztott alkalmazás leglassabb részét képezik. Mindezek mellett ahelyett, hogy minden alkalmazáshoz új interfészt építenének, ésszerűbb az általános interfészek újrafelhasználása az összes alkalmazáshoz.

Tehát, mivel csak néhány általános interfész áll rendelkezésünkre, alkalmazás-specifikus szemantikát kell tartalmaznunk az üzenetekben. Bármilyen üzenetet küldhetünk interfészeinken keresztül, de bizonyos szabályokat be kell tartani, hogy azt mondjuk, hogy egy architektúra szolgáltatás-orientált.

– Először is, az üzeneteknek leíró jellegűnek kell lenniük, nem pedig tanulságosnak, hiszen a szolgáltató feladata a probléma megoldása. Például ez hasonló lenne ahhoz a helyzethez, amikor bemész egy étterembe, és elmondod a pincérnek, hogy mit szeretnél inni, és mi a preferenciáid, de nem szabad lépésről lépésre elmagyaráznunk a szakácsnak, hogyan készítsd el az ételeidet.

‐ Másodszor, a szolgáltatók nem fogják tudni megérteni az Ön kérését, ha üzeneteiket nem minden érintett számára érthető formátumban, szerkezetben és szókészletben írják. Így az üzenetek szókincsének és szerkezetének korlátozása a
szükséges a hatékony kommunikációhoz. Minél szűkebb az üzenet, annál könnyebben érthető.

- Harmadszor, a hosszabbítás lehetősége létfontosságú. A világ egy állandóan változó hely, és a környezet is, amelyben a szoftverek élnek. Ezek a változtatások megfelelő változtatásokat igényelnek a rendszerszoftverben, a fogyasztókban szolgáltatásokról, szolgáltatókról és az általuk váltott üzenetekről. Ha az üzenetek nem bővíthetők, a fogyasztók és a szolgáltatók a szolgáltatás egy adott verziójához vannak zárva. A kényszer és a bővíthetőség szorosan összefügg, mindkettőre szükség van, és az egyik növelése a másik csökkentését jelenti. Az ideális a megfelelő egyensúly elérése.

– Negyedszer, a SOA-nak rendelkeznie kell egy olyan mechanizmussal, amely lehetővé teszi a fogyasztó számára, hogy a fogyasztó által keresett szolgáltatás keretében szolgáltatót fedezzen fel. A mechanizmusnak rugalmasnak kell lennie, nem pedig központi nyilvántartásnak.

- Ötödik, Állam nélküli szolgáltatás: A fogyasztó által a szolgáltatónak küldött minden üzenetnek tartalmaznia kell minden olyan információt, amely a szolgáltatónak a feldolgozásához szükséges. Ez a korlátozás skálázhatóbbá teszi a szolgáltatót, mivel a szolgáltatónak nem kell állapotinformációkat tárolnia a kérések között. Ezt „tömegtermelési szolgáltatásnak” nevezhetjük, mivel minden kérés általánosan kezelhető. Ez a korlátozás nagyobb láthatóságot is biztosít, mivel bármely felügyeleti szoftver képes függetlenül megvizsgálni a kérést és kibontani a szándékát. Ez lehetővé teszi a részleges meghibásodások könnyű helyreállítását is, mivel nincsenek köztes állapotok, így a szolgáltatás megbízhatóbb.

- Hatodszor, idempotens kérések (változtatás nélkül): a szoftverügynök által kapott duplikált kérések ugyanolyan hatást fejtenek ki, mint egyetlen kérés. Ez a követelmény lehetővé teszi a szolgáltatók és a fogyasztók számára, hogy növeljék az általános megbízhatóságot szolgáltatás, egyszerűen megismétli a kérést, ha hiba történt.

Elmondhatjuk tehát, hogy a SOA nem eszköz, hanem szabványok halmaza új, dinamikusabb és kevésbé függő alkalmazások létrehozásához. A SOA megkönnyíti az üzleti logikához és információkhoz való hozzáférést több szolgáltatáson keresztül, szisztematikus módon, és több távoli szolgáltatást is összeállíthat egyetlen szolgáltatás létrehozására. a legtöbb a definíciók azonosítják a webszolgáltatások használatát, amelyet a következő fejezetben látni fogunk, a szolgáltatás-orientált architektúra megvalósításában. Mindazonáltal bármely más szolgáltatás alapú technológia segítségével megvalósítható.