500 likes | 602 Views
BIRT, Szerveroldali Eclipse, TPTP, Subversive. Balogh András. Jelentéskészítés. Saját megoldás, alapok: Java, JSP, JFaces XSLT, XML, HTML JavaScript Vásároljunk zárt, fizetős megoldást ReportNet JReports Crystal Reports StyleReports. Új lehetőségek az nyílt forráskóddal.
E N D
BIRT,Szerveroldali Eclipse,TPTP,Subversive Balogh András
Jelentéskészítés • Saját megoldás, alapok: • Java, JSP, JFaces • XSLT, XML, HTML • JavaScript • Vásároljunk zárt, fizetős megoldást • ReportNet • JReports • Crystal Reports • StyleReports Budapest, 2006. 05. 04.
Új lehetőségek az nyílt forráskóddal • Saját megoldás • Saját megoldás nyílt alapokon • Nyílt forráskódú termékek használata • Kereskedelmi termékek használata Budapest, 2006. 05. 04.
Eclipse ismertsége Budapest, 2006. 05. 04.
A BIRT projekt • Business Intelligence and Reporting Toolkit • Célok • Következő generációs jelentéskészítő technológia • Web-központú tervezési szemlélet • Nyílt forrású, kiterjeszthető • XML tervezési nyelv • Kereskedelmi termékek alapja lehet • Commiter-ek • Actuate, Innovent Solutions, IBM, InetSoft Budapest, 2006. 05. 04.
A játéktér Ad-hoc lekérdezés, jelentések (Ad-hoc query and reporting) • Egyszerű ad-hoc adatlekérdezés • Az üzleti felhasználó készíti • Kevés formázás • Interaktív • Minimális oktatás szükséges • A szemantikus réteg elrejti a komplexitást OLAP/Adatbányászat (OLAP/data mining) • Komplex adatszűrés, szeletelés, aggregáció • Az üzleti felhasználó készíti • Minimális formázás • Nagyon interaktív • Oktatás szükséges • Szemantikus réteg/ adatkockák Operációs jelentések (Operational Reporting) • Fejlesztő által készített • Egyszerű használat • Erősen formázott • Többféle kimeneti formátum • Nem szükséges a felhasználók oktatása • Komplex adatelérési műveletek vannak mögötte BIRT kezdeti cél Budapest, 2006. 05. 04.
BIRT felhasználók és előnyök Budapest, 2006. 05. 04.
Magas szintű architektúra Budapest, 2006. 05. 04.
Sokféle funkció Budapest, 2006. 05. 04.
Lekérdezések… Budapest, 2006. 05. 04.
BIRT API Budapest, 2006. 05. 04.
Kiterjesztési pontok • Alapvető tervezési cél a kiterjeszthetőség • Adatforrások • Alkalmazás-specifikus tervezési idejű lekérdezés készítők • Egyedi tervezési és futásidejű adathozzáférés • Üzleti logika kiterjesztése • Komplex szkript lehetőségek • Java kód is használható Budapest, 2006. 05. 04.
Kiterjesztési pontok • Megjelenítés kiterjesztése • Új adatmegjelenítő widgetek fejleszthetők • Új diagram típusok • Új kimenetei formátumok • Renderelés • Új kimeneti formátumok/eszközök Budapest, 2006. 05. 04.
Irodalom Budapest, 2006. 05. 04.
Eclipse Equinox • OSGi keretrendszer implementáció • Platform • Eclipse • RCP • Server alkalmazásokhoz • De nem csak ehhez! Budapest, 2006. 05. 04.
Plug-inok szerver oldalon? • Az Eclipse komponens modell használható szerver oldalon is • Az RCP plug-inok is fut(hat)nak • Az SWT UI lecserélhető HTML-re… • A HTML renderelés használható RCP-ben és a szerveren is • AJAX is megvalósítható, akár többféle implementációval egyszerre Budapest, 2006. 05. 04.
Rich Server Platform • Eclipse project proposal • Felhasználói felület keretrendszer • OSGi alapon • Többféle rendering technológia • kliens és szerveroldali technikák összekötése Budapest, 2006. 05. 04.
RSP - kihívások • Kliens és szerver oldal közötti forráskód-újrafelhasználás limitált • Szerver oldali keretrendszer, ami „két” komponenst renderel • Szerver alkalmazások modularizálása nehézkes • Eclipse/OSGi paradigma alkalmazása • Különböző UI keretrendszerek integrálása nehéz • „best practices” definiálása Budapest, 2006. 05. 04.
RSP - kihívások • Sokféle rendering technológia létezik szerver oldalon, de egyik sem tökéletes • Többfélét kell ajánlani, amik választhatóak • A kliens és szerver oldali komponensek „más világban” • Az RCP technikák meghonosítása szerver környezetben is Budapest, 2006. 05. 04.
RSP célok • API és minta implementáció UI integrációhoz • Általánosan használható szolgáltatások web alkalmazásokhoz • A dinamikus weboldalaktól a nagy web-alkalmazásokig minden igény kielégítése Budapest, 2006. 05. 04.
TPTP • Test and Performance Tools Platform • 2004 augusztusban indult • Cél • Általános, • Kiterjeszthető, • Szabványokra épülő • Teszt és teljesítmény mérő keretrendszer Budapest, 2006. 05. 04.
Architektúra Budapest, 2006. 05. 04.
Miért jó a gyártóknak? • Az alap funkcionalitást adja (munka 80%-a) • Eszköz-interoperabilitást biztosít • Több gyártó tooljait használhatjuk egy workbenchben • Saját kiegészítéseken készíthetünk • EPL megfelelő az üzleti felhasználóknak is Budapest, 2006. 05. 04.
Adoptálás lehetőségei Budapest, 2006. 05. 04.
Adatgyűjtés és kommunikáció Budapest, 2006. 05. 04.
Adat meta-modellek • EMF alapú • XMI perzisztencia • Két csoport • Teszt meta-modell • Végrehajtás és követés • Trace modell • Statisztikai modell • Log modell Budapest, 2006. 05. 04.
Felhasználói felület • Perspektívák: Profiling & Logging, Test • Nézetek: • UML2 szekvencia diagram • Tábla, navigátor, hívási gráf • Interakció, kód fedettség, log, statisztika, • Szimptóma, teljesímény • Editorok • Probe, teszt adatok, teszt meta-adat, config • Jelentések: SVG, HTML (BIRT) Budapest, 2006. 05. 04.
TPTP projekt struktúra • Platform • Statikus analízis eszközök • Statikus/dinamikus ellenőrzés probe-okkal • Tesztelés • JUnit • URL stressz tesztelés • Kézi tesztelés • Profiling • Metódus interakció és fedettség • CPU felhasználás • Memória profil • Probe készlet • Monitoring • Log analízis és szimptóma adatbázis • Általános log adapter Budapest, 2006. 05. 04.
Profiling - interakcó • Az interakció nézet egy végrehajtási folyamot mutat be • Hoszt, processz, szál, osztály, objektum szinten Budapest, 2006. 05. 04.
Végrehajtási folyam nézet • Az alkalmazás végrehajtás globális nézete • Szál szintű analízis • Idő: lefelé • Stack: balról jobbra Budapest, 2006. 05. 04.
Monitoring • Log monitoring • Apache • JBoss • Jonas • Általános log adapter (GLA) • Probléma megfejtése • Szimptóma adatbázis Budapest, 2006. 05. 04.
Monitoring - log és log interakció Budapest, 2006. 05. 04.
Subversive vs. Subversive • Subversive as existing project • Polarion.org • Sponsored by Polarion Software • Subversive as Eclipse Project Proposal Budapest, 2006. 05. 04.
Subversion (SVN) • Version Control System • Self claimed replacement of CVS • Since 2002, now in version 1.4 • Wide acceptance in open source community… • Apache Software Foundation • Sourceforge • Eclipse Foundation (in progress) • … And Industry • Support in other IDEs (IntelliJ Idea, JBuilder, …) Budapest, 2006. 05. 04.
Subversion in Eclipse • No out of the box support • Bug 37154 - [Team] Support for subversion • 114 votes • 3rd most demanded bug in Eclipse Bugzilla • 3rd party support (both open-source): • Subversive • Subclipse • Goal: SVN support in the standard Eclipse distribution (like CVS) Budapest, 2006. 05. 04.
Project Subversive • Started in Q2 2005 as part of rich client for Polarion Server • Moved into separate project (and made public): March 2006 • July 2006: Version 1.0.0 released • Current status: 1.0.3 (Eclipse 3.1); 1.1.0.M5 (Eclipse 3.2) • Main design objectives • Code separation to different layers with different level of abstraction • Strong extensibility and reuse of different layers • Support of behavior customization by external plugins • Optimization in specific use-cases • Performance optimization • Consistent and usable UI Budapest, 2006. 05. 04.
Subversive Features (1/2) • Full Subversion integration into Eclipse Environment • Browse Repository • Checkout projects • Share projects • Modify, update, commit • Most of Subversion 1.3 features (except of svn:externals) • 1.4 features in progress • Automated Error reporting Budapest, 2006. 05. 04.
Subversive Features (2/2) • Interactive merge operation, similar to merge in Eclipse CVS plug-in • Full projection of Eclipse refactoring operations into Subversion • Support of recommended repository layout, including trunk, branches and tags layout • Cross-project atomic commit • Automatic resolving of conflicts • Correct cancellation of operations with Subversion • Recursive directory revision comparison • Adding repository locations with same URL • Data validation in forms • Nice and usable interface Budapest, 2006. 05. 04.
Subversive Components Budapest, 2006. 05. 04.
Subversive Architecture Budapest, 2006. 05. 04.
Screenshots • Repository Perspective • Create Repository Budapest, 2006. 05. 04.
Screenshots • Repository Perspective • Repository Browsing Budapest, 2006. 05. 04.
Screenshots • Repository Perspective • Menu Budapest, 2006. 05. 04.
Screenshots • Team Menu Budapest, 2006. 05. 04.
Screenshots • Synchronize Budapest, 2006. 05. 04.
1.0 Track (Eclipse 3.1) Version => Downloads 1.0.2 => 7000 (23.8.2006) 1.0.3 => 3200 (22.9.2006) Total, some 10 000+ users 1.1. Track (Eclipse 3.2) Version => Downloads 1.1.0.M4 => 2900 (15.9.2006) 1.1.0.M5 => 2600 (29.9.2006) Subversive Users Budapest, 2006. 05. 04.
Relationships to other Projects • Buckminster (http://www.eclipse.org/buckminster) • Integration by Thomas Spiessens • FastTrack (http://polarion.org) • Build on top of Subversive • Mylar (http://www.eclipse.org/mylar) • Subversive integrates with Mylar Budapest, 2006. 05. 04.
Subversive Achievements • Eclipse Plugin Central • Stable among TOP10 during last 3 months • Freshmeat.net – 5th project in the Subversion category • 5 community code contributors • One joined the Eclipse Proposal • 500+ forums and mailing list users, more than 1000 posts Budapest, 2006. 05. 04.
Plans • Cooperation with Subclipse, gather developer community • Subversion 1.4 support • SVN Client layer improvements • Extensibility (API) improvements • Closer Mylar integration • Feature improvements • See the Project Proposal for more details • http://www.eclipse.org/proposals/subversive/ • Goal: Subversion support in standard Eclipse distribution Budapest, 2006. 05. 04.
What next? • Check Subversive Project Proposal • http://www.eclipse.org/proposals/subversive/ • news://news.eclipse.org/eclipse.technology.subversive • Participate • See current project home • http://polarion.org/ • Try it yourself Budapest, 2006. 05. 04.