Image



  • Gestione contenuti
    Quick Search

    »

    Advanced Search »
Di seguito una descrizione degli strumenti che utilizziamo per svolgere il nostro lavoro:

Table of Contents [Hide/Show]


Tool di Automazione
   Build Tool
       NAnt
       MSBuild
      Rake
   Continous Integration
       CruiseControl.NET
       CI Factory
       Final Builder
       Team Foundation Server
       TeamCity
   Evolutionary Databases Deployment
       ToughtWorks DbDeploy.NET
       DbDeploy
       dbdeploy.NET
Tool di Supporto
   Inversione di Controllo
       Castle Windsor
       Spring.NET
       autofac
       StructureMap
       Ninject
       Unity
   Framework web MVC
       MonoRail
         PRO:
         CONTRO:
       ASP.Net MVC Framework
Tool di Automazione
   Build Tool
       NAnt
       MSBuild
      Rake
   Continous Integration
       CruiseControl.NET
       CI Factory
       Final Builder
       Team Foundation Server
       TeamCity
   Evolutionary Databases Deployment
       ToughtWorks DbDeploy.NET
       DbDeploy
       dbdeploy.NET
   Source control
       CVS
       Subversion
       Visual Source Safe
       Team Foundation Server
       GIT
       Mercurial
   Scrum product backlog
       PivotalTracker
Altri Tool
   Evolutionary Databases - Design and Deployment
       MIGRATEdb
       LiquiBase
       ActiveRecordMigration
       SubSonic Migrate
       RikMigrations
       Migrator.NET
       DbVerse
   Non Relational Db


Vedi i Tool di automazione Vs tool di supporto.


Tool di Automazione



Build Tool

NAnt



NAnt è un tool gratuito basato su .NET ed ha molti vantaggi rispetto ad altri tool simili tanto da essere considerato IL tool. Innanzitutto NAnt è platform independent e puo' essere installato ed eseguito su qualunque sistema per cui esista un'implementazione di .NET. Inoltre invece di processare file di configurazione contenenti comandi basati sulla shell (che sono dipendenti dal sistema) NAnt processa file i cui comandi sono descritti in XML rendendo semplice il porting dei progetti su altri sistemi. Per la sua flessibilità è alla base degli strumenti di Continous Integration essay download.

MSBuild

...

Rake

...

Continous Integration

Cos'è la Continous Integration....

Un confronto tra i vari strumenti disponibili è disponibile qui: Confronto tra i tools

CruiseControl.NET

è una suite di applicazioni ma il suo cuore è il servizio CruiseControl.NET che è un server per l'integrazione automatica dissertation. Il server monitora costantemente l'archivio dei sorgenti. Ogni volta che uno sviluppatore invia nuove modifiche, il server avvia una build automatica per validare le nuove modifiche.Al termine gli sviluppatori con un messaggio con l'esito della build.

CI Factory

web design web development and webthesurfi rugs webdesign può essere definito come una versione "customizzata" di CruiseControl.Net per neofiti. L'autore seguendo il paradigma "Convention over Configuration" propone una soluzione veloce per chi si vuole avvicinare facilmente alla Continous Integration.

Final Builder

......

Team Foundation Server

....

TeamCity

....

Evolutionary Databases Deployment

Meccanismo di update basato su script SQL:

ToughtWorks DbDeploy.NET

- use ActiveRecord Migrations pattern
- You can use other approaches if you have an ORM and you haven't released to production yet.
- You shouldn't use this pattern When you have a huge legacy database

DbDeploy

- use SQL delta scripts
shared web hosting email hosting best hosting - for developers or DBAs who want to evolve their database design - or refactor their database
- to build development, QA, UAT (User Acceptance Testing) and production environments
- see also http://dbdeploy.com/wp-content/uploads/2007/05/taking-control-of-your-database-development.pdf custom paper



dbdeploy.NET

...

Tool di Supporto



Inversione di Controllo

C'è stato un grandissimo interesse nella comunità Java riguardo i professional resume service de lightweight container che permettono di assemblare componenti di differenti progetti dentro ad un'applicazione unica. Alla base di questi container c'è un pattern comune su come essi implementano il collegamento, un concetto espresso sotto il termine generico di "Inversione di Controllo".
Martin Fowler a riguardo ha scritto un'eccelente articolo.
Per un confronto dettagliato (non ancora completo) delle funzionalità dei framework elencati vedere IoC Benchmarking

