Vývoj clearingového systému CARDS EXCHANGE a aplikované nástroje softwarového inženýra Jiří Mareš ČSAD SVT Praha s.r.o

Slides:



Advertisements
Podobné prezentace
Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
Advertisements

Úvod do platformy Java EE
Systémová integrace Ing. Roman Danel, Ph.D.
Jan Zmátlík / Petr Pošvic / Martin Rendl
Autor : Ladislav Ullrich.  Automatizované testování Problematika Přínosy  Funkční testování Problematika Princip  Požadavky na ATN  Přehled komerčních.
Tvorba software Konceptuální modely. Konceptuální model (vodopádový) Formulace problému Analýza Programování Testování Užívání.
METODOLOGIE PROJEKTOVÁNÍ
A4M33NMS Návrh a modelování softwarových systémů
Případová studie Business Intelligence ve společnosti Mountfield, a.s.
Rozvoj eGovernmentu ve Středočeském kraji, reg. č. projektu CZ.1.06/2.1.00/ Krajské digitální úložiště Vladimír Dinuš, ICZ a. s
Tvorba webových aplikací
Management telekomunikačních systémů
Software Development Conference 2007 IBM Rational Představení, novinky Zdeněk Borůvka.
1 Audit software Petr SLOUP Cíl Cílem auditu je sestavit přehled a základní popis používaného software (aplikací)
Apache Tomcat Vlastimil Flegl. Apache Tomcat  Kontejner servletu  Bezproblémový běh Java aplikací na serveru  Tomcat – nadstavba serveru Apache  Verze.
Perspektivy clearingu pro IDS, kraje a dopravce Ing. Michael Holešovský Certifikovaný senior projektový manažer IPMA B® ČSAD SVT Praha, s.r.o.
Tomáš Dlouhý – prezentace Y13ANW - Redakční systém WNC Tomáš Dlouhý Y13ANW – První prezentace
Moderní formy tvorby webových stránek Martin Šebela, 9.A vedoucí práce: Mgr. Jan Kříž.
Slide 1 A Free sample background from © 2003 By Default! Jiří Kůsa Testování propustnosti síťového firewallu.
Softwareová architektura
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
Technologická středa Continuous Integration with Maven and Hudson Vlastimil Menčík
4IT445 – Testování a ladění v PHP Ing. Jan Mittner
Systémy pro podporu managementu 2 e-business a podpora rozhodování.
Ant Připravil: Ing. Jan Kolomazník. strana 2 Proč vznikl Potřeba sestavovat komplexní Nezávisle na platformě Popis založený na xml Spouštění různých úloh.
Krajský rok informatiky České Budějovice 26. –
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
Walter Schorge Archa – Open Source archivní informační systém v NTM Archivy, knihovny a muzea v digitálním světě
Navrhované předměty pro OI a další zimní semestr.
MAPGUIDE OPEN SOURCE - MAPOVÝ SERVER Student: Bc. Martin Soukup Předmět: GEIS Přednášející : R NDr. Tomáš Vaníček, P hD. Datum: Web:
ISSS Pavel Kopecký, Zlínský kraj Václav Mařík, Marbes consulting s.r.o.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
Roman Daněk, RPPI s.r.o. David Švingr, CHAPS s.r.o.
Redakční systém dopravní informace pro státní správu ISSS 4. dubna 2006.
Česko a Slovensko, výhledy do budoucnosti Michal Tomek – InterSystems BV.
IBM Global Services Ing. Stanislav Bíža, Senior IT Architect, CISA © 2005 IBM Corporation Rizika napadení webových aplikací Konference ISSS 2005 Title.
Nebezpečí webových aplikací Tomáš Strýček Invex Forum Brno
Zákon o veřejných službách v přepravě cestujících z pohledu aplikace informačních technologií RNDr. Jan Kotík, obchodní ředitel Mgr. Bohumír Bartušek,
ISSS IS HN/SS Softwarová architektura informačního systému hmotné nouze a sociálních služeb Jindřich Štěpánek
KL Free IS Informační systém pro regionální síť KLfree.net.
WebCastle VŠB Vedoucí bakalářské práce:Ing. Jan Ružička Ph.D. Vypracoval:Martin Prager VŠB – TU Ostrava Institut Geoinformatiky Studijní skupina :G362.
© BBMP: BAM015, BAR487, MAL305, POH015 1 Prezentace projektu Adresář kontaktů Autoři: Kateřina Bambušková, BAM015 Martina Bartošíková, BAR487 Alena Malovaná,
Srovnání systémů řízení projektů Vypracovala: Jitka Procházková.
Obhajoba projektu PA165 Půjčovna stavebních strojů
Systém evidence nemovitého majetku kraje Vysočina
Katedra počítačů ČVUT FEL
Softwarové inženýrství semestrální projekt
Geoinformatika Presentace diplomové práce Využití mapového serveru ArcIMS pro dynamické generování statistických map v prostředí WWW Vedoucí práce : Ing.
Popis systému DBMAN (KEVIS). Obecná charakteristika Systém DBMAN vychází ze snahy maximálně zobecnit přístup k datům v jednoduchých databázích. Původním.
YOUR SYSTEM, spol. s r. o. Ing
JPrVyd Desktopová aplikace pro evidenci příjmů a výdajů OSVČ.
13.přednáška – Elektronické zásobování Ing. Jiří Zmatlík, Ph.D. ČVUT, Fakulta elektrotechnická Katedra ekonomiky, manažerství a humanitních věd.
Portál jako Dynamic WorkPlace.  Cleverbee s.r.o.  společnost založena 2000  15 let zkušeností (prodej a vývoj ERP řešení)  švýcarská společnost se.
Business Activity Monitoring Jiří Kolář. Pojmy a zkratky ● SOA ● Servis Oriented Architecture ● BPMS ● Business Process Management System ● BAM ● Business.
ORSOFT RADNICE OPEN – ÚVODNÍ SEZNÁMENÍ Petra Hoffmanová.
VZDÁLENÉ NASAZENÍ APLIKAČNÍHO SOFTWARU NA DESKTOPOVÉ OPERAČNÍ SYSTÉMY AUTOR: DOMINIK KOUSAL VEDOUCÍ PRÁCE: ING. TOMÁŠ KOUBEK.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
Evolby Finální prezentace Ondřej Michalčík. Obsah  O projektu  Analýza a návrh Struktura aplikace  Implementace a dokumentace  Testování a kvalita.
Randstad Java Academy vše o kurzu Gabriela Hrbáčková Director Randstad Professionals.
Integrace IS na datové vrstvě
Připravil: Ing. Jan Kolomazník, Ph.D.
Unit testování v JavaScriptu
Sytémová integrace Ing. Jiří Šilhán.
METODOLOGIE PROJEKTOVÁNÍ
Web Application Scanning
Webové aplikace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN
4D přístup k integraci ve veřejné dopravě
Dfdfdf.
Transkript prezentace:

