Open the menu

    Estabilidade da API

    Um produto é caracterizado pela distribuição periódica de mudanças visando sua evolução e estabilização. Cada uma dessas distribuições é considerada uma nova versão do produto e recebe uma número que as identifique unicamente.

    O LumisXP pode ser distribuído de várias formas diferentes, de acordo com a natureza das modificações e a necessidade ou agilidade.

    Os tipos de distribuição são:

    Versão: Caracteriza-se pela distribuição do produto completo, com todas as funcionalidades e componentes, com as respectivas documentações e rotinas de instalação e upgrade de versões anteriores.

    A versão do LumisXP é representada por 4 partes constituintes, separadas por um ponto:

    • Número da versão "Major";
    • Número da versão "Minor";
    • Número da "Release";
    • Número da "Build"

    Por exemplo, a versão 4.0.8.070126 significa que:

    • Número da versão "Major": 4;
    • Número da versão "Minor": 0;
    • Número da "Release": 8;
    • Número da "Build": 070126

    Hotfix: Caracteriza-se por um pacote que contém uma ou mais modificações pontuais, normalmente correção de defeitos. É distribuído para ser aplicado em uma versão imediatamente anterior. Este pacote atualiza o produto para uma versão mais nova, cujo número corresponde a uma "Build".

    Service Pack: Caracteriza-se por uma pacote que pode conter alterações em funcionalidades atuais, novas funcionalidades e várias correções de defeitos. É distribuído para ser aplicado em uma versão anterior. Este pacote atualiza o produto para uma versão mais nova, cujo número corresponde a uma "Release".

    As API's do framework do LumisXP podem estar nos seguintes níveis de estabilidade:

    • "Stable Major": significa que, uma vez que a API pública de um objeto alcança este nível de estabilidade, todas as releases subsequentes do produto, com o mesmo número de versão "Major" são, garantidamente, "backwards compatible";

      Este nível de estabilidade está representado na definição da classe do objeto estável, da seguinte forma:

      StableMajor(version = "XX" sinceVersion = "YY")

      O atributo version informar a versão corrente estável da API; e o atributo sinceVersion informa desde qual versão a API está compatível com a versão corrente (version).

    • "Stable Minor": significa que, uma vez que a API pública de um objeto alcança este nível de estabilidade, todas as releases subsequentes do produto com o mesmo número da versão "Major" e número da versão "Minor" são, garantidamente, "backwards compatible";

      Este nível de estabilidade está representado na definição da classe do objeto estável, da seguinte forma:

      StableMinor(version = "XX.XX", sinceVersion = "YY.YY")

    • "Volatile": significa que, a API pode ser alterada em alguma build subsequente ou release do produto, e não há garantias de "backwards compatibilidade". Este nível de estabilidade não é representado na definição da classe do objeto não estável.

      Se não há anotações referentes ao "StableMajor" ou "StableMinor" na definição da classe do objeto, deve-se assumir que tal objeto não é estável.