Estrutura de Dados em OutSystems:
- #OutSystems
Estrutura de Dados em OutSystems:
Introdução
OutSystems é uma plataforma de desenvolvimento low-code que permite criar aplicativos web e móveis de maneira rápida e eficiente. Um dos componentes fundamentais para o desenvolvimento de qualquer aplicação é a estrutura de dados. Neste artigo, exploraremos como definir, gerenciar e utilizar estruturas de dados em OutSystems, oferecendo um guia completo para iniciantes e desenvolvedores experientes.
1. Entendendo as Estruturas de Dados
Em OutSystems, as estruturas de dados são representadas principalmente por **Entidades** e **Estruturas**.
- **Entidades**: Representam tabelas no banco de dados e são usadas para armazenar dados persistentes.
- **Estruturas**: Representam conjuntos de dados temporários, similares a estruturas em memória, e são usadas para transferir dados dentro da aplicação.
2. Criando Entidades
As entidades em OutSystems são criadas no Service Studio e definem a forma como os dados são armazenados no banco de dados.
Passos para Criar uma Entidade:
1. **Abra o Service Studio** e vá para a aba "Data".
2. **Clique com o botão direito** em "Entities" e selecione "Add Entity".
3. **Defina o Nome** da entidade, por exemplo, `Funcionario`.
4. **Adicione Atributos** clicando em "Add Attribute" e configure os atributos necessários, como `Id`, `Nome`, `Cargo`, `DataAdmissao`.
Entidade: Funcionario
- Id (Auto Number)
- Nome (Text)
- Cargo (Text)
- DataAdmissao (Date)
Tipos de Atributos Comuns:
- **Auto Number**: Um identificador único gerado automaticamente.
- **Text**: Para strings de texto.
- **Integer**: Para números inteiros.
- **Decimal**: Para números decimais.
- **Boolean**: Para valores verdadeiro/falso.
- **Date/Time**: Para datas e horas.
3. Definindo Relacionamentos
Relacionamentos entre entidades são essenciais para modelar dados complexos. Em OutSystems, você pode definir relacionamentos de um-para-muitos ou muitos-para-muitos.
Relacionamento um-para-muitos:
Suponha que temos outra entidade chamada `Projeto` e cada funcionário pode estar associado a vários projetos.
1. **Crie a entidade** `Projeto` com os seguintes atributos:
Entidade: Projeto
- Id (Auto Number)
- Nome (Text)
- FuncionarioId (Foreign Key para Funcionario)
2. **Adicione a Foreign Key** (`FuncionarioId`) para criar o relacionamento com a entidade `Funcionario`.
4. Trabalhando com Estruturas
Estruturas são úteis para transferir dados temporários entre telas e ações. Elas não são persistidas no banco de dados.
Passos para Criar uma Estrutura:
1. **Abra o Service Studio** e vá para a aba "Data".
2. **Clique com o botão direito** em "Structures" e selecione "Add Structure".
3. **Defina o Nome** da estrutura, por exemplo, `FuncionarioInfo`.
4. **Adicione Atributos** como faria com uma entidade.
Estrutura: FuncionarioInfo
- Nome (Text)
- Cargo (Text)
- DataAdmissao (Date)
- ProjetoAtual (Text)
5. Utilizando Entidades e Estruturas em Lógicas
Criando e Manipulando Dados:
1. **Crie uma Ação de Servidor** para adicionar um novo funcionário:
- Vá para a aba "Logic".
- Clique com o botão direito em "Server Actions" e selecione "Add Server Action".
- Adicione parâmetros de entrada para os atributos do funcionário.
- Use o bloco `Create Entity` para adicionar o funcionário à entidade `Funcionario`.
2. **Exemplo de Lógica**:
Server Action: CreateFuncionario
- Parâmetros de Entrada: Nome, Cargo, DataAdmissao
- Lógica:
- Create Funcionario
- Nome = Entrada.Nome
- Cargo = Entrada.Cargo
- DataAdmissao = Entrada.DataAdmissao
Buscando Dados:
1. **Crie uma Ação de Servidor** para buscar todos os funcionários:
- Use o bloco `Aggregate` para selecionar os dados da entidade `Funcionario`.
2. **Exemplo de Lógica**:
Server Action: GetFuncionarios
- Lógica:
- Aggregate: FetchFuncionarios
- Source: Funcionario
- Output: Lista de Funcionarios
6. Exibindo Dados na Interface do Usuário
1. **Crie uma Tela** para exibir a lista de funcionários:
- Adicione um `Table Records` ou `List` à tela.
- Vincule a lista ao resultado da ação `GetFuncionarios`.
2. **Exemplo de Tela**:
Tela: FuncionarioList
- Table Records: FuncionarioTable
- Fonte: GetFuncionarios.List
- Colunas: Nome, Cargo, DataAdmissao
7. Considerações Finais
OutSystems oferece uma abordagem intuitiva e eficiente para gerenciar estruturas de dados, permitindo que desenvolvedores criem e mantenham aplicações robustas com facilidade. Com uma compreensão sólida de como definir e utilizar entidades e estruturas, você estará bem equipado para desenvolver aplicações poderosas na plataforma OutSystems.
Recursos Adicionais
Para aprofundar seu conhecimento, consulte a [documentação oficial do OutSystems](https://success.outsystems.com/Documentation) e explore os tutoriais e cursos disponíveis na plataforma.