260 likes | 350 Views
Yhdistettyjen sovellusten ja palveluiden toteutustavat. Jani Järvinen, Moonsoft Oy, C# MVP. #td2013fi. Käsiteltävät aiheet. Kommunikointi Windows Store - ja työpöytäsovellusten välillä Windows 8:ssa Miten työpöytä- ja Windows Runtime -maailma saadaan kommunikoimaan?
E N D
Yhdistettyjen sovellusten ja palveluiden toteutustavat Jani Järvinen, Moonsoft Oy, C# MVP #td2013fi
Käsiteltävät aiheet Kommunikointi Windows Store- ja työpöytäsovellusten välillä Windows 8:ssa Miten työpöytä- ja Windows Runtime -maailma saadaan kommunikoimaan? Tietoliikennemahdollisuudet, onko TCP/IP ainoa vaihtoehto? Sovellusten levittäminen sideloading-toiminnolla #td2013fi
Osa 1. Kommunikointi #td2013fi
Peruslähtökohdat Erityisesti yritysratkaisuissa on tarvetta yhdistää store-sovellukset (”modern ui” -sovellukset) ja perinteiset työpöytäsovellukset (”exe:t”) Yrityslevitettävät store-sovellukset voivat kommunikoida työpöydällä pyörivien sovellusten kanssa muutamalla eri tavalla Kuitenkin kauppapaikan kautta levitettävät sovellukset voivat käyttää lähinnä vain http-pohjaisia yhteyksiä verkkoon #td2013fi
Mahdollisia käyttökohteita Yritysjohdon sovellukset Dashboard tabletissa Hallintatyökalut yrityksen sisäisiin järjestelmiin Tablet-pohjaiset hallintavälineet Valvontavälineet Live Tile -tiili kertoo nopeasti yleiskuvan Kosketuskäyttöliittymät vanhoihin järjestelmiin Jos käyttäjät innostuvat uusista store-käyttöliittymistä #td2013fi
Arkkitehtuureja Yritysjärjestelmä Yritysjärjestelmä HTTP-välipalvelin Store-sovellus (”Modern UI”) sekä mahdollinen työpöytä-komponentti Store-sovellus (”Modern UI”) Kauppapaikka-sovellus Sisäinen yritysjakelu #td2013fi
Erilaisia tarpeita Tietoliikennetarpeet store-sovelluksen (”s”) ja työpöytäsovelluksen (”t”) välillä vaihtelevat ratkaisusta toiseen Esimerkiksi Reaaliaikaisuuden tarve Tiedon siirtosuunta: s→t, s←t vai s↔t Siirrettävän tiedon määrä Tiedon salaus #td2013fi
Kauppapaikka rajoittaa mahdollisuuksia Jos sovellusta aiotaan jakaa julkisen kauppapaikan kautta, sovelluksen täytyy toimia itsenäisesti sellaisenaan ilman muita asennuksia Sovellus, jonka on välttämättä kommunikoitava työpöytäsovelluksen kanssa, ei läpäise sertifiointia Näin ollen sovellus, joka ottaa yhteyttä esim. TCP:llälocalhost-osoitteeseen tai sisäverkkoon, ei kelpaa kauppapaikkaan Sertifiointivaatimusten kohdat 1.2 ja 3.1, ym.http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx #td2013fi
Yritysjakelussa rajoituksia vähemmän Yritysjakelussa sovelluksia levitetään tyypillisesti sisäverkon koneisiin nk. sideloading-toiminnolla Tällöin sovelluksia ei jaella julkisen kauppapaikan kautta, joten teknisiä rajoituksia on vähemmän Esimerkiksi tietoliikenne localhost-osoitteeseen on mahdollista #td2013fi
Palveluiden hyödyntäminen Store-sovellus kannattaa tyypillisesti rakentaa niin, että se kommunikoi Windowsin palvelun kanssa tavallisen työpöytäsovelluksen sijaan Pohdi kuitenkin, onkointernet-pohjainen väli-palvelin sittenkin parasratkaisu Palomuurit, proxyt Windows Phone -tarpeet Perinteiset Windows-palvelut (”services”) #td2013fi
Kommunikointitapoja Vaihtoehtoja on ainakin kaksi Perinteiset tietoliikennemenetelmät, tcp/udp, http Tiedostot Tietoliikenteen toteutustekniikoita IP-socketit (StreamSocket, DatagramSocket) Web-tekniikat (HTTP, websockets) WCF-palvelut #td2013fi
Demo Store- ja työpöytäsovellus kommunikoivat Tekniikoina C# ja XAML #td2013fi
Havaintoja TCP/IP:llä kommunikointi on suoraviivaista sinänsä, mutta ainakin .NET-kehittäjän näkökulmasta Store-sovellusten uudet luokat vaativat totuttelua Web-tekniikat ovat koeteltuja ja sopivat moneen tarkoitukseen, mutta saman koneen sisällä (tai sisäverkossa) vaativat esim. IIS:n käyttöönottoa #td2013fi
Osa 2. Levittäminen #td2013fi
Store-sovellusten levittäminen Peruslähtökohta on, että Store-sovelluksia asennetaan vain julkisen kauppapaikan kautta Yritykset voivat kuitenkin jakaa omia sovelluksiaan (LOB, Line Of Business) ns. sideloading-toiminnolla Sideloading-toiminnolle on tiettyjä edellytyksiä, joiden on täytyttävä ennen kuin jakelua voidaan tehdä #td2013fi
Sideloading-edellytykset Tärkein vaatimus: Windows 8 Enterprise -kone yhteydessä toimialueeseen (”joined to a domain”) Toisin sanoen, Windows RT -laitteisiin ei voida suoraan levittää omia .appx-tiedostoja (muuten kuin kehittäjälisenssillä) Muista myös, että Windows RT –laitteisiin ei voi asentaa omia natiivikoodin sovelluksia (.exe-tiedostot) Muissa tapauksissa tarvitaan erilliset sideloading-lisenssit #td2013fi
Sideloading-lisenssit Jos Store-sovelluksia halutaan levittää koneisiin, joiden perusvaatimukset eivät täyty, voidaan käyttää ns. sideloading-lisenssiä Lisenssiä myydään 100 kpl:n erissä, pienempiä eriä esim. testaamista varten ei ole Tuotekoodit J7S-00005: WinSdLdH8 SNGL OLP 100Lic NL QlfdEntSideload J7S-00002: WinSdLdH8 SNGL OLP 100Lic NL AcdmcQlfdEntSideload Hinta: n. 3000 € alv 0 % per 100 lisenssiä #td2013fi
Levittämisen vaiheet tiivistettynä Tapaus 1: Windows 8 Enterprise -kone Kopioi .appx-tiedosto ja asenna mahdollinen sertifikaatti kohdekoneeseen Tarkista, että kohdekoneeseen vaikuttaa ”Allow all trusted apps to install” -ryhmäkäytäntö (group policy setting) tai tee vastaavarekisterimerkintä Aja Visual Studion luoma .ps1-skriptitiedosto tai käsin PowerShell-komento ”add-appxpackage<sovellus.appx>” Tapaus 2: jokin muu Windows 8 -kone Hanki sideloading-lisenssi ja aktivoi kohdekone uudelleen saadulla lisenssiavaimella (productkey) – ”slmgr.vbs /ipk” ja ”slmgr.vbs /ato” Aja PowerShell-skripti tai -komento kuten yllä #td2013fi
AppX-paketin luonti Visual Studiossa valikko-komento Project/Store/CreateAppPackages YritysjakelussaMicrosoftin Windows-kehittäjätiliä (developeraccount) ei tarvita #td2013fi
Demo Sideloading-toiminto käytännössä #td2013fi
Kolmansien osapuolten työkaluja InstallShield 2012 SpringPremier “ Windows 8 and Window Server 2012 support a new package format, AppX, to install Windows Store applications, formerly known as Metro apps. Delivering Windows 8 apps through the Windows Store to large enterprise environments poses some challenges and restrictions that Software Producers can overcome by offering a sideloading installation for their enterprise applications. InstallShield 2012 Spring Premier now lets you sideload enterprise Windows 8 .appx packages through Suite projects, enabling Windows Store apps and desktop applications to be bundled and installed through a single installer outside the Windows Store. “ #td2013fi
Yhteenveto #td2013fi
Yhteenveto Yritysratkaisuissa store-sovellusten ja työpöytämaailman yhdistämisestä voi olla paljon iloa Toteutustekniikoita on muutamia, kenties tcp-pohjaiset tekniikat ovat parhaita niiden yksinkertaisuuden vuoksi Kommunikointia ei tarvitse rajata vain saman koneen sisälle, vaan se voi tapahtua koko sisäverkossa Sideloading-rajoitukset kiusaavat, mutta helpottunevat/kehittyvät ajan saatossa #td2013fi
Kysymyksiä ja vastauksia Aikaa kysymyksille #td2013fi
Linkkejä Kehittäminen Store-vaatimukset: http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx Esimerkkisovellus: http://code.msdn.microsoft.com/windowsapps/Connect-Windows-8-Store-f9652c36/ Sideloading Ohjeita: http://technet.microsoft.com/en-US/windows/jj874388.aspx RT-laitteet: http://technet.microsoft.com/library/hh852635.aspx #td2013fi
Kiitos! Palautetta voit antaa techdays.fi-sivuston kautta. #td2013fi