Domanda

Sto cercando di esporre i miei librerie .NET esistenti a una rete Intranet.

Con molti di trasferirsi a servizi RESTful, OpenRasta sembra allettante. In modo simile, sto giocando intorno con Sinatra in IronRuby .

Sto principalmente alla ricerca di 3 punti:
1) Che cosa stai usando per esporre la vostra base di codice esistente per il web?
2) Che cosa circa il metodo rende facile da implementare
3) Che cosa circa il metodo lo rende sicuro?

È stato utile?

Soluzione

Credo che se la libreria non è stato progettato per essere esposti a Internet, quindi farlo è una cattiva idea.

Inoltre, se la libreria non si occupa di cose che hanno senso come risorse in senso HTTP, allora non è una buona idea per esporre loro con un'interfaccia REST.


In risposta al commento: "Perché?"

Si assume che sia una biblioteca ben progettato. Suppongo che tu avessi determinati requisiti in mente quando la biblioteca è stata progettata; certo casi d'uso e scenari; si può anche avere scritto campioni utilizzando la libreria, solo per assicurarsi che era facile da usare. Di conseguenza, la biblioteca ha soddisfatto tutti questi requisiti, e può essere chiamato ben progettato.

Ma non sembra aver incluso "esporre a Internet" nei vostri requisiti, o utilizzare i casi. Non mi sembra di aver incluso "esporre attraverso un'interfaccia REST", sia. Le probabilità sono che la biblioteca che è ben progettato per soddisfare una serie di requisiti non sarà ben progettato per soddisfare gli altri due, meno che non sia per caso.

Questo è particolarmente vero per l'aspetto REST. Gli oggetti esposti da una libreria sono abbastanza difficile trovare la definizione HTTP di "risorsa" che REST si basa su. Cercando di loro torcere nella forma giusta sarà solo essere doloroso.

Il mio consiglio sarebbe quello di ottenere una nuova serie di requisiti insieme per esporre il funzionalità della vostra biblioteca come un insieme ben progettato di servizi. Questi servizi dovrebbero essere attuate da chiamate verso la libreria.

In un mondo ideale, questo processo si tradurrebbe in un'API REST che è esattamente come quella che avrebbe progettato in primo luogo. Ma può portare a qualcosa di molto diverso.

Altri suggerimenti

Personalmente io uso WCF per esporre le mie librerie .NET. Supporta molti diversi protocolli di trasporto e binding. Sono sicuro che troverete quello che si adatta alle tue esigenze. Consente inoltre di implementare proteggere la comunicazione .

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