Vývoj clearingového systému CARDS EXCHANGE a aplikované nástroje softwarového inženýra Jiří Mareš ČSAD SVT Praha s.r.o

Něco o mě ● Vystudoval jsem FEL ČVUT ● 14 let vyvíjím software ● Posledních 7 let v SVT ● V SVT jsem se hodně zaměřil na kvalitu kódu Něco o SVT ● Existuje 30 let, od 1991 s.r.o. ● Více než 25 let zkušeností s AMS ● Od roku 2006 držitelem ISO 9001:2000

Clearingový systém CARDS EXCHANGE ● Motivace: umožnění křížového používání čipových karet mezi dopravci ve Středočeském kraji s vypočtením objemu plateb mezi dopravci ● Nyní – 6 systémů – 53 subjektů

Clearing CARDS – princip ● Cestující má kartu vydanou subjektem A ● Používá ji u různých subjektů (včetně A) ● Jedná se o platby (el. peněženka) i o kupóny ● Za měsíc vytvoříme závěrku ● Započteme toky peněz ● Zajistíme převod peněz

Clearing CARDS - architektura ● SaaS – Software as a Service ● Webová aplikace ● Žádné EJB ● OS SUSE Linux Enterprise Server ● Aplikační server Apache Tomcat ● Databázový server IBM DB2 ● Failover

