Gli sviluppatori di software che realizzano sistemi applicativi aziendali affrontano una serie di sfide difficili, comprese fusioni e ristrutturazioni aziendali, che aumentano la complessità limitando le risorse; reti più ampie ed economiche che offrono una maggiore connettività creando nuove vulnerabilità; e telefoni cellulari e tablet che offrono nuova libertà e usabilità, ma cambiano il modo in cui gli sviluppatori creano software.
sfondo
I sistemi applicativi aziendali, o EAS, gestiscono e supportano i processi aziendali principali delle grandi aziende. Questi sistemi gestiscono operazioni, produzione, risorse umane e finanze. In una compagnia di assicurazioni, questi sistemi tracciano i titolari di polizze, inviano la fatturazione e pagano i reclami. In un college, tengono traccia delle iscrizioni degli studenti, programmano le lezioni e distribuiscono l’apprendimento online. Il software risiede su più server e database, è distribuito in vaste aree geografiche, può supportare migliaia di dipendenti e fornisce pagine Web a milioni di clienti.
Complessità
In tempi turbolenti, le esigenze aziendali cambiano rapidamente e l’EAS deve adattarsi rapidamente per soddisfare i nuovi requisiti. Ad esempio, se una società ne assorbe un’altra, l’EAS deve quindi supportare entrambe le organizzazioni, collegando due distinti modelli di business. Un altro esempio è la legislazione come l’Affordable Care Act, che altera drasticamente il modo in cui le aziende sanitarie fanno affari e il loro EAS deve adattarsi a queste nuove pratiche. Allo stesso tempo, i CIO sono spesso costretti a supportare nuove richieste con meno personale e fondi. Il cloud computing può offrire potenza di elaborazione scalabile e adattiva e metodologie agili possono rendere le risorse di sviluppo più reattive, ma nello sviluppo aziendale qualsiasi scorciatoia può essere mortale.
Sicurezza
La maggior parte dei sistemi EAS vive su Internet e sono esposti alle stesse vulnerabilità che hanno smantellato anche i migliori siti di e-commerce. La sicurezza inizia all’interno del software applicativo, convalidando tutti gli input dell’utente per mantenere l’integrità dei dati mentre si combattono gli attacchi di iniezione. La comunicazione tra i server deve essere crittografata per garantire la privacy e i firewall tengono lontani gli intrusi e i dati sensibili. Una delle risorse più importanti di cui un’organizzazione possiede sono i dati aziendali e la protezione di questa risorsa è il ruolo più importante di qualsiasi sistema EAS.
Mobilità
I dati aziendali non sono più limitati all’ufficio, poiché i dati si stanno spostando sul Web dove i clienti possono fare affari nei propri uffici o da casa. Con i dispositivi mobili, è possibile accedere ai dati ovunque e in qualsiasi momento della giornata e le aziende che non possono offrire servizi mobili possono perdere i propri clienti a causa di concorrenti più accessibili. Lo sviluppo mobile richiede una nuova infrastruttura Web e sviluppatori in grado di creare app più semplici e mirate. Oltre a nuovi linguaggi e tecnologie, lo sviluppo mobile richiede nuovi modi di pensare all’interazione dell’utente. Ad esempio, mentre i sistemi desktop offrono schermi di grandi dimensioni con molti dati e grandi set di funzionalità, mentre i dispositivi mobili devono essere mirati strettamente con semplici interfacce utente personalizzate per i singoli utenti. Questo cambiamento è ancora più difficile per gli sviluppatori aziendali che sono abituati a supportare applicazioni di grandi dimensioni.