The Application Packager

mais uma vez examinada de perto.

Requisitos gerais de qualidade do ponto de vista da embalagem do software

O empacotamento de software requer uma mistura única de competências que ultrapassa as fronteiras organizacionais típicas da maioria dos departamentos de TI.

Introdução

A embalagem da aplicação é frequentemente subestimada ou considerada uma "actividade secundária". Devido ao erro de estimativa ...

  • na Gestão
  • entre funcionários de TI
  • de fornecedores através de clientes
  • dos decisores
... sobre a implantação de aplicações na empresa, surgem frequentemente dificuldades semelhantes:

  • A complexidade das embalagens de aplicação é subestimada.
  • A embalagem da aplicação é realizada em vários pontos da empresa.
  • O conhecimento deve, portanto, ser construído e mantido redundantemente em locais diferentes.
  • Taxa de erro elevada devido à falta de know-how.
  • O processo global sofre devido a uma qualidade inadequada ou apenas suficiente.
  • O serviço "embalagem de aplicações / aprovisionamento de aplicações" está a perder cada vez mais confiança e aceitação na empresa.
A verdade é que já quase ninguém sabe como classificar correctamente um embalador de aplicações. O hardware e as pessoas da rede vêem-nos como desenvolvedores de aplicações. Os criadores de aplicações vêem-nas como suporte de infra-estruturas. O Apoio a Infra-estruturas vê-os como um subconjunto estranho. InfoSec só percebe os empacotadores de aplicações quando estes solicitam excepções de firewall e exclusões de scan de malware. Para muitos, a embalagem da candidatura é apenas um termo vago e não um título de trabalho. Alguns exemplos:

  • SCCM Empacotador
  • Serviço ao cliente especializado em infra-estruturas
  • Placa de aplicação para Arquitecto de Soluções TIC
  • Especialista de sistemas (Cliente profissional MS Windows)
  • Engenheiro de Sistemas (Integração de Sistemas)
  • Engenheiro de Sistemas de Clientes
  • ou simples: Administrador de sistema

Classificação de acordo com ITIL

Se o papel do embalador de software fosse classificado de acordo com ITIL, os empregados de embalagem estariam subordinados à área de desenvolvimento de aplicações ou a uma área relacionada com o desenvolvimento. De acordo com o ITIL, a Gestão de Aplicações seria responsável pela criação de pacotes de software. Esta suposição baseia-se principalmente no facto de que o conhecimento de desenvolvimento de aplicações é muitas vezes necessário para desenvolver uma rotina de instalação. A Gestão de Lançamento é responsável pelos testes de lançamento e distribuição de lançamento. A gestão de alterações, por sua vez, é responsável pela monitorização e controlo.

Muitas vezes, devido ao perfil especializado "empacotador de software", a actividade de empacotamento de software é colocada numa área separada. Esta área deve agir tanto orientada para o sistema como para a aplicação. Na prática, a actividade de produção da embalagem é estabelecida quase predominantemente no âmbito da gestão da libertação (RM). Isto deve-se ao facto de uma unidade de libertação ser equiparada a um pacote em utilização normal. Uma vez que o RM é responsável pela criação e teste das Unidades de Liberação (e da Liberação), pode ser justificado pelo facto de que um embalador pode/deve ser um RM - funcionário. No entanto, em última análise, o ITIL só dá dicas neste ponto e nenhuma especificação!

Garantia da Qualidade

O embalador da aplicação é exclusivamente responsável pela funcionalidade técnica do pacote. Ele tem de assegurar a qualidade através de mecanismos adequados de que o pacote cumpre os requisitos definidos pelo cliente. O embalador da aplicação verifica a embalagem num sistema de referência apropriado o mais próximo possível da produção e necessário para a implementação das especificações e da operacionalidade técnica.

Responsabilidade operacional

O embalador do software é exclusivamente responsável pela criação e teste dos pacotes correspondentes. Todas as questões relativas ao funcionamento directo ou indirecto de um pedido não fazem parte da sua responsabilidade. No caso de suporte, representa um nível de suporte aumentado (2º ou 3º nível) do suporte de aplicativo.

