Väliohjelmistojen tyypit. Teemat. Väliohjelmistot /03/2004. Enterprise application anatomy. Enterprise application anatomy

Samankaltaiset tiedostot
Väliohjelmistojen tyypit. Teemat. Väliohjelmistot /03/2004. Lea Kutvonen 1. Enterprise application anatomy. Enterprise application anatomy

Sovellusarkkitehtuurit

SOA SIG SOA Tuotetoimittajan näkökulma

HOJ J2EE & EJB & SOAP &...

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

HELIA 1 (14) Outi Virkki Tiedonhallinta

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

TURVALLISEN TEKNIIKAN SEMINAARI Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

HITSAUKSEN TUOTTAVUUSRATKAISUT

Citrix NetScaler. Timo Lindfors Ironnet oy

in condition monitoring

Tavoitteena yhdistää eri tavoin toteutetut ja eri tavoin toimivat järjestelmät; integration & interoperability.

7. Product-line architectures

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI ( )

Group 2 - Dentego PTH Korvake. Peer Testing Report

Sisältö. Tapahtumienhallinta. Tapahtumat (transaktiot) Kaupallinen tapahtuma (transaktio)

HSMT J2EE & EJB & SOAP &...

Ylläpitäjät, järjestelmäarkkitehdit ja muut, jotka huolehtivat VMwareinfrastruktuurin

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Web Service torilla tavataan!

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

OSI ja Protokollapino

Maailman ensimmäinen Plug & Go etäyhteyslaite

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

7.4 Variability management

IP-verkkojen luotettavuus huoltovarmuuden näkökulmasta. IPLU-II-projektin päätösseminaari Kari Wirman

Integrointi. Ohjelmistotekniikka kevät 2003

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj IBM Corporation

Visualisoi tapahtumat ja selvitä niiden kulku

POWER analytiikka-alustana

Tech Conference Office 365 tietoturvan heikoin #TechConfFI

Älykkäämmät integraatiot palveluväylän avulla

Perinteisesti käytettävät tiedon (datan) tyypit

Tapahtumanhallinnan pulmakohtia ja ratkaisuja

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Azuren yleiskatsaus. eli mistä on kyse ja miten vertautuu esim. AWS:ään. AWS User Group Helsinki, Petri Raitio, Sulava Oy

Java Platform, Enterprise Edition (Java EE)

Ohjelmistoarkkitehtuurit. Kevät

ALUEARKKITEHTUURI WEB PALVELUITA KÄYTTÄEN. Niilo Saranummi VTT Tietotekniikka

TCAP - Transaction Capabilities Sovellusosaa käyttävät

IT and ICT infrastructure of Smart Grids

Tietokantaohjelmoinnin tekniikkoja Java-kielellä

Tapahtumanhallinnan pulmakohtia ja ratkaisuja

OUGF syysseminaari Back to Basics

Sulautettu tietotekniikka Kimmo Ahola

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

TIETOKANTOJEN PERUSTEET MARKKU SUNI

dupol.eu - smart home product comparison

KODAK EIM & RIM VIParchive Ratkaisut

MIHIN SUUNTAAN ARVIOINTI KEHITTYY MAAILMALLA? Didaktiikan teemapäivä, , Turun yliopisto Petri Uusikylä, Suomen arviointiyhdistys

Visualisoinnin aamu 16.4 Tiedon visualisointi. Ari Suominen Tuote- ja ratkaisupäällikkö Microsoft

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

SAP. Lasse Metso

Tiedon salaaminen tallennusverkossa Luottokorttinumeroiden tokenisointi

REST an idealistic model or a realistic solution?

JMS RIO PR1. TKTL s2008. Tekijät: Aki Valkama Lauri Savolainen Niklas Jahnsson

Nopeutta ja Sulavuutta Analytiikkaan

IHE XDS.b - Kuinka Se Toimii Käytännössä?

Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin

Hajauta yhdistäen ja yhdistä hajauttaen: Web Services

