TAMPEREEN TEKNILLINEN KORKEAKOULU Automaatiotekniikan koulutusohjelma
|
|
- Aku Haavisto
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 TAMPEREEN TEKNILLINEN KORKEAKOULU Automaatiotekniikan koulutusohjelma HENRI HAAVISTO.NET-VIESTINVÄLITYSTEKNIIKAT JÄRJESTELMÄN TOTEUTUKSESSA KUNNONVALVONTA- DIPLOMITYÖ AIHE HYVÄKSYTTY AUTOMAATIOTEKNIIKAN OSASTONEUVOSTON KOKOUKSESSA TARKASTAJA: PROFESSORI HANNU KOIVISTO
2 ALKUSANAT Olen tehnyt diplomityöni Tampereen teknillisessä korkeakoulussa. Haluan kiittää professori Hannu Koivistoa työni tarkastamisesta ja saamistani neuvoista sekä ohjeista. Työtovereitani ja projektin väkeä korkeakoululla ja Metso Automation:ssa haluan kiittää saamastani ohjauksesta. Erityisesti haluan kiittää Mikko Salmenperää, Jari Keroa, Jari Seppälää ja Joona Nikusta saamistani neuvoista ja kommenteista. Lisäksi esitän kiitokset perheelleni kaikenlaisesta tuesta ja kannustuksesta. Tampereella Henri Haavisto Ruovedenkatu 9 C TAMPERE 2
3 TIIVISTELMÄ TAMPEREEN TEKNILLINEN KORKEAKOULU Automaatiotekniikan koulutusohjelma Automaatio- ja säätötekniikan laitos Haavisto, Henri:.NET-viestinvälitystekniikat kunnonvalvontajärjestelmän toteutuksessa. Diplomityö, 86 s. Tarkastaja: prof. Hannu Koivisto Rahoittajat: Metso Automation Field Systems Division, Metso Automation Networks Division, Timberjack Plustech Oy, Sonera ja TEKES. Joulukuu 2001 Tämän työn lähtökohtana on ollut tutkia ja pohtia, miten viestinvälitysjärjestelmä olisi mahdollista toteuttaa.net-tekniikan avulla ja miten valittu.net-tekniikka yleensä ottaen soveltuisi tällaiseen käyttöön. Työ on tehty osana isompaa Etäteknologioiden automaatiosovellukset tutkimushanketta, jossa on tutkittu erilaisia saatavilla olevia tekniikoita ja vertailtu niiden etuja ja heikkouksia. Tässä diplomityössä on tarkastelun kohteeksi otettu Microsoftin.NET-konsepti, joka sisältää avoimia kommunikointitekniikoita hyödyntävän uuden kehitys- ja suoritusympäristön, uusia palvelimia ja sovelluksia. Uusi kehitysympäristö työkaluineen tarkoittaa uutta ohjelmointikieltä vanhojen lisäksi, vianmääritystyökaluja, valmiita luokkakirjastoja, useille ohjelmointikielille yhteistä ajoympäristöä (CLR), referenssikirjastoja jne. Työssä esitellään aluksi pääpiirteissään.net:n toimintaa, erityispiirteitä ja etenkin CLR:n ja C#-kielen ominaisuuksia. Myös tutkimusaiheeseen liittyviä palvelinsovelluksia esitellään (BizTalk Server, SQL Server). Viestinvälitys on tärkeä osa kunnonvalvontajärjestelmää, joten myös käytettävien viestien rakenteita ja taustalla olevia tekniikoita (XML, skeemat, CSS, DTD, XSL) selvitetään omassa luvussaan. Varsinaisten.NET-viestinvälitystekniikoiden esittelyyn on varattu oma kappale, jossa on kerrotaan muun muassa sellaisista käsitteistä, kuin BizTalk, SOAP, ASP.NET, ADO.NET ja Web Services. Tietoturvaa käsittelevässä luvussa kerrotaan verkkotekniikoiden käytössä piilevistä uhista sekä esitellään yleisimpiä tekniikoita verkkoliikenteen turvaamiseksi, ja pohditaan.net:n tietoturvatekniikoita. Kunnonvalvontajärjestelmän yleisarkkitehtuurin suunnitteluluvussa kerrotaan, millaisista osista järjestelmän tulisi koostua, miten viestinvälitykset, datan talletukset, oikeuksien hallinnointi ym. seikat periaatteellisella tasolla toimisivat. Testitoteutusluvussa on edellä kerrottuja teoriaosuuksia kokeiltu käytännössä, eli miten viestinvälitysjärjestelmän tärkeimmät osiot on mahdollista toteuttaa NET:n mahdollistamin keinoin. Tutkimuksessa on perehdytty muun muassa järjestelmän toteutuksen helppouteen, ylläpidettävyyteen ja modulaarisuuteen. 3
4 ABSTRACT TAMPERE UNIVERSITY OF TECHNOLOGY Automation degree Program Automation and Control Institute Haavisto, Henri:.NET messaging techniques in condition monitoring network. Master of Science thesis, 86p. Examiner: prof. Hannu Koivisto Financiers: Metso Automation Field Systems Division, Metso Automation Networks Division, Timberjack Plustech Oy, Sonera and TEKES. December 2001 The main target in this Master of Science thesis has been to research and study what kind of possibilities there are to carry out the.net messaging techniques in condition monitoring network. This thesis is a part of the project, which is dedicated to studying and developing remote techniques in automation. Microsoft s new infrastructure for using and developing software applications is called.net. This.NET platform includes all the necessities needed in software developing and debugging process and main use. Platform includes e.g..net Framework, Common Language Runtime (CLR), Visual Studio.NET and group of servers for various purposes. First of all, there is a chapter 2 describing.net, it s features and components, especially CLR and new programming language C#. Messaging techniques is an important part of the condition monitoring network and the structure of the messages is also essential. Because of that, chapter 3 includes the specification of structured document model XML and related techniques. Chapter 4 consists of various kind of messaging techniques included in.net platform, like ASP.NET, Web Services, ADO.NET, SOAP, BizTalk and Message Queue. Chapter 5 is dedicated to network security considerations. Chapter includes general security techniques and furthermore.net security possibilities are dealt with. The architecture of condition monitoring network is described and handled in details in chapter 6. After that, in chapter 7 there is explained how the testing network could be established. The summary is that there is quite good messaging techniques in.net although the platform is still a Beta 2 version. Building a large scale conditioning monitoring network is not an easy project, but with.net there are good tools and framework to build with. In addition, open Internet standards like HTTP, XML and SOAP will help applications to communicate with each other platform independently. 4
5 KÄYTETYT LYHENTEET ACL Access Control List AD Active Directory ATL Active Template Library CA Certificate Authority CLR Common Language Runtime CSS Cascading Style Sheet DES Data Encryption Standard DOM Document Object Model DTD Document Type Definition HTML HyperText Mark-up Language HTTP HyperText Transfer Protocol IETF Internet Engineering Task Force ITU-T Telecommunication Standardization Sector of International Telecommunication Union JIT Just In Time (Compiler) LDAP Lightweight Directory Access Protocol MAC Message Authentication Code MD5 Message Digest 5 MFC Microsoft Foundation Classes MSIL Microsoft Intermediate Language NDS Novell Directory Services OPC OLE for Process Control PGP Pretty Good Privacy PKI Public Key Infrastructure PPP Point to Point Protocol RPC Remote Procedure Call RCW Runtime Callable Wrapper RSA Rivest, Shamir and Adelman encryption algorithm SAX Simple API for XML SET Secure Electronic Transaction SGML Standard Generalized Markup Language SHA Secure Hash Algorithm S/MIME Secure Multi-Purpose Internet Mail Extensions SMTP Simple Mail Transfer Protocol SOAP Simple Object Access Protocol SQL Structured Query Language SSL Secure Sockets Layer STL Standard Template Library UDDI Universal Description, Discovery and Integration WSDL Web Service Description Language XML extensible Mark-up Language XSL extensible Stylesheet Language XSLT extensible Stylesheet Language Transformations 5
6 SISÄLLYSLUETTELO TIIVISTELMÄ...3 ABSTRACT...4 KÄYTETYT LYHENTEET JOHDANTO NET NET -ympäristö ( Framework ) Ohjelmointikielten yhteinen ajoympäristö ( CLR ) Luokkakirjastot (unified class libraries) C# -ohjelmointikieli Visual Studio.NET Windows- ja Microsoft.NET Enterprise Servers- palvelimet NET -palvelut ( Foundation Services) Laiteohjelmisto ja käyttöjärjestelmät Windows 2000 ja Aktiivihakemisto Aktiivihakemiston hallinta ja turvallisuus Globaali luettelo Automaattinen päivitys palvelimesta toiseen ( Replication) ADSI (Active Directory Service Interface) NET yhteensopivat sovellukset XML JA LIITÄNNÄISTEKNIIKAT XML ( sisällön kuvauskieli ) DTD ( XML -dokumentin määrite ) XSD eli Skeema ( Uudempi XML -dokumentin määrite ) CSS ( XML -dokumentin muotoilukieli ) XSL ( XML -dokumentin ulkoasun muokkauskieli ) XSLT ( Muunnoskieli ) Jäsentimet DOM ja SAX
7 4. VIESTINVÄLITYSTEKNIIKAT Active Server Pages (ASP.NET) Web-palvelut (Web Services) SOAP ( yksinkertainen viestinvälitysprotokolla ) ADO.NET BizTalk Server Message Queue TIETOTURVA Tietoturvavaatimukset verkkosovelluksissa Tietoturvatekniikoita Salaisen avaimen menetelmä Julkisen avaimen menetelmä Autentikointi ja digitaalinen allekirjoitus Varmenteet...50 Palomuurit...50 VPN VPN tunnelointi NET:n tarjoama tietoturva SSL NET:n salausalgoritmit ja kryptografia Windows 2000:n tietoturva Kerberos-autentikointi Windows IPSec KUNNONVALVONTAJÄRJESTELMÄN ARKKITEHTUURI Yleisnäkemys yritysverkosta Reunaehtoja ja kriteereitä Suorituskyky ja vasteajat Käytettävyys, toipuminen, turvallisuus Ylläpidettävyys Yhteensopivuus Globaalin kunnonvalvontaverkon rakenne Yhden tehdasjärjestelmän rakenne valvontajärjestelmässä Järjestelmän hallinta ja konfigurointi Resurssit, tietokannat ja laitteet Oppivat agentit
8 6.6 Analysointiagentit Hakemisto ja oikeushallintapuu Hakemiston hallinta ja turvallisuus Vikasietoisuus Lightweight Directory Access Protocol (LDAP) KOEJÄRJESTELMÄN TOTEUTUKSESTA Laitteisto, ohjelmisto, tietoliikenneliittymät Oikeuksien hallinta ja LDAP-puu NDS -hakemiston käyttö oikeushallinnassa OPC -palvelimen kanssa kommunikointi COM ja.net Viestin välitys ASP.NET ja käyttöliittymä Sessioiden hallinta Sarjallistaminen ( Serialization ) SOAP-viestintä XML-viestien skeemat ja validointi Viestin esitystavan muokkaus käyttöliittymään Socket-palvelin Web-palvelut Tietokantarajapinnat Liityntä SQL-palvelimen tietokantoihin Tietokannan käyttö ohjelmakomponentissa Koejärjestelmä Jatkokehitysmahdollisuuksia YHTEENVETO LÄHDELUETTELO...75 LIITTEET
9 1. JOHDANTO Ihmisillä on käytössään nykyään yhä enemmän tietoa ympärillään tapahtuvista muutoksista ja tilanteista. Hyödynnettäväksi soveltuu kuitenkin vain osa tästä valtavasta tiedon määrästä. Tietoa pitää lisäksi usein muokata ihmisaisteille ymmärrettävään muotoon. Automaatioteollisuudessa tietomäärien kasvu ja tuotantokustannuksien optimointi on painostanut myös automaatioverkkojen kehitykseen ja rationalisointiin. Lisäämällä ennaltaehkäisevää valvontaa prosesseissa ja tuotannossa, voidaan säästyä monilta tuotannonkeskeytyksiltä, jotka saattaisivat johtua rikkoontuneista toimilaitteista, joiden tilaa ei olisi tarkkailtu käytössä. Tietotekniikan kehitys tuo markkinoille kiihtyvällä syklillä yhä tehokkaampia laitteita ja samalla ohjelmistokehittäjät ja muut organisaatiot tuottavat kilpaa uusia ohjelmia ja protokollia entisten sekaan. Automaation ja tietotekniikan sanasto viliseekin nykyään akronyymejä, joiden kaikkien opettelemiseen menisi ikä ja terveys. Aihepiiri on siis laaja ja sekava, ja usein teollisuudessa pidetäänkin turvallisempana pysytellä vanhassa järjestelmässä ja parannella sitä, kuin siirtyä kokonaan uuteen. Tutkimusprojektin lähtökohtana on ollut tutkia saatavilla olevia tekniikoita ja vertailla niiden etuja, heikkouksia ja soveltuvuutta verkoitettuun laitteiden kunnonvalvontaan. Tutkimushankkeesta on tehty jo kaksi diplomityötä, joista toisessa perehdyttiin lähemmin Hewlett Packard:n e-speak-tekniikan käyttöön kunnonvalvontajärjestelmän toteutuksessa [25] ja toisessa tietoturvatekniikoihin verkkoratkaisuissa [18]. Valittaessa tutkittavaa aihealuetta tälle työlle, oli vaihtoehtoja useita. Sitä, miksi päädyttiin Microsoftin.NET-teknologiaan, voidaan perustella vaikka seuraavasti. Tietotekniikan nopeutuva kehitys asettaa ohjelmistojen kehittäjille yhä eneneviä suorituspaineita konetehojen ja ohjelmakokojen alati kasvaessa. Tällöin tarvitaan myös parempia työkaluja ja kehitysympäristöjä, missä ohjelmasovelluksia voidaan tehdä ja muokata. Tutkimusta aloitettaessa oli Microsoft tuonut julkisuuteen uuden ja kehitysvaiheessa olevan, omien sanojensa mukaan, mullistavan ja käänteentekevän teknologian, jota kuvattiin lyhyesti nimellä.net..net tarkoittaa kokonaisvaltaisempaa muutosta, eli siirtymistä avoimempaan ja entistä integroidumpaan asioiden ja tietojen hallintaan. Yhtenä piirteenä voidaan mainita siirtyminen binääriarkkitehtuurista ei-binääriseen arkkitehtuuriin, jossa XML-kielellä on merkittävä osa. Microsoft onkin ilmoittanut, että.net on Microsoftin strategia tuottaa seuraavan sukupolven tietotekniikkaratkaisuja XMLpohjaisten Web-palveluiden avulla. Avoimen PC-pohjaisen teknologian ja ohjelmistokomponenttien käyttö automaatiosovellusten tekemisessä on monessa suhteessa houkuttelevaa ja tuo mukanaan erilaisia hyötyjä loppukäyttäjän kannalta. Toisaalta, jos halutaan usean 9
10 eri toimittajan ohjelmistokomponenteista koottujen sovellusten toimivan yhteen, on siinäkin omat ongelmansa. Avoimien viestinvälitystekniikoiden käyttö syö resursseja ja suhteellisen pieni hyötykuorma tekee suuresta järjestelmästä hitaan. Se, miten avoimuus ja yhteensopivuus varsinkin muiden alan tekniikoiden kanssa tulee toimimaan, jää nähtäväksi..net-konsepti on yleisnimitys laajalle kokonaisuudelle, jossa voisi sanoa olevan jokaiselle jotakin. Microsoftin uuden.net lanseerauksen alle kuuluvat niin sovellusten kehitystyökalut ja ympäristöt, kuin ajoympäristöt, palvelinperheet ja käyttöjärjestelmät eri ohjelmineen. Yksi osa.net-kokonaisuutta on Visual Studio.NET-kehitysympäristö, jonka pitäisi valmiiksi tultuaan sisältää kaikki ohjelmiston kehityksessä ja ylläpidossa tarvittavat työkalut, sisältäen useita ohjelmointikieliä, vianmääritystyökaluja, luokkakirjastoja, ohjelmointikielille yhteisen ajoympäristön, referenssikirjastoja jne. Kehitystyöhön kuuluu olennaisesti myös joukko.net-palvelimia ja.netkäyttäjäpalveluita, joista kerrotaan tuonnempana. Tämän diplomityön tarkoituksena on opinnäytteelliseltä kannalta tutkia ja selvittää miten viestinvälitysjärjestelmän toteuttaminen.net-tekniikan avulla olisi mahdollista ja kuinka hyvin tekniikka soveltuu sellaiseen. Diplomityö liittyy isompaan tutkimushankkeeseen, jossa tutkitaan erilaisten tekniikoiden soveltuvuutta teollisuuskäyttöön, esimerkiksi suunniteltaessa globaalia kunnonvalvontajärjestelmää. Tutkimuksen kohteena on siis Microsoftin uusi.net-konsepti, mutta tarkempi tutkimustyö keskittyy lähinnä sovelluskehitystyökaluihin, viestinvälitykseen, tiedon tallentamiseen ja esittämiseen, sekä näihin liittyviin oheistekniikoihin. Tutkimustyössä on perehdytty lisäksi ohjelmien toteutuksen helppouteen, ylläpidettävyyteen, modulaarisuuteen sekä tietoturvaan, joka onkin erittäin tärkeä asia nykyajan turvattomassa verkkoyhteiskunnassa. Kokonaiskonseptina.NET ei ole vielä valmis, eikä kerralla valmistukaan. Tämänkin tutkimustyön edetessä on käytetty esimerkiksi sovelluskehittimistä.net:n erinäisiä Beta-versioita. Verkkotekniikoiden näkökulmasta katsottuna tutkimus on rajattu langallisiin verkkoihin, koska langattomien ratkaisujen mukaanottaminen olisi kasvattanut työmäärää melko paljon ja toisaalta suppeammalla tutkimussektorilla voidaan paneutua käsiteltäviin asioihin syvällisemmin. 10
11 2..NET Microsoft.NET ilmentää hyvin sitä tosiasiaa, että kehitys on menossa kohti hajautettua tietojenkäsittelyä. Viime vuosina on asennettu uusia laajakaistayhteyden yhdyskaapeleita niin paljon, että Internetin perusrungon kaistanleveyttä on käytettävissä paljon enemmän kuin aiemmin. Tämä yhdessä kasvavien tiedonkäsittelytehojen ja halventuvien kustannukset kanssa johtaa siihen, että todellinen hajautettu tietojenkäsittely on nyt mahdollista. Koska kaistanleveyttä on saatavilla entistä helpommin ja se on hinnaltaan edullista, tietojenkäsittely voidaan tehdä missä tahansa sopivassa verkon kohdassa. Hajautetuista sovelluksista on jo useita esimerkkejä. Suurta kohua aiheuttanut Napster käyttää tekniikkaa, jossa Internet-asiakaskoneet voivat olla monipuolisessa vuorovaikutuksessa hakemistopalveluun, jolloin kaikki tapahtumaan osallistuvat tietokoneet toimivat palvelimina. MSN Messenger Service -palvelua käyttävä asiakas ottaa yhteyden Internetissä olevaan "tuttavaluetteloon" ja kommunikoi verkon kautta suoraan muiden asiakaskoneiden kanssa vertaisyhteyttä käyttäen. Nämä hajautetut sovellukset käyttävät verkon päätepisteissä eli asiakaskoneissa olevia tiedonkäsittelyresursseja, mutta tarjoavat keskitetysti verkon kautta saatavia palveluita. Laveasti ilmaistuna.net:n tarkoituksena on vauhdittaa tämän uudenlaisen hajautetun tietojenkäsittelytekniikan kehitystä. Uudenlaisen hajautetun tietojenkäsittelytekniikan toteuttamisella on kuitenkin kolme vaatimusta: 1. Kaiken materiaalin on oltava Web-palvelun muodossa, jotta sitä voidaan käyttää verkossa. Tämä koskee sekä sovelluksia että resursseja, kuten levytilaa. 2. Web-palvelujen on oltava helposti yhdisteltävissä ja integroitavissa, jotta sovellusten kehittäminen olisi nopeaa ja tehokasta. 3. Käyttäjien on saatava vaivaton ja myönteinen vaikutelma Webpalvelujen käytöstä, jotta he ovat valmiita ottamaan käyttöön uudet sovellukset ja palvelut. Puhutaan ns. yksilöllisestä käyttäjäkokemuksesta. Yllämainitut Web-palvelut ovat itsenäisiä modulaarisia sovelluksia, jotka kommunikoivat avoimien standardirajapintojen kautta. Web-palvelut ovat löyhästi kytkettyjä ja kommunikoivat toisten Web-palveluiden kanssa verkon kautta standardipohjaisilla tekniikoilla (esimerkiksi HTTP, SMTP). Standardipohjainen kommunikointi mahdollistaa Web-palveluiden käytön riippumatta laitteistosta, käyttöjärjestelmästä tai jopa ohjelmointiympäristöstä. Tämä on tosin vasta teoreettista monilta osin. 11
12 Edellä mainittujen ehtojen täyttämiseksi ja kehityksen vauhdittamiseksi kohti hajautettua tietojenkäsittelyä Microsoft on perustanut.net-tekniikan viidelle perusosiolle. Ensimmäiset neljä kuvatuista elementeistä eli.net Framework- ja Visual Studio.NET-kehitystyökalut, Windows- ja.net Enterprise Servers -palvelimet, NET Foundation Services sekä Microsoftin laiteohjelmisto muodostavat yhdessä.net alustan (platform). Viides elementti, eli kehitteillä olevat.netyhteensopivat sovellukset, on tarkoitettu tällä.net -alustalla käytettäviksi (kuva 2.1). Visual Studio.NET Omat Sovellukset ja Web-palvelut Omat sisäiset palvelut Sovellukset, jotka käyttävät minun palveluita Orchestration.NET Framework Operaatiot.NET Enterprise Servers Building Block Services Toisten tekemät Webpalvelut Loppukäyttäjät Windows CE,ME,2000,XP Internet protokollat SOAP,HTTP,SMTP, XML Kuva 2.1.NET-konsepti Seuraavaksi on esitelty nämä.net:n viisi osa-aluetta painottaen esittelyä sovelluskehittäjän näkökulmasta, eli.net Framework:iin ja Visual Studio.NET:iin sekä palvelininfrastruktuuriin on kiinnitetty erityistä huomiota. 2.1.NET -ympäristö ( Framework ) Kuvan 2.1 keskellä sijaitseva.net Framework on eräänlainen ohjelmistotukipaketti, Middleware Operating System, joka pitää olla koneella asennettuna, kun käytetään muita.net-toimintoja. Win32API -rajapinnan korvaava.net Framework eli.net-ympäristö on käyttöjärjestelmän päällä sijaitseva järjestelmäsovellus, joka tarjoaa.net-sovelluksille rajapinnan alempiin kerroksiin ja käyttöjärjestelmän palveluihin..net-ympäristön ytimen muodostavat standardiluokkakirjastot (Framework base classes) ja Common Language Runtime ajoympäristö (kuva 2.2). Ajoympäristön ja perusluokkien 12
13 yläpuolella on useammassa tasossa muita luokkia, jotka käyttävät alemman tason palveluita, tarjotakseen vastaavasti hierarkiassa ylöspäin kehittyneempiä palveluita. CLR:sta ja luokkakirjastoista on kerrottu tarkemmin seuraavissa kappaleissa. Lisäksi viestinvälityskappaleessa kerrotaan tarkemmin Webpalveluiden ja ASP.NET:n toiminnasta..net Framework Web Services Web Forms Windows Forms Data and XML classes (ADO.NET, SQL, XSLT, Xpath, XML, jne) Framework Base Classes (IO, string, net, security, threading, text, reflection, collections, jne) Common Language Runtime (debug, exception, type checking, JIT compilers) Windows Platform Kuva 2.2.NET-ympäristö..NET-ympäristö tarjoaa kaksi erilaista rajapintaa koodien käsittelyyn. Reflection API-rajapintaa.NET-ympäristö käyttää Managed Code-koodin käsittelyyn, kun taas Unmanaged Code-koodin käsittely hoidetaan alemman tason COMrajapinnoilla. Managed Codella tarkoitetaan koodia, joka vaatii suoritukseensa Common Language Runtimen kun taas Unmanaged Code ei sitä tarvitse..net Framework on tarkoitettu ensisijaisesti Windowsin käyttöjärjestelmiin Microsoftin tapojen mukaisesti. On kuitenkin periaatteessa mahdollista sovittaa.net-ympäristö mihin tahansa käyttöjärjestelmään CLR-arkkitehtuurin ansiosta. Microsoft on lohkonut CLR:sta erillisen toimivan CLI (Common Language Infrastructure) -paketin, jonka sisältämillä komponenteilla muut kehittäjät voivat rakentaa omaa.net-ajoympäristöä. Jo nyt on meneillään erillisiä kehitysprojekteja, joissa kehitetään.net-ympäristöä sopimaan GNU/linux ympäristöön [26], [36] sekä.net-palveluja pocketpc-laitteisiin [14]. Nämä antavat viitteitä siitä, että ohjelmistojen kehittäjät ovat havainneet uuden.net:n ja pyrkivät tutkimaan sen mahdollisuuksia. 13
14 Ohjelmointikielten yhteinen ajoympäristö ( CLR ) Tärkein osa.net Framework:ssa on ajonaikainen ympäristö Common Language Runtime (CLR). Se on vastuussa muistin varauksesta, prosessien ja säikeiden hallinnasta, komponenttien tietoturvan toteuttamisesta (secure policy) ja komponenttien välisistä riippuvuuksista ohjelmaa ajettaessa samaan tapaan kuin Java Virtual Machine Javassa. Ajoympäristö sinällään ei ole uusi asia, mutta poikkeuksellista.net:n CLR:ssä on, että siinä on yhdistetty ympäristö monelle ohjelmointikielelle. Kääntäjät löytyvät tällä hetkellä Microsoftin C++, C#, VB, Jscript, sekä muiden osapuolien APL, CAML, Cobol, Eiffel#, Haskell, Mercury, Mondrian, ML, Oberon, Oz, Pascal, Perl, Python, RPG, Scheme, Smalltalk, Standard ML ja TMT Pascal ohjelmointikielille. Näiltä eri kieliltä lähdekoodi käännetään aluksi kielikohtaisella kääntäjällä MSIL (Microsoft Intermediate Language) -kielelle. CLR ajoympäristössä eri kieliltä MSIL-kielelle esikäännetty koodi suoritetaan. Runtime engine tutkii MSIL-välikieltä, jolloin sillä on paremmat virhe- ja tyyppitarkistusmahdollisuudet ja vasta JIT (Just-In-Time) - kääntäjä kääntää koodin metadataa hyödyntäen juuri ennen suoritusta konekieliseksi (kuva 2.3). Eli välikielen koodi käännetään konekielelle, toisin kuin Javassa, joka on tulkattava kieli (tosin Javaankin on JIT ja HOTSPOT kääntäjät). Source Code Compiler EXE/DLL (IL&Metadata) Class Libraries (IL&Metadata) Class Loader Trusted PreJITed Code only JIT Compiler (optional verification) Managed Native Code Call to uncompiled method Runtime Engine Execution Security Checks Kuva 2.3 Runtime engine. CLR tarjoaa ohjelmakehittäjille kiinteän alustan rakentaa erityyppisiä sovelluksia useilla ohjelmointikielillä ja sovellukset voivat olla ASP.NET, Windows Forms, Web-services, Mobiilikoodia tai jotain hajautetun järjestelmäsovelluksen koodia 14
15 tai niiden sekoituksia. CLR:n eduiksi voidaan lukea muun muassa yksinkertaistettu kehittäminen ja yhtenäinen tapa luoda eri ohjelmointikielillä kirjoitetuista koodeista yhteensopivia luokkakirjastoja. Helpotusta ohjelmointiin tuo myös se, että COM-komponenteista tutut rekisteröinnit, GUID, IDL, Uinterface ja AddRef/Release vaiheet voidaan unohtaa, sillä ympäristö huolehtii käyttöönotoista (deployment). Vanhoja COMkomponentteja voidaan kuitenkin käyttää ympäristössä viittauksilla (reference) ja.net-objektista voidaan helposti luoda COM-komponentti yleiskäyttöisen apuohjelman avulla. Tavallaan.NET:ssa on säilytetty nykyisten COMkomponenttien hyvät ominaisuudet ja yhdistetty ne löysästi kytkettyihin verkkokomponentteihin [10]. Entistä tiiviimpi oliomaisuus ilmenee luokista ja periytyvyyksistä, eli yhdellä kielellä tehdystä luokasta voidaan periyttää uusi luokka toisella ohjelmointikielellä. Uudelleenkäytettävät komponentit voidaan versioida ja olioiden kuvaus ja elinkaaren hallinta ovat yksinkertaisempia. Hallittavuutta tuo myös se ominaisuus, että ladatun ohjelmakoodin pääsyä koneen resursseihin voidaan rajoittaa. Sovelluskehittäjän näkökulmasta CLR kuvailee ajonaikaisen ympäristön, jonka kanssa kehittäjä on tekemisissä. Tämä tarkoittaa yksityisiä ja jaettuja komponentteja, suorituksenaikaista koodin lataamista ja cache-muistia, natiivialustan vuorovaikutusta, COM-komponenttien saumatonta integrointia, dynaamista tarkistusta sekä hallinnointia ja konfigurointia. Käyttäjän ei edes tarvitse tietää kaikkea CLR:n toiminnallisuutta, riittää että työkalut ja ympäristö tarjoavat senhetkiseen sovelluskehitykseen sopivat ja riittävät toiminnallisuudet. Mikäli työskentelee paljon erilaisten sovellusten kanssa, niin suunnitteluympäristön infrastruktuurin hallinnasta on hyötyä. Pienimpiä ohjelmakokonaisuuksia CLR:n päällä ovat CLR Executable:t (Portable Executables, PE). Windowsissa suoritettavat ohjelmat (.EXE tai.dll päätteiset) ovat sisältäneet normaalistikin PE-muotoista dataa, koostuen otsikko-osiosta (PE/COFF headers) ja natiiviosiosta (.data,.rdata,.rsrc,.text). Käyttöjärjestelmä on osannut tulkita näitä tarkasti määriteltyjä PE-tiedostoja. Microsoftin C/C++ kääntäjä antaa kuitenkin lisätä uusia osioita PE-tiedostoihin. CLR:n perustoiminnallisuus on saatukin toteutettua lisäämällä PE-tiedostoon CLR Header- ja CLR Data-osiot. Nämä uudet osiot sisältävät otsikko-osassaan tiedon.net käännettävyydestään ja Dataosassa metadataa ja IL-koodia, joita CLRympäristö osaa sitten hyödyntää [29, s.17]. Metadata on konekielistä tietoa resursseista, eli tyyppimäärittelyistä, versiotiedoista, ulkoisista viitteistä sekä muista standardoiduista tiedoista [29, s.18]. 15
16 Assembly ja Manifest Assembly on pienin suoritettava käskykokonaisuus CLR-ympäristössä. Se on looginen DLL tai EXE, joka voi viitata moniin tyyppeihin ja tiedostoihin (kuten esimerkiksi bitmap:iin, PE:hen). Manifest taas on tarkka kuvaus assembly:sta sisältäen versioinnin, assemblyn käyttämät tiedostot jne. Uusi käsite on myös turvallinen lähdekoodi. Koska assembly sisältää identifoidun koodin, CLR voi päätellä siitä, saako assembly käyttää järjestelmän resursseja tai muita assemblyita. Näin voidaan siis hallita ohjelman pienien yksittäissuoritusten toimintaa [29, s.26-29]. CTS ja CLS Common Type System määrittelee.net-kielille yhteiset tyypit, joilla on sama käsitteellinen merkitys. Common Language Specification määrittää.net:iin sovitettaville kielille joukon perussääntöjä. Näin pyritään tarjoamaan kielille täysi hyöty periyttämisestä, polymorfismista, poikkeuskäsitteistä ja monista muista piirteistä, vaikkakin eri kielillä on tietenkin omat vahvuutensa ja heikkoutensa. CLS:n sääntöjen avulla kääntäjien tekijät voivat varmistua käännöstuotosten sopimisesta.net:iin. CLR Compiler Writers Overview tarjoaa tietoa käännöskirjoittajille, jotka ovat kiinnostuneita IL-käännöskielen rakenteesta, tiedostotyypeistä, metadata APIrajapinnoista, reflection emit:stä ja muista työkaluista. Nopeudesta puhuttaessa on totta, että tällä hetkellä managed code on hieman hitaampaa kuin valmiiksi käännetty unmanaged code. Tulevaisuudessa tilanne voi kuitenkin muuttua, jos keksitään erilaisia parannuksia. Esimerkiksi JIT-kääntäjä tietää enemmän ajoympäristöstä kuin esikääntäjä ja voi tulevaisuudessa ajonaikaisesti tutkia ajoympäristöä ja optimoida MSIL-koodin konekielelle huomioiden vaikkapa prosessoritehon ja muistin määrän. Lisäksi JIT-kääntäjä voi tuottaa koodia, joka hyödyntää CPU:n sellaisia rekisterialueita, joita normaalikääntäjä ei hyödyntäisi. Nopeutta lisää myös työkalu PreJit.exe, jolla koko ohjelmapaketti käännetään muistiin valmiiksi, ja näinollen ohjelman käynnistys seuraavilla kerroilla tapahtuu nopeasti muistista. Seuraavilla kerroilla ohjelma vain tarkistaa onko uusia päivityksiä tullut [24]. Muiden työkalujen kehittäjät voivat löytää lisäinformaatiota CLR Tool Developers Overview:sta. Lisäksi CLR Hosting Overview kertoo tietoa, miten sovittaa CLR:ää johonkin muuhun ympäristöön. 16
17 Luokkakirjastot (unified class libraries) Luokat, joita on valmiina useita satoja, on jaettu hierarkisesti nimiavaruuksiin. Puumaista luokkarakennetta voidaan tarkastella helpoiten kuvasta 2.4. Suurin osa luokista kuuluu System-luokan alle ja kaikki luokat periytyvät Objectpääluokasta. Näin tapahtuu myös luokille jotka kehittäjä itse määrittelee ja jakaa nimiavaruuksiin. Standardiluokkakirjastot (alin lohko kuvassa 2.4) tarjoavat perustoimintoja kuten esimerkiksi I/O toiminnallisuus, säikeiden hallinta, tekstin hallinta jne. Nämä luokat vastaavat sellaisia vanhempia luokkia kuten esimerkiksi STL (Standard Template Library), MFC (Microsoft Foundation Classes), ATL (Active Template Library) sekä Javan perustoimintoluokat. Perusluokkien päällä on data ja XML-luokat (Data and XML classes), jotka perusluokkien avulla huolehtivat tiedon hallitsemisesta ja XML:n muokkauksesta. Myös tietokantojen käyttöluokat kuuluvat tähän lohkoon. Ylimpänä.NET Framework:ssa on kuvattu varsinaisia sovelluksien tekemiseen tarkoitettuja luokkia. Näistä (Web Services, ASP.NET, ADO.NET) kerrotaan enemmän viestinvälityskappaleessa. System.W eb System.WinForms Services -Description -Discovery -Protocols UI -HTMLControls -W eb Controls Design Component Model Caching C onfiguration Security Session State System.Drawing Drawing 2D Printing Imaging Text System.Data System.XML ADO SQL XSLT Serialization Design SQLTypes XPath System Collections C onfiguration Diagnostics Globalization IO Net Reflection Resources Security ServiceProcess Text Threading Runtime Interopservices Remoting Serialization Kuva 2.4.NET-standardiluokkakirjastot 17
18 C# -ohjelmointikieli C# on komponenttiorientoitunut kieli, jossa kaikki perustuu olioihin. Javan tavoin C#:n todellinen vahvuus perustuu sen alla toimiviin apuohjelmiin (satoihin uudelleenkäytettäviin komponentteihin ja API-rajapintoihin), jotka kuuluvat Microsoftin.NET Framework:iin. Näistä piirteistä onkin sanottu, että C# on Microsoftin vastine Sun Microsystemsin Java-kielelle [5]. C#-kielen piirteisiin kuuluu nimiavaruudet (namespaces), joilla ohjelmakoodiin sisällytetään tarvittuja tyyppejä tai toisia nimiavaruuksia. Nykyiseen Java 2 Enterprise Edition:iin (J2EE) sisältyy jo yli 2000 luokkaa ja yli ominaisuutta ja metodia. Microsoftin.NET Framework on yhä työn alla, mutta siitä näyttää jo nyt tulevan yhtä monimutkainen. Odotettavissa on tuhteja olio- ja API-paketteja, jotka tulevat kasvamaan entisestään. C#-kielessä olioita voidaan käyttää niiden metodien (methods), ominaisuuksien (property) tai tapahtumien (event) avulla. Muuttujat alustetaan myös automaattisesti, eikä vääräntyyppisiä muuttujia voida käyttää (type safety tarkistus). Roskienkeruu tapahtuu C#:ssa automaattisesti, eli ohjelmoijan ei tarvitse enää huolehtia muistin vapautuksista. Myös taulukkoviittaukset tarkistetaan automaattisesti, etteivät ne vuoda yli. C#:ssa on myös piirre, joka estää metodikutsun kuormittamisen (overloading), ellei koodissa ole ilmaistu täsmällisesti, että näin halutaan tehdä. Kielessä on monenlaisia tyyppejä primitiivien lisäksi, muun muassa enum, struct, class, interface, arrays ja delegates. Kielessä ei myöskään tarvita mitään esittelytiedostoja, kuten esimerkiksi C tai C++ -kielessä. C#-kielessä voidaan lähdekoodin sekaan sisällyttää myös erikoiskommentteja, joista voidaan sitten Tools-valikon kautta luoda kommentti Web-sivut. Erikoiskommenttirivit alkavat ///-merkinnällä, jota seuraa XML-tyyppinen tagipari, minkä sisään varsinainen kommentointi on laitettu. C#:ää ja Javaa yhdistää myös virtuaalikone. C# ja Visual Basic.NET luovat koodia, joka ajetaan Windows-käyttöjärjestelmän alla toimivalla eräänlaisella virtuaalikoneella. C#-koodi käännetään välikielelle (MSIL), jota runtime engine tulkitsee ja optimoi. Eli C#-kielessä on yritetty hyödyntää sekä käännetyn että tulkattavan kielen hyviä puolia, ja oppimiskynnys kieleen on melko matala. Aika näyttää miten ohjelmoijat ottavat uuden kielen vastaan. 18
19 2.2 Visual Studio.NET Visual Studio.NET on ohjelmistotyökalu, jolla voidaan tehdä sovelluksia moniin käyttötarkoituksiin. Luotaessa uutta projektia, voidaan valita haluttu projektityyppi (template) ohjelmointikielikansioista (VB, C#, C++) tai muista tarjolla olevista kansioista (Setup and Deployment, Database, Extensibility). Lisäksi voidaan valita haluttu sovellustyyppi tarjolla olevista valmiista malleista. Mallit vaihtelevat kansoittain, mutta esimerkiksi C#-kansiosta löytyy seuraavanlaisia sovelluksia: Console Application, ASP.NET Web Application, ASP.NET Web Service, Class Library, Windows Application, Empty project. Eli valikoimaa on konsolisovelluksesta luokkakirjastoihin ja web-sovelluksiin. Visual Studio.NET sisältää lisäksi paljon erilaisia aputyökaluja, jotka helpottavat työskentelyä. Tällaisia ovat esimerkiksi Solution Explorer, jolla voi selata projektin tiedostoja ja viittauskirjastoja (references), sekä Dynamic Help, jolla saa apua ja tietoja ohjelman toiminnallisuuksista. ToolBox on työkalupakki, josta voi raahata työpöytään tarvitsemiaan valmiita objekteja. Kätevä työkalu on myös Server Explorer, jonka valikossa voi tarkastella, mitä erilaisia palveluja on tarjolla omassa tai jossakin verkon koneessa. Esimerkiksi tietokantapalvelimia ja niiden tauluja pystyy katselemaan ja muokkaamaan valikosta käsin. Myös Webpalveluita on mahdollista etsiä tämän toiminnon avulla. 2.3 Windows- ja Microsoft.NET Enterprise Servers- palvelimet Windows ja.net Enterprise Servers -palvelimet on suunniteltu Web-palvelujen tuottamiseen ja jakeluun. Monet näistä palvelimista (esimerkiksi Windows 2000 Server -perhe, Microsoft SQL Server 2000 ja Microsoft Exchange 2000) käyttävät perustoiminnoissaan XML-kieltä (extensible Markup Language). XML:n ansiosta rakenteisista tiedoista voidaan tehdä yhdenmukaiset, vaikka sovelluksia ja toimittajia olisi paljon, mikä on erittäin tärkeää Web-palvelujen yhteiskäytön kannalta. Näin esimerkiksi viestinvälitys, tietokantasovellukset, sähköisen kaupankäynnin hoitaminen tai mobiiliasiakkaiden palveleminen helpottuvat. Eräissä palvelimissa on myös lisäominaisuuksia, jotka entisestään helpottavat yhteiskäyttö- ja liitäntäominaisuuksia. Seuraavaksi on esitelty tärkeimmät palvelimet. BizTalk Server BizTalk palvelimen avulla tehdään XML-pohjaisia sovelluksia Enterprise Application Integration ja Business-to-Business-dokumenttien vaihtoon, eli sillä voidaan toteuttaa sekä organisaation sisäisten että organisaatioiden välisten järjestelmien integraatio ja toteutus tapahtuu BizTalk:n XLANG-kielellä. Palvelimen avulla voidaan välittää ja hallita XML-pohjaista tietoa eri sovellusten ja palveluiden välillä, esimerkiksi datavuokaavioita, tapahtumalaukaisijoita ja niiden toimintoja kuten vaikkapa automaattinen sähköpostin lähetys. Ohjelmistossa on graafiset työkalut skeemojen sekä XSL-muunnosten tekemiseen (Microsoft Visio). 19
20 SQL Server SQL Server on tietokantapalvelin, jonka avulla voidaan hakea ja tallentaa tietokantaan esimerkiksi XML-pohjaista tietoa. SQL-palvelimesta on eri versioita tarjolla käyttötarkoituksen mukaan. Suurin versio sisältää kaikki tarvittavat muokkaus ja hallintatyökalut palvelinpaketissa, kun taas esimerkiksi MSDE (MicroSoft Desktop Engine) -versio on pelkkä tietokantamoottori hakuja ja talletuksia varten, mutta senkin käyttö ainakin testailumielessä on aivan luontevaa esimerkiksi Visual Studio.NET:n kanssa. IIS Server IIS (Internet Information Server) eli Web-palvelin on tarpeellinen esimerkiksi pidettäessä yllä tavanomaisia Web-sivuja. Myös Visual Studio.NET:llä tehdyt Web-palvelut päivittyvät käännöksen jälkeen suoraan tälle palvelimelle, eli palvelujen tekeminen vaatii tietokoneelle IIS-palvelimen. HIS Server Microsoft Host Integration Server 2000 on palvelin, jonka avulla voidaan käyttää keskuskoneissa olevia tietoja ja sovelluksia ja integroida vanhempia järjestelmiä mukaan toimintaan (esimerkiksi SNA). Exchange Server Microsoft Exchange 2000 on viestintä- ja yhteistyöratkaisuihin kehitetty palvelin. Commerce Server Microsoft Commerce Server 2000:n avulla voidaan nopeasti rakentaa online liiketoimintaa. Kaupankäyntiin soveltuva palvelin sisältää valmiita työkaluja esimerkiksi palaute- ja analysointi- sekä asiakkaiden-, tuotteiden- ja palveluidenhallintatehtäviin. Application Server ( Center ) Microsoft Application Center 2000 on palvelin, joka on tarkoitettu websovellusten levitykseen ja hallintaan ja jonka avulla voidaan rakentaa skaalautuvia palvelinratkaisuja ja hallita niitä. Käyttäjät voivat muodostaa loogisia ryhmityksiä sovellusten sisällöstä, komponenteista ja konfiguroinnista. Ryhmitelmiä voidaan hallita klusterin avulla, mikä vähentää monimutkaisuutta. Monen palvelimen kokonaisuuksissa, yhdessä koneessa tehdyt muutokset päivittyvät automaattisesti myös muille koneille. 20
21 Internet Security and Acceleration (ISA) Server Internet Security and Acceleration (ISA) Server 2000-palvelin tarjoaa yrityskäyttöön palomuuri ja Web cache-palvelut, joilla järjestelmänhoitajat voivat valvoa ja tarjota suojatut verkkoyhteydet organisaatiolleen. Mobile Information 2001 Server Microsoft Mobile Information 2001 Server on palvelin langattomien ratkaisujen tuottamiseen. 2.4.NET -palvelut ( Foundation Services) Microsoft on kehittämässä erilaisia pienpalveluita kuten tunnistus- ja ilmoituskäytäntöjä (esimerkiksi Passport) sekä tallennuskäytäntöjä, joiden avulla käyttäjien on helppoa siirtyä palvelusta toiseen, sovelluksesta toiseen tai jopa käyttöjärjestelmästä toiseen..net Foundation Services-palveluilla pyritään ennen kaikkea tekemään.net-käyttäjäkokemuksesta helppoa. Nykyisin käyttäjä voi joskus joutua kirjautumaan useisiin Web-sivustoihin ja useisiin sovelluksiin yhden istunnon aikana. Yhdenmukaisen tunnistuskäytännön puuttuminen estää sovelluksia välittämästä toisilleen käyttäjää ja hänen käyttäjätietojaan koskevaa informaatiota. Helppokäyttöisyys on siis ensiarvoisen tärkeä ominaisuus hajautetun tietojenkäsittelyn onnistumisen kannalta. Tällä on tietenkin myös kääntöpuolensa. Antamalla kerran tietojaan yhdelle sovellukselle, käyttäjä voi varautua siihen, että hänen tietojaan on leviteltynä ympäriinsä eri sovelluksille. Tämä herättää tietenkin käyttäjissä epäluuloja antaa tietojaan koneelle. Ja toisaalta tiettyjä palveluja ei pääse käyttämään ellei kirjaudu sovelluksiin käyttäjätunnuksilla. Palvelujen tarjoajien pitäisi siis olla ehdottoman luotettavia käyttäjätietojen talletusten ja luovutusten kanssa..net Foundation Services-palveluista pitäisi olla hyötyä myös sovellusten kehittäjille. Nämä palvelut muistuttavat Windowsin muistinhallintaa ja tiedostojärjestelmää siinä, että niitä ei tarvitse toistaa uudelleen jokaisen sovelluksen yhteydessä. Koska nämä ovat Internetistä saatavia peruspalveluita, sovelluskehittäjät voivat hyödyntää niitä ja keskittyä niihin sovelluksen osaalueisiin, jotka vaativat sovelluskehitystä. 2.5 Laiteohjelmisto ja käyttöjärjestelmät Käyttöjärjestelminä Windows 2000 palvelinperheessä on Server, Advanced Server, sekä Datacenter Server. Näillä voidaan käyttää uusia.net:n tarjoamia kehitysympäristöjä kuten esimerkiksi Visual Studio.NET:iä. Muitakin Windows käyttöjärjestelmiä voi käyttää.net-ympäristön toteuttamiseen, mutta tällöin esimerkiksi ASP.NET:n vaatima Web-palvelin pitää hankkia jostain erikseen. 21
22 Windows XP on uusi Windows-työpöytäkoneiden käyttöjärjestelmä. Windows XP tarjoaa monipuolisia verkkotoimintoja sisältävän käyttöympäristön.netsovelluksille. Windows 2000 ja Aktiivihakemisto Windows-verkon objekteilla on perinteisesti ollut yhteisenä puitteena toimialue (domain), jossa erilaiset toiminnot on ollut saatavilla. Suuremmat verkot on kuitenkin pitänyt jakaa useampiin toimialueisiin, luottamussuhteita hyödyntäen. Windows 2000 palvelimessa toimialueisiin perustuvat toiminnot on korvattu aktiivihakemistolla (Active Directory ), joka on aikaisempaa tehokkaampi tapa suorittaa käyttäjien ja toimintojen hallintaa sekä verkon kohteiden etsintää [19]. Aktiivihakemisto voidaan replikoida usean toimialueen ohjauspalvelimelle, joten verkko ei ole riippuvainen yhdestä järjestelmästä. Tällöin vikatilanteissakaan aktiivihakemistossa olevat tiedot eivät jää piiloon ja samalla verkon kuormitus tasaantuu, kun koneita on useita. Aktiivihakemistoon tallennetaan tietoja verkon objekteista ja hakemistossa luetteloidut asiat ovat kaikki objekteja. Ne voivat olla käyttäjiä, järjestelmiä tai palveluita. Objektit sisältävät attribuutteja, jotka kertovat objektista tietoja esimerkiksi käyttäjäobjekti sisältää käyttäjänimen, koko nimen ja kuvauksen. Jokaisella Aktiivihakemiston objektilla täytyy olla LDAP (Lightweight Directory Access Protocol) -määrityksen mukainen nimi. Nimet ovat monimutkaisia, mutta näin taataan niiden yksikäsitteisyys. Aktiivihakemiston hallinta ja turvallisuus Aktiivihakemistoa hallitaan erillisen hallintakomponentin avulla, joka löytyy Administrative Tools-hakemiston alta. Aktiivihakemiston jokaisella säiliöllä, objektilla ja attribuutilla on käyttöoikeuslista (Access Control List, ACL). Käyttäjille ja käyttäjäryhmille voidaan antaa erilaisia oikeuksia ja toiset tiedot voidaan estää näkymästä joillekin käyttäjille. Jaettu järjestelmänhoito tarkoittaa sitä, että järjestelmänhoidon tehtäviä delegoidaan käyttäjille, mutta käyttöoikeuksia annetaan vain sen verran kuin tehtävän suorittamiseen vaaditaan. Käyttöoikeuslistat periytyvät eli uudet objektit saavat käyttöoikeudet säiliöltä, johon ne luodaan. Globaali luettelo Aktiivihakemisto sisältää globaalin luettelon (Global Catalog, GC), johon voidaan sijoittaa tiedot kaikista organisaation objekteista. Globaali luettelo on palvelu, jonka avulla käyttäjä löytää kaikki ne objektit, joihin hänelle on annettu käyttöoikeus. Vaikeasti muistettavia LDAP-nimiä ei tarvitse tietää, sillä objektien hakutoiminnossa objekteja voidaan etsiä hakukriteereillä. Globaali luettelo on indeksitiedosto, joka sijaitsee Aktiivihakemistopalvelimilla, ja sisältää kaikki Aktiivihakemiston palvelimeen tallennetut nimet riippumatta siitä, kuinka palvelimet on ositettu. 22
23 Automaattinen päivitys palvelimesta toiseen ( Replication) Koska verkon toiminnot ovat riippuvaisia Aktiivihakemistosta, sen tulisi toimia mahdollisimman virheettömästi. Parempi vikasietoisuus voidaan toteuttaa jakamalla Aktiivihakemisto useiden palvelimien kesken, jolloin yhden palvelimen pettäessä jäljellä olevat pystyvät käsittelemään vikaantuneen koneen tehtäviä. Windows 2000 palvelimen Aktiivihakemisto sisältää replikointikomponentin, jonka avulla replikointi on helpompaa. Palvelimien replikointi varmistaa, että kaikilla palvelimilla on samaan versioon pohjautuva päivitetty tietosisältö. ADSI (Active Directory Service Interface) ADSI (Active Directory Service Interface) on COM-tekniikkaa käyttävä rajapinta, joka on tarkoitettu aktiivihakemiston käyttämiseen, mutta mahdollistaa myös sovellusohjelmien kommunikoinnin minkä tahansa hakemiston kanssa siten, ettei sovellusohjelmien tarvitse välittää muista kommunikointimekanismeista. ADSI tuo järjestelmään modulaarisuutta. Taustalla olevaa hakemistoa voi vaihtaa käyttörajapinnan pysyessä silti samana. Rajapintaa hyödyntävien skriptien ja ohjelmien avulla on mahdollista lukea esimerkiksi Windows NT4.0 hakemistoja, NetWare NDS (Novell Directory Service) hakemistoja, ja LDAP hakemistoja (jollainen esimerkiksi Aktiivihakemisto on) [16]. ADSI:n avulla voidaan esimerkiksi C++ tai Visual Basic-ohjelmakoodilla lukea tai muokata objektien (eli käyttäjän ja sovelluksien) oikeuksia ja näkyvyyksiä. Käyttöympäristö on sikäli keskeneräinen, että esimerkiksi C#-kielellä ei vielä pysty samoja toimintoja tekemään. 2.6.NET yhteensopivat sovellukset Microsoft ei keskity ainoastaan.net-infrastruktuuriin, vaan se koettaa kehittää myös siinä käytettäviä sovelluksia. Nämä sovellukset integroivat Web-palvelut omiin toimintoihinsa ja mahdollistavat käyttäjilleen yksilöllisen käyttäjäkokemuksen. Microsoftin tarkoituksena on myös kehittää kuluttajille Internet-palvelujen MSN-verkkoa, bcentral -pienyritysportaalia, Officeohjelmistopakettia ja ohjelmistokehittäjille Visual Studio.NET:iä. Tässä voidaan hieman epäillen kuitenkin odotella, että tuleeko kaikki toimimaan niin hienosti kuin pitäisi. Vai tuleeko Microsoftilta tuote, joka ei sovi muiden valmistajien tuotteiden kanssa yhteen kaikesta avoimuudestaan huolimatta. Maltti on valttia, tässäkin tapauksessa. 23
24 3. XML JA LIITÄNNÄIS- TEKNIIKAT XML (extended Markup Language) on rakenteisen tiedon määrittelykieli. XML on vain standardi tapa esittää puumaiseksi rakenteeksi jäsenneltyä tietoa, mutta mikäli XML-dokumentteja halutaan käyttää johonkin, tarvitaan tueksi muutakin. XML-liitännäistekniikoilla tarkoitetaan XML-standardiperheen jäseniä eli World Wide Web Consortiumin (W3C) ylläpitämiä XML:n liitännäistekniikoita sekä SAX (Simple API for XML) -ohjelmointirajapintaa. Liitännäisstandardit hoitavat XML:n kääntämisen ja tiedon spesifioinnin eri tarpeisiin. Standardien kokonaiskuvaa ja kehittymistä kannattaa seurata W3C:n ylläpitämillä WWWsivuilla [4]. Kunnonvalvontaverkon toteutus nykyaikaisesti vaatii avoimia ja mahdollisimman helppokäyttöisiä sekä tunnettuja tekniikoita tiedon siirtoon, johon XML sopii hyvin. Mutta pelkkä kuvauskieli ei vielä riitä, sillä tietyllä tavalla kuvattu dokumentti pitää voida varmistaa oikein muodostetuksi tai muuttaa toiseen kuvausformaattiin tai siirtää jonnekin toiseen paikkaan. Tällöin tarvitaan avuksi useita muita tekniikoita. Pääasiallisimmat tekniikat on esitelty tässä kappaleessa. 3.1 XML ( sisällön kuvauskieli ) XML-kuvauskielen syntaksi on hyvin yksinkertainen, sisältäen vain muutamia sääntöjä. Hyvin muodostettu (well-formed) dokumentti tukeutuu muutamiin rajoituksiin, jotka on lueteltu XML-spesifikaatiossa [3]. Lisäksi, jos XMLdokumentille on määritelty skeema, niin sen avulla voidaan todeta dokumentin olevan validi. Alla (listaus 3.1) on esimerkki XML-dokumentista ja sen jälkeen on käyty läpi hyvin muodostetun XML-dokumentin säännöt. <?xml version= 1.0 encoding= UTF-8 standalone= no?> <?xml-stylesheet type= text/xsl href= C:\tyylisivu.xsl?> <lista xmlns:xsi= xsi:nonamespaceschemalocation= C:/skeema.xsd > <hinnat> <bensan_hinta> 6.74 </bensan_hinta> </hinnat> </lista> Listaus 3.1. XML-dokumentti. XML Declaration Dokumentti aloitetaan XML-ilmoituksella (Declaration). Se määrittelee XMLkielellä dokumentin XML-jäsentimelle version ja luomiseen käytettävän merkistön. Oletusarvoisesti dokumentit koodataan Unicode-merkistöllä (joko 8-24
25 tai 16-bittisellä, eli UTF-8 tai UTF-16). Näitä käytettäessä encoding-attribuuttia ei tarvitse määrittää. Stand-alone ilmoitus, jonka arvo voi olla yes tai no, kertoo jäsentimelle yes -arvollaan, että kaikki oleellinen, mitä dokumentista tarvitsee tietää, on sisällytetty luettavaan streamiin. Arvolla no sen sijaan ilmoitetaan, että sovelluksen pitää mahdollisesti hakea lisäinformaatiota ulkopuolelta jäsentämisen täydentämiseksi. XML-ilmoituksen täytyy olla ensimmäisenä dokumentissa ja muun dokumentin tapaan, se erittelee ISOT ja pienet kirjaimet eri merkeiksi [30]. Aloitus- ja lopetustagit Dokumentti koostuu tekstistä ja tageista. Tagit indikoivat dokumentin rakennetta sitä käsittelevälle sovellukselle. Tagit ovat merkkejä, jotka on eristetty muusta dokumentista kulmanuolilla <>. Elementti on dataobjekti, jota käytetään dokumentissa asioiden ilmaisemiseen. Elementit nimetään kuvastamaan elementin sisältöä. Seuraavassa on esimerkki elementistä. <lausahdus>onpas kaunis ilma</lausahdus> Lausahdus niminen elementti alkaa aloitustagilla <lausahdus>, sitä seuraa elementin sisältö ja lopuksi on elementin lopetustagi </lausahdus>, joka eroaa aloitustagista ainoastaan kauttaviivan (/) osalta. Elementin nimen pitää alkaa kirjaimella tai alaviivalla, ja seuraavat merkit voivat olla kirjaimia, numeroita alaviivoja tai väliviivoja. Juurielementti XML-dokumentilla pitää olla yksi ja uniikki juurielementti (root element), jonka aloitus- ja lopetustagit ovat uloimpana dokumentissa. Eli aloitustagi heti XMLdescription:in perässä ja lopetustagi aivan dokumentin lopussa. Isot ja pienet kirjaimet Kaikki XML-elementit ja -attribuutit ovat kriittisiä isojen ja pienten kirjainten suhteen (case sensitivity). Jos elementti alkaa aloitustagilla <Lista>, niin se pitää tällöin lopettaa vastaavalla lopetustagilla </Lista>. Muunlaiset merkkivariaatiot, kuten esimerkiksi </lista> tai </LISTA> eivät ole tällöin sallittuja. Puumainen rakenne Hyvin muodostetussa dokumentissa elementeillä pitää olla kunnollinen puumainen rakenne. Isäelementin sisällä olevan lapsielementin aloitus- ja lopetustagit täytyy sijaita isäelementin aloitus- ja lopetustagien sisäpuolella. 25
26 <Hinnat> <Bensan_hinta> 6.74 </Bensan_hinta> </Hinnat> Listaus 3.2. Puumainen rakenne. Erikoismerkit Jäsentimen toiminta perustuu muutamaan erikoismerkkiin, joita se etsii XMLdokumentista, ja päättelee näiden merkkien jäsennnyksen avulla, mitkä merkit kuuluvat sisältöön tai rakenteen kuvaukseen. Mikäli halutaan käyttää dokumentin sisällössä näitä erikoismerkkejä, on silloin turvauduttava korvaaviin merkkiyhdistelmiin, jotka jäsennin osaa tulkita halutuksi merkiksi. Seuraavassa on erikoismerkkien vastaavuustaulukko. < > & ' " < (pienempi kuin) > (suurempi kuin) & (ampersandi) (heittomerkki) (lainausmerkki) Taulukko 3.1. XML-erikoismerkit. Attribuutit Elementtien informatiivisuutta voidaan lisätä sijoittamalla attribuutteja arvoineen elementin aloitustagiin nimen perään esimerkiksi seuraavasti. <Bensan_hinta pvm= > Attribuutin nimi on siis pvm ja arvo Lainausmerkkien sijasta arvon ympärillä voidaan käyttää heittomerkkejä, mutta merkkien yhdistely ei ole sallittu (esimerkiksi pvm= ). Attribuutteja ei voi sijoittaa lopetustagiin. Erikoismerkkejä voi laittaa attribuutteihin edellisen kappaleen sääntöjen mukaan. Tyhjät elementit Dokumenttiin voi olla tarvetta sijoittaa esimerkiksi elementti, jolla ei sisältöä, mutta muuten merkitystä kyllä, esimerkiksi rivinvaihto HTML-tyylin mukaisesti <HR>. Jotta saataisiin dokumentista validi ilman elementin lopetustagia, pitää elementin aloitustagiin lisätä kauttaviiva siten, että kauttaviiva ja tagin loppusulku ovat yhdessä. <HR/> Tyhjään elementtiin ei voi laittaa sisältöä, mutta attribuutin kylläkin, esimerkiksi <IMG SRC= images/kuva.gif />. Kommentit Kommentteja voi sijoittaa lähes mihin tahansa kohtaan XML-dokumenttia. Kommenttirivi kuvataan seuraavasti: <! kommenttirivi jota parseri ei huomioi--> 26
.NET ajoympäristö. Juha Järvensivu 2007
.NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET
Lisätiedotin condition monitoring
Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä
Lisätiedot.NET ja C# Virtuaalikone. Common Language Infrastructure (CLI) Periaate. Etuja. Haittoja. Mikä on CLI. CLI standardin merkitys (CLS, Ecma)
.NET ja C# Virtuaalikone Periaate Virtuaalikone on tapa abstrahoida allaoleva toteutus yhteisen rajapinnan taakse. Virtuaalikoneet muodostavat hierarkian. Hierarkiassa ylempänä oleva käyttää alemman tarjoamaa
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
LisätiedotCommon Language Runtime
hyväksymispäivä arvosana arvostelija Common Language Runtime Jukka Katajisto Helsinki 16.4.2005 Ohjelmointikielten kääntäjät -kurssin seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö
LisätiedotHOJ J2EE & EJB & SOAP &...
HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
LisätiedotXPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy
IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,
LisätiedotDirectory Information Tree
IP-osoite / Host taulu, jossa neljä 8 bit lukua esim. 192.168.0.10/24, unix, linux, windows windows\system32\drivers\etc DNS (Domain Name System), muuttaa verkkotunnuksen IPosoitteeksi. X.500 perustuu
Lisätiedot6 XML-työkalut 1. 6 XML-työkalut
6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on
LisätiedotHSMT J2EE & EJB & SOAP &...
HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
LisätiedotTikon Ostolaskujenkäsittely versio 6.1.2 SP1
Toukokuu 2012 1 (14) Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Asennusohje Toukokuu 2012 2 (14) Sisällysluettelo 1. Vaatimukset palvelimelle... 3 1.1..NET Framework 4.0... 3 1.2. Palvelimen Internet
LisätiedotAlkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,
LisätiedotVisma Software Oy
pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat
Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
LisätiedotTIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO
TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen
LisätiedotVisma Nova Webservice Versio 1.1 /
Visma Nova Webservice Versio 1.1 / 31.10.2018 pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun
LisätiedotSovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
LisätiedotJärjestelmäarkkitehtuuri (TK081702)
Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
LisätiedotWWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys
WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000
LisätiedotXML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.
XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotJärjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,
Järjestelmäarkkitehtuuri (TK081702) SOA SOA-arkkitehtuuri perustuu xml:ään ja Web Services teknologioihin Mahdollistaa joustavan mukautumisen tuleviin muutoksiin Kustannustehokas Toteutukset perustuvat
LisätiedotSisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta
Palveluita ja sisältöä portaaliin - XML:n mahdollisuuksista XML-tietokannat ja julkishallinnon XML-sovellukset, 28.05.2002 Lasse Akselin, TietoEnator Oyj Sisällys Valtion tietotekniikan rajapintasuosituksia
LisätiedotVerkottunut suunnittelu
Rintekno Oy / JMM / 10.1.2002 Verkottunut suunnittelu DOKUMENTTI- POHJAINEN Tarkastus ja hyväksyntä Automaattinen dokumenttien luonti MALLIPOHJAINEN 2D:SSÄ JA 3D:SSÄ Tarkastus ja hyväksyntä Virtuaaliset
LisätiedotJavan asennus ja ohjeita ongelmatilanteisiin
Javan asennus ja ohjeita ongelmatilanteisiin Javaa tarvitaan Fivaldin Sovellusikkunan alaisiin sovelluksiin, jotka käyttävät Oracle Forms -tekniikkaa. Visma Fivaldin osalta suosittelemme aina käyttämään
LisätiedotFuturaPlan. Järjestelmävaatimukset
FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0
LisätiedotPertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013
Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi
Lisätiedoterasmartcardkortinlukijaohjelmiston
erasmartcardkortinlukijaohjelmiston asennusohje Sisällysluettelo 1. erasmartcard... 2 2. erasmartcard-ohjelmiston normaali asennus... 3 2.1. Ennen asennusta... 3 2.2. Asennus... 3 3. Muut asennustavat...
LisätiedotAlkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,
LisätiedotOhje Hosted.fi SharePoint
Ohje Hosted.fi SharePoint Käyttöönotto 09.05.2011 Anvia Hosting Oy Urho Kekkosen katu 4-6 A 00100 Helsinki Puhelin 0207 7682 00 Fax 0207 7682 01 Y-tunnus 1666661-6 Kotipaikka: Helsinki www.anvia.fi Dokumentin
LisätiedotMicrosoft.NET. Juha Ahola-Olli. Tietojärjestelmätieteen Kandidaatintutkielma 27.5.2005
Juha Ahola-Olli Microsoft.NET Tietojärjestelmätieteen Kandidaatintutkielma 27.5.2005 Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos Jyväskylä 2 TIIVISTELMÄ Ahola-Olli, Juha Tuomas Microsoft.NET
LisätiedotTuotantokoneen langaton etädiagnostiikka
Tuotantokoneen langaton etädiagnostiikka Esa Salminen esa@ac.tut.fi Jari Seppälä Puh. (03) 3115 2967, telefax (03) 3115 2340, jari.seppala@tut.fi Mikko Salmenperä Puh. (03) 3115 4203, telefax (03) 3115
LisätiedotT-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot
T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi
LisätiedotVirtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).
1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.
LisätiedotDIPLOMITYÖ ARI KORHONEN
DIPLOMITYÖ ARI KORHONEN TEKNILLINEN KORKEAKOULU Diplomityö Tietotekniikan osasto 20.5.1997 Ari Korhonen WORLD WIDE WEB (WWW) TIETORAKENTEIDEN JA ALGORITMIEN TIETOKONEAVUSTEISESSA OPETUKSESSA Työn valvoja
LisätiedotArkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
LisätiedotVisual Basic -sovelluskehitin Juha Vitikka
Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen
Lisätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
LisätiedotMS Aamubrunssi Aktiivihakemiston uutuudet
MS Aamubrunssi Aktiivihakemiston uutuudet 1 Agenda Uudenlainen salasanapolitiikka Useat salasanapolitiikat PSO Tapoja tehdä Demo Aktiivihakemiston auditoinnin parannukset Demo ReadOnly Domain Controller
LisätiedotTutkimus web-palveluista (1996) http://www.trouble.org/survey/
Tietoturva Internet kaupankäynnissä E-Commerce for Extended Enterprise 29.4.98 Jari Pirhonen (Jari.Pirhonen@atbusiness.com) AtBusiness Communications Oy http://www.atbusiness.com Tutkimus web-palveluista
LisätiedotHelpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj
SUOMEN KUNTALIITTO Sosiaali- ja terveysyksikkö Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj ~ (operatiiviset-/tiedonjakelu-/si~llönhallinta~velluk~et)
LisätiedotWINE API ja Virtualisointiohjelmistot
WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän
LisätiedotJohdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
LisätiedotLuento 8: XML-tuki ohjelmointikielissä & Web-palvelut
Luento 8: XML-tuki ohjelmointikielissä & Web-palvelut AS-0.110 XML-kuvauskielten perusteet Janne Kalliola 1 XML-tuki ohjelmointikielissä ja Web-palvelut XML-tuki ohjelmointikielissä Java PHP C, C++ Perl.NET,
LisätiedotP e d a c o d e ohjelmointikoulutus verkossa
P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...
LisätiedotTikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0
Toukokuu 2014 1 (11) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Päivitysohje Toukokuu 2014 2 (11) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku...
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotStanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen
Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden
LisätiedotHTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.
HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan
LisätiedotKieliversiointityökalu Java-ohjelmistoon. Ohje
Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5
LisätiedotTikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0
Toukokuu 2013 1 (10) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Päivitysohje Copyright Aditro 2013 Toukokuu 2013 2 (10) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten
LisätiedotHelsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto
Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
LisätiedotKäyttäjähallinta liiketoiminnan selkärankana. Ratkaisuna LDAP-hakemistot
Käyttäjähallinta liiketoiminnan selkärankana Internet Expo 2000 24.8.2000 Jari Pirhonen Konsultti, CISSP AtBusiness Communications Oyj www.atbusiness.com Copyright 2000 AtBusiness Communications Oyj /
LisätiedotTiedonsiirto- ja rajapintastandardit
Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen
LisätiedotTikon Ostolaskujenkäsittely versio 6.2.0
Lokakuu 2012 1 (20) Tikon Ostolaskujenkäsittely versio 6.2.0 Asennusohje Lokakuu 2012 2 (20) Lokakuu 2012 3 (20) Sisällysluettelo 1. Vaatimukset palvelimelle... 4 1.1..NET Framework 4.0... 4 1.2. Palvelimen
LisätiedotTietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin
Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin Tampereen teknillinen yliopisto 28.1.2010 Jouni Vuorensivu Remion Ltd. www.remion.com jouni.vuorensivu@remion.com Jouni Vuorensivu
LisätiedotAction Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
LisätiedotJ2EE vs..net Olli Sakari
TEEMA-ARTIKKELI J2EE vs..net Olli Sakari J2EE ja.net ovat tietojärjestelmäteknologioita, joiden varaan suuri osa tulevaisuuden tietojärjestelmistä tulee rakentumaan. Molemmat teknologioista tarjoavat välineitä
LisätiedotM. Merikanto 2012 XML. Merkkauskieli, osa 2
XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao
LisätiedotSelvitysraportti. MySQL serverin asennus Windows ympäristöön
Selvitysraportti MySQL serverin asennus Windows ympäristöön IIO30200 / Jouni Huotari Arto Sorsa / F3900 CREATIVE COMMONS LISENSOITU http://creativecommons.org/licenses/by-nc-sa/1.0/fi/ 26.4.2010 1 SISÄLTÖ
LisätiedotPaikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7
Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin
LisätiedotKEMI-TORNIONLAAKSON KOULUTUSKUNTAYHTYMÄ LAPPIA LANGATON VIERAILIJAVERKKO 2(7) VERKKOYHTEYDEN MÄÄRITTELY WINDOWS XP:LLE (WINDOWS XP SP3)
LANGATON VIERAILIJAVERKKO 1(7) LANGATTOMAN VIERAILIJAVERKON KÄYTTÖ Kemi-Tornionlaakson koulutuskuntayhtymä Lappia tarjoaa vierailijoiden, opiskelijoiden ja henkilökunnan käyttöön suojatun langattoman verkon
LisätiedotKäyttöjärjestelmät: prosessit
Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä
LisätiedotKaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn
Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn Terveydenhuollon 29. ATK-päivät Jyväskylä 25-27.5.2003 Verkostoitumisen
LisätiedotHaaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:
Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -
LisätiedotDokumentin nimi LOGO:) Tampereen teknillinen yliopisto. Ryhmä XXX: Projektiryhmän nimi Projektin nimi
Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-3500 Ohjelmistotuotannon projektityö LOGO:) Ryhmä XXX: Projektiryhmän nimi Projektin nimi Dokumentin nimi Jakelu: (Ryhmä) (Kurssihenkilökunta)
LisätiedotC# ja.net. Juha Järvensivu 2007
C# ja.net Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö C#.NET-kirjastot C# - C-sharp Standardoitu kieli (2003) Kieli, jossa pyritään yhdistämään C++:n tehokkuus ja Javan helppokäyttöisyys Suunniteltu.NET-ohjelmointiin
LisätiedotKäyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä
www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite
LisätiedotTurvallinen etäkäyttö Aaltoyliopistossa
Turvallinen etäkäyttö Aaltoyliopistossa Diplomityöseminaari Ville Pursiainen Aalto-yliopiston tietotekniikkapalvelut Valvoja: Prof Patric Östergård, Ohjaajat: DI Jari Kotomäki, DI Tommi Saranpää 7.10.2016
LisätiedotIntegrointi. Ohjelmistotekniikka kevät 2003
Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri
LisätiedotASCOM MIRATEL YHDESSÄ VAHVEMPI
ASCOM MIRATEL YHDESSÄ VAHVEMPI ASCOM MIRATEL YHDESSÄ VAHVEMPI ASCOM MIRATEL LUONTEVA YHDISTYMINEN Suomalaisen terveydenhuollon alalla nimi Miratel tarkoittaa samaa kuin laadukkaat viestintätuotteet, -ratkaisut
Lisätiedotjotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1
LisätiedotTulostimen hallintaohjelmisto MarkVision
Tulostinohjelmisto ja apuohjelmat 1 Tulostimen hallintaohjelmisto MarkVision Windows 95/98/2000-, Windows NT 4.0- ja Macintosh-käyttöjärjestelmien MarkVision toimitetaan tulostimen mukana Drivers, MarkVision
LisätiedotRisto Pelin Microsoft Project 2002 projekti- ja yritystason järjestelmänä
Risto Pelin Microsoft Project 2002 projekti- ja yritystason järjestelmänä PROJEKTIJOHTAMINEN OY RISTO PELIN 3 Sisällysluettelo ESIPUHE 7 OSA I PROJEKTIN HALLINTA PROJEKTITASOLLA 1 JOHDANTO 11 1.1 Projektiohjelmien
LisätiedotValppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri
Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio
LisätiedotTUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen
TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen ON OLEMASSA KAHDENLAISIA YRITYKSIÄ: 1. NE JOIHIN ON MURTAUDUTTU 2. NE JOTKA EIVÄT VIELÄ TIEDÄ SITÄ
LisätiedotW3C-teknologiat ja yhteensopivuus
W3C-teknologiat ja yhteensopivuus Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C asettaa
LisätiedotOffice 2013 - ohjelmiston asennusohje
Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows
LisätiedotPedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
LisätiedotPilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit
Esimerkki arkkitehtuurit Sivu 2/8 Sisällysluettelo 1. Johdanto... 3 1.1. Termejä... 3 2. Web hosting ilman kuormantasausta... 4 3. Web hosting kuormatasaus ja bastion... 5 3.1.... 5 3.2. Kuvaus... 5 4.
LisätiedotVaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.
1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:
LisätiedotWindows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan
Aram Abdulla Hassan Windows Server 2012 asentaminen ja käyttö 1 Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan Hyper-V ohjelma. Riipu minkälaista Serveria yritämme
LisätiedotDart. Ryhmä 38. Ville Tahvanainen. Juha Häkli
Dart Ryhmä 38 Ville Tahvanainen Juha Häkli 1.LYHYESTI Dart on luokkapohjainen, yksiperintäinen, puhdas olio-ohjelmointikieli. Dart on dynaamisesti tyypitetty. Sovellukset on organisoitu modulaarisiksi
LisätiedotUutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3
Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2
LisätiedotTietokanta (database)
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
LisätiedotSMART BUSINESS ARCHITECTURE
SMART BUSINESS ARCHITECTURE RAJATTOMAN VERKON ALUSTA Mihail Papazoglou, järjestelmäasiantuntija Agenda Markkinatrendit Miksi Smart Business Architecture? LAN Security Yhteenveto 2010 Cisco Systems, Inc.
LisätiedotAutomaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat
Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite
LisätiedotSisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002
, XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen 2002 XHTML CSS XSL Sisältö EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard Generalized Markup Language Kevyempi
Lisätiedot-Yhdistetty viestintä osana uutta tehokkuutta. Petri Palmén Järjestelmäarkkitehti
Pilvi vai oma? -Yhdistetty viestintä osana uutta tehokkuutta Petri Palmén Järjestelmäarkkitehti Agenda Yhdistetty viestintä Palveluiden tuottaminen Palvelua pilvestä? BPOS tänään Online-palvelut tulevaisuudessa
LisätiedotKonesali ilman rajoja Kongressi A 5.3.2013
Konesali ilman rajoja Kongressi A 5.3.2013 t SC Orchestrator 2012 SP1 Harri Puupponen 5.3.2013 t 2012 Microsoft Corporation. All rights reserved. Sisältö Yleistä Arkkitehtuuri Uudet ominaisuudet Demoja
LisätiedotLaitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite
TW-EAV510: PORTTIOHJAUS (VIRTUAL SERVER) ESIMERKISSÄ VALVONTAKAMERAN KYTKEMINEN VERKKOON Laitteessa tulee olla ohjelmisto 5.00.49 tai uudempi, tarvittaessa päivitä laite OPERAATTORIN IP---OSOITE - Jotta
LisätiedotDXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/
DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.
Lisätiedotwww.solita.fi solita@solita.fi
www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen
LisätiedotZENworks Application Virtualization 11
ZENworks Application Virtualization 11 ZENworks / perinteinen asennus ZENworks virtualisointi Ei erillistä asennusta Ei vaadita erilisiä oikeuksia Oletusasetukset mukana Eri versiot samanaikaisesti Sama
LisätiedotXML johdanto, uusimmat standardit ja kehitys
johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama
Lisätiedot3 Verkkosaavutettavuuden tekniset perusteet
3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on
LisätiedotKIURU Tietotekniikan sovellusprojekti
KIURU Tietotekniikan sovellusprojekti Toni Hilpinen Marko Koivuniemi Jussi Mäkinen Miika Nurminen DOKUMENTIN NIMI dd.mm.yyyy Jyväskylän yliopisto Tietotekniikan laitos Kiuru-projektin tietoja Tekijät:
Lisätiedot