Responsabilidade do aplicativo

Cada aplicação em uso tem (idealmente) um proprietário da aplicação (pessoa/grupo ou departamento). Um proprietário de aplicação / proprietário de produto é o primeiro ponto de contacto para todos os assuntos relacionados com a aplicação em uso produtivo. Ele ou ela decide sobre a configuração da aplicação (muitas vezes em cooperação com outros departamentos ou unidades empresariais de TI). Além disso, o proprietário do pedido está frequentemente envolvido no processo de concurso, no qual avalia (em cooperação com os departamentos) as funcionalidades solicitadas e faz recomendações de produtos no âmbito do concurso.

Juntamente com o embalador, o gestor da aplicação verifica a aplicabilidade e a implementação das suas especificações. Através da aceitação (que deve ter lugar de uma forma devidamente arquivável), o proprietário da aplicação assume a responsabilidade operacional pela sua aplicação.

Embora a aplicação em produção seja da responsabilidade do proprietário da aplicação, a rotina de instalação (o pacote) deve continuar a ser da responsabilidade do embalador. Neste ponto, é de notar que o pacote que contém o aplicação é, em si mesmo, também um aplicação.

Empacotador de software e gerenciador de aplicativos em um só

Embora não seja aconselhável, em algumas circunstâncias pode não haver outra opção a não ser combinar os papéis de proprietário e embalador da aplicação. Neste caso, o empacotador de software assume os deveres e responsabilidades do proprietário da aplicação. O risco desta constelação reside nos dois diferentes perfis de especialistas (proprietário da aplicação / empacotador de software). A embalagem de um pacote requer um conhecimento profundo tanto da engenharia de sistemas como das tecnologias de automação. Se a premissa de "concentrar-se no negócio principal" for seguida, a embalagem adicional de software ou (inversamente) a responsabilidade de aplicação é um desvio do negócio principal. A consequência deste desvio é que ou dois perfis especializados devem ser vividos (no sentido de dominados) ou a actividade principal é prejudicada pela respectiva outra actividade.

Embalagem de aplicações por prestadores de serviços externos

Se uma empresa não tiver recursos próprios suficientes, faz sentido implementar a embalagem de software com a ajuda de apoio externo. Ao especializarem-se na área da embalagem de software, os prestadores de serviços podem oferecer consultores / embaladores de software capazes de preencher e implementar profissionalmente um perfil especializado "embalador de software". Também vale a pena considerar ter tais especialistas a acompanhar a embalagem e a construir os seus próprios recursos qualificados desta forma. Do ponto de vista do prestador de serviços, um embalador externo nunca deverá ser responsável pelo funcionamento de uma aplicação neste momento.

Um empacotador de aplicações precisa de conhecimentos sobre o sistema de distribuição de software?

Um empacotador de software é definido principalmente por outras competências. Os requisitos gerais de um empacotador de software são discutidos em mais detalhe abaixo. Há vários anos, foi introduzido o termo "embalador SCCM", o que resultou na necessidade de viver (no sentido de mestre) dois perfis especializados.

Requisitos

Tecnologia do sistema

Uma coisa acima de tudo faz um bom empacotador de software: O empacotador de software deve ter o seu cliente sob controlo! Especialmente ao embalar utilizando análise delta, é elementar e indispensável limpar o guião das entradas que foram gravadas mas não pertencem ao guião depois de criar com sucesso a análise delta. Em determinadas circunstâncias, estas entradas podem causar danos irreparáveis aos sistemas alvo correspondentes durante a implementação deste pacote. Neste caso, estes sistemas teriam de ser reinstalados.

