-souhrnné označení pro sadu technologií umožňujících komunikaci mezi aplikacemi
-webová služba je jednoduchá komponenta nabízející určitou službu, např. převod měn, zjištění kurzu akcie, zpracování objednávky, překlad textu
Jak jsme již naznačili, webové služby umožňují jednoduchou komunikaci mezi aplikacemi, kdy komunikace je založena na platformě nezávislých standardech – především na jazyce XML a protokolu HTTP. Aplikace si mezi sebou posílají XML zprávy, které přenášejí dotazy a odpovědi jednotlivých aplikací. Celá infrastruktura webových služeb je založena na třech základních technologiích:
· SOAP (Simple Object Access Protocol) – protokol používaný pro komunikaci, který poskytuje web uživatelům užitečné funkce (obvykle ve formě dokumentu XML);
· WSDL (Web Services Description Language) – standardní formát pro popis rozhraní webové služby, poskytují způsob, jak dostatečně podrobně popsat své rozhraní (obvykle ve formě dokumentu XML);
· UDDI (Universal Description, Discovery and Integration) – standardní mechanismus pro nalezení registrovaných služeb

Výhody:
Za fasádou „webového serveru“ je zpráva konvertována na volání služby. Výstup služby je opět zkonvertován do XML a odeslán zpět. . Infrastruktura je tedy podobná jako u známých „middleware“, jako např. CORBA, ORACLE ESB. Programy mohou být napsány v různých jazycích a na různých platformách a navzájem spolu komunikují standardním způsobem.
v rozdíl je v tom, že SOAP je podstatně jednodušší než dřívější přístupy, takže se snáze implementuje
v pracují se standardními webovými protokoly — XML, HTTP a TCP/IP
v firmy již mají vybudovanou webovou infrastrukturu a lidi se znalostmi, a tak jsou náklady na zavedení WS nižší než u předcházejících technologií
DEFINICE:
SOA lze chápat jako praktiky a rámce, které umožňují, aby funkcionalita aplikací byla poskytovaná a spotřebovaná jako množina služeb, a to v takové úrovni funkcionality, kterou potřebuje příjemce služby. Ten je oddělen od implementace služby a používá pouze jednoduché na standardech založené rozhraní.
CIL: je nabídnout funkcionalitu IS stejným způsobem, jako to děla byznys vůči svým zákazníkům, tj. formou služby, včetně poskytnutí vhodného přístupu, kterým lze při užití již existujících služeb vytvářet služby nove.
Je postavena na 3 hl. principech:
1. Byznys procesy řídí služby a služby řídí technologie = služby tvoří abstraktní vrstvu, která umožňuje vytvářet vztah mezi podnikovými procesy a aplikacemi technologií.
2. Byznys agilita = schopnost rychle odpovídat na změny požadavků byznysu.
3. SOA se neustále mění a je plně zvládnutelná (SOA governance)
Architektura založená na předávání zpráv mezi autonomními službami –Loose coupling
v Služby jsou přístupné přes standardizovaná a publikovaná rozhraní a lze je snadno lokalizovat
v je to koncept architektury, její realizací mohou být XML webové služby
v představuje další úroveň znovupoužití kódu
v aplikace využívají služeb, při nahrazení služby není třeba aplikaci modifikovat
v nabízí jasný a čistý model pro integraci systémů
v uvnitř organizace
v mezi organizacemi
v poskytuje základ pro globální propojování systémů
Metodika vývoje SW představuje v obecném smyslu souhrn metod a postupů pro realizaci určitého úkolu. Metodika budování IS/ICT definuje principy, procesy, praktiky, role, techniky, nástroje a produkty používané při vývoji, údržbě a provozu informačního systému, a to jak z hlediska softwarově inženýrského, tak z hlediska řízení. Kromě pojmu metodika se můžeme setkat s pojmy proces a softwarový proces. Mnohé metodiky mají slovo „proces― přímo ve svém názvu. Existují metodiky hodnocení softwarových procesů, mluví se o zlepšování softwarových procesů apod. Softwarový proces je v kontextu těchto přístupů definován jako sada činností, metod, praktik a transformací, které lidé používají pro vývoj a údržbu software.
Process Engineering zahrnuje následující činnosti:
· reprezentace procesního modelu
· analýza procesu
· instanciace procesu
· provedení procesu
Proces vývoje softwaru definuje hlavní otázky vývoje – kdo, co, kdy a jak. Můžeme jej také popsat jako proces, ve kterém jsou uživatelské požadavky realizovány vytvořeným softwarem.
Metodika vývoje softwaru definuje přístup k procesu vývoje, použité nástroje, modely a používané postupy. Postupem doby bylo vyvinuto velké množství různých metodik, ne každá je však vhodná pro každý projekt
Při prototypovém přístupu vývoji softwaru dochází k vývoji neúplných verzí, kterým se říká tzv. prototypy. Prototypování se rozlišuje na dva základní přístupy: jednorázové (Throwaway, Close-ended, Rapid) a vývojové prototypování (Evolutionary, Beadboar).
Základní principy prototypového přístupu jsou:
· Vývojové prototypování staví na strukturovaném vývoji funkční verze systému, které zahrnuje hlavní část uživatelských požadavků a která je základem pro finální produkt.
· Nejedná se o samostatný a kompletní přístup metodiky vývoje, ale o přístup k jednotlivým částem větších metodik vývoje (např. přírůstková nebo spirálová metoda).
· Projekt je rozdělen na menší části z důvodů snížení rizik v celém vývoji a zjednodušení úprav projektu v průběhu procesu vývoje.
· Uživatel je zapojen v celém procesu vývoje, což přináší velkou pravděpodobnost přijetí konečné implementace uživatelem.
· Dokud se prototyp nevyvine tak, že splňuje požadavky uživatele, jsou iterativním způsobem vyvíjeny jen malé ukázky systému.
· Většina prototypů je vytvářena s tím, že budou vyřazeny, ale v v některých případech je možné pokročit od prototypu k funkčnímu systému.
Během vývoje velkého softwaru je snaha o rozdělení do více tzv. „miniprojektů“. To nám přináší snazší správu a úspěšné dokončení. Každý z těchto „miniprojektů“ představuje iteraci. Hlavním východiskem je skutečnost, že iterace obsahuje všechny prvky normálního softwarového projektu:
· plánování,
· analýza a návrh,
· tvorba,
· integrace a testování,
· interní nebo externí uvedení
Každá iterace představuje vlastní základní linii, která se skládá z částečně kompletní verze finálního systému a z veškeré přidružené projektové dokumentace. Základní linie jsou postupně během vývoje vrstveny tak dlouho, dokud není dosažena konečná podoba vytvářeného systému.
Rozdíl mezi dvěma základními liniemi je nazýván přírůstek (inkrement). Životní cyklus projektů podle metodiky UP je proto označován jako iterativní a přírůstkový (inkrementační).