Viestinvälitysarkkitehtuurit



Samankaltaiset tiedostot
Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja. Komponenttien palveluja ei tiedetä tarkasti etukäteen

Ohjelmistoarkkitehtuurit. Kevät 2014

Viestinvälitysarkkitehtuurit

Ohjelmistoarkkitehtuurit kevät

Viestinvälitysarkkitehtuurit Lähtökohta:

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Kevät 2014 Arkkitehtuurityylit vol 2

Ohjelmistoarkkitehtuurit Kevät 2016 Arkkitehtuurityylit vol 2

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit


Ohjelmistoarkkitehtuurit Refaktorointia, ohjelmien ylläpitoa ja evoluutiota. Kevät 2016

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit

Message Broadcasting. Käyttöympäristö. Message Broadcasting -laajennuksen asentaminen. Viestien luominen

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta, organisaatio, prosessi, tekninen Tuoterunkojen etuja ja ongelmia

Integrointi. Ohjelmistotekniikka kevät 2003

Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org

Entrust SSL-sertifikaattien hallinta

Ohjelmistoarkkitehtuurit. Syksy 2007

HOJ J2EE & EJB & SOAP &...

6. Architectural styles

SKYPE-RYHMÄN LUOMINEN

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Helppo ottaa käyttöön, helppo käyttää Basware Virtual Printer

Darwin: Tutkimusprojektin esittely

HSMT J2EE & EJB & SOAP &...

11. Tuoterunkoarkkitehtuurit

Learning cafen yhteenveto. Helsinki

Liiketoimintajärjestelmien integrointi

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Windows Live SkyDrive - esittely

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

PAREMPAA LIIKETOIMINTAA. YHDESSÄ. Teemu Sevon, Solita Oy

Veto-visualisointityökalu

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

DESIGO. Rakennusautomaatiojärjestelmä, joka kasvaa vaatimusten mukaan DESIGO. astustamattomasti. Siemens Building Technologies DESIGO PX 1

L2TP LAN to LAN - yhteys kahden laitteen välille

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Työeläkeyhtiö Varma. IBM Software Day Tuukka Tusa, Digia

OSUUSPANKKI KULTALINKKI-PANKKIYHTEYSOHJELMA JA OSUUSPANKIN E-LASKUPALVELU

Case: Hanakat LVIS-ketjun verkkokaupparatkaisu

Esimerkki: Auton toiminnan monitorointijärjestelmä

11. Tuoterunkoarkkitehtuurit

Johdatus rakenteisiin dokumentteihin

SUOMALAISET PK-YRITYKSET EIVÄT LUOTA PILVIPALVELUIHIN

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Sonera Hosted Mail -palvelun käyttöohje

TIETOPALVELUIDEN HINNASTO 2016 OPPILAITOKSILLE JA OPISKELIJOILLE

9. Muunneltavuuden hallinta

Liiketoimintajärjestelmien integrointi

Logistiikan sekä tavarakuljetusten uudet mahdollisuudet ja niiden hyödyntäminen

Sähköpostiohjeet. Tehokas ja huoleton sähköposti

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Sisällys. Lukijalle Mitä on digitaalinen taloushallinto? Järjestelmät Ostolaskut... 52

Tuoterunkoarkkitehtuurit. Ohjelmistoarkkitehtuurit kevät Uudelleenkäyttö. Johannes Koskinen.

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Ohjelmistoarkkitehtuurit. Kevät

Pikaopas toimittajille - Laskutus Supplier Portal (Lokakuu 2012)

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Huomaathan, että ohjeessa olevat näytöistä otetut kuvat voivat poiketa sinun koulutuksesi vastaavien sivujen kuvista.

Myyntitilauserän kuvaus

Lisää segmenttipuusta

RECO irtaimiston- ja omaisuuden hallinta

Baswaren verkkolaskuratkaisut PK-yritykselle. Mikael Ylijoki VP, Network Services Product Management

Integraatiotekniikan valinta - tie onnistumiseen.

Väli- ja loppuraportointi

SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen

WORKPLACE Käyttäjän OPAs

Liikkuva työ pilotin julkinen raportti

Luotettavuuden mittaamisesta. Ilkka Norros ja Urho Pulkkinen

LUPAOSAKASLUETTELO (ns. yhteislupa) Liite hirvieläinten pyyntilupahakemukseen Sivu 1

Tehokasta tiedonvälitystä rakennusalalla

Tutkimusdatanhallinnan suunnittelu ja DMPTuuli-työkalu

Sovellusarkkitehtuurit

AJOK/KEAJ/IAJOK. Koetallennus

PerustA - Perustietovarantojen viitearkkitehtuuri. Liite 3: Tietojärjestelmäarkkitehtuurin. integraatioarkkitehtuuri

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Harjoitustyö Case - HelpDesk

K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6)

