Okos felület tervezéssel és visszafogással a terhelés ellen
A Budapesti Műszaki Egyetem többszöri próbálkozás után idén nyáron sikeresen áttért a korábbi grafikus terminált alkalmazó Neptun rendszerről a webes felületű Neptun.NET megoldáshoz. Nagy volt az öröm a hallgatók körében, számomra is nagy előrelépés volt, hogy nem kell külön kliens programot telepíteni, és bárhonnan intézhetem az ügyeimet. Mint BME hallgató most viszont egyelőre annak örülhetek, hogy már a nyár elején felvettem a tárgyaimat, és most csak apróbb javításokat végeztem volna el.
Amint megérkeztek a felhasználók, azaz elkezdődött a vizsgaidőszak, a webszerverek nem bírták a terhelést, és használhatatlanná váltak. A levelezőlisták üzeneteiből itélve van aki már több mint egy napja folyamatosan kísérletezik a belépéssel, és bár időnként sikerül, sőt még bizonyos oldalak is elérhetőek, lényegében semmit nem lehet csinálni, leggyakrabban ugyanis csak HTTP hibaüzenet jön válaszként.
Volt alkalmam a vizsgaidőszak előtt áttekinteni az új felületet, sőt egy főiskolai felhasználónak segítve a tárgyfelvétel módszereit is tanulmányoztam. Számomra az első érdekesség az volt, hogy az új webes rendszeren valamiért most az őszi félévben is a nyári félév tárgyai szerepelnek a tárgyak címoldalán. Külön linket kell használni az aktuális félév eléréséhez; pedig mi mást keresnék, mint azt?
A tárgyfelvétel legkomolyabb baklövése talán, hogy a tárgyak kurzusainak listájában semmiféle információt nem kapunk azokról. Míg a korábbi felületen a kurzus oktatója és időpontja is helyet kapott, itt tovább kell kattintanunk a kurzus adataihoz, majd külön-külön linkeken érhetjük el az oktató nevét, hallgatókat és így tovább. Ha többet látni akarunk ezek közül, akkor oda-vissza kell csiki-csukiznunk a linkek között. Maga a jelentkezés is valójában csak egy "kosárba helyezést" jelent, a kosárból újabb megerősítéssel tudjuk csak az órarendbe helyezni a tárgyakat. Hasonlóképpen a kurzusváltoztatás oldalán külön-külön linkeken kell a meglévő kurzust, és a leendő kurzust kiválasztani, majd megerősíteni.
Gondoljunk bele, hogy a fenti műveletek mind teljes értékű HTTP üzenetekként vannak megvalósítva, oldal újratöltésekkel. A rendkívül nagy terhelés alatt üzemelő Neptun.NET rendszer pedig (melybe az imént nekem is sikerült néhány másodperce belépni, mielőtt HTTP hibaüzeneteket kaptam volna) most is teljes fényében próbál működni, igaz az ikonok és más grafikai elemek jó részét már a szerver nem tudja kiszolgálni, így piros iksz jelekkel teli a képernyő. Jelen helyzetben viszont a hallgatóknak valószínű bőven elég lenne a tárgyfelvétel funkció, a többi menüt, programkomponenst, adatbázist nem kellene bevetnie a programnak.
Elegendő "csak" egy egyetemisták által frekventált rendszert építeni, hogy szembekerüljünk a hatékony webprogramozás igényével. Ha skálázható webhelyeket szeretnénk építeni, akkor már a fenti két problémát is érdemes szem előtt tartani, nem kell feltétlenül Flickr szintű megoldásokat alkalmazni. A kényelmesebb felhasználói felületek (amikor tényleg azt kapom a képernyőmre, amit elvártam, és már nem kell továbbkattintanom) a letöltések számát is csökkentik. Hacsak nem megjelenített reklámok után kapunk bevételt, akkor jót tesz a szerverünknek, ha nem terhelik feleslegesen. Az adott esetben visszafogott szerverkomponensek (amikor az extrák nélkül csak a lényeget kapom) szintén segítenek abban, hogy elérjem a célomat, különösen, ha ettől gyorsabb (vagy egyáltalán működik) majd a rendszer.
■ Amint megérkeztek a felhasználók, azaz elkezdődött a vizsgaidőszak, a webszerverek nem bírták a terhelést, és használhatatlanná váltak. A levelezőlisták üzeneteiből itélve van aki már több mint egy napja folyamatosan kísérletezik a belépéssel, és bár időnként sikerül, sőt még bizonyos oldalak is elérhetőek, lényegében semmit nem lehet csinálni, leggyakrabban ugyanis csak HTTP hibaüzenet jön válaszként.
Volt alkalmam a vizsgaidőszak előtt áttekinteni az új felületet, sőt egy főiskolai felhasználónak segítve a tárgyfelvétel módszereit is tanulmányoztam. Számomra az első érdekesség az volt, hogy az új webes rendszeren valamiért most az őszi félévben is a nyári félév tárgyai szerepelnek a tárgyak címoldalán. Külön linket kell használni az aktuális félév eléréséhez; pedig mi mást keresnék, mint azt?
Mintha be lehetne lépni (ez sem jön túl gyakran elő)
Gondoljunk bele, hogy a fenti műveletek mind teljes értékű HTTP üzenetekként vannak megvalósítva, oldal újratöltésekkel. A rendkívül nagy terhelés alatt üzemelő Neptun.NET rendszer pedig (melybe az imént nekem is sikerült néhány másodperce belépni, mielőtt HTTP hibaüzeneteket kaptam volna) most is teljes fényében próbál működni, igaz az ikonok és más grafikai elemek jó részét már a szerver nem tudja kiszolgálni, így piros iksz jelekkel teli a képernyő. Jelen helyzetben viszont a hallgatóknak valószínű bőven elég lenne a tárgyfelvétel funkció, a többi menüt, programkomponenst, adatbázist nem kellene bevetnie a programnak.
De aztán mégsem (változatos hibaüzenetekkel)
Webes felület és a használhatóság
Tapasztalat: A platform nem jelent semmit!
Nagyon csúnyán elfelejtettek már megint valós forgatókönyveket, felhasználási eseteket végig nézni és a gyakoriakra optimalizálva tervezni. Számomra hihetetlen, hogy egy olyan rendszert amit már több éve fejlesztenek, rendelkezésre áll(hat) rengeteg visszajelzés, statisztika, a tervezői nem álltak oda felhasználói oldalról és gondolták végig.
BMF-en is
Gyakori leállások, kidobálások tarkítják ezt az időtartamot :)
Pár finomság még hozzá:
- javascriptes speciális linkek (tehát nincs új ablak nyitás, meg vissza gomb használata sem)
- még a fentieknél is durvábban "elrejtett" óraidőpontok (a tantárgyak listájától kb 3-4 klikkre)
Az biztos, hogy aki ezt a Neptun-t beszervezte/megcsinálta az közel áll a tűzhöz, ritka egy megbízhatatlan, használhatatlan termék, a piacon ilyet nem lehetne eladni. :(
A dolognak két oldal van.
Azt se felejtsük el, hogy az is ludas aki ilyen rendszert átvesz, és hagyja élesben tesztelni. Biztos vagyok benne, hogy akadt volna 100-200 diák, aki hajlandó a félév közben egy-két napot rászánni arra, hogy az összes hibát kiszedje egy ilyen rendszerből és sok sok igénnyel bombázza a készítőket. (lásd Goba még cikket is írt ide a Weblaborra ;))
Szerintem az egyetlen megoldás, felkelteni a fogyasztókban az igényt azokra az értékekre amik szerintünk elvárhatóak egy ilyen alkalmazással szemben. Jelenleg a fogyasztók két fontos szempontot vesznek figyelembe egy webes alkalmazásnál: szép és olcsó legyen.
pp
Csilli-villi
Helyesebben, hogy csilli-villi és olcsó legyen. A funkcionalitás és az user friendly nem szempont a legtöbb esetben.
Hahh...
Alapvetően szerintem is azok a hibásak - és nem csak a Neptun esetében - akik az ilyen rosszul tervezett programokat átveszik, és nem bízzák a szakikra ;), hogy az átvétel előtt leteszteljék.
Összességében az igazán szomorú a történetben az, hogy megmutatja mekkora az igénytelenség a készítő és a megbízó oldalán egyaránt - és szokás szerint a felhasználók járják meg vele.
Sajnos itt nem fogjuk megjavítani a Neptunt, és a készítők ide sem fognak bagózni ránk. Amit tehetünk, hogy a saját igényességünkkel növeljük a webes alkalmazások színvonalát, és akkor talán... egyszer...
túlpart
http://www.bmenyelvvizsga.bme.hu/ - önmagáért beszél
http://www.uni-corvinus.hu/tanszek.php?group=90 - ez az Informatikai Intézet honlapja. csak azért mondom, mert én harmadik nekifutásra jöttem rá.
a világ -és (részben) ami mögötte van
Összességében az igazán szomorú a történetben az, hogy megmutatja mekkora az igénytelenség a készítő és a megbízó oldalán egyaránt - és szokás szerint a felhasználók járják meg vele.
Az intézmények (gyakorlatilag) nem választhatnak, hogy bevezessenek-e ETR rendszert.
Bármennyire is hihetetlen, a hallgatók az életük egy aránylag korlátozott részében szívnak a NEPTUN-nal. (Mielőtt flame-robbantással vádolna valaki, nem mondom, hogy ez kevés, vagy lebecsülendő, vagy hasonló. Csak annyit, hogy ez félév elején és félév végén korlátozott hosszúságú idő.) Az intézményeknek folyamatosan szívnak, egész évben. (NEPTUN üzemeltetők, tanszéki admnisztrátorok, stb....)
Beszerzés
Nálunk (elte) ETR van, de ott is szörnyű, hogy mennyire elavult webes technikákat alkalmaznak. 6 éve még elment volna... Egy ilyen moduláris és testreszabható rendszerben valamennyi rugalmatlanság is benne rejlik, de az ár feléért 2 diákkal írathatak volna egy olyat, ami működik is, és a helyi igényekhez teljesen illeszkedik.
mi lenne, ha...
senkit nem érdekelne
neptun
Egyébként mielőtt a PPKE-n bevezették volna a neptunt, készítettek egy dokumentációt arról, hogy mi mindent kellene nyivántartani. Én láttam ezt és elmondhatom, elég komoly mennyiségű adatról van szó. Azt hiszem még átgondolt koncepció alapján sem rövid fejlesztés megcsinálni egy ilyet.
Na igen...
szokásjog a panaszhalmaz...
Ilyeneket leírni:
"Aki a Neptunt csinálta, állami tenderként kapta és tuti nem fog könnyen lemondani a fejőstehenéről."
Könnyű és bárki tud.
mivan?
Szerinted, ha a tender tiszta lett volna, kötnek egy megfelelően(!) minőségbiztosított szerződést és egy hozzáértő valaki megvizsgálja az adott terméket, letesztelik több, mint 20 felhasználóval egyszerre, beüzemelhették volna élesben??? Én úgy gondolom, nem. Tehát itt valami nem stimmel, rossz döntés született és mindez a közember pénzéből.
Másrészt ha fikázol, lépjél be és ne nonémként oszd az észt.
internet média kérdései
OHV modul - tárgyak értékelése, taggelése
Persze ez messze van attól a koncepciótól amit mondasz.
OHV modul
sok a pénz?
Ha tényleg ilyen rossz helyzetben van a felsőoktatás, akkor miért nem másra költik a pénzt? Mert ez létfontosságú? Nem. Eddig is megvoltunk a Citrix-el. (most annyi lesz a különbség, hogy nem kell majd IETab-ot használni :) )
Ha pedig tényleg nagy a sz*r, akkor bizony meg kéne nézni, mire költi az ember a pénzt. És ha ezt vki megnézte volna, akkor most nem itt tartanánk. Sőt, én úgy érzem, külön szégyen, hogy egy műszaki beállítottságú egyetem ég ezzel a trágyadombbal. Könyörgöm, mikor minden 3. hallgató ért valamennyire ehhez?
(ui: én is felvettem még nyáron a tárgyaimat, szóval nem szívtam meg annyira)
Nézd meg az anyját, ...
http://www.sdakft.hu/
idézet az sdakft.hu oldalról
include 'user/conf.phtml';
$mysql = mysql_connect (MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
mysql_select_db (MYSQL_DB);
$query = mysql_query ("SELECT AktualisText FROM Aktualis", $mysql);
$data = mysql_fetch_array ($query);
echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding\"0\">\n";
echo "<tr>\n";
echo " <td width=\"12px\"> \n";
echo " </td>\n";
echo " <td align=\"left\">\n";
echo $data[0];
echo " </td>\n";
echo "</tr>\n";
echo "</table>\n";
?>
Ez most valami vicc?
A hiba oka talán ez lehet?!
<?
include 'static_head.phtml';
?>
Ilyen sztem a mesében sincs.
szakértelem
tömkeleg is kellemes látványt nyújt...
Hehe
Röhej
"De számunkra az ügyfelek megelégedettsége, és felmerülő igényeik széleskörű kielégítése a legfontosabb. Arra törekszünk, hogy olyan korszerű, megbízható, felhasználó barát programokat hozzunk létre, amelyek megkönnyítik partnereink számára a mindennapos feladatok elvégzését. Ennek érdekében magasan kvalifikált szakembereink a legújabb technológiákat alkalmazva, az aktuális jogszabályokat figyelembe véve folyamatosan tovább fejlesztik a vállalat által kínált szoftvereket."
Csaj nekem tűnik úgy, mintha ezek közül egyik se lenne igaz?
A megtévesztés művészete...
Minden 2. cég honlapján ilyeneket olvasni. Én igazából azt nem értem, hogy miért veszik be ezt a megbízást adó cégek - eltekintve ettől az esettől, úgy általánosságban??? Mindenhol birka a cégvezető? Én ha ilyen öntömjén szöveget olvasok, rögtön felmerül a gyanú, hogy miért is kell magukat ennyire fényezni? Ha valaki elismert a szakmában, arról amúgy is tudni, hogy milyen.
Nem is olvassa senki
példa
Megkérdezi barátot, rokont
ördögi kör
ismét mondom
Nem cégek vezetnek be, és nem egy olyan piacról, ahol sok lehetőség közül választhatnak, és főleg nem piaci alapon.
Új ETR-rendszert biztos lehetne írni, de van egy nagy bibi. Az ETR-reknek meghatározott, folyamatosan (havonta, félévente, évente) változó inputokat kell fogadniuk, és ugyanilyen gyakran változó outputokat kell tudni képezni. (Nem egyet, hanem mondjuk egy félévkezdéshez 3 input és 4-5 output tartozik.)
Az inputok mondjuk a felhasználásuk előtt 2-3 nappal - nem mindig munkanappal - érkeznek meg. Az outputkészítésre pedig optimális esetben van 36-48 óra. Tehát ilyenkor már nincsen idő interface-t fejleszteni, cizellálni, stb. Ezeknek a formátumoknak az egészen pontos leírását pedig nem osztják az utcasarkon.
Mondjuk a NEPTUN-fejlesztők (legalábbis a régi rendszernél) ezt jól tartották: az interface-k nagyjából működtek.
lol
jé :)
onnan van
ASP.NET
Felhő
Rosszul használják
Legfeljebb akkor kéne ilyen linkeket használni, amik valamilyen műveletet végeznek, de azokat inkább buttonnal kéne megoldani. A linkeknél, amik más tartalomra visznek, meg igazi linkeket használni.
És ez csak egy példa a sok közül, amikor vagy az alapvető webes megjelenítési elveket rúgják fel, és/vagy az ASP.NET kontrolljait nem igazán úgy használják, ahogy kéne.
Sz@r az élet
Most hallottam, hogy 20% szakma 80% marketing. Csak az a baj, hogy néha az a 20% szakma hiányzik nagyon.
Jó reggelt, Magyarország!
Ez több dolgot is fölvet:
1.) Mennyire autonómok az egyetemek? Vagy csak névleg azok? Az egyetemek annyira autonómok, amennyire a vezetőik azok.
2.) Többen is írtak a minőségellenőrzésről, illetve annak hiányáról. Terheléses teszttel kideríthető lett volna, hogy a Neptun csak 100 embert tud kiszolgálni egyszerre, 5700 helyett.
3.) Mennyire bízhatunk az egyetemek "vezetőiben", ha még a saját érdekeiket sem tudják képviselni?
4.) Egyetlen egy felsőoktatási intézmény, egyetlen egy informatikai tanszékén sem volt egyetlen egy tanár sem, aki úgy gondolta volna, hogy akkor fogjunk össze a többi felsőoktatási intézménnyel, és készítsünk egy közös nyilvántartó rendszert? - Mert ugyan kik képviselnék jobban az egyetemek érdekeit, ha nem maguk az egyetemek képviselői?
5.) Tudom, a Neptun nem újkeletű dolog. A Debreceni Egyetemen, ha jól emlékszem 2002-2003-ban vezették be a saját redszer helyett.
BME hallgatói létszáma
BMF
Amúgymeg meg lehetett volna úgy is írni akár a rendszert, hogy google-módra beszervezni az ilyenkor nem használt laborgépeket, amikből azért egy jó 100 darab van. Így talán bírná.
Jó reggelt, Magyarország!
Szerinted mind a 20 ezer hallgató egyszerre akar fölvenni tantárgyat? Persze, többségében a szemeszter eső hetében, de nem ugyanabban a percben mind a 20 ezren.
1.) A bejegyzés is arról szól, hogy jó tervezéssel csökkenteni lehetett volna az adatforgalmat.
2.) A hozzászólásokból kiderült, hogy rendkívüli szakértelemmel rendelkező csapat készíthette a rendszert.
Saját megoldás nem lehet
Gondoltunk rá. Talán volt már róla szó, hogy felsőbb utasításra csak fix választási lehetőségek közül lehet választani. Én is Infó Tanszéken tanítok Kecskeméten, webfejlesztést. :(
Nálunk ugyan ETR van, de ott sem sokkal jobb a helyzet, és nálunk sem kérdezték meg előre azt a rendszergazdát, aki megkapta a rendszer üzemeltetését. Állítólag több száz oldal a hibalistája.
Nagy Gusztáv
neptun
Szép dolog a skálázás, de azt se felejtsük el, hogy a neptun két időszakban kap komoly terhelést: tárgyfelvételkor és vizsgajelentkezéskor. Ilyen hardverkörnyezettel szerintem nem lehet ezt a terhelést elosztani úgy, hogy a felhasználók folyamatosan használhassák a rendszert. Újabb szerverek beállítása egyszerűen felesleges csupán a fenti két, évente összesen négy alkalom miatt - sokba kerül és a félév közben csak az áramot fogyasztaná, 0% terheléssel...
Szerintem továbbra is marad ez a szívás, rendszeresen megborul majd mindig, leállítják, újraindítják, "oszt jónapot".
tervezés: google architektúra
szoftverről volt szó
Ideális felület: nincs mit nyomni :)
És ez még csak a kőbalta egyszerűségű honlap. Bájos.
Íme hivatalosan
Idézet
Voltunk bent NEPTUN üzemeltetésnél, és azt mondta a néni,
hogy ma még legalább a HSZK-ban próbálják biztosítani a NEPTUN-t
(kintről elvileg negyed négytől engedélyezték ilyen próbaképpen,
de úgy látszik nem nagyon jön össze nekik). Éjjel még gőzerővel
folyik a munka, és holnap reggel 8-tól lesz a nagy próba, akkor
bekapcsolják mindenhonnan az elérést, remélhetőleg akkortól fog
működni rendesen.
(ugye minden úgy értendő hogy "elvileg")
Rákérdeztünk, és az is kiderült, hogy attól hogy a tárgyfelvételt
meghosszabbították, még órákra ugyanúgy be kell járni a jövő héttől,
tehát ez a kettő szépen párhuzamosan fog menni egymás mellett. Fincsi.
("Ha nem vettél fel egy tárgyat még, amit fel akarsz, akkor is be
tudsz menni órára, mert a tanszékeken ki vannak rakva az időpontok,
helyszínek, a tanárok meg úgyis csak a harmadik hét körül szokták
leszedni a hallgatói listákat.")
HSZK-ban millió ember, a "NEPTUN-os" termek fullon, akik délelőtt 3-4
órát sorbanálltak, azoknak kiosztottak ilyen kis sorszámokat, és most
(igen, még most is) ők várnak a sorukra, kb 100 körüli sorszámokkal....
Sorszámot már nem osztanak, ki van ragasztva egy új tacepaó az ajtóra,
hogy nem tudnak semmit, miden bizonytalan, és az újonnan érkezőknek azt
javasolják, hogy ne várakozzanak ott feleslegesen. Amúgy a HSZK este
nyolcig nyitva van, hétvégén viszont zárva tart.
---
Mindenki vonja le a következtetést magának, de sztem akinek már van
felvéve legalább egy órája, az jövő csütörtökig csak el fogja tudni
intézni a többit.
Üdv mindenkinek
Will
index.hu
mikor máskor
Mellesleg tényleg a hallgatók tehetnek arról, hogy bedöglött a Neptun: Használni merészelték :)
.NET 2.0 alapú Neptun-rendszer
Azonosítás nélkül elérhető: https://neptunweb.bmf.hu/hallgato/login.aspx
A forrás megtekintése után két dolgot emelnék ki:
1. Van két javascript, amit nem tárol el, mindig dinamikusan kér le
2. Az Input elem __VIEWSTATE paraméterének értéke itt még pici, de a bejelentkezés után ez szinte igenhamar felhízik
Tehát a két mindig dinamikusan behúzott .js 40K, a Viewstate átlagosan 60K. A ViewState-tel az a nagy gond, hogy POST-olni kell és 50K fölött már erősen lassíthatja a webalkalmazást. Sajnos nem ismerem az ASP2.0 működését, de annyit olvastam a ViewState-ről, hogy base64-kódolású és objektum-szerializációra használják. Nézegettem, hogy mi lehet a ViewState hozzáadott értéke, de úgy tűnik, hogy ez inkább kényszer.
Böngésző-támogatás:
Internet Explorer és Firefox alatt működik. Opera alatt a __doPostBack nem hívódik meg. Links-szel sajnos nem működik.
opera?