Domanda

Supponi di aver scritto un'applicazione WinForms basata su rete che dovrebbe essere eseguita in un "paranoico" ambiente a causa di politiche aziendali restrittive sul sito del cliente. Che tipo di restrizioni aveva questo ambiente ostile e che cosa hai fatto per progettare intorno a loro?

Alcuni esempi per cominciare:

  • Problema: esiste un firewall molto restrittivo che consente solo il traffico della porta 80 in uscita. Soluzione: utilizzare solo HTTP per eseguire il collegamento in rete.
  • Problema: il framework .NET non è consentito. Soluzione: trasforma la tua app in un'app Web.

Quali sono alcune delle restrizioni che hai dovuto affrontare nelle situazioni di vita dei clienti, come ad esempio nel software bancario (che in genere deve vivere in un ambiente particolarmente rigido)?

È stato utile?

Soluzione

Bene, la prima parte della domanda, non ne sono sicuro. Tuttavia, per quanto riguarda i punti elenco. È possibile eseguire il server sulla porta 80 e NON utilizzare HTTP ma il protocollo personalizzato. Inoltre, sicuramente il firewall consente SSL (443), potresti avvolgere il tuo protocollo anche in SSL. Per quanto non sia consentito il framework .NET, è possibile utilizzare PostBuild di Xenocode o simili "link statici" tipo di applicazione per .NET. Inoltre, per quanto riguarda le cose HTTP, potresti far comunicare la tua applicazione su HTTP ma usare i servizi Web e quindi fornire comunque un client avanzato.

Ecco un link a PostBuild:

https://secure.xenocode.com/Products/Postbuild-for- NET /

Altri suggerimenti

Le aziende che insistono per attenersi a IE6. Ciò può aggiungere un overhead completo se si tenta di aggirare le restrizioni con un'app Web.

Anche non dare ai propri utenti i diritti di amministratore per installare roba sul proprio computer è un grosso problema, come possono essere alcune impostazioni di sicurezza sul browser su cui potrebbero insistere.

È obbligatorio forzare tutto il traffico di rete attraverso la porta 80. E quindi richiedere un redirector sulla porta 80 per consentire a più applicazioni server di "ascoltare" su una porta perché l'apertura di un'altra porta sarebbe un "rischio per la sicurezza".

Probabilmente il problema più grande che troverai sono le aziende che non eseguono regolarmente Windows Update e non hanno accesso a Internet sui loro computer. I miei clienti sono così, ma poi devono esserlo.

Ciò significa che quando lanci il tuo software, devi sapere quale piattaforma .net ha, e dire loro di 'aggiornare all'ultimo' non è sempre un'opzione. È un vero problema installare gli aggiornamenti senza Internet, su tutti i desktop, e distribuire tutte le versioni .net, i service pack e le patch MS. Quindi, se fornisci codice che richiede qualcosa che l'utente non ha, potresti doverlo riscrivere.

Essere costretti a svilupparsi in vecchi framework come .NET 1.1, 3 anni dopo il rilascio di .NET 2.0. Anche la disconnessione tra i team desktop e server. Il team desktop ha ritenuto che .NET fosse dannoso e insicuro, mentre il team del server ha avuto l'esatta reazione opposta e ha adorato .NET perché aveva la capacità di bloccare l'ambiente con le autorizzazioni di attendibilità.

Non puoi fare molto per cambiare la politica aziendale che è molto veloce. È un processo lento, molto lento, per convincerli ad accettare qualcosa di nuovo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top