590 likes | 702 Views
E-Business alapfogalmak. Elektronikus szolgáltató rendszerek 2005. szeptember, Sopron Gönczy László BME-MIT. Miről lesz szó?. Mi az E-Business?. „The use of information and communication technologies to perform business functions” Több, mint az elektronikus kereskedelem
E N D
E-Business alapfogalmak Elektronikus szolgáltató rendszerek 2005. szeptember, Sopron Gönczy László BME-MIT
Miről lesz szó? Elektronikus szolgáltató rendszerek
Mi az E-Business? • „The use of information and communication technologies to perform business functions” • Több, mint az elektronikus kereskedelem • „Business as usual” • Keresés, értékelés, logisztika, fizetés, autentikáció, stb. • E-Marketplace: • Horizontális: egy beszállítói lánc • Vertikális: egy iparág Elektronikus szolgáltató rendszerek
E-Business „hamburger” Economics Business intelligence Web-based applications Software engineering Elektronikus szolgáltató rendszerek
E-Marketplace Elektronikus szolgáltató rendszerek
E-Business kategóriák • Business-to-Consumer (B2C) • cégek és egyéni vásárlók • Business-to-Business (B2B) • cégek közti folyamatok, beszállítói lánc • Consumer-to-Consumer • pl. Web aukció, p2p jellegű folyamatok • Government-to-Business • pl. adófizetés, közbeszerzési eljárások • Government-to-Citizens • pl. segélyek igénylése, kifizetése Elektronikus szolgáltató rendszerek
B2B modellek dinamikusan változó árképzés közvetítő spec. területen v. folyamatban Auction Hub VEVŐK ELADÓK Aggregator Content Community tartalomszolgáltató (pl. álláskereső) összegyűjti a beérkező kéréseket és az elérhető szolgáltatásokat egyenrangú partnerek(pl. OpenSource fejlesztés) Elektronikus szolgáltató rendszerek
E-markets B2B modellek csoportosítása a résztvevők száma szerint Változó terminológia, nincs „szabvány” elnevezés Elektronikus szolgáltató rendszerek
„Sell-Side Hub” elképzelés Elektronikus szolgáltató rendszerek
Üzleti modell Funkcionális modell Felhasználói modell Erőforrás modell E-Business referenciamodell Keretrendszer: üzleti folyamatok mennyiségi analízis pl. bevétel/idő Üzleti nézet Külső metrikák Technológiai nézet Belső metrikák CPU igény Elektronikus szolgáltató rendszerek
Üzleti modell Funkcionális modell Felhasználói modell Erőforrás modell Üzleti modell • Leírók: üzleti folyamat jellemzői • Üzleti modell fajtái • online megrendelés • online aukció • tartalomszolgáltató portál • elosztó (disztribútor, pl. félkész terméket árul cégeknek) • szolgáltató (pl. bank) • kiadványok megjelentetése (publishing), stb. Elektronikus szolgáltató rendszerek
Üzleti modell Funkcionális modell Felhasználói modell Erőforrás modell Funkcionális modell • Az üzleti folyamat felbontása részegységekre (top-down technika) • A folyamat lépései (activities) megfelelnek a Webes alkalmazás által nyújtott szolgáltatásoknak (oldalak) • Lehetővé teszi a navigációs struktúra felírását (melyik oldalról hova lehet eljutni) Elektronikus szolgáltató rendszerek
Online aukció Use-Case diagram Elektronikus szolgáltató rendszerek
QoS követelmények • megbízhatóság, biztonság, skálázhatóság, kapacitás, ár • Tipikus kérdések: • mennyi vásárlót vesztünk x idő szolgáltatáskiesés esetén • mennyivel növeljük a sávszélességet, ha multimédiás tartalom kerül az oldalra • mennyi bevételt hoz a rendszer óránként • „8 mp” ökölszabály : az átlagos vásárló 8 másodperc várakozás után más szolgáltatást keres • A rendszer kiszámíthatósága elsődleges fontosságú! Elektronikus szolgáltató rendszerek
A mennyiségi analízis lépései Elektronikus szolgáltató rendszerek
A mennyiségi analízis lépései • Előfeltétel: üzleti folyamat modellje célokkal/metrikákkal • 1. Szerver architektúra meghatározása • Milyen szerverek vannak, ezek hogyan kapcsolódnak egymáshoz, milyen operációs rendszert használnak, milyen hardveren futnak, mennyire skálázható a rendszer, stb. • 2. Teljesítmény mérése • Kulcsfontosságú lépés, különböző „referenciapontokban” kell mérni (hálózat különböző pontjai, különböző időszakok) • Tranzakciós és szerver log fájlok alapján • Napi letöltések átlagos száma, az oldal bevétele egy adott időszakban, csúcsterhelés / átlagos terhelés Elektronikus szolgáltató rendszerek
A mennyiségi analízis lépései • 3. Felhasználói viselkedés leírása • Vásárlói csoportok elkülönítése (sokat keres az oldalon/keveset vásárol, ritkán nézi az oldalt, de akkor vásárol, csak akciók idején látogatja az oldalt, stb.) • Cél: tipikus szekvenciák felismerése, navigációs minták felírása, az egyes műveletek számának/gyakoriságának meghatározása • 4. Terhelési profil meghatározása • Erőforrás modell paramétereinek meghatározása a felhasználói viselkedés modellje alapján – teljes (aktuális) külső terhelés Elektronikus szolgáltató rendszerek
A mennyiségi analízis lépései • 5. Teljesítmény modell felírása • Formális modellanalízis pl. sorban állási modellek alapján (Queueing Networks, QN) • Cél: olyan modellt alkotni, amivel követni tudjuk a változásokat (a terhelésben vagy az oldal architektúrájában) • 6. Teljesítmény mérése • Bemenő paraméterek meghatározása a modellalapú vizsgálathoz • 7. Terhelés változásának becslése • Különleges időszakok terhelése (karácsony, hirdetési kampány, stb.) • Forgalom „mintáinak” felírása, löketek (burst) nagysága Elektronikus szolgáltató rendszerek
A mennyiségi analízis lépései • 8. Szolgáltatás teljesítményének előzetes becslése • a teljesítmény modell és a terhelés előrejelzés alapján keressük a leginkább költséghatékony architektúrát Elektronikus szolgáltató rendszerek
Felhasználói, terhelés és erőforrás modellek Metrikák: - bevétel/idő - válaszidő - áteresztőképesség Erőforrás Terhelés Felhasználói modell modell modell A felhasználói Architektúra és rendszer viselkedésre konfiguráció változásaira vonatkozó kérdések vonatkozó kérdések Elektronikus szolgáltató rendszerek
Online aukció Use-Case diagram Elektronikus szolgáltató rendszerek
Felhasználói, terhelés és erőforrás modellek • Felhasználói modell • navigációs minták: felhasználhatók a későbbi terhelés előrejelzéséhez (mi történik, ha hirtelen több felhasználó jelenik meg, többet keresnek, stb.) • eszköz: Customer Behavior Model Graph (CBMG) , Customer Behavior Model Statechart (CBMS) • terhelési paraméterek meghatározása: ha csak a jelenlegi terhelési modell felírása a cél, elég egy kevésbé részletes felírás • eszköz: Customer Visit Model (CVM), kevésbé részletes, nem használható előrejelzésre • mindig egy session-t vizsgálunk (azonos felhasználótól egy látogatás alatt érkezett kérések sorozata ) Elektronikus szolgáltató rendszerek
Felhasználói, terhelés és erőforrás modellek • Terhelési modell („Terhelés” előadás) • terhelés intenzitása (pl. tranzakciók indításának gyakorisága) • egyes szolgáltatások erőforrásigénye (I/O műveletek, CPU használat, hálózati adatátvitel, stb.) • Erőforrás modell („Kapacitástervezés” ea.) • a konkrét erőforrásokra jutó terhelés • hasznos a teljesítmény paramétereinek meghatározásához (válaszidő, áteresztőképesség, stb.) • felhasználható előrejelzéshez (mi történik, ha megváltozik a rendszer HW/SW architektúrája, gyorsabb processzort, más operációs rendszert használunk, stb.) Elektronikus szolgáltató rendszerek
Felhasználói modell – CBMG • Irányított gráf az oldalak közti lehetséges átmenetek és valószínűségeik ábrázolására • n csúcs, ahol • 1. csúcs: Entry állapot, absztrakt belépési pont, minden felhasználó innen indul ide nem tér vissza • n. csúcs: Exit állapot, absztrakt kilépési pont, a folyamat vége (nem mindig ábrázoljuk explicit módon) • a többi csúcs megfelel a felhasználó által elérhető szolgáltatásoknak (oldalaknak) • élek: az oldalak szerkezete határozza meg a csúcsok közt lehetséges átmeneteket Üzleti modell Funkcionális modell Felhasználói modell Erőforrás modell Elektronikus szolgáltató rendszerek
CBMG meghatározása • Statikus CBMG: oldalak és köztük lévő lehetséges átmenetek • az oldalak által nyújott szolgáltatások meghatározása (pl. Login, Register, Add Item, Remove Item, Pay, Get Quotes, Download, Subscribe, stb.) • a szolgáltatások halmazának finomítása – az infrastruktúrát különböző mértékben terhelő szolgáltatásokra (pl. Download szétválasztása Download Audio, Download Video szolgáltatásokra) • lehetséges átmenetek meghatározása – az oldalak megjelenítésének vizsgálatával (linkek, formok, menüpontok, stb.) Elektronikus szolgáltató rendszerek
Felhasználói modell: CBMS • Customer Behavior Model Statechart • UML állapotdiagram • Hasonló információt hordoz, mint CBMG, de mindezt szabványos módon jeleníti meg • Állapotok: az oldal funkciói (állapotai) • Lehetséges átmenetek: rendszer modellje alapján • Átmenetekhez valószínűség tartozik (dinamikus viselkedés) • meghatározás: „Terhelés” ea. Elektronikus szolgáltató rendszerek
Felhasználói viselkedés állapotdiagram modellje Elektronikus szolgáltató rendszerek
Felhasználói viselkedés vizsgálata • Dinamikus CBMG ill. CBMS alapján különböző mérőszámokat határozhatunk meg: • Hits/sec: az oldalról letöltött objektumok száma (képek, bannerek is) • Page View/Day: adott oldalt hányszor nézték meg • Click-throughs: hányan néztek meg egy adott hirdetést • Unique Visitors: hány különböző látogató volt egy adott időszakban Elektronikus szolgáltató rendszerek
Felhasználói viselkedés vizsgálata • További mérőszámok (felhasználói modell és egyéb statisztikák alapján): • Revenue Throughput: az oldal által elért átlagos bevétel • Potential Loss Throughput: mennyibe kerül a szolgáltatás kiesése egy adott időszakban • Visit Ratio: átlagosan hányszor vesznek igénybe egy adott szolgáltatást (egy session alatt) • Buy to Visit Ratio: átlagosan hányszor vásárolnak egy session alatt (tényleges eladási tanzakció) • Average Session Length: egy session átlagosan hány szolgáltatást vesz igénybe (nem időt mér) • mindezen mérőszámok változása, ha a bemenő paraméterek megváltoznak (pl. egyes átmenetek valószínűségei) Elektronikus szolgáltató rendszerek
Felhasználói viselkedés vizsgálata • Az előbbi példából kinyerhető adatok : • Buy to Visit Ratio (BV): Pay állapot előfordulásának várható értéke, k [ P(i,j)] az összes lehetséges Entry-Pay útra (k darab), BV értéke itt 0.058 (5.8 %) • Végrehajtott eladási tranzakciók száma: ha naponta 100000 látogató (session) van, akkor átlagosan 100000*0.058=5800 • Átlagos session hossz (average session length): az állapotok átlagos előfordulásainak összege, itt. 7.998 (Exit és Entry állapotok előfordulási gyakorisága mindig 1, itt nem számítanak) • mindezen adatok kiszámolhatóak más átmeneti valószínűségek esetén is (pl. ha megnő a keresés után vásárlók száma) Elektronikus szolgáltató rendszerek
Customer Visit Model (CVM) • CVM: különböző típusú felhasználók viselkedését jellemző vektorok (melyik állapotban hányszor járt) • A felhasználók csoportosítása cluster technikákkal történik, ld. „Terhelés” ea. • Nem jelzi az egyes állapotok közti átmenetek gyakoriságát, nem jó előrejelzésre Elektronikus szolgáltató rendszerek
Session azonosítás • Cookie-k használatával • szerver generál egy ID-t, amit a kliens minden kéréssel elküld, az kliens mellett az alkalmazás állapotát is tárolhatja (pl. bevásárlókocsi) • Autentikációs mechanizmusok, rejtett mezők HTML oldalak formjaiban, dinamikus URL-ek, stb. • Szerver logok alapján, várakozási küszöbérték (threshold) használatával • ha ennél hosszabb a szünet két kérés (request) elküldése közt, akkor két külön session, bővebben „Terhelés” ea. Elektronikus szolgáltató rendszerek
Client/Server Interaction • Server-Oriented C/S Interaction: • a kliens egy szerver folyamattal kommunikál, ami megvalósít bizonyos szolgáltatásokat, a kliens egy szerver csonkkal (stub) kommunikál, a szerver tárolja az adatokat • Remote Procedure Call jellegű folyamatok • Object-Oriented C/S Interaction: • a szolgáltatást objektumok valósítják meg, a kliens ezeknek a metódusaival kommunikál, adat az objektumoknál • Object Broker jellegű rendszerek (mint CORBA) • átlátszó, de lassabb • Általános modell: • szerver: szoftver entitás, amely a kliens kéréseit kiszolgálja Elektronikus szolgáltató rendszerek
C/S Interaction Sequence Diagram (CSISD) • Szekvenciadiagramok minden lehetséges esetre • Objektumok: kliens és a különböző szerverek (erőforrások) • Nyilak: üzenetküldés • Üzenetek: [p, m] párok, ahol p az üzenet küldésének valószínűsége, m a mérete (byte) • pl. [0.05, reject_message]: 5% valószínűséggel reject_message méretű üzenetet küldünk • Minden lehetséges végrehajtási szekvencia kliensből indul ki és kliensben végződik • CSID: C/S Interaction Diagram • a szekvenciák összessége Elektronikus szolgáltató rendszerek
CSISD példa 1. • Kliens kér valamilyen adatot a Web szervertől, 3 lefutási lehetőség • 1. eset: A Web szerver túlterhelt: elutasítja a kérést Kliens Web szerver [1.0, request_message] [0.05, reject_message] Elektronikus szolgáltató rendszerek
CSID példa 2. • 2. eset: A Web szerver továbbküldi a kérést valamilyen alkalmazásnak (alk. szerver), az alkalmazás cache-ből visszaadja az adatot Kliens Web szerver Alkalmazás szerver [1, request_message] [0.95, request_data] [0.2, return_data] [1.0, reply_message] Elektronikus szolgáltató rendszerek
CSID példa 3. • 3. eset: A Web szerver továbbküldi a kérést, az alkalmazás lekérdezést hajt végre az adatbázisszerveren, majd visszaadja az adatot Kliens Web szerver Alkalmazás Adatbázis szerver szerver [1, request_message] [0.95, request_data] [0.8, query_message] [1.0, query_answer] [1.0, return_data] [1.0, reply_message] Elektronikus szolgáltató rendszerek
CSISD elemzése CSISD alapján megválaszolható kérdések: • mennyi a lokális hálózat forgalma, ha minden szerver ugyanazon a LAN-on van? (p*m) minden szerverek közti üzenetre • Mi történik, ha a Web szervert leválasztjuk? (Web szerver:LAN1, többi LAN2) • (Szerver oldali) hálózati késleltetés meghatározása sávszélesség és üzentméret alapján • Milyen lesz a teljesítmény, ha minden szerver ugyanazon a gépen fut? Elektronikus szolgáltató rendszerek
E-Business rendszerek modellezése Elektronikus szolgáltató rendszerek 2005. szeptember, Sopron Gönczy László BME-MIT
A modellek kapcsolata Elektronikus szolgáltató rendszerek
Erőforrás szintű terhelés meghatározása R: adott erőforrás F: funkciók halmaza E[terhelésR] =|F|(gyakoriságF*E[terhelésF,R]) közgazdasági (nem inf.) mérték informatikai (műszaki) mérték Elektronikus szolgáltató rendszerek
Használati esetek: Use-Case diagram Rendszer modell meghatározása Forgatókönyvek: szekvenciák UML alapú tervezés Összesített állapot diagram Elektronikus szolgáltató rendszerek
Általános információk Könyv böngészése Bejelentkezés Bevásárlókocsi Fizetés Regisztráció Keresés Online könyvesbolt Use-Case diagramja Online könyvkereskedés Vásárló Web Szerver Elektronikus szolgáltató rendszerek
Kliens "Könyv Könyv adatok böngészése" oldal lekérése adatokban browse request return from cache query reply answer return from database reply „Könyv böngészése” Use-Case forgatókönyvei W A Keresés az D W = Web Szerver A = Alk. Szerver D = Adatbázis Szerver Könyv adatok lekérése Elektronikus szolgáltató rendszerek
„Könyv böngészése” Use-Case forgatókönyvei 2. W W Bevásárlókocsiba kerül a könyv Elektronikus szolgáltató rendszerek
„Könyv böngészése” Use-Case forgatókönyvei 3. W W Másik könyv keresése Elektronikus szolgáltató rendszerek
„Könyv böngészése” Use-Case forgatókönyvei 4. W W Kilépés Elektronikus szolgáltató rendszerek
Összesített állapotdiagram Elektronikus szolgáltató rendszerek
Üzleti modell Funkcionális modell Felhasználói modell Erőforrás modell Felhasználói viselkedés vizsgálata • Várható érték jellegű kérdések • Pl. milyen gyakran vásárolnak • a „Pay” állapot várható értéke • Milyen hosszú egy lekérdezéssorozat • úthosszak várható értéke • A modellhez rendelhetők valószínűségek • becslés • mérés • szimuláció alapján Elektronikus szolgáltató rendszerek
Kibővített Use-Case diagram Várható érték meghatározása Kibővített szekvenciák Valószínűségek - haszn. esetekhez - forgatókönyvekhez - elágazásokhoz Kibővített állapot diagram Elektronikus szolgáltató rendszerek