UNIVERSIDADE FEDERAL DE SANTA CATARINA - UFSC CENTRO TECNOLÓGICO - CTC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA - INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO ALEXANDRE HONÓRIO SILVA SOFTWARE PARA GERENCIAMENTO DE SERVIDOR DE IMPRESSÃO Trabalho de Conclusão de Curso Prof José Mazzuco Jr., Dr. NOVEMBRO/2004 SOFTWARE PARA GERENCIAMENTO DE SERVIDOR DE IMPRESSÃO ALEXANDRE HONÓRIO SILVA Este Trabalho de Conclusão de Curso foi aprovado em sua forma final pelo Curso de Ciências da Computação da Universidade Federal de Santa Catarina. ________________________________________________ Prof José Mazzuco Jr., Dr. Banca Examinadora ________________________________________________ Prof José Eduardo de Lucca, Dr. _________________________________________________________ Nelson Abu Samra Rahal Jr. M. Sc. Agradecimentos Primeiramente gostaria de agradecer... Sumário Resumo v Abstract vi Introdução 1 1 Objetivos 2 1.1 Objetivo Geral................................................................................................................ .....2 1.2 Objetivos Específicos...........................................................................................................2 1.3 Motivação e Justificativa............................................................................................... .....2 2 Servidor de Impressão 4 2.1 O que é?................................................................................................................................4 3 Objetos Distribuídos 5 3.1 O que é?................................................................................................................................5 4 Tecnologias Utilizadas 6 4.1 LPRng...................................................................................................................................6 4.2 JAVA............................................................................................................................... .....6 4.3 JAVA RMI...................................................................................................................... .....6 5 Considerações Finais 7 Referências Bibliográficas 8 Resumo Este trabalho... Abstract This work intends... Introdução Este trabalho apresenta a implementação de um software que permita a usuários com conhecimentos básicos no uso de computadores, gerenciar remotamente servidores de impressão rodando em sistema operacional Linux. 1 Objetivos 1.1 Objetivo Geral Desenvolver um software para que usuários comuns possam gerenciar remotamente servidores de impressão baseados no servidor LPRng rodando na plataforma Linux. O software será desenvolvido em JAVA e usando a tecnologia RMI para objetos distribuídos. 1.2 Objetivos Específicos a) Estudo da tecnologia RMI e do servidor de impressão LPRng. b) Análise e Projeto do software. c) Desenvolvimento e implantação do software em um ambiente de produção. 1.3 Motivação e Justificativa No mundo do software livre atualmente temos dois softwares principais para servidores de impressão, um deles chama-se LPRng e o outro CUPS. Ambos são excelentes softwares mais apenas o CUPS possuí uma interface amigável com o usuário para que este possa gerenciar as filas e pedidos de impressão, só que o CUPS é um software que requisita um hardware com mais recurso do que o LPRng, e por isso algumas empresas optam por usar o LPRng como software nos seus servidores de impressão. A interface com o usuário no LPRng é feita totalmente através de linha de comando, o que torna muito difícil para que usuários comuns possam gerenciar as filas e pedidos de impressão. Esse problema existe em algumas empresas, que possuem departamentos de impressão com várias impressoras e plotters ligadas em um servidor de impressão baseado em Linux e LPRng e apenas um ou dois usuários gerenciando as impressoras de acordo com a demanda de cada departamento da empresa. A tarefa principal desses usuários é mover pedidos de impressão de uma impressora para outra, passar pedidos com maior prioridade para o topo da fila de impressão, redirecionar pedidos para outra plotter enquanto alguma plotter esteja em manutenção, etc... Pensando neste problema decidiu-se pelo desenvolvimento de um software que possa rodar tanto em Linux quanto em Windows e que possua uma interface amigável para facilitar e otimizar o trabalho de tais usuários. 2 Servidor de Impressão 2.1 O que é? São dispositivos que podem ser implementados tanto em hardware como em software (rodando em um PC) que permitem que impressoras sejam compartilhadas. Além disso, os servidores de impressão permitem várias opções de gerenciamento e das filas e pedidos de impressão. 3 Objetos Distribuídos 3.1 O que é? Um sistema que se utiliza de objetos distribuídos é aquele faz operações com objetos remotos. Através disso utilizando-se uma aplicação no lado do cliente orientada a objetos, esta pode obter uma referência para um objeto remoto e, chamar métodos desse objeto que pode estar instanciado em outra máquina. O uso de objetos distribuídos ocasiona um ganho no desenvolvimento do software, pois não é necessário estabelecer um protocolo de comunicação entre a aplicação cliente e a aplicação servidora, pois basta que seja invocado objetos que forneçam o serviço desejado, sem importar onde tal objeto está armazenado. 4 Tecnologias Utilizadas 4.1 LPRng Este é o servidor de impressão que será utilizado, o LPRng é uma implementação portável e com diversas melhorias do servidor de impressão LPR. Enquanto fornece a mesma interface do LPR a implementação é totalmente nova. O LPRng compila e roda em uma grande variedade de sistemas UNIX, e é compatível com outros servidores de impressão e impressoras de rede que usem a interface LPR. Neste trabalho iremos utilizar o Linux sistema operacional para o servidor de impressão. 4.2 JAVA Linguagem orientada a objetos e multi-plataforma desenvolvida pela SUN Microsystens. Será usada para construção tanto do software cliente e do servidor. 4.3 JAVA RMI Java Remote Method Invocation (Java RMI) permite que sejam construídas aplicações JAVA, na qual métodos de objetos remotos podem ser chamados de outras máquinas virtuais JAVA. 7 Considerações Finais Este projeto está em sua fase inicial. Até o momento foi feita a instalação do servidor de impressão e foram iniciadas a análise e modelagem do sistema. As etapas seguintes serão a implementação, testes e finalizando teremos a implantação do sistema em um ambiente de produção. Referências Bibliográficas http://www.lprng.com/ http://www.cups.org http://java.sun.com/ http://java.sun.com/products/jdk/rmi/