Verkkosovelluskehitys-opintojakso

Tuomas Kalliolan "ploki"

HTTP FTP WebSocket Irclokki

FTP

-FTP-lyhenne sanoista File Transfer Protocol

-Käytetään siirtämään tiedostoja host:lta toiselle TCP-protokollaa käyttäen, toimii asiakas-palvelin periaatteella

-Selaimella voi yhdistää FTP-osoitteisiin samoin kuin HTTP-osoitteisiinkin

-FTP voi toimia aktiivisessa(palvelin aloittaa itse tiedonsiirron) tai passiivisessa(palvelin odottaa asiakkaan aloitusta) tilassa

-Dataa voidaan lähettää neljässä eri muodossa: ASCII,Image(Binary), EBCDIC tai Paikallisesti

-Datan lähetystavoille on kolme eri tapaa: Stream mode, Block mode tai Compressed mode

-Käyttää kahta eri porttia. Oletuksena TCP-portti 21 yhteydenmuodostukseen ja portti 20 datan siirtoon

-Tärkeimpiä FTP-komentoja ovat esim. USER,PASS,QUIT, CWD, TYPE, RETR, PORT

WebSocket

-WebSocket on TCP-protokollaan pohjautuva verkkoprotokolla, joka mahdollistaa bidirektionaalisen yhteyden Websovelluksen ja WebSocket-serverin välillä

-Parannusta HTTP-protokollaan esim. reaaliaikaisissa-peleissä, koska yhteys pysyy auki

-Käyttää kuten HTTP-protkolla porttia numero 80, HTTP-serverit ymmärtävät yhteydenmuodosuksen upgrade-pyyntönä

-Suurin osa suurista selaimista tukee WebSocket-protokollaa

-Kaksi URL-skeemaa: ws. salaamattomille WebSocket yhteksille, wss. salatuille WebSocket-yhteyksille

-Yksi tärkeimmistä WebSocket-kirjastoista ohjelmoijalle on socket.io

-WebSocket-serveri voidaan kirjoittaa esim. C(++):lla, Pythonilla, Javascriptillä tai PHP:llä

Irc-loggerin pystyttäminen OpenShift-palveluun

Harjoitus tuli tehtyä noin 2 päivää sitten ja tästä ei ollut tallennetta, joten olen muistini varassa. Pahoittelut jos jokin kohta unohtuu ohjeista.

1. Ensimmäisenä loimme sovelluksen opettajan valmiista koodista, joka löytyy githubista:

"rhc app create irclokki nodejs-0.10 --from-code https://github.com/jvanhalen/irclokki.git"

2. Seuraavaksi sovellukseen lisättiin MySql-cartridge:

"rhc cartridge add mysql-5.5 -a irclokki"

3. Itselläni oli vaikeuksia ssh-avaimen kanssa, mutta koska kirjoitan ohjeet jälkikäteen en muista ongelmaa aivan tarkkaan. Ongelma kuitenkin johtui oikeastaan siitä etten malttanut noudattaa ohjeita tarpeeksi tarkkaan. Muistaakseni itseltä puuttui tuo puttygen koneelta, ja koitin ratkaista ongelmaa eri tavalla kuin ohjeissa mainittiin. Lopulta kun latasin puttygenin ja seurasin ohjetta orjallisemmin ongelma ratkesi.

Ohjeet ssh-yhteyteen puttyn kautta löytyivät täältä: https://developers.openshift.com/en/managing-remote-connection.html#download-the-putty-installer

SSH-avaimen sai selville komennolla rhc app-show irclokki tai OpenShiftin sivuilta kohdasta remote Access

4. Lopulta kun ssh-yhteys sovellukseen onnistui, käytimme sitä MySql-tietokannan konffaukseen

5. Viimeinen komento oli "rhc app restart irclokki" ja lopulta oma bottini löytyi testikanavalta toimien kuten pitikin.