Lista de requisitos para a API do cliente
-
Desvincular do meio de comunicação. Deve funcionar para HTTP/1.0, Socket, WebSocket ou qualquer outro protocolo de preferência do cliente.
-
Desvincular da estrutura/linguagem de dados. Deve funcionar para XML, JSON ou qualquer outra estrutura/linguagem de dados de preferência do cliente.
- Garantir a possibilidade de implementação, caso desejado, de interceptadores de comunicação para tratamento de erros generalizados ou qualquer outra questão que envolva intercepção das mensagens.
- Encapsular e rotular todos os possíveis tipos de erros que o sistema reconhece, garantindo assim que seja possível implementação diferenciada de tratamento de erros. Lembrando do comprometimento com o item 2. Ex:
ConnectionError
SystemError
BusinessError
TimeoutError (talvez um sub tipo de ConnectionError)
SessionExpireError
RequestRecipientNotFoundError
- Criar a noção de Sessão e de casos de uso instanciados disponíveis.
- Implementar uma forma fácil e não intrusiva de mandar e receber mensagens apesar do item 3.
- Implementar Uma forma de extensão através de Plugins, Ex:
Plugin de persistência para manter viva a sessão atual e casos de uso ativos.
Plugin de timeout para forçar alguma forma diferencial de ciclo de vida em um determinado caso de uso.
Plugin de debug para monitorar toda a comunicação.
No Comments