Johdanto - agenda JOHDANTO. Middleware definition 2. Middleware definition 1. Väliohjelmisto /09/2007. Lea Kutvonen

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2.

Tietojärjestelmäarkkitehtuurit

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Tapahtumanhallinnan pulmakohtia ja ratkaisuja

Kurssin sisältö. Kurssin sisältö. Luentoaikataulu karkeasti. Esseiden aikataulu. Aihe-ehdotuksia esseille. Aihe-ehdotuksia esseille

Valtionhallinnon käyttäjäpäivä - IBM Cognosin tulevaisuuskatsaus ja nykypäivä

Millainen on viihtyisä kaupunki ja miten sitä mitataan?

C++11 seminaari, kevät Johannes Koskinen

Efficiency change over time

Mitä uutta ConfigMgr 2012 SP2 ja 2016? Panu Saukko ProTrainIT Oy

Maiju Mykkänen Susanna Sällinen

.NET 2006 ja sen jälkeen

Tietohakemisto ja Transaktionkäsittely

ESPOO VANTAA INSTITUTE OF TECHNOLOGY. ser 0/0. Right WS-3 WS-4. Ennen QoS-määrittelyjä tehdään normaalit reititinmäärittelyt ja testataan IP-yhteys:

Toimilohkojen turvallisuus tulevaisuudessa

Security server v6 installation requirements

Data Quality Master Data Management

LIIKETOIMINNAN JATKUVUUDEN VARMISTAVAT PALVELURATKAISUT Simo Leisti Myyntijohtaja, IBM teknologiapalvelut

TCAP - Transaction Capabilities Sovellusosaa käyttävät

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Helsinki Metropolitan Area Council

Konesali ilman rajoja Kongressi A

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Teemat. Järjestelmätarpeet. Distributed object model. Väliohjelmistot /04/2004. Objekti- ja komponenttiväliohjelmistot. Objektijärjestelmät

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai Technopolis Vapaudenaukio / Lappeenranta

IBM Iptorin pilven reunalla

HELSINKI AREA TESTBED. Martti Mäntylä, HIIT

Mobiilialueen tutkimus EU:n 6. puiteohjelmassa: Wireless World Initiative (WWI)

TOSIBOX RATKAISU. »TOSIBOX:n avulla yhteys muodostuu automaattisesti internettiä hyödyntäen eri toimilaitteiden välille

REST rajapintana mobiilikehityksessä

Mammutti vai elefantti?

Distribution issues, global state, clusters, CORBA, etc. Distributed objects

HELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu

Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt

Sähkönjakeluverkon hallinnan arkkitehtuuri. Sami Repo

papinet -sanomastandardit

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

Transkriptio:

Väliohjelmistojen tyypit Tyypit Tapahtumaorientoitu Viestiperustainen Proseduuripohjainen Objekti- ja komponenttipohjainen Arkkitehtuurimallit Palvelut Tapahtumaorientoidut väliohjelmistot Järjestelmämallin tarpeet Palvelut ja rajapinnat networking and interoperability control system administration infrastructure Sovellustilanteen arkkitehtuurimallikkeita web scripted web page Enterprise anatomy client access business logic data access user interface middlewear O T S directory ticket payment middlewear system mgmt security GORTON2000 Enterprise anatomy requirements high availability (99,9-99.999 %) 24 * 7 * 365, downtime 8 h 5 min /year data integrity and consistency scalability security s customer billing airport management system loan processing system Enterprise anatomy services middlewear message transport, plumbing OTS = object transaction service security serivce for access control and data encryption directory service for locating services and s in the enterprise system management service: auditing, logging, configuration, alert handling Lea Kutvonen 1