THE BLUE SKY -TARINA. Tämä on Norton Blue Sky -tarina. Tarina kertoo uudistuksista ja innovaatioista ja me haluamme jakaa sen kanssasi...

GroupWise WebAccessin perusliittymä

HELPOSTI SÄHKÖISEEN LASKUTUKSEEN. Jaakko Laurila E-invoicing forum

Ohjelmistoarkkitehtuurit Kevät Johannes Koskinen Esimerkki: Auton toiminnan monitorointijärjestelmä

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Syksy 2008

Tietovarastointiratkaisut massaräätälöinnin konfiguraattoreiden tukena. DI Mika Aho BI/DW Specialist

Järjestelmäarkkitehtuuri (TK081702)

ESPOON KAUPUNKI Liite 3 Tekninen keskus. Vaalimainostelineet SOPIMUSLUONNOS. Sisältö

Interfacing Product Data Management System

Ariba Hankinnan kokonaisjärjestelmä

Mat Systeemien identifiointi

Suomen Lions-liitto ry Käyttäjätunnus ja sisäänkirjautuminen MyLCI - Käyttäjäohje Versio

Transkriptio:

Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja Komponenttien palveluja ei tiedetä tarkasti etukäteen, komponentit ovat periaatteessa samassa roolissa Komponentteja ja niiden lukumäärää ei tiedetä tarkasti etukäteen Järjestelmässä liikkuvan tiedon laatua ei tunneta tarkasti etukäteen 1

Esimerkkejä Ajoneuvon ohjausjärjestelmä Älykoti Yrityksen liiketoimintojen hallintajärjestelmä Yleisesti: hajautetut järjestelmät, löyhää integrointia vaativat järjestelmät 2

Viestinvälitysarkkitehtuuri: perusidea rekisteröidyt komponentit 1) luo viesti ja 2) lähetä välittäjälle Komponenttien yhteinen rajapinta: receive(message) rekisteröidyt komponentit 3) päätä vastaanottaja(t) ja välitä viesti sille/niille Viesti Viestinvälittäjä (tai kanava, väylä) 4) vastaanota ja 5) tulkitse/ prosessoi viesti Tyhmä Välittäjä 3

Palveluperustainen viestinvälitysarkkitehtuuri Asiakas Palvelupyyntö Palvelupyyntö Asiakas Viestinvälittäjä Palvelija Palvelun tulos Palvelun tulos Asiakas 4

Esimerkki: Auton huoltotarkkailujärjestelm rjestelmä moottori cpu jarrut vaihdelaatikko CAN väylä (Controller Area Network) 5

Auton huoltotarkkailujärjestelm rjestelmä: komponenttikaavio CANBusExaminer MessageDispatcher send(msg) register(msgtype,component) Messenger ServiceComponent receive(msg) BrakeUnit recordusage() checkcondition() getstate() setstate() EngineUnit recordusage() checkcondition() getstate() setstate() 6

Harjoitus Topologia Lineaarinen Keskitetty Rajapinnat Palvelupohjaisia Geneerisiä Täytä arkkitehtuurityylien nimillä 7

Viestinvälitysarkkitehtuuri: peruselementit (Hohpe & Woolf: Enterprise Integration Patterns) Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi 8

Esimerkki: Tilausten käsittelyk Asiakkaat Jälleenmyyjä TKS Valmistajat Vaatimuksia: - Asiakkaat voivat lähettää tilauksia webin kautta tai faxilla - Tilaus käsitellään monessa vaiheessa: varastotarkistus, toimitus, laskutus - Integrointi olemassaoleviin sovelluksiin: web-client, faxijärjestelmä, laskutus-, toimitus-, ja varastojärjestelmät Kuljetusliike 9

Tilausten vastaanotto Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi 10

Tilausten vastaanotto: useita lähteitl hteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava 11

Synkroninen: Viestiportti (Messaging Gateway) Sovellus Viestiportti Viestijärjestelmä - erottaa sovelluksen viestinvälityksestä - tarjoaa sovellusaluekohtaisen API:n sovellukselle - helposti vaihdettavissa palvelupyyntö viestin lähetys tuloksen vastaanotto prosessointi 12

Tilausten vastaanotto: useita lähteitl hteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava 13

Kanavasovitin (Channel Adapter) Löyhä sovitinliitos: Sovitin ei integroidu suoraan sovellukseen vaan välillisesti esim. - sovelluksen yleisen API:n kautta - tarkkailemalla sovelluksen aiheuttamia tapahtumia - tarkkailemalla sovelluksen tuottamia tiedostoja tai tietokantoja (esim. tietokantatriggeri) 14

Tilausten vastaanotto: useita lähteitl hteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava 15

Kahdenvälinen kanava Voi olla useita vastaanottajia, mutta kanavamekanismi takaa, että vain yksi vastaanottaja saa kunkin viestin (tai kiinnittyy istuntoon) Mahdollisesta vastaanottajan valinnasta huolehtii kanava, vastaanottajien ei tarvitse koordinoida keskenään 16

