Firebird SQL

1,779 views

Published on

Relazione sul progetto Open Source Firebird SQL.
License CC-BY-SA

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,779
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Firebird SQL

  1. 1. RelazioneStudio di un progetto open source per il corso di Tecnologie Open Source 20 Giugno 2011 Sommario Presentazione del progetto Firebird SQL. Informazioni documento Nome file Firebird.pdf Versione 1.0 Distribuzione Prof. Bellio Luigi Nesello Lorenzo 1/17
  2. 2. Indice1 Introduzione 42 Obiettivi 43 Mercato 44 Storia 5 4.1 Tappe del progetto . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Licenza 66 Modello di Business 7 6.1 Firebird Foundation . . . . . . . . . . . . . . . . . . . . . . . . . 77 Processo di sviluppo 8 7.1 Firebird Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.2 Quality Assurance . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.3 Documentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7.4 JDBC, ODBC, Python Driver . . . . . . . . . . . . . . . . . . . . 9 7.5 .NET Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Community 10 8.1 Team di Firebird . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 8.2 Portali News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 8.3 Siti Nazionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 8.4 Mailing list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Strumenti di gestione dell’informazione 13 9.1 Documentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1.1 Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1.2 Reference Manuals . . . . . . . . . . . . . . . . . . . . . . 13 9.1.3 White papers e presentazioni . . . . . . . . . . . . . . . . 13 9.1.4 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1.5 Libri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1.6 Documentazione Driver . . . . . . . . . . . . . . . . . . . 14 9.1.7 Documentazione esterna . . . . . . . . . . . . . . . . . . . 14 9.2 Supporto alla community . . . . . . . . . . . . . . . . . . . . . . 14 9.3 Supporto professionale . . . . . . . . . . . . . . . . . . . . . . . . 14 2/17
  3. 3. 10 Strumenti di gestione dello sviluppo 15 10.1 Coding Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.2 Compilazione Codice . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.3 Issue Tracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.4 Contributing Patches . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.5 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 10.5.1 Firebird Test Suite . . . . . . . . . . . . . . . . . . . . . . 16 10.5.2 Come progettare un nuovo test . . . . . . . . . . . . . . . 1611 Riferimenti 17 3/17
  4. 4. 1 IntroduzioneFirebird SQL ` un RDBMS (Relational DataBase Management System) open- esource. Viene distribuito sotto licenza IPL o IDPL. Nasce da Interbase e suppor-ta numerosi sistemi operativi. Tra i principali si trovano GNU/Linux, Windows,FreeBSD, Mac OS X e alcuni Unix. Fra i punti di forza del progetto ci sono ungrande grado di aderenza agli standard SQL e una buona integrazione con moltilinguaggi di programmazione. Inoltre ` facilmente installabile e manutenibile ee nelle ultime versioni sono stati fatti molti miglioramenti sul versante dellaresistenza ai crash esterni, la velocit` di esecuzione e di accesso ai dati. a2 ObiettiviGli obiettivi, portati avanti tramite le Firebird Foundation, sono quelli di sup-portare e far avanzare lo sviluppo del progetto open source Firebird relationaldatabase management system. La fondazione gestisce un infrastruttura noncommericale e meccanismi richiesti per accettare e gestire finanziamenti, sotto-scrizioni, donazioni e sponsorizzazioni.3 MercatoIl prodotto Firebird si rivolge a singoli utenti e ad aziende che intendono utiliz-zare il servizio di RDBMS. La stessa fondazione che gestisce le donazioni per ilsostentamento del progetto ` aperta a singoli utenti e ad aziende, come illustrato enel punto 6.1. Il seguente elenco illustra alcuni nomi delle societ` utilizzatrici del asoftware Firebird che essendo gratuito ed open source trova molti utilizzatori.L’elenco ` in inglese preso direttamente dall’url http://www.firebirdsql.org/ efile/documentation/papers_presentations/html/who-uses.html • Broadview Software Ltd, Toronto, Canada, vendor of information and control systems and online services for broadcasters worldwide • Morfik P/L, Hobart, Tas., developers and vendors of WebOS development suite for construction and maintenance of interactive websites, stores web objects in a Firebird meta-layer (system database) as well as Firebird user data. • Communicare Systems Pty Ltd, Perth, WA, vendor of patient manage- ment and medical records software for hospitals, clinics, medical practices and mobile health units across Australia. 4/17
  5. 5. • “The Examiner” newspaper, Launceston, Tas., high availability(24/7) busi- ness, information, production and news systems. • U.S. Navy, broad range of management and logistical systems • Frontrange Solutions USA Inc., Colorado Springs, U.S.A, as the back-end of the highly scalable, award-winning integrated CRM, service manage- ment and business systems “Goldmine” software suite. • British Rail, U.K., timetabling, bookings, accounting and information systems for national railway passenger network. • Deutsche Presse-Agentur GmbH, HQ in Hamburg, Germany, largest press agency in Germany, provides a worldwide service to newspapers, maga- zines, TV and radio news networks. • KIMData, Munich, Germany, business intelligence systems and data ware- housing for German hospitals.Il sostentamento del progetto avviene tramite donazioni effettuate da privati eda aziende e tramite le quote di iscrizione alla fondazione. Fra le aziende pi` afamose che vengono citate fra gli sponsor troviamo SAS, Mandriva, IBPhoenix,Broadview Software. Le aziende citate (per donazioni in denaro o in risorse)sono parecchie e questo aiuta il progetto a non essere abbandonato e continuareil suo percorso di evoluzione.4 StoriaPrima di parlare di Firebird ` necessario raccontare quello che ` stato il suo pre- e edecessore, Interbase. Interbase era un prodotto commerciale e chiuso. Vantavanumerosi utilizzatori fra cui la NASA, la Banca Nazionale di Chicago, Ericsson,Boeing Nokia e altri. Fra le principali caratteristiche che lo rendevano un buonprodotto c’erano la semplicit` di installazione, l’utilizzo di poche risorse (4Mb di aRAM e meno di 10 MB di spazio su disco) e la buona gestione e il facile utilizzoanche paragonandolo con altri RDBMS. Interbase inizialmente fu progettato perun utilizzo professionale ed aziendale pagante. Nell’ultima fase della sua vitaInterbase fu sviluppato da una grossa azienda mondiale, la Borland Internation-al. Dopo il rilascio del codice sorgente di Interbase 6.0 avvenuto nel 2000, resoquindi opensource dalla Borland, nacque la prima versione di Firebird. Questaversione era un InterBase riveduto e migliorato. Firebird 1.0 risolveva alcuniproblemi di sicurezza e qualche bug, inoltre aggiungeva qualche piccola miglio-ria. La versione 1.5, sebbene sia stata solamente una versione di treansizioneverso la versione 2.0 rappresent` una piccola rivoluzione con un grande passo o 5/17
  6. 6. avanti rispetto alla versione precedente. L’intero motore del database serverviene riscritto in C++, ottenendo cos` un codice pi` chiaro e leggibile rispetto ı ualla versione precedente, scritta in C. Con questa scelta le versioni successiverisulteranno pi` semplici da estendere e da gestire. La versione 2.0 conferma ututte le funzionalit` presenti in precedenza con le stesse qualit` e ne aggiunge di a anuove. Tra le pi` interessanti ci sono lo sviluppo delle estensioni del linguaggio uSQL derivate dall’SQL 200X. Queste nuove funzionalit` aiuteranno lo sviluppo adi Vulcano, il Firebird della prossima generazione.4.1 Tappe del progetto • 1984 Jim Starkey progetta Interbase per la Groton Database System (.gdb) • 25/07/2000 Borland rilascia sotto licenza open Initial Developer’s Public License (IDPL) Interbase 6.0. • 31/07/2000 Nasce il Progetto Firebird • 22/11/2000 Primo kit d’installazione per Firebird • 14/11/2001 Firebird 1.0. • 23/02/2004 Firebird 1.5 scritto in C++ • 13/02/2004 Firebird 1.5.1 • 10/11/2004 Firebird 2.0 Alpha • 19/05/2006 Firebird 2.0 Release Candidate 2 • 17/04/2008 Firebird 2.1 • 10/09/2008 Firebird 2.5 Alpha • 04/10/2008 Firebird 2.5 • maggio-agosto 2011 Firebird 3.0 Alpha 1.Giornalmente ` disponibile il e build attuale (non release ufficiale)5 LicenzaI moduli Firebird vengono rilasciati sotto licenza Initial Developer’s Public Li-cense, mentre InterBase viene rilasciato da Inprise sotto licenza InterBase Pub-lic License. La licenza InterBase Public License si applica anche a Firebird 1.0.Tale licenza ` quella con cui ` stato distribuito da Boreland il codice sorgente e e 6/17
  7. 7. di InterBase 6 da cui ` partito il progetto Firebird. Entrambe le licenze sono edelle varianti della Mozilla Public License V.1.1 (MPL). La documentazione delprogetto Firebird ` rilasciata sotto licenza Public Documentation License salvo ediversamente indicato. La licenza Public Documentation License definisce leregole come la Mozilla Public Licese, solo che si occupa di documentazione enon di codifica.6 Modello di BusinessLo sviluppo del progetto Firebird avviene tramite un team ristretto di sviluppa-tori coadiuvati da una comunit` molto sviluppata. Il sostentamento del progetto aavviene tramite donazioni e sponsorizzazioni gestite dalla fondazione (vedi para-grafo 6.1). Il software viene distribuito gratuitamente a tutti gli utenti (e alleaziende). Se si necessita di supporto di tipo professionale si pu` far affidamento oad alcune aziende che coprono aree diverse del mondo e che sono sponsor del-la fondazione Firebird. Inoltre ogni utente se vuole apportare delle modificheo delle migliorie pu` farlo sottoponendo poi il lavoro effettuato e ovviamente orispettando le regole di codifica e test previste dal progetto.6.1 Firebird FoundationLa fondazione Firebird ha il compito di gestire le risorse per l’avanzamento delprogetto. Il comitato di gestione viene eletto nell’assemblea generale annuale eper l’anno in corso gli eletti sono: • Presidente : Philippe Makowski (FR) • Vice Presidente : Steve Summers (US) • Tesoriere : Raymond Cl´roux e • Segretario : Helen Borrie (AU) • Comitato : Paul Beach (FR), Pavel Cisar (CZ), Fabio Codebue (IT), Ste- fan Heymann (DE), Alexey Kovyazin (RU), Olivier Mascia (BE), Thomas Steinmaurer (AT)La fondazione ` composta da svilupparoti, utenti e compagnie di varie dimen- esioni. Tutte le componenti lavorano insieme come parte integrante di una or-ganizzazione non-profit e questo garantisce che lo sviluppo del software opensource Firebird sia continuo. Le quote che vengono pagate dai membri hannoun ruolo importante nel finanziamento dello sviluppo del motore di Firebird. Al-la fondazione si pu` contribuire tramite membership, sponsorship o altre forme odi contributo minori. La membership prevede due differenti quote: 7/17
  8. 8. • Voting members : paga $300 all’anno • Associate members : paga $50 all’annoPer la sponsorship si guadagna un posto nella pagina degli sponsor. Ci sonodiverse modalit` di sponsorship elencate in seguito: a • Platinum : pi` di $1000 al mese o una donazione dai $12000 in su u • Gold : dai $500 ai $1000 al mese o una donazione da $6000 a $11999 • Silver : dai $175 ai $499 al mese o una donazione da $2000 a $5999 • Bronze : dai $75 ai $174 al mese o una sonazione dai $900 ai $1999 • Percentuale delle vendite : Per ogni prodotto venduto una percentuale viene donataIl terzo modo per contribuire al progetto ` quello di effettuare donazioni che epossono essere in denaro ma anche in risorse. Alcuni casi di donazioni effet-tuate riguardano server di hosting, mackbook per lo sviluppo e il test per lapiattaforma MacOS X, accesso a risorse aziendali per migliorare lo sviluppo diFirebird.7 Processo di sviluppoLa realizzazione del sistema Firebird avviene attraverso lo sviluppo di un certonumero di sottoprogetti, analizzati in seguito. Per seguire lo sviluppo dei proget-ti ` sufficiente aprire il link http://firebird-checkins.123651.n3.nabble. ecom/ che rappresenta un archivio della mailing list.7.1 Firebird ServerLo sviluppo di questa parte si pu` seguire al sito http://www.firebirdsql. oorg/en/server/ dove vengono date le istruzioni per seguire gli aggiornamentidelle versioni stabili, cio` le serie 2.0.x, 2.1.x e 2.5.x. Inoltre ` presente una e esezione per lo sviluppo della versione 3.0 che viene annunciata come una versionericca di caratteristiche annunciate da tempo che miglioreranno ulteriormente illavoro fin qua svolto.7.2 Quality AssuranceQuesta sezione riporta indicazioni e metodologie per il controllo della qualit`. aLe informazioni presenti sono: 8/17
  9. 9. • Metodologie e Tool utilizzati in Firebird QA • Come segnalare un bug • Come utilizzare la Firebird Test Suite • Come progettare nuovi test per Firebird • Come implementare nuovi test per Firebird • Lista dei Test • Ultimi report dagli sviluppatori7.3 DocumentazioneAnche per la stesura della documentazione ci sono delle regole predefinite darispettare. Sono presenti le direttive impartite dalla conferenza di Firebird e gliHowTo in quattro lingue (inglese, spagnolo, italiano e portoghese brasiliano).Vengono anche fornite le guide per la stesura delle guide in italiano e portogh-ese brasiliano. Inoltre vengono illustrate le parti della documentazione che insviluppo e quelle che saranno sviluppate.7.4 JDBC, ODBC, Python DriverVengono fornite le direttive e lo stato dei lavori dello sviluppo dei driver perJDBC, ODBC e Python.7.5 .NET ProviderIL data provider .NET ` scritto in C# e provvede all’implementazione delle efunzionalit` GDS32/API. Le componenti del progetto (dal sito web http:// awww.firebirdsql.org/en/development-net-provider/ sono: • ADO.NET Data Provider – ADO.NET Standard classes implementation – Firebird GDS implementations for the Super Server, Classic Server, Embedded Server and Fyracle External Procedure Engine – Firebird Services API implementation – Firebird Events implementation – ISQL script support • Entity Framework support 9/17
  10. 10. – Support for ADO.NET Entity Framework • ASP.NET Web Providers – Membership Provider – Profile Provider – Role Provider – Session State Store Provider • Data Designer Extensibility (DDEX) Provider. – Provides integration inside Microsoft Visual Studio 2005 • Fyracle External Engine implementation for the .NET CLR8 Community8.1 Team di FirebirdIl team di sviluppo (principale) ` composto da 5 persone: e • Dmitry Yemanov : responsabile ricerca e sviluppo, ottimizzazione e statis- tiche, path per accesso dati e algoritmi • Alex Peshkov : mantenimento del build Linux, POSIX, Sicurezza e ar- chitettura OSRI • Vladyslav Khorsun : page cache manager, Dynamic SQL, Ricerca Full Text • Adriano dos Santos Fernandes : Internazionalizzazione, estensioni DDL e DML, built-in delle funzioni SQL, routine esterne, integrazione Java e controllo del codice • Claudio Valderrama : Sviluppo Misc, ricerca bug, utilit` da linea di a comando e controllo del codiceQuello elencato ` il team principale, poi ci possono essere contributi da parte edella comunit` e di singoli sviluppatori, l’importante ` che vengano seguite le a eregole poste ed esposte nella sezione 10 10/17
  11. 11. 8.2 Portali NewsDi seguito vengono riportati i siti internet dove reperire notizie e novit` relative aal progetto Firebird. Quelli elencati sono i siti riconosciuti (e noti) dal progettoFirebird. • FirebirdSQL newsline ufficiale http://www.firebirdsql.org/en/news/ • Firebird News http://www.firebirdnews.org/ • Newsline alla IBPhoenix.com http://www.ibphoenix.com • FirebirdSQL Twitter http://twitter.com/firebirdsql • FirebirdSQL Pagina Facebook http://www.facebook.com/pages/FirebirdSQL/ 46546452369 • Campagna MindTheBird e News http://www.mindthebird.com • IRC Chat — Canale IRC #firebird su freenode.net http://freenode. net/ • Gruppo Firebird su identi.ca http://identi.ca/group/firebird • Gruppo Firebird su LinkedIn http://www.linkedin.com/groups?gid= 14670978.3 Siti NazionaliSono presenti alcune comunit` nazionali (o linguistiche) per gli utilizzatori di aFirebird, riportate di seguito. • Firebird Messico Community Site http://www.firebird.com.mx/ • Firebird Giappone Community http://tech.firebird.gr.jp/firebird/ index.php?firebird_xsite=0 • Firebird Italia http://firebirdsql.it/ • Firebird Romania Community http://firebirdsql.ro/ • Firebird Cina Community http://firebird.net.cn/ • iBase.ru (sito Firebird e InterBase) http://www.ibase.ru • Firebird Brasile http://www.firebase.com.br/ • Repubblica Ceca IBPhoenix www.ibphoenix.cz • Firebird Francia http://firebird.developpez.com/ 11/17
  12. 12. • Comunit` Firebird di lingua portoghese http://www.comunidade-firebird. a org/8.4 Mailing listCome per i siti nazionali anche nelle mailing list sono presenti gruppi di diversenazionalit` e ambiti applicativi. Di seguito un elenco completo delle mailing list adisponibili divise per localit` e tematiche di interesse, cos` come ` strutturato il a ı eprogetto Firebird. • Firebird support (in inglese) • Firebird per lingua Ceka • Firebase Brasile (in portoghese) • Firebird Russia • Firebird support (in francese) • Delphi Forum Turchia • Firebird support (in spagnolo) • Firebird Python • Firebird Java • IBObjects • Firebird PHP • Firebird Docs • Firebird Checkins • Firebird Architet • Firebird Test • Firebird Website • Sviluppatori FlameRobin • Firebird General • Firebird Tools • Firebird Applications 12/17
  13. 13. 9 Strumenti di gestione dell’informazionePer seguire gli sviluppi del progetto e per utilizzare il prodotto finale Fire-bird mette a disposizione una serie di servizi per l’utente e per le aziende,sia in maniera gratuita (quasi tutti i servizi) che a pagamento (il supportoprofessionale). Di seguito verranno analizzati i vari metodi di supporto degliutenti.9.1 DocumentazioneLa documentazione del progetto ricopre la parte principale dell’informazionea favore degli utenti del prodotto. La documentazione ` divisa per livelli di edifficolt` ed interesse, si va infatti dalla guida Quick Start fino ad articoli aper esperti, ricoprendo tutti gli aspetti di Firebird.Tutta la documentazionepu` essere reperita online partendo dal sito http://www.firebirdsql.org/ oen/documentation/. Di seguito verranno esposte le sezioni rilevanti che vannoa comporre la documentazione finale.9.1.1 Release NotesOgni release di Firebird ` accompagnata dalle Release Note, un documento che econtiene la descrizione di nuove funzionalit` e dei bug risolti. a9.1.2 Reference ManualsIl Reference Manual ` il documento che contiene la guida Quick Start per i nuovi eutenti e alcune guide per specifici argomenti.9.1.3 White papers e presentazioniEsiste una raccolta di white papers e presentazioni che riguardano argomenticorrelati con Firebird. Sono presenti in questa sezione anche le presentazionidelle conferenze Firebird svolte in tutto il mondo.9.1.4 FAQLa sezione delle FAQ contiene risposte a domande frequenti della comunit` in aInglese, Russo, Portoghese ed altre lingue.9.1.5 LibriSono presenti anche alcuni libri che parlano di Firebird e dei suoi aspetti, nellasezione viene indicato il tema e come acquistarli. 13/17
  14. 14. 9.1.6 Documentazione DriverQuesta sezione contiene documenti e link a documentazione relativa ai driverper Firebird.9.1.7 Documentazione esternaQuesta sezione raccoglie una collezione di articoli vari che trattano l’argomentoFirebird.9.2 Supporto alla communityIl supporto dato dalla comunit` avviene in maniera gratuita attraverso le mail- aing list (vedi paragrafo 8.4). Le mailing list non vengono moderate ma vieneapplicata la regola three strikes and you’re out. Quindi si viene cacciati dopo treinfrazioni al regolamento. Viene vietato il flaming, lo spam, la monopolizzazionedella discussione e l’eccessivo requoting. Viene richiesto di firmarsi con il pro-prio nome, e non con un nickname. Si incorre in ban se si pubblicano nicknamecon offese o con indirizzi email. Viene inoltre punita la pubblicit` di qualsiasi atipo con il ban immediato. Viene inoltre richiesto agli utenti, per migliorare ilcompito di chi risponder`, di fare domande intelligenti, quindi che ad esempio, acome oggetto non abbiano bug oppure problema, che sia riportata la versione e ilmodello di Firebird e il sistema operativo ed inoltre che linguaggi si stanno uti-lizzando o che interfacce di accesso dati sono usate dall’applicativo client. Vienefornita una pagina web dove si spiega cosa si intende per domanda intelligentea questo url http://www.catb.org/~esr/faqs/smart-questions.html9.3 Supporto professionaleIl supporto professionale ` eseguito da cinque aziende che operano in diversi estati. • IBPhoenix • IBSurgeon • iBase • P-Soft • FireBaseOgni azienda che da supporto professionale sull’utilizzo di Firebird fa parte delleaziende sponsor che rispettano i requisiti della sezione 6.1. 14/17
  15. 15. 10 Strumenti di gestione dello sviluppoPer poter sviluppare un progetto bisogna dotarsi di regole condivise e rispet-tate e di strumenti facilmente reperibili. Vengono quindi definite delle regoleper la stesura del codice, della documentazione, dei test e dei report. Il codicesorgente risiede in un repository SVN ospitato su SourceForge.net all’indiriz-zo http://sourceforge.net/scm/?type=svn&group_id=9028. Nel repositorysono presenti tre cartelle, branches, tags e trunk. Branches contiene il codicedelle release ufficiali della serie, tags di tutte le release pubblicate, trunk invececontiene il codice delle versioni future che si stanno sviluppando.10.1 Coding StyleLe regole di codifica del progetto sono quelle definite dal C++ ProgrammingStyle Guideness (http://geosoft.no/development/cppstyle.html) con al-cune modifiche riportate comunque nel sito principale. Sono state scelte questeregole perch` sono quelle riconosciute dalla comunit` di sviluppatori in C++. e a10.2 Compilazione CodicePer compilare il codice sulle piattaforme Windows e Posix sono presenti leistruzioni dettagliate e l’elenco di software dettagliato. Nel repository sonopresenti degli script per determinate piattaforme che servono alla corretta com-pilazione del software nel proprio ambiente.10.3 Issue TrackerL’issue tracker ` un applicativo che gli utenti e gli sviluppatori utilizzano per erimanere aggiornati sui bug, sulle varie richieste di miglioramenti su cui i membridel progetto lavoreranno per risolverli. Il progetto Firebird utilizza JIRA issuetracking sofwtare per questo proposito. Il Firebird tracker si trova all’indirizzohttp://tracker.firebirdsql.org/10.4 Contributing PatchesAffinch` un contributo da parte di un utente venga accettato deve seguire alcune eregole. • Preparazione : per prima cosa bisogna verificare l’ambito in cui si vuole apportare una modifica, sia essa una novit` o soluzione a un bug. Bisogna a quindi cercare nel project issue tracker l’argomento scelto e contattare la persona di riferimento, in modo da essere aggiornati sullo stato dell’arte. 15/17
  16. 16. • Sviluppo : per lo sviluppo bisogna cercare il metodo migliore di im- plementare l’argomento scelto, senza esitare a contattare la mailing list appropriata. Per sviluppi importanti ` raccomandato condividere i propri e progetti prima di iniziare l’implementazione. Ogni soluzione dev’essere sviluppata seguendo le regole di codifica e la struttura architetturale. In- oltre bisogna prevedere i possibili comportamenti con piattaforme diverse o interazione con altre funzionalit`. a • Test : il primo test deve riguardare la corretta compilazione su tutte le piattaforme che si hanno disponibili. Inoltre i test possono essere svolti tramite la suite QA ufficiale. • Pubblicazione : una volta effettuati i passaggi precedenti bisogna postare nella mailing list corrispondente una descrizione dettagliata di quello che si ` fatto ed allegare anche la patch sviluppata. In seguito bisogna parteci- e pare alla discussione rispondendo alle annotazioni fatte dagli utenti. Una volta approvata la soluzione la versione finale va allegata al tracker ticket appropriato.10.5 TestPer i test, come detto, viene messa a disposizione la QA suite. Le regole perassicurare la qualit` vengono esposte nel paragrafo 7.2 mentre di seguito vengono aillustrati alcuni strumenti per ottenere i risultati.10.5.1 Firebird Test SuiteLa Firebird Test Suite utilizza due sistemi di test. Il primo detto TCS, ri-lasicato dalla Boreland insieme a InterBase ` composto da 390 test di vario etipo. Attualmente ` poco utilizzato perch` deprecato. Il secondo metodo ` e e edetto QMTest. Tale tipologia di test ` open source e general-purpose, inoltre ` e ecross-platfotm. Sono state scritte delle estesioni per semplificare lo sviluppo ditest. All’url http://www.firebirdsql.org/en/firebird-test-suite/ sonopresenti le istruzioni dettagliate per effettuare un test completo e di vario tipo.10.5.2 Come progettare un nuovo testLa prima cosa da fare quando si vuole progettare un nuovo test ` identificare eper bene cosa si vuole testare. Risulta quindi importante controllare la listadi test disponibili per vedere se qualcuno non abbia gi` creato il test. In caso anon sia presente bisogna contattare la mailing list Firebird-test e comunicarela propria intenzione di sviluppare un test. Le linee guida che vengono dettateriguardano la semplicit` del test, con alcuni esempi pratici di come mantenere a 16/17
  17. 17. semplice la prova. Infatti con una prova semplice si riesce pi` facilmente a urisolvere il problema. Una volta progettato il test si pu` implementare con oQMTest oppure sottomettere al gruppo di sviluppo seguendo alcune regole diredazione, per semplificare la comprensione da parte del ricevente.11 Riferimenti • http://www.firebirdsql.org/ • http://www.firebirdnews.org/ • http://firebirdsql.it/ • http://it.wikipedia.org/wiki/Firebird_SQL • http://en.wikipedia.org/wiki/Firebird_(database_server) 17/17

×