Castle Windsor

è l'implementazione del pattern inversion of control (IoC) realizzata dal team castle grazie al quale lavora il noto framework Monorail per realizzare applicazioni web usando il pattern MVC.

Spring.NET

è il porting in .Net di un lightweight container Java, che permette di implementare facilmente il pattern inversion of control (IoC) nelle nostre applicazioni .Net.

autofac

...

StructureMap

...

Ninject

...

Unity

...

Framework web MVC

......

MonoRail

Si differenzia dal modo di sviluppo standard tramite WebForms perchè rafforza la separazione dei concetti.Solo il controller gestisce il flusso dell'applicazione, il model rappresenta i dati e la view si occupa solo di presentarli.Di conseguenza si scrive meno codice ed il risultato finale è un'applicazione più manutenibile.Anche se il progetto si chiama MonoRail, non ci sono legami con il progetto Mono. MonoRail gira sul on Microsoft .Net 1.1, 2.0 e Mono.

PRO:

  • modello di sviluppo semplificato
  • integrazione (opzionale) con activerecord
  • possibilità di gestire html, css e javascript in maniera "corretta" (niente stili iniettati e js dentro la pagina)
  • accesso ai framework html/js quali jquery ecc...
  • Testabile (Nunit/MsTest/MbUnit)
  • Separazione reale controller model e view
  • Possibili eventuali porting verso altri modelli di presentation (WinForm, WPF …) con “poco” sforzo.
  • Ci si prepara all’eventuale porting verso l’MVC di microsoft !!!
  • Forum e i gruppi google per il supporto sono molto attivi
  • Disponibile anche un supporto a pagamento

CONTRO:

  • perdita del designer delle pagine di ASP.NET
  • impossibilità di usare la marea di controlli ASP.NET disponibili
  • Non molta documentazione al momento
  • Curva di apprendimento delle risorse

ASP.Net MVC Framework

Da qualche tempo a questa parte Microsoft ha reso noto che sta lavorando ad un progetto di implementazione del pattern MVC per ASP.Net
Ad ogni non è ancora disponibile nessuna beta anche se bisogna dire che di questo framework si sa già molto perchè su vari blog di team manager e collaboratori Microsoft è già stato mostrato qualche esempio.
Lo strumento sembra promettere bene anche nella prima versione non dovrebbe esserci supporto per MS AJAX.

Tool di Automazione



Build Tool



NAnt

NAnt è un tool gratuito basato su .NET ed ha molti vantaggi rispetto ad altri tool simili tanto da essere considerato IL tool. Innanzitutto NAnt è platform independent e puo' essere installato ed eseguito su qualunque sistema per cui esista un'implementazione di .NET. Inoltre invece di processare file di configurazione contenenti comandi basati sulla shell (che sono dipendenti dal sistema) NAnt processa file i cui comandi sono descritti in XML rendendo semplice il porting dei progetti su altri sistemi webthesurfi rugs webdesign­. Per la sua flessibilità è alla base degli strumenti di Continous Integration.

MSBuild

...

Rake

...

Continous Integration

Cos'è la Continous Integration....

CruiseControl.NET

è una suite di applicazioni ma il suo cuore è il servizio CruiseControl.NET che è un server per l'integrazione automatica. Il server monitora costantemente l'archivio dei sorgenti. Ogni volta che uno sviluppatore invia nuove modifiche, il server avvia una build automatica per validare le nuove modifiche.Al termine gli sviluppatori con un messaggio con l'esito della build.

CI Factory

può essere definito come una versione "customizzata" di CruiseControl.Net per neofiti. L'autore seguendo il paradigma "Convention over Configuration" propone una soluzione veloce per chi si vuole avvicinare facilmente alla Continous Integration.

Final Builder

......

Team Foundation Server

....

TeamCity

....

Evolutionary Databases Deployment

Meccanismo di update basato su script SQL:

ToughtWorks DbDeploy.NET

- use ActiveRecord Migrations pattern
- You can use other approaches if you have an ORM and you haven't released to production yet.
- You shouldn't use this pattern When you have a huge legacy database

DbDeploy

- use SQL delta scripts
- for developers or DBAs who want to evolve their database design - or refactor their database
- to build development, QA, UAT (User Acceptance Testing) and production environments
- see also http://dbdeploy.com/wp-content/uploads/2007/05/taking-control-of-your-database-development.pdf



dbdeploy.NET

...

Source control