Tilausten vastaanotto: useita lähteitl hteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava 17

Kanoninen tietomalli (Canonical data model) tiedon esitys, joka on riippumaton sovelluksista sovellusriippuvat esitykset muunnetaan kanoniseen jos sovelluksen esitysmuoto muuttuu, riittää muuttaa muuntaja 18

Viestimuuntaja (Message Translator) Muuttaa formaatin tai rakenteen lisäämättä informaatiota XML-pohjaisten viestien muuntaminen keskenään: XSLT XML <-> jokin muu formaatti: XML jäsentäjät ym. 19

Tilausten vastaanotto: useita lähteitl hteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava 20

Julkaisija-tilaaja kanava (Publisher- Subscriber Channel) Viesti Tilaaja Julkaisija Julkaisijalta tuleva viesti kopioidaan kaikille tilaajille Kukin tilaaja saa jokaisen viestin kerran Tilaajat eivät tunne toisiaan eivätkä julkaisijaa Julkaisija ei tunne tilaajia Tarkkailija-suunnittelumallin yleistys (tapahtumaviestejä) Voi olla myös monta julkaisíjaa Tilaaja Tilaaja 21

Reititys Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi 22

Tilausten käsittelyk tarkista varasto tarkista asiakas [OK] Poikkeusten käsittely toimita tavara lähetä lasku 23

Tilausten käsittelyk kelvollinen tilaus Laskutus Toimitus Asiakashallinta Varastohallinta Yhdistäjä epäkelpo tilaus 24

Yhdistäjä (Aggregator) Kerää koosteita sisääntulevista viesteistä Pitää yllä vaillinaisia koosteita Jos uusi viesti tekee jostakin vaillinaisesta koosteesta täydellisen, koosteviesti lähetetään eteenpäin Kooste ei ole välttämättä unioni (esim. valitaan paras tai ensimmäinen sopiva, muut unohdetaan) 25

Tilausten käsittelyk Asiakashallinta Sisältöperustainen reititin kelvollinen tilaus Laskutus Toimitus Varastohallinta Yhdistäjä epäkelpo tilaus 26

Sisält ltöperustainen reititin (Content-based Router) Vastaanottaja/kanava määrätään viestin sisällön perusteella (esim. jonkin kentän arvo tai esiintyminen) Ongelma: reititin tuntee vastaanottajat ja riippuu niistä Mahdollinen ratkaisu: vastaanottajat informoivat (dynaamisesti) reititintä millaisia viestejä haluavat (Dynamic Router) Mahdollinen ratkaisu: kukin vastaanottaja filteroi itselleen vain halutut viestit 27

Hallinta ja monitorointi Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi 28

Palveluväyl ylä (ESB) Kanavat toteutetaan yhtenäisellä väyläarkkitehtuurilla Voi sisältää palvelurekisterin (a la SOA) Sisältää eri reititysmahdollisuuksia Koko käsittelyprosessia ohjaa oma yksikkönsä Vastauksen vaativat kommunikaatiot edellyttävät erityisiä ratkaisuja (esim. Smart Proxy) 29

Viestinvälitysarkkitehtuurin etuja Helppo muuttaa, lisätä ja poistaa komponentteja tai sovelluksia Vikasietoinen (esim. jos viestillä ei vastaanottajaa), voidaan esim. toistaa viestin lähettämistä Joustava järjestelmäkonfiguraatio Sallii heterogeeniset järjestelmät, sovellusintegraation Sallii sekä synkronisen että asynkronisen kommunikoinnin 30

Viestinvälitysarkkitehtuurin haittoja Tehokkuus: viestien kirjoittaminen ja lukeminen Vaikeampi toteuttaa, testata ja ymmärtää kuin perinteinen Jotkut tavalliset asiat vaativat erityistukea (esim. peräkkäisyys, synkronisuus) Olemassaoleva infratuki teknologiariippuvaista Syntyy helposti implisiittisiä riippuvuuksia yksiköiden välille 31

Viestinvälitysarkkitehtuurin haaste Geneeriset rajapinnat => ei riippuvuuksia => joustava integraatio Ideaalisti sovellukset riippuvat vain hyvin määritellyistä standardeista Valitettavasti, usein tämä ei toimi: kaksi sovellusta on tehty toimimaan yhdessä toiminta saadaan tehokkaammaksi kun käytetään sovelluskohtaista tietoa hyvä tuote otetaan käyttöön, on se standardin mukainen tai ei on olemassa erilaisia standardeja samalle asialle standardia ei ole tai se on riittämätön jne. Uhkakuva: syntyy suuri määrä ei-dokumentoituja implisiittisiä riippuvuuksia, joita kukaan ei hallitse Loppujen lopuksi ohjelmistotekniikan ongelmana on riippuvuuksien hallitseminen, ei välttämättä eksplisiittisten riippuvuuksien poistaminen 32