Papo de Arquiteto: o caso da agência de notícias

Olá pessoal, tudo certo?

imageAqui vai mais um post da série “Papo de Arquiteto”. O caso de hoje é sobre um projeto de subscrição/publicação de notícias de uma agência.

Atualmente, a agência Contoso News possui diversos jornalistas, além de contratos com outros órgãos de notícia, para a consolidação de um sinal de informações sobre diversos assuntos, como política, finanças, economia, mundo, esportes, etc.

Esse sinal é vendido para o mercado, através de opções fechadas por assunto. Hoje, um cliente pode contratar um sinal de esportes, um sinal de economia, etc. Esse sinal é recebido pelo cliente através de uma VPN, sendo disponibilizado via um canal TCP consumido por uma API no cliente. Essa APII também é oferecida pela Contoso News.

Um novo grupo de acionistas assumiu a direção da empresa. Esse grupo contratou um novo CIO, que ficou responsável pela modernização da TI da empresa. Um dos principais desafios é ampliar o número de clientes nos próximos 3 anos (como sempre).

Além do crescimento do número de usuário, o novo CIO espera oferecer para as áreas de negócio o suporte de TI para novas ofertas de sinais, mais inteligentes e flexíveis para o mercado. Como principal demanda, a Contoso News espera oferece sinais compostos, permitindo ainda o uso de filtros de sinal. Por exemplo, para um sinal contratado do canal esporte, o cliente poderá criar uma regra para receber notícias sobre seu time do coração. Outro cliente poderia criar regras para receber com prioridade as notícias econômicas somente sobre o Chile. Além de filtros de sinal, os clientes poderiam criar regras de composição, onde notícias encadeadas para o sinal de finanças, por exemplo, alta do dolar + alta da gasolina, poderiam disparar mensagens customizadas por e-mail ou alguma outra ação qualquer.

Essas várias regras e filtros seriam executadas no ambiente da Contoso News, a partir do contrato aprovado pelo cliente. Para novas configurações ou ajustes, o cliente teria uma API para atuar sobre seu contrato, de forma dinâmica.

Algumas perguntas surgem:

1. Como garantir a performance do sinal recebido pelo cliente?

2. Como calcular o impacto dos filtros, regras e composições sobre a performance do sinal?

3. Como seria uma API para manipular o sinal contratado pelo cliente, garantindo que o sinal resultante respeitasse o valor contratado?

4. Como seria a arquitetura geral da aplicação? Seria possível pensar em algo na nuvem?

5. O que seria necessário no ambiente do cliente para consumir o sinal contratado?

Bom, a idéia é oferecer uma solução que atenda a demanda de usuários esperados, garantindo o crescimento do negócio. Ainda, é importante considerar que diferentes regras e filtros serão sugeridas pelos usuários e vamos precisar de uma boa flexibilidade para não perder negócios. Clientes são criativos?

Finalmente, a Contoso News espera ganhar novos clientes através de ofertas de sinais especiais para dispositivos móveis, como smartphones, celulares, equipamentos embarcados (como viaturas, embarcações, caminhões, etc), GPS’s, etc.

Sugestões? Que tipo de tecnologia atenderia bem o cenário? Isso é um exemplo de Complex Event Processing?

Aproveite o final de semana e deixe seus comentários!

Por enquanto é só! Até o próximo post :)

Waldemir.