Beehive groupware Meet your visions
http://beehiveware.sf.net
Osnova ●
Projektový tým
●
Představení projektu
●
Časový harmonogram
●
Zadání projektu
●
Metodologie
●
Nabyté zkušenosti
Projektový tým Vedoucí projektu ●
RNDr. Filip Zavoral, Ph.D.
Řešitelský tým ●
Tomáš Pluskal
- data store, emailový klient
●
Lucie Bittnerová
- desktop
●
Jan Mikšátko
- komunikační modul, address-book
●
Petr Stodůlka
- síťová část komunikačního modulu, messaging, conference
●
Ondřej Těthal
- IO modul, permission control, plánovací kalendář
●
původně ještě Vlastimil Janda, byl však z týmu vyloučen
Beehive ●
●
●
Otevřený, modulární, klient-server groupwarový systém Obsahuje kalendář, adresář, emailový klient, instantní messenger, konferenční modul Umožňuje komunikovat a sdílet data v týmu, např. použít společný adresář či kalendář
Desktop aplikace ●
●
●
Zprostředkovává pohled na strom složek uživatele, umožňuje vytvářet, upravovat, či přesouvat složky a dokumenty pomocí drag&drop Umožňuje pracovat s lokálními i se serverovými složkami, či vytvořit synchronizovanou složku Po dvojitém kliknutí na složku či dokument aktivuje příslušný grouplet
Kalendář ● ●
●
Slouží k plánování času lidí či zdrojů Umožňuje nastavit časované upozornění ke každé události Umožňuje specifikovat účastníky každé události a rozeslat jim pozvánky, a tak organizovat hromadné schůzky
Adresář ●
●
Slouží k ukládání informací o kontaktech, včetně možnosti editace, prohledávání, importu/exportu do XML, tisku Umožňuje spolupráci s ostatními grouplety – – –
odeslání kontaktu emailem vybrání kontaktu při různých příležitostech zobrazení stavu uživatele u kontaktu
Emailový klient ● ●
●
●
Slouží k odesílání a příjmu emailů Pro komunikaci protokoly SMTP a POP3 používá služby IO modulu aplikace Umožňuje posílání a příjem příloh, napojení na adresář Poskytuje službu odeslání mailu ostatním groupletům, včetně zpracování příchozích zpráv a předání příslušnému groupletu
Messenger ● ●
●
Slouží ke komunikaci dvou uživatelů Zobrazuje aktuální stav připojení druhého uživatele k serveru Umožňuje archivovat průběh komunikace, exportovat ho do textového souboru, či tisknout
Konference ●
●
●
Slouží ke komunikaci více uživatelů současně Umožňuje vytvořit na serveru komunikační místnosti, do kterých uživatelé vstupují Umožňuje zobrazit přítomné uživatele, nastavit místnosti moderátory, či nastavovat oblíbené místnosti
Časový harmonogram ● ●
●
Projekt byl navržen v říjnu 2001 Původní harmonogram počítal s obhajobou v květnu 2002, což se ukázalo jako nereálné Zpoždění bylo způsobeno jednak rozsáhlostí zadání a jednak specifickými problémy týmu (vyloučení jednoho člena, 2 další členové na delší dobu v zahraničí)
Průběh vývoje ●
●
●
●
Říjen 2001 Vytvoření řešitelského týmu Listopad 2001 Sepsání a odevzdání specifikace Prosinec 2001 Schválení specifikace projektovou komisí Prosinec 2001 až únor 2002 Návrh funkčnosti celé aplikace a podrobný návrh jednotlivých modulů jádra
Průběh vývoje ●
●
●
●
Březen 2002 - říjen 2002 Vývoj modulů jádra Červen 2002 Odchod Vlastimila Jandy Říjen 2002 Odevzdána první výroční zpráva Říjen 2002 - duben 2003 Dokončování vývoje jádra, příprava návrhu groupletů
Průběh vývoje ●
●
●
●
●
Duben 2003 - září 2003 Vývoj groupletů, opravování chyb jádra při individuálním testování groupletů Říjen 2003 Odevzdána druhá výroční zpráva Říjen 2003 - prosinec 2003 Dokončování zbývající funkčnosti, testování celého systému Prosinec 2003 Dokumentace Leden 2004 Obhajoba
Zadání projektu ●
●
●
Základní zadání „open source groupwarový systém“ Inspirováno obdobnými systémy (Microsoft Outlook/Exchange, Lotus Notes, Novell Groupwise), ale založeno na otevřených technologiích Po sestavení týmu a dohodnutí vedoucího byla sestavena detailní specifikace (klíčové body specifikace na dalším slajdu)
Klíčové body specifikace ●
Platforma Java 2
●
Modulární návrh („grouplety“)
●
● ●
●
Klient-server architektura, možnost napojení na více serverů současně Synchronizace dat mezi klientem a serverem Komunikace mezi moduly zasíláním XML zpráv Ukládání dat ve formě XML dokumentů
Metodologie ●
●
●
●
Pro synchronizaci kódu byl použit systém CVS hostovaný na serveru SourceForge (sf.net) Pro komunikaci byla použita emailová konference (prošlo přes 3000 zpráv) Osvědčila se tvorba dílčích harmonogramů a jejich následná kontrola Osvědčilo se též organizování pravidelných schůzek, což ale v pozdější fázi vývoje nebylo možné (2 členové v zahraničí)
Metodologie ●
●
●
Práce byla dělena rovnoměrně mezi členy týmu a vývoj probíhal paralelně Testování probíhalo vždy individuálně (každý otestoval svojí část), a poté společně Členové týmu používají různé vývojové platformy, čímž byla zaručena platformová nezávislost systému
Nabyté zkušenosti ●
●
Při tvorbě zadání a specifikace je třeba držet se při zemi a myslet na pravidlo 80:20 Problémem byla nízká angažovanost členů týmu i vedoucího, nikdo neměl osobní zájem na dokončení projektu, což mělo vliv na motivaci a pracovní morálku
Nabyté zkušenosti ●
Některé prvky architektury nebyly zřejmě zvoleny šťastně: –
Komunikace modulů pomocí XML zpráv se ukázala jako dost pracné a komplikované řešení
–
Ukládání dokumentů v textovém XML formátu bylo také nemělo očekávaný přínost, vhodnější by bylo zřejmě ukládat data do databáze či jako serializované Java třídy
Beehive Meet your visions
Děkujeme za pozornost!
http://beehiveware.sf.net