Traditional mainframe processing Anatomia network message manager request controller database system collects transaction input constructs standard msg sends transaction output starts and commits transaction determines type of request routes request to proper appl. executes requested Manages shared data BERNSTEIN198x? tietokantaan kohdistuvia kyselyjä ja pyyntöjä stabiili, ennustettava, korkea kuorma muutamia sovellustyyppejä reaaliaikaisuus, dataintensiivisyys transaktioiden perusominaisuudet ACID Services syncronous, asyncronous, store-and-forward, conversational communication homogeneous cross-platform naming scalability/high performance high availability (recovery, rerouting) workload management by priority management access control Palvelut: Tapahtumamonitori Kaksivaiheinen sitoutumisprotokolla Two-phase commit Transaction processing monitor Tukee ACID-ominaisuuksia atomicity kokonaan tai ei lainkaan consistency tieto vain hyvinmääritellyissä tiloissa isolation välitilanteet eivät näkyvissä, lukitus durability tapahtumien vaikutusten pysyvyys Hoidetaan toipuvilla prosesseilla (recoverable processes) 2PC kaksivaiheinen sitoutumisprotokolla Palveluaspektit sovelluskehitys suoritusympäristö hallintarajapinnat yhteydet erilaisiin tietokantoihin prepare to commit Application program commit Transaction manager commit acknowledge response abort Resource manager (RM) Rajapinta? RM TM begin commit rollback open close info start end set-commit-return set-transactiontimeout prepare commit rollback recover API interface Current{ void begin() raises(subtrunavail); void commit (in boolean report_heuristics) raises (notrans, heuristicmixed, heuristichasard); void rollback() raises (notrans); Status get_status(); string get_transaction_name(); void set_timeout (in long secs); Control get_control(); control suspend(); void resume (in Control wihch) raises (invalidcontrol); }; Pitkät transaktiot tilanteissa joissa käytetään verkon takana olevia hitaasti saatavia resursseja suoritetaan loppukäsittelyä (tulostus tms) ei halua/tarvetta odottaa transaktion todellista päättymistä ero esim pitkiin CAD-istuntoihin, joissa peruutusriski ACID-ominaisuudet osittain vaarassa kun prosessointia jätetään suoritettavaksi transaktion ulkopuolella menettely transaktio kirjoittaa varmistettuun jonoon tulokset kuten tietokantaan ikään transaktio päättyy (commit), tulokset jonossa erillinen sovellus käy purkamassa jonon (toivon mukaan transaktionaalisesti jonoa käsitellen) jononkäsittelyominaisuuksia prioriteettijärjestetyt jonot, klusteroidut jonot kuormantasausta varten non-fifo käsittely, jonon selailu Lea Kutvonen 2

Lukitseminen lukulukot ja kirjoituslukot lukkojen konfliktitaulukot lukkojen gradunariteetti -> skaalautuvuus, tiedon eheys 2PC-protokolla käsittelee myös lukot Toipuvat prosessit TM ja RM ovat toipuvia: kykenevät palauttamaan oman tilansa häiriön jälkeen TM kerää lokia transaction log RM kirjaa transaktion tilan ja datamuutokset, joita transaktio sai aikaan toipumisprosessissa toistetaan lokien tapahtumat, replay optimointimahdollisuuksia Suosituksia ja toteutuksia Optimointia: kuormantasaus Tuotteita nopeasti vanhenevaa asiaa OTMs BEA WebLogic Enterprise IBM Transarc Encina++ Iona OrbixOTM Inprise Visibroker ITS MTMs samoilta ja miksei muiltakin MOM & MQ RPC-varianttejakin Suosituksia ja kehikoita nämäkin vielä liikkuvia maaleja CORBA transaction service J2EE transactions.net transactions TIP (Transactions over Internet protocols)? clients load balancer -round robin -by client id -by type fault tolerance, scalability Optimointia: tilallinen vai tilaton? mid-tier services stateless easy to recover, program, scalable stateful state not in client clients eacy to recover, program etc no persistency services available in mid-tier -> clumsy cache only read-only information Optimointia: tulosten reititys monissa yrityssovelluksissa on lähetettävä tietoa suurelle joukolle vastaanottajia dynaamiset tapahtumien valvonnan ja odotuksen tarpeet tapahtumailmoituksen lähettäjän ja vastaanottajien ei tarvitse tuntea toisiaan julkaise-tilaa-arkkitehtuuri (publishsubscribe) vrt. message-queue-malli Lea Kutvonen 3