Em primeiro lugar, um bom empacotador de software deve ser proficiente nos sistemas operativos para os quais está a criar pacotes de software como parte das suas actividades. Na segunda instância, é certamente aconselhável lidar com outros sistemas operativos ou versões de sistemas operativos, uma vez que a próxima implementação/transferência virá certamente. O domínio neste contexto é definido da seguinte forma:

  • Registry
    O registo do sistema Windows não deve ser um conceito estrangeiro. Um bom empacotador de software deve estar familiarizado com os valores por defeito em HKLM e HKCU. Para uma análise delta, esta capacidade é de importância elementar.
  • Serviços Windows
    Um empacotador de software deve ser capaz de compreender os serviços do Windows e manusear/modificar estes serviços no seu script, se necessário. O conhecimento do WMI é extremamente útil. Com a WMI é possível, por exemplo, consultar o estado do serviço instalado após uma instalação e reagir a esta informação no guião, se necessário.
  • NTFS direitos e gestão de utilizadores
    Especialmente na análise de erros é necessário que sejam detectados erros que se devem à falta de autorização (sistema operativo).
  • Conhecimentos em DOS
    Cada empacotador de software deve pelo menos ser capaz de dominar os comandos básicos do DOS. Apesar de todos os meios, de vez em quando apenas a linha de comando permanece como último recurso.
  • Linguagens de scripting
    As línguas de escrita são desejáveis mas não um requisito básico (pelo menos na embalagem normal). Quando um embalador de software é capaz de utilizar VBS, JS, KIX, AUTOIT, etc., abre possibilidades técnicas completamente novas. Estas possibilidades podem então ser utilizadas para ultrapassar problemas que anteriormente eram considerados insolúveis. "Não pode ser feito, não existe!" Se uma função não estiver nativamente incluída , esta funcionalidade pode ser mapeada através de uma linguagem de scripting (na sua maioria).
  • Protocolos de rede (TCP/IP)
    "Conhecimentos básicos saudáveis" na área do "trabalho na Internet" devem também estar disponíveis. Um empacotador de software deve ser capaz de analisar e qualificar erros ou corrigi-los ele próprio. Estas competências incluem também conhecimentos na área da "resolução de problemas de PI" básica.
  • Compreensão básica das aplicações em geral
    Todas as aplicações são semelhantes na sua estrutura básica. Há normalmente itens de menu onde (e através dos quais) a aplicação pode ser configurada. A maioria das aplicações escreve os seus valores para o registo. Com estas duas perspectivas, um embalador de software é capaz de olhar para uma aplicação do ponto de vista da embalagem e abordar a embalagem apropriada (tecnologias de instalação como MSI etc. serão abordadas mais tarde!).
  • Conhecimento básico das redes de servidores de clientes e sistemas operativos de rede
    O mais tardar quando uma aplicação deve ser empacotada para um servidor (ou servidor terminal), o empacotador de software deve estar familiarizado com as noções básicas do sistema operativo do servidor correspondente.

Tecnologias de Instalação

Basicamente, os seguintes tipos de tecnologias de instalação podem ser distinguidos:

  • MSI
    A tecnologia Microsoft Installer está a tornar-se o padrão "de facto" na instalação de software. Um pacote MSI fornece uma rotina de instalação transparente com fortes mecanismos de GQ. Os pacotes MSI simplificam a reparação ou desinstalação de aplicações. Muitos produtos controlam mesmo a migração da aplicação para uma nova versão de forma completamente automática. Um pacote MSI não deve (melhores práticas) ser reembalado utilizando uma análise delta. As inter-relações técnicas do sistema de uma instalação MSI são muito complexas e os mecanismos completos de GQ da tecnologia Microsoft Installer podem ser aproveitados.
  • Setup.exe (Configuração legada / instalação paramétrica)
    Como regra, tal Setup.exe (e isto não significa as instalações que chamam uma instalação MSI através de um Setup.exe!) significa que deve ser criada uma análise delta para este pacote. Se necessário, este Setup.exe também pode ser chamado parametrizado. Especialmente as rotinas de configuração do InstallShield oferecem a função de criar um ficheiro de resposta para a configuração da aplicação, que por sua vez pode ser utilizado no contexto de uma distribuição para configuração automática.

    MAS:
    Antes de tal procedimento ser utilizado, as perguntas devem ser primeiro respondidas quanto à forma como o pacote deve ser tratado em toda a cadeia do processo.

