7 Viestipohjaisten yritysjärjestelmien suunnittelumallit



Samankaltaiset tiedostot
Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät

Viestinvälitysarkkitehtuurit

Ohjelmistoarkkitehtuurit. Kevät 2014

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

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Viestinvälitysarkkitehtuurit

6. Arkkitehtuurityylit


Viestinvälitysarkkitehtuurit Lähtökohta:

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

6. Arkkitehtuurityylit

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit. Syksy 2007

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

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

in condition monitoring

Ohjelmistoarkkitehtuurit kevät

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Myyntitilauserän kuvaus

Tietojärjestelmäarkkitehtuurit

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Arkkitehtuurityylejä ja suunnittelutaktiikoita

Integrointi. Ohjelmistotekniikka kevät 2003

Interfacing Product Data Management System

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

Pipfrog AS Tilausten hallinta

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

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

HOJ J2EE & EJB & SOAP &...

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

Ohjelmistoarkkitehtuurit. Syksy 2010

Ohjelmistoarkkitehtuurit. Kevät

Entrust SSL-sertifikaattien hallinta

Kuluttajat mukaan verkkolaskujen vastaanottajiksi

Täsmäytys kuinka tehostat tilauksellisten ja toistuvaislaskujen käsittelyä

HSMT J2EE & EJB & SOAP &...

Timanttiset-verkkokauppa, ohje

Suomen Numerot NUMPAC

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

Johdatus rakenteisiin dokumentteihin

Ohjelmistoarkkitehtuurit

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

BASWARE E-INVOICE KAIKKI MYYNTILASKUT VERKKOLASKUINA. Juho Värtö, Account Manager

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Varastonhallinnan optimointi

10. Muunneltavuuden hallinta: variaatiopisteet

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

Liiketoimintajärjestelmien integrointi

MavaSoft-ohjelmistolla voidaan hoitaa lähes kaikki tarpeet, mitä pk-yrityksellä on. MavaSoft hallitsee uusimmat standardit, SEPA ja Web Services.

Harjoitustyö Case - HelpDesk

HitCall Softphone käyttöönotto

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

BASWARE PORTAL. Verkkolaskutuksen uusi ikkuna

Hirviö. Design Patterns

Yksityistietiedon palvelualusta Alustavat palvelukuvaukset

SOA SIG SOA Tuotetoimittajan näkökulma

Ostokorin hintasäännöt

Ohjelmistoarkkitehtuuri

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

Taksiyrittäjän tietotyökalu. Tilaukset internetistä Taksarille

Tavaratilausten tietovirrat ja datan hyödyntäminen -case S-ryhmä ja Satakunnan Osuuskauppa

KUN RESURSSIT JA AIKA EIVÄT RIITÄ - KÄYTÄ TAVARATAKSIA!

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

Contents AdsML ympäristö... 2 AdsML Testi ympäristö... 2 AdsML tuotantoympäristö... 2 AdsML käyttöliittymä... 3 Kirjautuminen...

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

Myyntilasku: 100 % lähteviä laskuja verkkolaskuina Joustavat ratkaisut omien asiakkaittesi valmiuksista riippumatta

Helposti sähköiseen laskutukseen. Sami Nikula Tuotemarkkinointipäällikkö

Basware Portal palvelun ohje toimittajille

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

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

Case: Hanakat LVIS-ketjun verkkokaupparatkaisu

Web-seminaari

2007 Nokia. Kaikki oikeudet pidätetään. Nokia, Nokia Connecting People ja Nseries ovat Nokia Oyj:n tavaramerkkejä tai rekisteröityjä tavaramerkkejä.

Myyntitilaus -tiedoston kuvaus

Paikoillenne, valmiit, lähetetty!

Yrityksen sähköisen sanomaliikenteen automatisointi

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje

Tehokasta tiedonvälitystä rakennusalalla

3/8. Max pisteet Annettu tieto Pisteet Annettu tieto Pisteet Annettu tieto Pisteet ,5 Kyllä 0,500 Kyllä 0,500 Kyllä 0,500 Kyllä=0,5

Harjoitustehtävät ja ratkaisut viikolle 48

Basware Invoice Processing ja SAP MM integraatio

Laskutuspalvelu Yksittäisen e-laskun lähetys

Opus SMS tekstiviestipalvelu

Basware Supplier Portal

Tilauspalveluun pääsee osoitteessa

Paikkatiedot ja Web-standardit

