= propojení izolovaných aplikací, které umožňuje sdílet/vyměňovat data a funkce

Proč to zákazník dělá

  • chce využít toho, že už nějaké aplikace, které dělají nějakou práci, má (investoval do nich)
  • chce sjednocení a unifikaci dat a procesů napříč celou organizací

Na jaké problémy můžeme narazit

  • nespolehlivá či pomalá síť/komunikace
  • různé datové formáty
  • různé jazyky
  • při změně jedné aplikace to může mít velké dopady na celou skupinu propojených aplikací

Styly integrace

Přenos souborů - sdílená data se uloží do souboru a pošlou se konzumentovi

  • možnost integrovat aplikace v různých jazycích a na různých platformách
  • lze použít různé formáty souborů
  • spíš se používá pro málo frekventované výměny - typické pro dávkové zpracování dat

Sdílená databáze - do ní se data ukládají

  • výměna dat je rychlá
  • je však nutné navrhnout schéma, které vyhovuje všem aplikacím a je zde problém se zamykáním záznamů (aby se nepřepisovaly atd.)
  • když provedu změny v databázi, tak na to musí reagovat všechny aplikace
  • možné problémy se zapouzdřením a konzistencí dat
  • používá se omezení přístupu k datům - pohledy a oprávnění pro jednotlivé aplikace
  • může porušovat princip zapouzdření

Vzdálené volání procedur - poskytovatel vystaví rozhraní nějakých svých procedur a ostatní aplikace je mohou využívat

  • tím se sdílí funkcionalita a dodržuje se princip zapouzdření

Zasílání zpráv - všechny aplikace jsou napojeny na systém, který zprostředkovává zasílání zpráv

  • a data si systémy mezi sebou vyměňují pomocí těchto zpráv
  • je možná asynchronní komunikace - není nutné, aby dva komunikující systémy byly dostupné současně - to zajistí právě systém pro posílání zpráv

Technologie pro standardizované sdílení mezi aplikacemi

SOAP (Simple Object Access Protokol)

  • průmyslový standard
  • XSD popisuje formát přenášených dat
  • přenášená data jsou v XML
  • má mnoho podpůrných standardů a je typicky používán pro integraci podnikových aplikací
  • XML má výhodu v XSD (což je XML schéma - popisuje formáty dat)
    • XSLT - transformace do dalších formátů
    • XPath / XQuery - dotazování

REST (Representational State Transfer)

  • alternativa k SOAP
  • každý zdroj je identifikován svým URI
  • definuje CRUD operace nad zdrojem
  • využívá hlavně HTTP protokol (GET, POST, PUT, DELETE…)
  • formát dat je JSON, XML
  • typicky pro přenášení dat mezi serverem a GUI