Domanda

stiamo costruendo prodotto che può essere utilizzato da altri sistemi. Come abbiamo SOA, si svilupperà solo un servizio (WCF). Abbiamo avuto diverse discussioni controverse su come progettare un'interfaccia di tale servizio. Stiamo scegliendo tra design procedurale e OO per il servizio.

Come il nostro servizio verrà utilizzato da .NET e Java Alcuni dicono che è difficile da integrare con il servizio se ha progettazione OO. Altri pensano che i servizi non Mast utilizzano approccio OO. Alcuni dicono che OO è completamente OK. Come risultato abbiamo Non c'è una chiara depressione su di esso.

WCF forniscono modo semplice per utilizzare entrambi i modelli, ma qual è la migliore?

È stato utile?

Soluzione

I assumere la definizione di "Object Oriented" che si sta utilizzando è il concetto del programma di gestione "Oggetti", e questi singoli oggetti gestire il loro stato interno ed esporre le funzioni di essere chiamato.

La WCF parralel più vicino a questo è quello dei servizi session-based, in cui la durata di ogni istanza di servizio è controllata dal cliente.

Se si desidera che questo servizio ad essere invocate da Java si dovrà usare basicHttpBinding, come Questo utilizza il classico protocollo web-service.

Questa associazione non fornisce supporto per i servizi basati su sessioni, in modo letteralmente non è possibile utilizzare i servizi basati sulla sessione.

Di conseguenza, non è possibile applicare il paradigma "object-oriented" per quanto riguarda il servizio stesso.

Altri suggerimenti

chiarire la tua domanda originale dicendo: "La mia domanda riguarda le modalità del servizio dovrebbero essi ricevono tipi complessi, invece di parametri scalari?"

Si dovrebbe porsi la seguente:

a) C'è qualche possibilità che il servizio può essere usato da clienti non-OO? Boh, un batch COBOL? Anche se la vostra azienda ha standardizzato su OO tech (Java / .NET) c'è qualche possibilità che questo servizio specifico può essere utilizzato in futuro da qualche entità esterna (cliente, sito web PHP, a prescindere)

b) Avete già creato molti tale servizio una in passato (in modo che siano perfettamente che non vi siano smistamento / serializzazione / deserializzazione problemi con i tipi complessi, o sono almeno consapevoli ciò che si può tranquillamente utilizzare)?

Se siete pienamente fiducioso per entrambi i punti, quindi sentitevi liberi di utilizzare un approccio "OO" nella progettazione di entrambi gli ingressi e le uscite per il vostro servizio. In caso contrario, andare per la più sicura (se più primitiva) approccio, e decomporre gli "oggetti" in gruppi di scalari.

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