Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuMika Laakso Muutettu yli 9 vuotta sitten
1
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari 31.8.2004 Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat Heli Mäki, HIS-tutkimusyksikkö / Kuopion yliopisto
2
Toteutuksesta Sovelluskehitin:MS Visual Studio.NET 2003 Sovellustyyppi:ASP.NET Web Application Ohjelmointikieli:C# Tietokanta:MS Access ODBC-tietokantarajapinta Rajapinta luokka Operaatio metodi
3
Luokat CoreServiceDemo.aspx Global.asax AuthenticateUser AuthorizationAccess UserIdentifyProfile UserProfileAccess PatientIdentifyProfile PatientProfileAccess Checker DatabaseConnector apuluokat rajapinnat toteuttavat luokat sovelluskehittimen automaattisesti generoimat luokat
4
CoreServiceDemo.aspx-luokka Sovelluskehittimen automaattisesti generoima Nimen alkuosa sama kuin projektille annettu nimi Toteuttaa sovelluksen käyttöliittymän (Web Forms page) Ydinpalvelu ei tarvitse graafista käyttöliittymää, joten luokkaan ei tarvitse lisätä mitään toiminnallisuutta.
5
Global.asax-luokka Sovelluskehittimen automaattisesti generoima Reagoi sovellustason tapahtumiin Sisältää valmiiksi metodit: –Application_Start –Session_Start –Application_BeginRequest (CoreServiseDemo:ssa toteutusta vain tähän) –Application_EndRequest –Application_AuthenticateRequest –Application_Error –Session_End –Application_End Lisäksi erilliseen metodiin on toteutettu if-else-rakenne, jossa luodaan ilmentymä kutsutun rajapinnan toteuttavasta luokasta sekä kutsutaan operaation toteuttavaa metodia
6
Tietokanta CoreDemoKanta-tietokannan tietokantataulut:
7
Esimerkki: CoreServiceDemo PatientProfileAccess GetProfile (1/5) palvelupyyntö: PatientProfileAccess GetProfile 81935272
8
Esimerkki: CoreServiceDemo PatientProfileAccess GetProfile (2/5) Global.asax –Application_BeginRequest lukee palvelupyynnön (XmlDocument-tyyppiseksi) XML-dokumentiksi kutsumalla metodia streamToXmlDocument luo tietokantayhteyden (OdbcConnection) tarkistaa (Checker-luokka) XML-dokumentista, että se sisältää –request-elementin, jolla on lapsielementtejä –interface-elementin, joka sisältää tekstiä –method-elementin, joka sisältää tekstiä lukee interface- ja method-arvot kutsuu getResponseXmlDoc-metodia –getResponseXmlDoc kutsuu interface- ja method-arvojen perusteella PatientProfileAccess- luokan getProfile-metodia
9
Esimerkki: CoreServiceDemo PatientProfileAccess GetProfile (3/5) PatientProfileAccess –getProfile tarkistaa (Checker-luokka) ja lukee XML-dokumentista coupon- elementin sisällön tarkistaa, että kuponki on varmennettu tarkistaa (Checker-luokka) XML-dokumentista accessProfile-elementit muodostaa vastauksen alkuosan käy läpi XML-dokumentista jokaisen accessProfile-elementin: –lukee profiilin tunnisteen (id-attribuutin arvon) –lukee haettavat ominaisuudet (trait-elementtien id-attribuuttien arvot) –hakee tietokannasta potilaan tiedot profiilin tunnisteella –lisää vastaukseen profile-elementin, jonka id-attribuutin arvoksi luettu profiilin tunniste –lisää profile-elementtiin jokaista luettua ominaisuutta kohti trait-elementin, jonka id-attribuutin arvoksi ominaisuus ja sisällöksi tietokannasta haettu arvo lisää vastaukseen loppuosan muuntaa vastauksen XML-dokumentiksi ja palauttaa sen
10
Esimerkki: CoreServiceDemo PatientProfileAccess GetProfile (4/5) Global.asax –getResponseXmlDoc palauttaa getProfile-metodilta saadun vastauksen (XML-dokumentti) –Application_BeginRequest muuntaa getResponseXmlDoc-metodilta saadun vastauksen merkkijonoksi ja lähettää sen vastauksena palvelupyyntöön
11
Esimerkki: CoreServiceDemo PatientProfileAccess GetProfile (5/5) vastaus: Meikäläinen Matti Kuopio Oulu
12
Mistä löytyy? http://www.plugit.fihttp://www.plugit.fi Rajapinnat Toteutukset Referenssitoteutukset Käyttäjä-, käyttöoikeus- ja potilas-ydinpalvelut: NETCommonService –sovellus + dokumentaatio + lähdekoodi (zip)
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.