Arquitetura do Sistema - Modelo Operacional
O modelo operacional tem por objetivo definir e documentar a forma como os componentes do sistema serão desenvolvidos e distribuídos em nós, junto com as conexões necessárias para suportar as interações requeridas por estes, de forma a atender os requerimentos funcionais e não funcionais da solução, considerando as restrições de tecnologia.
Plataforma de Desenvolvimento
O sistema será desenvolvido com a utilização do IBM® Bluemix porque facilita a implementação e a hospedagem de aplicações.
O IBM® Bluemix que é uma plataforma como serviço (PaaS) baseada em um projeto de código aberto de Cloud Foundry que permite que as organizações e os desenvolvedores criem, implementem e gerenciem aplicativos na nuvem de maneira fácil e rápida.
A equipe do projeto seguirá uma metodologia de desenvolvimento de software DevOps e o IBM Bluemix oferece capacidades que permite maior agilidade no ciclo de vida de desenvolvimento de aplicações nesta metodologia. A seguir uma breve descrição dos serviços DevOps que estão previstos de serem utilizados no projeto:
- Track and Plan – Permite planejar o backlog e os work itens e tarefas de cada sprint bem como rastrear quem está fazendo o que e quando ficará pronto. Oferece uma interface simples para iniciar um projeto e rapidamente adicionar membros da equipe, atribuir tarefas e produzir código.
- Git Hosting – Permite criar um projeto com um repositório Git para compartilhar o código fonte com membros da equipe. Os work itens no plano de trabalho podem ser associados às mudanças de código no repositório Git. O código do sistema ficará hospedado na nuvem através de um repositório Git conectado ao Bluemix e desenvolvido localmente utilizando a IDE de desenvolvimento Eclipse. Essa instância Git é o repositório MASTER de código do projeto.
- Delivery Pipeline – Permite automatizar o processo de deployment de projetos. O pipeline de um projeto define uma sequência de etapas e roda jobs, como builds, testes e deployments.
- Gestão e Relatórios – Há vários widgets para montar dashboards personalizados. Por exemplo, o widget burndown chart permite acompanhar a velocidade do time enquanto o widget work-item control permite acompanhar o trabalho de cada membro do time.
Cada desenvolvedor executará o Eclipse IDE em seu computador e carregará o código-fonte do sistema usando uma conexão com o repositório Git integrado com o Bluemix. Uma instância local do perfil Liberty que será executada no Eclipse e uma instância do banco de dados Oracle 10g Express Edition deverá ser instalada na máquina de cada desenvolvedor. O Oracle XE é totalmente gratuito para desenvolvimento, distribuição e uso comercial, porém é limitado em tamanho máximo da base de dados (4GB incluindo a tablespace SYSTEM).
Com essa configuração, será possível testar e depurar rapidamente a aplicação, sem conexão com a Internet e fazendo upload do código de volta ao repositório de código sempre que alguma mudança for feita.
Promoção automatizada entre ambientes
No Bluemix, serão criados três espaços virtuais para armazenar e controlar os recursos do sistema conforme seu estágio de operação: desenvolvimento, homologação e produção. Cada espaço está configurado com uma runtime do WebSphere Liberty conectado a um schema de banco de dados dedicado ao sistema e disponibilizado pela Fundação Ary Frauzino.
Os seguintes endereços de rede foram definidos para acesso a essas runtimes:
Endereço Web | Ambiente |
---|---|
dev-redome.mybluemix.net | Ambiente de testes da equipe de desenvolvimento. |
tst-redome.mybluemix.net | Ambiente para testes integrados. |
hml-redome.mybluemix.net | Ambiente para testes de aceitação/homologação do sistema. |
prod-redome.mybluemix.net | Ambiente produtivo no datacenter Américas. |
prod-redome.eu-gb.mybluemix.net | Ambiente produtivo no datacenter Europa (alta-disponibilidade geográfica). |