CORBA Events & Notifications Publish-subscribe Event namespace (names and attributes) Typed events (header+body; fixed + other) Consumer event filtering, event batching, event priority, event expiration, logging, internationalization, flow control mechanism QoS properties event channel consumer1 supplier1...... consumern typed events suppliern filter n constraints viestilaatikko yhteinen, kaikki voivat lähettää, tilaajilla suotimet vastaanotettaville viesteille taataan että kaikki tilaajat saavat kaikki asiaankuuluvat viestit mallit Otsakepohjainen Aiheperustainen Ongelmat Skaalautuvuus: viestien vertailu tilausehtoihin Viestien järjestys Ongelmat ja laajennustrendit ongelmat: heterogeeniset tietomallit usein liian raskas sitoutumisprotokolla (pitkäkestoiset tai omnipotentit tapahtumat) puutteellinen siirtosyntaksin tuki trendit nested transactions mukaantulo objektiväliohjelmistoihin asiakas sovellus client DB DB coordinator DB Järjestelmämallin tarpeet Palvelut ja rajapinnat networking and interoperability control system administration infrastructure Sovellustilanteen arkkitehtuurimallikkeita Arkkitehtuurimalli asyncronous messages reliable, fault-tolerant no loss, duplication, permutation, cluttering persistent subscriptions models supported message queue request-response multicast publish-subscribe appl. A msg queue msg queue Q2 appl. B Q1 msg transfer system msg transfer system appl. C SSL tms Lea Kutvonen 4

MOM = message oriented middleware asyncronous messaging natural, syncronous communication cumbersome message queues support reliability of message transport violates access transparency, no support for data heterogenity unless in programming language mapping, no support for transactions suitable for event notifications, publish/subscribebased architectures persistent message queues support fault tolearance Perustila: client--malli, putki vrt pistoketason ohjelmointi Topics for variation and development persistent/transient msgs FIFO/priority queues translations of msgs abstractions on msg ordering multithreading, automatic load balancing msg routing (source, cost, changes in topology etc) secure transfer of msgs (at least between msg s) Services (MQSeries) 4 types of messages Datagram: one way message, no reply RequestMessage: query initiating message ReplyMessage: response to RequestMessage ReportMessage exeption report API: 11 calls Connect/disconnect queue manager, open/close queue, inquire/set (queue) attributes, get/put message from/to queue, put1 (open, put, close), commit/rollback Viestiperustaiset väliohjelmistot Konsortioita MOMA message oriented middleware association www.moma-inc.org??? BQM business quality messaging??? Välinekuvauksia IBM WebSphere MQ (MQSeries), Sun JMS, Microsoft MSMQ, BEA MessageQ, TIB http://dsonline.computer.org/middleware/projects _MOM.html http://www.ibm.com/websphere/developer/techjo urnal Rajaavampi määritelmä The term "messaging" most often refers to electronic mail systems. MOM message movers, however, differ radically from mail systems, because they are high-speed, generally connectionless and are usually deployed for concurrently executing s with a non-blocking sender. Message-queuing middleware (MQM) is a type of MOM that combines a high-speed message mover and a queuing (message storage) service. Korhosen seminaarityö Tuumaustauko Onko MOM kuollut? Onko malli ehkä näkyvissä uudella tavalla? http ja web? virukset? sulautetut järjestelmät? auton jarrut ja lukitus? miten ydinvoimalan säätö on järjestetty? Mitä tiedämme liikuteltavasta tiedosta? MOM vs tapahtumaorient. Lea Kutvonen 5

Proseduraaliset väliohjelmistot Järjestelmämallin tarpeet Palvelut ja rajapinnat networking and interoperability control system administration infrastructure Sovellustilanteen arkkitehtuurimallikkeita RPC middleware Goal of RPC is access-transparent call semantics First class - integrated with language, e.g. Java RMI Second class - language-independent IDL, e.g. CORBA client proxy proxy Lea Kutvonen 6