
Internet è sempre di più il punto centrale nelle comunicazioni, nei media e sta diventando anche l’ infrastruttura su cui si baseranno le future applicazioni business. Quindi, potremmo chiederci, quale sarà la base tecnologica su cui tutto si baserà? La parola chiave è sempre di più: Web application.
Le Web application sono strategie e politiche aziendali implementate sul Web attraverso l’uso di servizi utente (presentazione), logiche di business e substrato di dati. Questi strumenti sono il futuro. In questo articolo analizzeremo le fasi essenziali del ciclo di vita di un progetto di applicazione Web. Per prima cosa, però, facciamo una breve panoramica delle applicazioni Web.
Chi ha bisogno di applicazioni Web e perché?
Esistono molte entità che richiedono applicazioni per il Web: un esempio potrebbe essere l’interazione tra imprese. Molte aziende nel mondo oggi richiedono di intrattenere rapporti commerciali su reti sicure e private. Questo processo sta diventando sempre più popolare con molte società estere che si affidano a progetti in outsourcing. Dal semplice processo di trasferimento di fondi in un conto bancario, all’implementazione di una rete di servizi Web su larga scala che aggiorna le informazioni sui prezzi a livello globale, l’adozione di un’infrastruttura di applicazioni Web è vitale per molte aziende.
Il modello di applicazione Web
Il modello di applicazione Web, come molti modelli di sviluppo software, è costruito su 3 livelli: Servizi utente, Servizi business e Servizi dati. Questo modello suddivide un’applicazione in una rete di consumatori e fornitori di servizi. Il livello Servizio utenti crea un gateway visivo per consentire al consumatore di interagire con l’applicazione. Questo può variare da HTML e DHTML di base a componenti COM complessi e applet Java. I servizi utente prendono quindi la logica e le procedure aziendali dai Servizi di business. Questo livello può variare dallo script Web in ASP / PHP / JSP alla programmazione lato server come TCL, CORBA e PERL, che consente all’utente di eseguire azioni complesse attraverso un’interfaccia Web. Il livello finale è il livello del Servizio dati. I servizi dati archiviano, recuperano e aggiornano le informazioni ad alto livello. Database, file system e supporti scrivibili sono tutti esempi di dispositivi di archiviazione e recupero dei dati. Per le applicazioni Web, tuttavia, i database sono i più funzionali. I database consentono agli sviluppatori di archiviare, recuperare, aggiungere e aggiornare informazioni categoriche in modo sistematico e organizzato.
Scegliere il progetto giusto
La scelta dei giusti tipi di progetti su cui lavorare è una parte estremamente importante del piano di sviluppo delle applicazioni Web. Valutare le risorse, le competenze tecniche e la capacità di deployment dovrebbe essere il primo obiettivo. Prendendo in considerazione i 3 livelli è necessario elaborare un elenco, un vero e proprio piano, di tutte le risorse disponibili che possono essere assegnate per categoria e tipologia a ciascun livello. Una considerazione basilare è il costo ed il ritorno dell’ investimento. Queste sono le domande a cui rispondere prima di iniziare qualsiasi progetto relativo alle Web application
Diamo un’occhiata a un esempio. Una società chiamata XXX deve sviluppare un’applicazione Web che visualizzi le informazioni sulle vendite create da diversi agenti di vendita. I dati vengono aggiornati quotidianamente attraverso un processo completamente automatizzato da tutti e 3 i livelli di servizio. Il client indica che l’intero progetto deve essere eseguito nel server ASP / SQL e che è necessario ospitare anche l’applicazione. Dopo aver valutato tutte le risorse, si arriva alla conclusione che la società non è in grado di eseguire backup dei dati su base giornaliera. Dopo ulteriori discussioni, ci si rende conto che questa è una parte molto importante dell’installazione di XXX per il suo cliente e XXX non può rischiare con un progetto di questo tipo. È molto probabile che la prossima volta XXX sarà più preparata, per ora però XXX rifiuta il lavoro e consiglia qualcun altro che ha le capacità per farlo subito.
Le fasi in un progetto di applicazione Web
Il processo di sviluppo delle applicazioni Web prevede 4 fasi:
Definire la natura e la direzione del progetto
Elaborare il piano
Sviluppo
Test, supporto e affidabilità
Diamo un’occhiata a ciascuno di queste in modo più dettagliato.
Definire la natura e la direzione del progetto
In questa fase, la direzione e gli sviluppatori assegnati al progetto si riuniscono e stabiliscono gli obiettivi che la soluzione deve raggiungere. Ciò include il riconoscimento delle limitazioni poste sul progetto, la pianificazione e il controllo delle versioni dell’applicazione. Entro la fine di questa fase, dovrebbe esserci una documentazione chiara su ciò che l’applicazione otterrà.
Elaborazione del piano
In questa fase, tu e il tuo team dovete determinare i “come” dell’applicazione. Quale linguaggio di scripting è più appropriato, quali funzionalità devono essere incluse e quanto tempo ci vorrà? Queste sono alcune delle domande a cui è necessario rispondere durante questa fase di pianificazione. Le principali variabili a questo punto sono il piano di progetto e le specifiche funzionali. Il piano di progetto determina un arco temporale di eventi e attività, mentre le specifiche funzionali delineano in dettaglio come funzionerà e scorrerà l’applicazione.
Sviluppo
Una volta che il piano di progetto e le specifiche funzionali sono pronti, viene stabilita una linea di base per iniziare il lavoro di sviluppo. Il programmatore / i o gli sviluppatori Web iniziano a codificare, testare e pubblicare i dati. Questa fase stabilisce le variabili dei dati, le entità e le procedure di codifica che verranno utilizzate per il resto del progetto. Un documento viene preparato dal team di sviluppo, che viene quindi consegnato alla direzione per la revisione.
Test, supporto e affidabilità
La fase di stabilità del progetto applicativo si concentra principalmente sui test e sulla rimozione di bug, discrepanze e problemi di rete che potrebbero altrimenti causare il fallimento dell’applicazione. È qui che vengono stabilite politiche e procedure per un sistema di supporto efficace.
Individuare le possibili opzioni e usarle nel migliore dei modi
Ok, ora che hai una comprensione dell’architettura e delle procedure alla base dello sviluppo di applicazioni Web, diamo un’occhiata a quali opzioni tecniche dovresti considerare per il processo di sviluppo stesso.
Server Web Windows
Microsoft ha costruito una base di clienti fedeli su un fattore importante: il suo software di facile utilizzo. I server Web Windows NT / 2000 / XP sono molto veloci e facili da amministrare. Il fatto che il sistema operativo sia una shell di Windows significa che amministratori e autori possono facilmente consentire al server Web di interagire con altre applicazioni software e hardware per trasmettere e ricevere dati su Internet. I linguaggi di scripting lato server più utilizzati con i server Windows sono ASP / ASP. net, Java Server Pages e PHP.
Server Web UNIX / Linux
Linux è noto da tempo per la sua affidabilità. È un server Web e un sistema operativo potenti e robusti. Linux è il server preferito da molti siti Web su larga scala che richiedono sistemi di gestione dei contenuti o che ricevono un volume di traffico estremamente elevato. I linguaggi di scripting lato server più diffusi per Linux sono Java Server Pages, PERL, PHP e CORBA
Ogni linguaggio di scripting ha i suoi pro e contro. Si userà il modello ASP come linguaggio di illustrazione. Quando si lavora con server Windows, ci sono diversi parametri importanti che lo sviluppatore deve inserire nell’equazione, tra cui sicurezza, scalabilità, velocità e progettazione dell’applicazione. Di seguito ti aiuterò a formulare un piano di successo per realizzare tutti i tipi di progetti Web.
Pianificazione di un progetto di sviluppo Web di successo
Al fine di ridurre drasticamente il rischio di fallimento del progetto è necessario affrontare i progetti di sviluppo delle applicazioni nella sequenza seguente.
1. Identificare le logiche e le entità aziendali
Inizia raccogliendo informazioni su tutto ciò che hai. Se si intende lavorare con i database, iniziare elencando quante entità verranno utilizzate nella logica aziendale. Ad esempio, se il programma implementa i dati di vendita, un ticket di vendita sarebbe un’entità.
Dopo aver identificato tutte le tue entità, stabilisci una chiara linea guida per le loro relazioni. Questo può essere fatto tramite presentazioni, diagrammi di flusso o persino report.
2. Creare una specifica funzionale e un piano di progetto
Questa parte, secondo me, è la parte più importante del progetto. Le specifiche funzionali (o specifiche funzionali) sono una mappa o un modello per come si desidera che una particolare applicazione Web appaia e funzioni. Le specifiche descrivono in dettaglio cosa farà il prodotto finito, l’interazione dell’utente e il suo aspetto.
Un vantaggio di scrivere una specifica funzionale è che semplifica il processo di sviluppo. Prende le discrepanze e le congetture dal processo di programmazione, perché il livello di dettaglio che entra nel piano consente di ridurre al minimo l’incomprensione che di solito è associata agli incidenti del progetto.
Una volta terminate le specifiche funzionali, è necessario elaborare un piano di progetto. Un piano di progetto è una sequenza temporale di attività ed eventi che avranno luogo durante il progetto. Il responsabile del progetto o del programma è normalmente la persona che crea un piano di progetto e il loro obiettivo principale è quello di dettagliare le note dell’attività mentre è in grado di accogliere informazioni sulla pianificazione e sulle risorse.
3. Analizzare il modello di applicazione
Come discusso in precedenza, il modello di applicazione è composto da 3 livelli: i livelli di servizio Utente, Business e Dati, ognuno dei quali ha uno scopo sostanziale.
In pratica, è sempre meglio iniziare con il livello dati, perché hai già identificato le tue entità e comprenderne le relazioni. Il livello dati può essere un database SQL Server, un file di testo o persino il potente e robusto Oracle. Crea tabelle, relazioni, lavori e procedure a seconda della piattaforma che hai scelto. Se i dati sono un magazzino (ovvero i dati esistono già e non dipendono dall’interazione in tempo reale), assicurarsi che i dati nuovi e aggiuntivi possano essere aggiunti in modo sicuro e scalabile.
Un breve consiglio: l’utilizzo delle viste in SQL server / Oracle può migliorare notevolmente la produttività e le prestazioni dell’applicazione. Aumentano la velocità perché sono “query memorizzate” che non hanno un’esistenza fisica.
Il livello business, è il cuore dell’applicazione. Implica l’implementazione della logica aziendale nel linguaggio di programmazione o di scripting.
A questo punto, assicurati di aver già impostato il tuo ambiente per i test e il debug. Testare sempre su almeno 2 istanze nell’applicazione, dopotutto, ciò che potrebbe funzionare perfettamente per te, potrebbe non funzionare così bene su altre piattaforme o macchine. ASP, XML, PHP, JSP e CGI sono alcuni esempi di linguaggi di scripting lato server utilizzati a livello di servizio aziendale. Qualunque lingua tu scelga, assicurati che sia in grado di gestire tutta la logica aziendale presentata nelle specifiche funzionali.
L’ultimo è il livello utente, che è assolutamente vitale per gli elementi interattivi e strategici nell’applicazione. Fornisce all’utente una interfaccia visiva per il servizio aziendale posizionando immagini, icone, elementi grafici e di layout in aree strategiche di interesse, più comunemente, sulla base di ricerche di gestione. Se svilupperai tu stesso il livello utente, assicurati di aver studiato la concorrenza. L’ultima cosa di cui hai bisogno è che la tua applicazione appaia esattamente uguale a quella di qualcun altro.