IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon Enn Õunapuu enn.ounapuu@ttu.ee
Millest räägime Vaatleme lähemalt rakenduste integratsiooni vajadust ja võimalusi Integratsiooni näited Integratsiooni mustrid
Hajussüsteemi mõiste Hajutatud süsteem on arvutisüsteem, kus erinevad komponendid teevad koostööd kasutades omavahelist kommunikatsiooni üle arvutivõrgu. A distributed system is a computing system in which a number of components cooperate by communicating over a network.
Tüüpiline hajussüsteemi situatsioon Ettevõttes on ajalooliselt kujunenud iseseisvad süsteemid: Kliendi halduseks ja tellimuste vastuvõtuks Laoarvestuse süsteem valmistoodangu ja materjalide ladustamiseks Tootmissüsteem, mis toetab tootmisplaneerimist ja tootmisprotsessi Finantssüsteem bilansi ja kasumiaruande tegemiseks ning finantsanalüüsiks Süsteemid ei ole väga tihti integreeritud. Side süsteemide vahel käib läbi telefoni, paberdokumentide ja e-mailide abil.
Ettevõtte sisene integratsioon ja ettevõtete vaheline rakenduste integratsioon Eelnev näide oli ettevõtte sisesest integratsiooni vajadusest. Peale selle tekib vajadus integreerida erinevate ettevõtete rakendusi: ettevõte võib kasutada oma äris erinevaid partnerettevõtete teenuseid, nagu näiteks logistika, raamatupidamine, Google map jne. Ettevõtete vaheline integratsioon on keerulisem, kuna on palju raskem kokku leppida andmevahetusstandardites.
Kuidas siis me saame neid rakendusi integreerida? Käsitsi. Üllatav on, et näiteks Euroopas ainult 5% arvetest käsitletakse automaatse integratsiooni vahenditega. Ülejäänud 95% juhtudel kasutatakse käsitsi tööd. File transfer. RPC Teadete süsteemid Veebi teenused
Näide veebiteenuste abil integreerimisest. Kasutusjuhtude diagramm
Näite realiseerimine veebiteenustega
Elektroonsed dokumendid
Hajutatud süsteemide loomine toob kaasa rida väljakutseid Arvutivõrgud (internet) toob kaasa lisaohu. Andmeid tuleb transportida ühest arvutist teise läbi võrgu ja see toob kaasa lisaprobleeme. Arvutivõrgud on aeglasemad kui infovahetus ühe arvuti sees. Ühe arvuti piires me alati ei peagi infot vahetama, vaid võime edastada teisele rakendusele viite andmetele. Kõik rakendused võivad olla erinevad, nende loomisel võidi kasutada erinevaid programmeerimiskeeli, operatsioonisüsteeme ja andmeformaate. Integreeritud rakendus peab suutma käsitleda kõiki neid tehnoloogiaid. Muudatused rakenduse on paratamatud. See toob kaasa ka seoses oleva rakenduse muudatusteks. Süsteemide turvalisus. Kuidas anda turvaliselt oma rakendusele juurdepääs.
Main approaches for integration File Transfer One application writes a file that another later reads. The applications need to agree on the filename and location, the format of the file, the timing of when it will be written and read, and who will delete the file. Shared Database Multiple applications share the same database schema, located in a single physical database. Because there is no duplicate data storage, no data has to be transferred from one application to the other. Remote Procedure Invocation One application exposes some of its functionality so that it can be accessed remotely by other applications as a remote procedure. The communication occurs real-time and synchronously. Messaging One applications publishes a message to a common message channel. Other applications can read the message from the channel at a later time. The applications must agree on a channel as well as the format of the message. The communication is asynchronous.
File transfer
Sünkroonne ja asünkroonne sidestus Põhiline vahe sünkroonse ja asünkroonse kommunikatsiooni vahel Sünkroonne on request response tüüpi Asünkroonne teadetele orienteeritud kesvara kasutav - Java Messaging Service (JMS) Microsoft MQ, IBM MQ,BEA MQ
Teadete edastamine
Sünkroonne ja asünkroonne
Ettevõtte teenuste siin (enterprise sevice bus)
Viited Väga hea materjal integratsiooni mallidest http://www.eaipatterns.com/
Transaktsioonid ja veahaldus ACID (atomicity, consistency, isolation, durability) Atomicity requires that database modifications must follow an "all or nothing" rule The consistency property ensures that any transaction the database performs will take it from one consistent state to another. Consistency states that only valid data will be written to the database. Isolation refers to the requirement that other operations cannot access data that has been modified during a transaction that has not yet completed. Durability is the ability of the DBMS to recover the committed transaction updates against any kind of system failure (hardware or software).
Teenustele orienteeritud arhitektuur Teenustele orienteeritud arhitektuur on omavahel seotud teenuste kogum. Need teenused vahetavad omavahel teateid. Teated omakorda jagunevad päringteadeteks (request) ja vastusteadeteks (response). Teenuste koordineerimiseks on kasutusel spetsiaalsed vahendid (näiteks Biztalk server). Teenus on täpselt määratletud funktsioon, mis on kirjeldatud spetsiaalse lepinguga. (WSDL web service description language).
Biztalk architecture
Example
Pilve lahendused
Pilve lahenduste liigid Eristatakse kolme liiki pilve teenuseid. Need on: Taristu kui teenus (IaaS), Tarkvara platvorm kui teenus (PaaS), Tarkvara kui teenus (Saas).
Näide Soovite luua oma äri. Vaja oleks veebilehte, raamatupidamist, müüa amazonis ja ebays ja integreerida kõik kokku ühtseks süsteemiks. Mida võiks kasutada: 1) Magento kui e-kaupluse loomise süsteemi. 2) Openerp kui vabavaraline raamatupidamissüsteem 3) Openerp connector by Openlab 4) Amazon s3 tarkvara majutamiseks.
Suured tänud!!! Jõudu tööle!!!