Flexibilidade

A flexibilidade é um imperativo absoluto, especialmente nas embalagens de aplicação! Quase em nenhum lugar se vê confrontado com novos desafios mais rápida e regularmente do que nas embalagens de aplicação. O empacotamento de rotinas e de software só se juntam de forma limitada. Basicamente, cada requisito de embalagem pode ou deve ser tratado como um projecto separado. Cada projecto tem riscos e tropeços. Além disso, cada projecto requer flexibilidade para se adaptar rapidamente a novas situações e mudanças.

Competências

Esta secção lista as áreas de competência e aptidões/conhecimentos que um empacotador de software deve possuir. É indiscutível que esta informação não representa uma obrigação para cada empregado, mas é apenas uma recomendação sobre quais as áreas que são abordadas na embalagem do software. Listadas aqui estão apenas as áreas, não a profundidade requerida em cada área. Tal avaliação de profundidade deve ser feita separadamente com base nas necessidades da empresa em particular. Com base na informação obtida, podem ser elaboradas opções de apoio / medidas de apoio direccionadas para empregados que estejam dentro da gama de conhecimentos de um empacotador de software.

(Re-)Embalagem

  • Manuseamento da Tecnologia do Instalador do Windows (MSI, MST, MSP, MSM)
  • Manuseamento da tecnologia Snapshot
  • Manuseamento de ferramentas de análise (SysInternals)
  • Manipulação da virtualização (VMware, Hyper-V)
  • Manuseamento de ferramentas de embalagem (AdminStudio, Ivanti, ZenWorks, etc.)
  • Outras linguagens de scripting e programação:
    • Dos Batch
    • Visual Basic Script
    • Power-Shell
    • AutoIT

Cliente de sistemas operacionais

Windows 8, 10 Administração, instalação e configuração

Servidor de sistemas operacionais

  • Windows Server, instalação e configuração
  • Gerenciamento de usuário de domínio do Windows
  • Serviços de Terminal Windows
  • Administração do Active Directory (recursos)

Cliente de aplicativos

  • MS Office
  • MS Outlook
  • IBM Notes
  • MS Edge, Firefox, Google Chrome
  • Adobe Acrobat (Reader e produto completo)
  • Java Runtime Environment (+JDK)
  • .NET (Runtimes), VC++ Runtimes
  • Plug-Ins
  • MS Hot fixes e Service packs

Servidor de aplicativos

  • MS SQL Server
  • MS Internet Information Server
  • Windows Update Services (WSUS)
  • MS Hot fixes e Service packs
  • Administração do Citrix Presentation Server
  • Gerenciamento de aplicativos Citrix Presentation Server
  • Citrix Presentation Server SDK

Tecnologia Microsoft

  • Registro do Windows, sistema de arquivos, ACL, UAC
  • Tecnologia MSI
  • WMI / WSH / ASDI
  • Instalação e configuração do driver (WDK) (também certificação)
  • Kit (s) de recursos
  • Serviços e processos

TCP/IP

  • Configuração TCP/IP no cliente
  • Solução de problemas de TCP/IP
  • Conhecimento básico de DHCP
  • Conhecimento básico de DNS
  • Detecção e resolução de conflitos de endereço IP no cliente

Apresentação

  • Estrutura e design de uma apresentação
  • Preparação de uma apresentação
  • Fazendo uma apresentação

Modelos de abordagem de projeto

  • Configuração do projeto
  • Cultura de encontro
  • Criação de relatório
  • Escalação
  • Gerenciamento de tempo
  • Trabalho priorizado
  • Comunicando
  • Criação de documentação

Compreensão do processo

  • Compreensão das funções
  • Conhecimento básico ITIL (se aplicável)
  • Processo de melhoria contínua

Habilidades sociais

  • Comunicação
  • Trabalho em equipe
  • Habilidade crítica
  • Iniciativa própria
  • criatividade
  • Inglês
  • Compreensão do serviço
  • Ação de resolução de problemas
  • Aquisição independente de conhecimento
  • Conhecimento de terminologia especializada