Clearing CARDS jaký je to SW projekt ● Dlouhodobý – trvá již 6 let ● Velký – 1614 java, 988 xml, 180 jsp, 134 groovy souborů – cca testů ● Multi-technologický ● Počítáme peníze – spolehlivost má vysokou prioritu

Nástroje SI – metodika vývoje ● Agile (Scrum) - jenom ne vodopád – Kritické věci se řeší nejdřív – Zákazník stále vidí kam se vývoj ubírá – Častá integrace – Agile & Iterative Developmen / Larman ● U nás – Hlavní release každý měsíc – Až 2 další opravné

Nástroje SI – evidence požadavků ● Systém JIRA ( ) – Každý požadavek má číslo – Evidují se podpožadavky a jiné závislosti – Plánujeme – kdo, v jakém releasu, s jakou prioritou – Víme v jakém stavu každý požadavek je – Tento přehled má kdokoliv z firmy – Máme k dispozici různé reporty

Nástroje SI – continuous integration ● CI server – u nás Hudson ( hudson.dev.java.net ) ● Automatizovaný build ● Gradle ( gradle.org ), Ant ( ant.apache.org ) ● Nutný version control repository – u nás Subversion ( subversion.tigris.org ) ● Často commitovat ● Okamžitě máme binárky na deploy ● Automatizovaný deployment ● Testování

Nástroje SI version control system ● Přístup ke kódu pro všechny ● Historie změn ● Větvení zdrojového kódu ● Tagování - release ● Lepší než CVS (transakční, verzuje i adresáře)

Nástroje SI – unit testy ● Automatizované testování, refactoring ● Návrh kódu s ohledem na otestovatelnost – Rozumné rozložení kódu – Dependency Injection ● Guice ( code.google.com/p/google-guice/ ) ● Spring ( ) ● Používáme TestNG ( testng.org ) – ne jUnit ( ) ● Mock objekty – easymock ( )

Nástroje SI – integrační testy ● Webová aplikace – Selenium ( seleniumhq.org ) ● Testy se dají de facto naklikat (SeleniumIDE) – problém se selektory ● Testy se dají spustit na různých OS i v různých prohlížečích (díky VMWare pouštíme v noci oproti Firefoxu i IE)

Nástroje SI – code coverage ● Použitelné pro kontrolu testů ● Představa, jak moc je otestováno ● 100% coverage není záruka

Nástroje SI – code review ● Proč? – Víc očí víc vidí – Víc mozků tomu rozumí – Předávání zkušeností – Neopakovat se ● Záruka kvality ● Děláme review každého nového kódu podle požadavků v systému JIRA

Nástroje SI – kvalita kódu ● Design by Contract – Contract4j ( ) ● FindBugs ( findbugs.sourceforge.net ) ● PMD ( pmd.sourceforge.net ) ● Checkstyle ( checkstyle.sourceforge.net ) ● Vrstvení aplikace vs. kód je tam kde jsou data

Nástroje SI - dokumentace ● Dokumentace neodpovídá skutečnosti ● Kód je dokumentace - generování dokumentace z kódu – Javadoc – GraphUML – SchemaSPY – Unit testy

Nástroje SI to celé nejenom v Javě ● Používáme HTML, CSS ● XML + XSLT + XSL-FO – Fop ( xmlgraphics.apache.org/fop/ ) – iText ( ) ● Groovy ● JavaScript

Nástroje SI – proč opensource ● Mám zdrojáky – Mohu zjistit jak funguje – Mohu fungování změnit (opravit) ● Neplatím, ale občas problém s licencí

Děkuji za pozornost ● The Pragmatic Programmer / Hunt, Thomas ● Design Patterns Jiří Mareš ( jirablog.blogspot.com ) ČSAD SVT Praha s.r.o. ( )