ENERGIA JA URAKOINTI AJANKOHTAISFOORUMI

TaikaLaskut. pikaohje

Semanttisen Webin mahdollisuudet yrityksille

KODAK EIM & RIM VIParchive Ratkaisut

Adobe -määrälisensointi

Julkisen hallinnon Paikkatiedon viitearkkitehtuuri. Palveluarkkitehtuurin luonnostelua Antti Rainio

Mitä tentissä tulee osata? 50 % arvioinnista

Transkriptio:

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit Hohpe G., Woolf B.: Enterprise Integration Patterns. Addison-Wesley 2004. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

Viestinvälitykseen perustuvat yritysjärjestelmät (Hohpe & Woolf: Enterprise Integration Patterns) Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 2

Esimerkki: Tilausten käsittely Asiakkaat Varasto Jälleenmyyjä TKS Valmistajat Kuljetusliike 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 Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 3

Tilausten vastaanotto Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 4

Tilausten vastaanotto: useita lähteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 5

Viestiportti (Messaging Gateway) Synkroninen, blokkaava: Sovellus Viestiportti Viestijärjestelmä - erottaa sovelluslogiikan viestinvälityksestä - tarjoaa sovellusaluekohtaisen API:n sovelluksen käyttöön - helposti vaihdettavissa palvelupyyntö viestin lähetys tuloksen vastaanotto prosessointi Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 6

Tilausten vastaanotto: useita lähteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 7

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) Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 8

Tilausten vastaanotto: useita lähteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 9

Kahdenvälinen kanava (Point-to-Point Channel) Voi olla useita potentiaalisia vastaanottajia, mutta kanava itse takaa, että vain yksi vastaanottaja saa kunkin viestin Mahdollisesta vastaanottajan valinnasta huolehtii kanava, vastaanottajien ei tarvitse koordinoida keskenään Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 10

Tilausten vastaanotto: useita lähteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 11

Kanoninen tietomalli (Canonical data model) tiedon esitys, joka on riippumaton sovelluksista sovellusriippuvat esitykset muunnetaan kanoniseen jos sovelluksen esitysmuoto muuttuu, riittää muuttaa muuntaja X -> kanoninen tai kanoninen -> X Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 12

Viestimuuntaja (Message Translator) Muuttaa formaatin tai rakenteen muuttamatta informaatiota Erillinen komponentti Viestimaailman Sovitin (Adapter): muuttaa viestiformaatin XML-pohjaisten viestien muuntaminen keskenään: XSLT XML <-> jokin muu formaatti: XML jäsentäjät ym. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 13

Tilausten vastaanotto: useita lähteitä Web- GUI Viestiportti Kahdenvälinen kanava Viestimuuntaja Web -> Kanoninen Fax vastaanottaja Kanavasovitin Viestimuuntaja Fax -> Kanoninen Julkaisija-tilaaja kanava Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 14

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 idea viestimaailmassa (tapahtumaviestejä) Voi olla myös monta julkaisíjaa Tilaaja Tilaaja Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 15

Reititys Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 16

Tilausten käsittely tarkista varasto tarkista asiakas [OK] Poikkeusten käsittely toimita tavara lähetä lasku Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 17

Tilausten käsittely Asiakashallinta Sisältöperustainen reititin kelvollinen tilaus Laskutus Toimitus Varastohallinta Yhdistäjä epäkelpo tilaus Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 18

Yhdistäjä (Aggregator) Tilallinen komponentti 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) Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 19

Tilausten käsittely Asiakashallinta Sisältöperustainen reititin kelvollinen tilaus Laskutus Toimitus Varastohallinta Yhdistäjä epäkelpo tilaus Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 20

Sisä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) Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 21

Hallinta ja monitorointi Viesti Kanava Reititys Muunnos Sovellus Sovellus Sovitin Sovitin Hallinta ja monitorointi Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 22

Älykäs Edustaja (Smart Proxy) Sovellus1 Pyyntö Vastaus1 Älykäs Edustaja Pyyntö Palvelun tarjoaja Sovellus2 Vastaus2 Vastaus Sovellukset lähettävät palvelupyyntöjä Smart Proxy toimii palvelun pyytäjien ja tarjoajan välissä SP pitää kirjaa pyytäjistä ja ohjaa vastauksen oikealle sovellukselle SP voi kerätä metatietoa viesteistä (esim. aika) ja lähettää sen valvontayksikölle Kontrolli Metatieto Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 23