In informatica, il controllo versione è la gestione di versioni multiple di un insieme di informazioni. Viene usato prevalentemente nello sviluppo di progetti ingegneristici o informatici per gestire la continua evoluzione dei documenti digitali come il codice sorgente del software, i disegni tecnici, la documentazione testuale e altre informazioni importanti su cui può lavorare una squadra di persone. Le modifiche a questi documenti sono identificate incrementando un numero o un codice associato ad essi, denominato "numero di versione", "etichetta di versione", o semplicemente "versione", e sono etichettate con il nome della persona che ha apportato la modifica. Una semplice forma di controllo versione, per esempio, assegna il numero 1 alla prima versione di un disegno. Quando viene apportata la prima modifica, il numero di versione passa a 2 e così via. Gli strumenti software per il controllo versione sono sempre più riconosciuti essere necessari per la maggior parte dei progetti di sviluppo software.

CVS

Il Concurrent Versions System (CVS), conosciuto anche come Concurrent Versioning System, implementa un sistema di controllo versione: mantiene al corrente di tutto il lavoro e di tutti i cambiamenti in un insieme di file, tipicamente è l'implementazione di un software in via di sviluppo, in progetto, e permette a molti sviluppatori (potenzialmente distanti) di collaborare. CVS è divenuto popolare nel mondo del software libero ed è rilasciato sotto la GNU General Public License.

Subversion

(noto anche come svn, che è il nome del suo client a riga di comando) è un sistema di controllo versione progettato specificamente per sostituire CVS, che è considerato avere troppe carenze. Tra i client:
La versione 2.0 di AnkhSVN é un progetto free totalmente nuovo rispetto alla versione 1.5 e implementa il client SVN per Visual Studio come un SCC provider. I commenti generali della nuova versione sono positivi e per alcuni ha raggiunto e per altri superato il tool commerciale VisualSVN.

Visual Source Safe

è il sistema di controllo versione di Microsoft, il provider per l'utilizzo di tale SC è utilizzabile da tutti i prodotti Microsoft (visual Studio 6.0, Visual Studio 2003/2003/2005/2008) e sono anche disponibili plugin per IntelliJ Idea e Eclipse

Team Foundation Server

Meglio noto come TFS, L'ultimo nato di casa MicroSoft, consente di gestire l'intera LifeCycle dei progetti, dalla gestione dei requisiti all'assegnazione di Task al monitoraggio dei WorkItem su Portale Di Progetto sviluppato con Sharepoint Services. Mette a disposizione un Source Control Provider che permette policy di checkin customizzabili (ad esempio associare un checkin ad un workitem specifico), è disponibile anche una Versione Web per l'accesso al server da macchine che non hanno visual studio installato.

GIT

Distributed version control system, inizialmente sviluppato da Linus Torvalds per supportare lo sviluppo del Kernel di Linux. Grazie anche a GitHub, sta prendendo molto piede nella community di sviluppatori Ruby ma anche tra gli sviluppatori .NET, nonostante il supporto a Windows sia ancora primitivo se paragonato, per esempio, a SVN.

Mercurial

Altro distributed version control system sviluppato in Python, con feature simili a Git. Il tool TortoiseHg è stabile, maturo e non fa sentire la mancanza di TortoiseSVN in Windows. Mercurial è supportato anche da Google code. BitBucket è la controparte Mercurial di GitHub.

Scrum product backlog

PivotalTracker

...




Altri Tool



Evolutionary Databases - Design and Deployment



Meccanismo di update basato su file XML:

MIGRATEdb

...

LiquiBase

...

Meccanismo di update basato su file di codice:

ActiveRecordMigration

...

SubSonic Migrate

...

RikMigrations

...

Migrator.NET

Per un progetto in sviluppo stiamo usando questo:

http://code.google.com/p/migratordotnet/

Rispetto a dbdeploy, le migrazioni si scrivono Promotional ItemsCorporate Gifts seo in c# utilizzando un DSL indipendente dal DBMS. Questo rende le migration portabili e piu comode da sviluppare, ma a mio parere rende piu scomodo diagnosticare eventuali problemi di script.

DbVerse

DbVerse offers .NET development teams an iphone blog efficient and easy to use tool for database change management. It is primarily targeted at MS SQL Server environments.


Non Relational Db

Non Relational Db Great Articles………….. thank you

ScrewTurn Wiki version 3.0.2.509. Some of the icons created by FamFamFam.