Software de sistema: administram os recursos e atividades do computador. Software aplicativo: “aplicam” o computador a uma tarefa específica solicitada pelo usuário final, como o processamento do pedido ou a geração de listas de mala direta. Gerencia e controla as atividades do computador. É o gerente-geral do sistema de computador, permitindo que esse sistema lide com várias tarefas e usuários ao mesmo tempo. Ele aloca e designa recursos do sistema, programa a utilização dos recursos e tarefas e monitora as atividades do sistema. Prevê locais na memória primária para dados e programas e controla os dispositivos de entrada e saída, como impressoras, terminais e conexões de comunicação. Também coordena a programação das tarefas em execução no computador, de modo que partes deferentes de tarefas diferentes possam ser executadas ao mesmo tempo. Também acompanha cada tarefa do computador e ainda pode monitorar quem está usando o sistema, os programas executados e quaisquer tentativas não autorizadas de acesso ao sistema. Os sistemas operacionais atuais usam uma interface gráfica de usuário (graphical user interfaces – GUI) que faz uso extensivo de ícones, botões, barras e caixas para executar tarefas. Se tornou o modelo preponderante para a interface de usuário dos sistemas operacionais de PCs e para muitos tipos de softwares aplicativos. Família Windows: Produzida pela Microsoft conta com versões cliente e servidor e uma interface gráfica de usuário simplificada, cujo arranjo de ícones dá acesso instantâneo a tarefas comuns. Ex.: Windows XP, Windows Vista e Windows Server 2003. UNIX: É um sistema interativo, multiusuário e multitarefa desenvolvido pelo Bell Laboratories em 1969 para auxiliar o compartilhamento de dados por pesquisadores científicos. Foi projetado para interligar diversas máquinas e proporciona grande capacidade de suporte para comunicações e redes. Linux: Semelhantes ao UNIX, pode ser baixado pela internet gratuitamente. É um exemplo de software de código-fonte aberto que permite acesso livre a seu código de programa, de modo que todos os usuários de computadores possam modificá-lo para corrigir erros ou fazer melhorias. Linguagem de programação de aplicativos para empresas: COBOL (Common Business Oriented Language): desenvolvida no início da década de 1960 para processar grandes arquivos de dados com caracterres alfanuméricos e para produzir relatórios corporativos. Linguagem de programação de aplicativos para empresas: C: desenvolvida no início da década de 70, é uma linguagem poderosa e eficiente que combina a portabilidade de máquina com controle rígido e uso eficiente de recursos computacionais. Linguagem de programação de aplicativos para empresas: C++ é uma visão mais recente da linguagem C, com todos os seus recursos mais a possibilidade de trabalhar com objetos de software. Diferentemente dos programas tradicionais, que separam dados das ações a serem feitas com eles, um objeto de software combina dados e procedimentos. Linguagem de programação de aplicativos para empresas: Visual Basic é uma ferramenta de programação amplamente utilizada para criar aplicações que rodam no Microsoft Windows. Permite ao usuário manipular elementos gráficos ou ícones para criar programas. Linguagem de quarta geração: consiste em uma variedade de ferramentas de software que habilitam usuários finais a desenvolver aplicativos com o mínimo de assistência técnica (ou nenhuma) ou que proporcionem ganhos de produtividade aos programadores profissionais. Linguagem de quarta geração: tendem a ser não orientadas ou menos orientadas a procedimentos, e apenas especificam o que tem de ser executado, em vez de dar detalhes sobre como executar uma tarefa. Ex.: linguagens naturais, que habilitam os usuários a se comunicar com o computador usando comandos em linguagem comum, semelhante à fala humana. Há 7 tipos de linguagem de quarta geração: ferramentas de software de PCs, linguagens de consulta, geradores de relatórios, linguagens gráficas, geradores de aplicações, pacotes de softwares aplicativos e linguagens de programação de altíssimo nível. Pacotes de software e ferramentas de produtividade para PCs: é um conjunto de programas escritos e codificados previamente, disponíveis no mercado, que eliminam a necessidade de indivíduos e empresas escreverem programas de software para determinadas funções. Existem pacotes de software de sistema, mas a maioria é de softwares aplicativos. Ex.: software de processamento de texto, que vem com verificadores ortográficos, verificadores de estilo (analisam gramática e pontuação) e dicionário de sinônimos. Java: é uma linguagem de programação orientada a objeto e que não está vinculada a um processador ou sistema operacional específico. É, hoje, o principal ambiente de programação interativo para a Web. Permite que os PCs manipulem os dados em sistemas em rede usando navegadores Web, reduzindo a necessidade de escrever software especializado. Foi criada em 1992, mas não se popularizou até que a WWW e a Internet começassem a ser usadas por grande parcela da população. Hoje, praticamente todos os softwares de navegador Web têm uma plataforma Java embutida. Migrou para celulares, automóveis, players de música videogames e sistemas interativos de tv a cabo (pay-per-view). HTML (Hypertext Markup Language): é uma linguagem de descrição de página que especifica como texto, recursos gráficos, vídeo e som serão organizados em uma página Web. Serve também para criar links dinâmicos com outras páginas Web e objetos. Serviços Web e arquitetura orientada a serviços: a tecnologia básica para os serviços Web é a XML (eXtensible Markup Language), desenvolvida em 1996 pelo W3C, órgão internacional que supervisiona o desenvolvimento da Web. A XML determina descreve o que significam os dados apresentados nesses documentos, de modo que eles possam ser utilizados em programas de computador. O protocolo SOAP (Simple Object Access Protocol) é um conjunto de regras para estruturar mensagens que permite que as aplicações passem dados e instruções umas para as outras. A WSDL (Web Services Description Language) é uma estrutura comum para descrever as tarefas realizadas por um serviço Web, bem como os comandos e os dados que ele aceitará, de maneira que possa ser usado por outras aplicações. A UDDI (Universal Description Discovery and Integration) permite que um serviço Web seja listado em um diretório de serviços Web de modo que possa ser facilmente localizado. Usando esses padrões e protocolos, uma aplicação pode conectar-se livremente com outras aplicações sem programação customizada para cada uma das aplicações diferentes com a qual quer comunicar-se. Uma arquitetura orientada a serviços (SOA) é um conjunto auto-suficiente de serviços que se comunicam entre si a fim de criar um aplicativo de software útil à empresa. Mashups: novos aplicativos de software e serviços baseados na combinação de diferentes aplicativos de software on-line. Combinados, apóiam-se em redes de dados de alta velocidade, padrões de comunicação universal e código-fonte aberto. Web 2.0: são os mashups da Web, que combinam os recursos de dois ou mais aplicativos on-line para criar uma espécie de híbrido, que oferece mais valor ao cliente do que as fontes originais sozinhas. Aplicativos de mapeamento on-line estão dando origem a um conjunto completamente novo de aplicativos híbridos.