Creazione di un'API per prodotti esistenti

0

Ultimamente ho cercato informazioni sulla creazione di API. La società per cui lavoro vuole vendere alcuni dei nostri prodotti come dispositivi stand alone. Attualmente questi prodotti funzionano all'interno di enormi progetti con il nostro software per gestirli. Tuttavia alcuni di questi prodotti hanno acquisito molta attenzione da parte delle aziende che vorrebbero utilizzarli senza i nostri altri dispositivi e il nostro software molto esteso.

L'idea ora è di creare uno strumento di configurazione in modo che i prodotti possano essere utilizzati senza tutte le risorse aggiuntive normalmente necessarie. Vogliamo anche creare un'API con cui le terze parti possano interfacciarsi per incorporarle nei loro sistemi.

Tuttavia ci sono alcuni ostacoli:

  • La gestione non sa come vogliono che funzioni questa API.
  • Puoi comunicare con i dispositivi su TCP, ma abbiamo creato un protocollo molto esteso su TCP per l'invio di comandi e dati.
  • Non è ancora noto quali funzioni saranno e non verranno supportate dai prodotti attraverso l'utilizzo dell'API.

Alcune delle opzioni che stiamo attualmente esplorando:

  • Riscrivi il codice dei prodotti in modo che tu possa comunicare con loro attraverso JSON, e quindi dettagliare dettagliatamente ogni cosa che è possibile con JSON (ovviamente abbiamo bisogno di documentare tutto ma non lo sarà JSON un caso speciale.)
  • Creazione di una DLL con cui comunicare.

La mia domanda, quali altre opzioni ci sono?

EDIT: I nostri prodotti sono, tra l'altro, armadietti (che sono utilizzati con le schede RFID), lettori di schede e serrature intelligenti. Non possiamo usare il nostro protocollo come API poiché è complicato.

    
posta Vincent 25.05.2016 - 11:08
fonte

1 risposta

2

è una domanda un po 'troppo ampia - non sappiamo nulla del tuo progetto / dispositivi. Ma sembra che tu abbia già un'API: i suoi comandi / dati che hai inviato tramite le tue comunicazioni TCP già.

Quindi prima devi dividere il tuo progetto in moduli basati sulla funzionalità. Quindi fornisci un wrapper facilmente accessibile (su HTTP è sempre una buona idea, utilizzando i messaggi REST o SOAP se sei masochista) che traduce i comandi utente in qualsiasi comando TCP attualmente utilizzato.

    
risposta data 25.05.2016 - 12:13
fonte

Leggi altre domande sui tag