Pesquisar neste blog

24 de dez. de 2012

PortalSABER: PODSABER #5 - Ciência e a Bíblia - Parte A

PortalSABER: PODSABER #5 - Ciência e a Bíblia - Parte A: A equipe do Portal Saber deseja a todos um Feliz Natal e para comemorar temos dois PODSABER com a Irmã Aila, a segunda parte sairá no di...

12 de dez. de 2012

Feliz Natal e Saúde e Paz no ANO NOVO!!!


PortalSABER: PodSaber Especial - Recordando Chico Xavier #1

PortalSABER: PodSaber Especial - Recordando Chico Xavier #1: “Nasci em Pedro Leopoldo, Minas, em 1910. E até aqui, julgo que os  meus atos perante a sociedade da minha terra são expressões do  pe...

6 de dez. de 2012

PortalSABER: UNESP disponibiliza cursos gratuitos à distância

PortalSABER: UNESP disponibiliza cursos gratuitos à distância: A Unesp Aberta é um ambiente de aprendizagem on-line e gratuito que oferece a oportunidade de formação e aperfeiçoamento em diversas ár...

24 de nov. de 2012

PortalSABER: REALIDADES FÍSICAS QUE PODEM EXISTIR ALÉM DO NOSSO...

PortalSABER: REALIDADES FÍSICAS QUE PODEM EXISTIR ALÉM DO NOSSO...: Vejam este sensacional artigo que transcrevo abaixo. Nicolas Gisin, que como já lhes disse é a décadas um dos maiores físicos quânticos...

18 de nov. de 2012

PortalSABER: PODSABER #4 - Biblioteca de Ciência e Espiritualid...

PortalSABER: PODSABER #4 - Biblioteca de Ciência e Espiritualid...: Não nos conformemos à pura condição de ouvintes, diante das Verdades Eternas. Como classificar o aluno que estuda indefinidamente sem j...

17 de nov. de 2012

Resolvido mistério sobre natureza fundamental da luz

Resolvido mistério sobre natureza fundamental da luz: Físicos afirmam ter chegado a um veredito final sobre a chamada dualidade onda/partícula. E parece que a mecânica quântica venceu outra vez.

16 de nov. de 2012

PortalSABER: PODSABER #4 - Biblioteca de Ciência e Espiritualid...

PortalSABER: PODSABER #4 - Biblioteca de Ciência e Espiritualid...: Não nos conformemos à pura condição de ouvintes, diante das Verdades Eternas. Como classificar o aluno que estuda indefinidamente sem j...

15 de nov. de 2012

Gartner lista 5 tendências de cloud que afetarão a estratégia das empresas até 2015

Por: Douglas Cassaniga
Em: http://www.blumenauti.com.br/noticia/gartner-lista-5-tendencias-de-cloud-que-afetarao-a-estrategia-das-empresas-ate-2015

Embora o potencial de computação em nuvem seja significativo, a amplitude e a profundidade do impacto, bem como o nível de aprovação ao longo do tempo, são incertos e exigirão revisão frequente

O monitoramento constante das tendências de computação em nuvem, com atualizações regulares das estratégias das companhias, será essencial para evitar erros caros ou perdas de oportunidades de mercado ao longo dos próximos anos, segundo Gartner.

Embora o potencial de computação em nuvem seja significativo, a amplitude e a profundidade do impacto, bem como o nível de aprovação ao longo do tempo, são incertos e exigirão revisão frequente.

Gartner identificou cinco tendências de computação em nuvem que vão acelerar, mudar ou alcançar um ponto de inflexão ao longo dos próximos três anos e que os usuários devem levar em conta durante seus processos de planejamento:
Estruturas de decisões formais facilitam a otimização do investimento em nuvem

Os potenciais benefícios de cloud computing precisam ser examinados com cuidado e serem mapeados contra uma série de desafios, incluindo a segurança, a falta de transparência, as preocupações com o desempenho e a disponibilidade, as restrições de licenciamento e as necessidades de integração.
Cloud computing híbrido é um imperativo

Gartner recomenda que as empresas concentrem esforços na integração de aplicações e dados em curto prazo, interligando aplicações fixas internas e externas com uma solução híbrida. Quando os serviços de nuvem pública ou aplicativos personalizados executados em infraestruturas de nuvem pública são usados, diretrizes e padrões devem ser estabelecidos de como estes elementos se combinam com os sistemas internos para formar um ambiente híbrido.
Corretagem em nuvem facilita o consumo

O interesse no conceito CSB (corretagem de serviços ) aumentou no ano passado, e Gartner espera que esta tendência se acelere nos próximos três anos, seja na área de TI ou em unidades de linha de negócios, sem o envolvimento de TI. Para enfrentar esse desafio, Gartner acredita que os departamentos de TI devem explorar como eles podem se posicionar como operadores privados, estabelecendo um processo de compra, que acomoda a adoção da nuvem.
Cloud-centric se torna uma necessidade

Para explorar plenamente o potencial de um modelo de nuvem, os aplicativos precisam ser concebidos com as características únicas, limitações e oportunidades de um modelo de nuvem em mente. Gartner aconselha as empresas a olharem para além da migração de cargas de trabalho empresariais para a criação de aplicações otimizadas que exploram o potencial da nuvem.
Cloud computing influência os data centers do futuro e os modelos operacionais

Na medida em que a empresa continua a construir os seus próprios centros de dados, elas serão influenciadas pelos modelos de aplicação utilizados pelos prestadores de serviços em nuvem. Gartner recomenda que as empresas apliquem os conceitos de computação em nuvem para centro de dados futuro e investimentos de infraestrutura para aumentar a agilidade e eficiência.

14 de nov. de 2012

GERENTES DE PROJETOS QUE DOCUMENTAM LIÇÕES APRENDIDAS SÃO MAIS FELIZES

Por: Mário Trentim
Em: http://blog.mundopm.com.br/2012/10/30/gerentes-de-projetos-que-documentam-licoes-aprendidas-sao-mais-felizes/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+mundopm+%28Blog+Mundo+PM%29


O principal objetivo de todo projeto é criar valor para a organização. Esse objetivo envolve uma justificativa de negócio que permeia todo o projeto desde o seu início até o seu final. Comumente, partimos de um problema que precisamos resolver ou de uma oportunidade que desejamos aproveitar. Definidos os contornos da situação, o escopo do projeto e do produto serão elaborados para satisfazer os requisitos e restrições identificados.
Cada projeto pode ser entendido como uma pequena organização de propósito específico, tendo seus próprios recursos e objetivos. Entretanto, nenhum projeto acontece isoladamente. O contexto externo ao projeto o influencia sobremaneira. Esse contexto inclui tanto a organização executante quanto outros diversos stakeholders.
A organização executante, geralmente, possui muitas atividades e projetos em andamento, resultando na competição por recursos e atenção (prioridade). Os stakeholders externos interagem com o projeto sob diferentes papéis: cliente, órgãos de regulamentação, fornecedores etc. O projeto, portanto, influencia e é influenciado pelas mudanças no seu macroambiente (contexto externo ao projeto).
Todos nós sabemos que as expectativas mudam ao longo dos projetos, bem como outras condições internas e externas. Projeto é sinônimo de incerteza, já que está se propondo para o futuro. Consequentemente, desvios e replanejamento são absolutamente normais. O plano é o mapa, uma representação do território a ser trilhado. Tanto o território quanto o itinerário podem mudar.
Apesar de a maioria, ou todos, dos projetos se desviarem do plano inicial, planejar é extremamente importante. O que vale é planejar, não o plano em si. Se engessarmos demais o plano, o projeto pode se tornar inútil ou adicionar pouco valor ao negócio, considerando que as demandas e contexto estão sempre mudando. Porém, todas as mudanças devem ser analisadas, aprovadas e controladas para assegurar que estamos no caminho desejado.
Uma excelente maneira de aprender a planejar e gerenciar melhor nossos projetos é usando lições aprendidas. O histórico dos projetos permite a criação de inteligência e aprendizagem organizacionais. O jeito mais caro de aprender é com o próprio erro. Pior ainda se repetirmos esse erro. Pensando em tudo isso, por que tão poucos gerentes de projetos conduzem reuniões de lições aprendidas?
Falta de tempo é a primeira resposta que vem à cabeça. Se temos pouco tempo para planejar e executar os projetos, imagine para documentar lições aprendidas! Mas esse pensamento de curto prazo traz grande prejuízo futuro. Documentar as lições aprendidas deve ser parte de todas as reuniões de acompanhamento do projeto. Além disso, ao final do projeto, devemos conduzir uma reunião para discutir o post mortem do projeto, erros e acertos, pontos de atenção e melhoria, entre outros aspectos que permitam identificar padrões e melhores práticas internos.
Além da pressa, outro grande problema, talvez o maior, é o medo. Conversar sobre erros e fracassos do projeto já é difícil, documenta-los traz uma insegurança maior ainda para os envolvidos. Neste sentido, a minha opinião é que os Escritórios de Projetos, se houver, devem auxiliar o processo de documentar lições aprendidas.
Um processo eficaz para identificar e documentar lições aprendidas deve começar já no início do projeto. Que tal fazer uma sessão (reunião) para imaginar o que poderia dar errado no projeto? A equipe do projeto e outros stakeholders podem simular a identificação de lições aprendidas como se o projeto já houvesse sido encerrado. Pode parecer um exercício de pouco valor, mas não é. Esse exercício permite criar confiança e um ambiente positivo de confrontação (discussão para solução de problemas) que será muito valioso ao longo do projeto. Esse processo permite que os participantes tragam lições aprendidas de outros projetos que eles participaram, contextualizando com o projeto atual. O medo de errar e fracassar diminui, além de ser uma ótima atividade de team building.
Ao longo do projeto, reuniões periódicas devem tratar das lições aprendidas. O papel do Escritório de Projetos seria assegurar que sejam discutidos tanto os pontos positivos quanto negativos do projeto, evitando a famosa “caça às bruxas”. O objetivo dessas reuniões não é encontrar culpados, mas sim falhas de processo e erros que ensejem lições aprendidas. A argumentação dialética (tese, antítese, síntese) é uma poderosa ferramenta nessas sessões de lições aprendidas.
O papel de “advogado do diabo” ajuda a extrair o máximo de lições aprendidas. Discutir e anotar erros e desvios, bem como suas causas e as medidas tomadas para solução, trazem benefícios enormes para a cultura e maturidade em gerenciamento de projetos das organizações. Um processo estruturado de identificação e documentação de lições aprendidas envolve criar categorias e palavras-chave para que esses conhecimentos sejam de fácil acesso, usando um banco de dados, por exemplo.
Embora a identificação e documentação das lições aprendidas sejam muito úteis, o valor dessa iniciativa se reduz bastante caso não existam mecanismos de disseminação. Esse é mais um motivo para o Escritório de Projetos se tornar o “guardião” das lições aprendidas, trabalhando para difundi-las junto a outras áreas da organização e para que elas sejam aplicadas aos projetos futuros.

13 de nov. de 2012

O "Problema" das Namoradas

Por: João Flávio de Freitas Almeida
Em: http://www.widwor.com.br/2012/11/o-problema-das-namoradas.html

Acho que todo homem queria ter um problema desses... As mulheres que me perdoem, mas intenção é boa. Apresentar de forma divertida e didática um problema a ser formulado matematicamente. Não mostramos o método de resolução: programação linear, mas apresentamos como formular os problemas! Divulgue!

12 de nov. de 2012

Os processos do Gerenciamento de Projetos, segundo o PMI

Por: Guilherme Strube
Em: http://www.blumenauti.com.br/noticia/os-processos-do-gerenciamento-de-projetos-segundo-o-pmi


O Gerenciamento de Projetos se refere a aplicação de conhecimentos e pode ser dividido em seis processos principais.
PMI Logo - Project Management InstituteSegundo o PMI (Project Management Institute), principal organização com o  intuito de desenvolver e divulgar métodos de desenvolvimento de projetos, o Gerenciamento de Projetos se refere a aplicação dos conhecimentos na gerência, controle e organização das atividades necessárias a serem desempenhadas para atender aos requisitos de um projeto, atingindo assim o seu objetivo.
O Gerenciamento de Projetos pode ser dividido em seis processos principais, sendo eles:
  • Iniciação: Engloba a fase de autorização do projeto. É nessa etapa que acontece o levantamento inicial dos requisitos e a viabilidade do projeto é analisada. É definido um gerente ou líder para o projeto e todos os aspectos relevantes ao projeto devem ser documentos, tais como objetivo final, principais interessados, skateholders (ou “padrinhos”), equipe e pessoal responsável, projetos relacionados, entre outros. É também nessa etapa que se realiza a identificação de riscos e investimentos necessários, preparando-se um orçamento que será analisado pelo contratante. A partir da aprovação da proposta do projeto pelo cliente, inicia-se a próxima fase do processo.
  • Planejamento: Nessa etapa todas as informações coletadas durante o processo de iniciação são revistas e a execução do projeto é objetivada, detalhando-se as metas e objetivos a serem alcançados com base na proposta de projeto que foi aprovada. Com a definição dessas metas, definem-se também os prazos, com a criação de cronogramas  e diagramas de fluxo e de atividades a serem realizadas. Deve-se analisar a necessidade da realização de treinamentos para a equipe, interdependência de atividades e alocação de recursos. Todo o projeto deve ser bem estudado e detalhado, a fim de que possa ser executado evitando imprevistos e dificuldades.
  • Execução: Nessa fase será materializado tudo o que foi previamente especificado nos processos anteriores. Geralmente a maior parte do esforço e orçamento do projeto é consumido nessa fase, daí a importância de um bom planejamento anterior. Se as fases anteriores forem falhas, com certeza a execução enfrentará problemas. O cronograma deve ser seguido o mais religiosamente possível, evitando-se o estouro do orçamento pela necessidade de horas-extra.
  • Controle e Monitoramento: Os processos de controle e monitoramento acontecem paralelamente aos processos de planejamento e execução. O principal objetivo desses processos é assegurar de que o que está sendo executado cumpre os requisitos que foram especificados, propondo ações corretivas e alterações que devem ser realizadas no menos tempo possível após a identificação do erro ou necessidade da alteração. Além disso, deve-se controlar o orçamento disponível, realizar relatórios de acompanhamento e reuniões com a equipe, identificando pontos de problema e tratando-os adequadamente.
  • Encerramento: Ocorre quando o produto ou serviço é finalmente entregue e validado pelo contratante, encerrando-se o projeto. Realiza-se então a aceitação formal do projeto, documentando-se conforme lei vigente e contrato definido. Ao encerramento de um projeto é interessante reunir a equipe e documentar o que foi aprendido com o trabalho, quais são os pontos fracos de cada processo e o que precisa ser melhorado, a fim de otimizar as tarefas e não cometer os mesmos erros.
Nunca se esqueça que um projeto deve ser bem planejado para então ser executado. Além disso, deve ser também controlado, administrando-se os recursos disponíveis. A administração é fundamental para o seu sucesso.

11 de nov. de 2012

PortalSABER: Logo do Portal Saber

PortalSABER: Logo do Portal Saber: Olá amigos! Apresento a seguir uma nova proposta visual para o conteúdo e toda linguagem que envolverá as comunicações do PORTAL SABER....

PortalSABER: Viagem anual do Portal Saber a Pedro Leopoldo

PortalSABER: Viagem anual do Portal Saber a Pedro Leopoldo: Amigos, Compartilhamos com vocês um pouco da nossa tradicional viagem a Pedro Leopoldo, uma tradição desde 2012. Brincadeira, mas va...

PortalSABER: Ciência e Espiritismo

PortalSABER: Ciência e Espiritismo: Palestra de Dauro Mendes do Portal Saber no Centro Espírita Manoel Felipe Santiago em Maio de 2012 com o tema: Ciência e Espiritismo. ...

PortalSABER: O Que é o Nada? (3ª Temporada - Através do Buraco ...

PortalSABER: O Que é o Nada? (3ª Temporada - Através do Buraco ...: Em  física , um  buraco de verme  ou  buraco de minhoca  é uma característica  topológica  hipotética do  continuum espaço-tempo , a qual ...

PortalSABER: Literatura psicografada - Brasil das Gerais

PortalSABER: Literatura psicografada - Brasil das Gerais: A literatura psicografada é um fenômeno de vendas. E Chico Xavier é a referência. As cartas psicografadas por Chico já absolveram réus na j...

PortalSABER: Prosperar: O Que Será Necessário?

PortalSABER: Prosperar: O Que Será Necessário?: Thrive (Prosperar) é um documentário não-convencional que foi lançado online na data de 11/11/11, em http://thrivemovement.com/ Thrive lev...

7 dicas para motivar e reter os talentos de TI

Por: Douglas Cassaniga
Em: http://www.blumenauti.com.br/noticia/7-dicas-para-motivar-e-reter-os-talentos-de-ti


Após a contratação dos funcionários, os especialistas afirmam que é importante mantê-los motivados e atualizados. Acompanhe as 7 dicas para motivar e reter seus colaboradores
Motivação Trabalho EquipeEncontrar profissionais qualificados para alguns setores em TI não é uma tarefa fácil, dizem recrutadores entrevistados pela INFO. Além disso, após a contratação dos funcionários, os especialistas afirmam que é importante mantê-los motivados e atualizados.
“Atualmente, é muito forte  a busca por profissionais qualificados de TI em quase todos os níveis e funções, de programador a gerente de projetos. Isso também inclui os profissionais que permanecem na empresa somente durante a realização de um projeto”, diz André Assef, sócio-diretor da Desix, empresa especializada no recrutamento e seleção de profissionais de TI.
Na maioria das vezes, o motivo do desligamento de um funcionário não está relacionado ao salário ou falta de habilidade, diz Assef. “Muitos colaboradores saem da empresa por causa do ambiente de trabalho ser ruim ou pela falta de perspectiva de crescimento profissional”, comenta.
“Dinheiro não é tudo que o funcionário precisa. O colaborador precisa ter qualidade de vida”, diz Nancy Bastos, diretora de recursos humanos da Aon, empresa de gerenciamento de riscos, consultoria e corretagem.
Segundo Nancy, uma equipe motivada produz mais e permanece durante um período mais longo na empresa. Já a companhia retém estes profissionais que assimilaram sua cultura e experiência da função, especialmente em uma época de escassez de pessoas bem qualificadas.
Os diretores também indicam os principais fatores para reter um profissional na empresa. Veja abaixo:
1 – Perspectiva de crescimento – “Os funcionários engajados buscam a ascensão profissional e melhores salários. Quando atuam como gestores, eles podem comandar outras pessoas com o objetivo de obter o sucesso profissional de uma equipe inteira”, diz Assef. O diretor afirma que, muitas vezes, a possibilidade de crescimento profissional é o fator decisivo na aceitação de uma proposta de emprego.
2 – Plano de cargos e salários – Usado para padronizar a promoção e a progressão interna dos cargos na empresa. Isso evita a insatisfação dos profissionais, ajuda a eliminar distorções que causam desequilíbrios e atribui valores a cada setor da companhia.
3 – Ambiente de trabalho agradável – Esta é uma das principais reclamações dos funcionários em relação ao emprego anterior durante os processos seletivos. “A falta de entendimento com o gestor, colegas de trabalho e cultura organizacional da companhia refletem diretamente no tempo de permanência de um colaborador na empresa”, diz o diretor.
4 – Regime de home office – “As pessoas estão mais preocupadas com o bem estar. Permitir a flexibilidade no horário e o regime de trabalho remoto ajuda a reduz o estresse gerado no trânsito das grandes cidades, além de proporcionar uma melhor qualidade de vida ao funcionário”, diz Nancy.
5 – Cursos de atualização profissional – Os treinamentos de reciclagem de conhecimento e eventos de integração são uma ótima maneira de engajar os profissionais. “A empresa também pode motivar o colaborador se ela oferecer um desconto na mensalidade de uma certificação ou faculdade. A pessoa reconhece a preocupação da companhia em relação ao bem estar da equipe”, diz Assef.
6 – Diversidade de benefícios – “Alguns serviços refletem diretamente no aspecto pessoal e proporcionam um ambiente profissional agradável entre os funcionários, como convênio de estacionamento, planos de saúde, serviços de atendimento pessoal (concierge), auxílio creche, entre outros”, diz Assef.
 Experiência internacional – Possibilidade de transferir o funcionário para outros países em casos de empresas multinacionais ou durante a aquisição de companhias internacionais.

10 de nov. de 2012

O valor do risco no processo de mudança

Por: Alessandra Assad 
Em: http://www.qualidadebrasil.com.br/artigo/gestao/o_valor_do_risco_no_processo_de_mudanca


Há muito que Alvin Toffler, futurista e autor da Terceira Onda, afirma que a mudança é o processo no qual o futuro invade nossas vidas. E agora pergunto: o quanto estamos realmente preparados para deixar o futuro entrar?Há muito que Alvin Toffler, futurista e autor da Terceira Onda, afirma que a mudança é o processo no qual o futuro invade nossas vidas. E agora pergunto: o quanto estamos realmente preparados para deixar o futuro entrar?
Se olharmos para trás, certamente temos uma centena de exemplos de empresas que eram líderes de mercado e que hoje não existem mais por terem confiado demasiadamente na liderança soberana e absoluta, e por terem sido resistentes às mudanças: Bamerindus, Mappin, Mesbla, Banco Nacional, Polaroid, TransBrasil e Prosdócimo são apenas alguns exemplos.
É fato que os empresários precisam incluir o item inovação urgentemente em seu planejamento. Considerando que mais de 1/3 das grandes inovações vêm dos clientes, nem precisa dizer o quanto o cliente pode e deve estar envolvido em todo o processo de mudanças das organizações. É preciso olhar com carinho para todos os setores da empresa e da economia: eles estão constantemente mudando, e precisamos estar aptos e sensíveis para a percepção, análise e adaptação de cada uma delas para o nosso cotidiano e para o nosso planejamento. E apesar de tudo isso não ser nada filosófico, insisto em destacar a verdade da essência de Heráclito ao dizer que não há nada permanente, exceto a mudança.
O maior problema que enfrentamos com as mudanças é o medo do desconhecido, e, muitas vezes, é esse medo que nos empurra para trás. Se pararmos para pensar, vamos lembrar de empresas como a Olivetti, que durante muitos anos foi líder de mercado no segmento das máquinas de escrever.
Se a empresa tivesse se adaptado em tempo às mudanças, será que hoje as máquinas de escrever não teriam uma versão “cibernética” da marca? Ou ainda, será que a Kodak não foi muito resistente à mudança e confiou mais do que deveria no produto “filme”? Com a entrada das câmeras digitais, qual o futuro do produto carro-chefe da marca, no mercado doméstico? Na era da convergência das mídias, como será o telefone do futuro? E os jornais? E os livros?
É preciso avaliar onde estamos hoje, quem queremos ser amanhã e o que vamos fazer para chegar lá. É a estratégia quem vai dizer se o risco é realmente o melhor caminho. Talvez o maior problema de alguns gestores seja a falta de estratégia em suas ações, que os levam, muitas vezes, a correr o risco por falta de opção. O ideal é encarar as mudanças como um ativo natural de crescimento.
O mundo muda o tempo todo em uma velocidade assustadora e quem não acompanhar, ficará para trás. Aliás, manter a zona de conforto ativa já é ficar para trás. É preciso abrir a mente e estar receptivo às mudanças que considere fundamentadas para a natureza do seu negócio, e para que isso aconteça não é necessário apenas boa vontade, é preciso muito estudo também, para que haja uma adaptação alinhada entre pessoas físicas e jurídicas em todos os processos de mudança.  Só a partir do momento em que a mudança for bem aceita por todos em uma corporação é o que os resultados poderão ser mensurados.
Eu não diria que em toda mudança há risco envolvido. O que acontece é que quanto mais a empresa demora para acompanhar o dia-a-dia das mudanças naturais, maior a chance da mudança repentina provocar algum tipo de desequilíbrio de gestão e afetar diretamente as pessoas envolvidas e os resultados projetados. Nesse caso, o risco é diretamente proporcional ao tempo que você ficar de olhos vendados, negando que a mudança é necessária e que você poderá transformá-la no seu maior ativo. Mesmo assim, eu diria que não conheço sucesso sem risco.
Se você quer que as coisas sejam diferentes, talvez a resposta seja se tornar diferente você mesmo. Os empresários precisam levar em conta e priorizar a questão das pessoas à frente dos processos. Envolver os recursos humanos pode ser um primeiro passo. Não adianta impor novos processos para as pessoas sem antes envolvê-las com a importância e comprometimento necessários para que as mudanças aconteçam de forma positiva. São as pessoas que fazem os processos acontecerem.
E se elas não estiverem bem, tudo ficará mal.

8 de nov. de 2012

Otimização com o Glpk

Por: João Flávio de Freitas Almeida
Em: http://www.widwor.com/2012/10/otimizacao-com-o-glpk.html




O GLPK - GNU Linear Programming Kit é um software livre, de código aberto, usado para resolver problemas de otimização linear, linear inteira e mista. A liguagem do GLPK é o GMPL - GNU Mathematical Programming Language, um subconjunto da linguagem AMPL. 


Esse é um vídeo com um tutorial de como fazer para rodar modelos de otimização usando o GLPK:




7 de nov. de 2012

Gestão do Conhecimento aliada à definição de Processos

Por: BPMVision
Em: http://bpmvision.blogspot.com/2012/08/gestao-do-conhecimento-aliada-definicao.html













A organização é um corpo composto por várias pessoas, isso praticamente todo mundo já sabe. Mas sendo a organização formada por vários indivíduos que possuem suas próprias experiências, suas crenças, seus medos e suas ideias, como é possível fazer todas essas pessoas funcionarem como um corpo só? Será realmente que é suficiente apenas os diretores da organização reunirem-se e definir toda a nova forma de trabalho que o BPM irá trazer durante e após a sua implantação? Será mesmo que somente os diretores e executivos são capazes de enxergar todas as macro e micro atividades que ocorrem no dia a dia da organização? Eu sinceramente acredito que não!

Uma das apresentações mais interessantes que já presenciei foi sobre como utilizar a gestão do conhecimento para ajudar na definição e alinhamento dos processos de negócio. E seu tema principal foi como difundir a informação da organização e levantar debates que agregassem valor frente à definição de processos de negócio. 

A pergunta principal que consegui extrair foi: 
Como ao invés de escolher um grupo de pessoas, utilizar a organização inteira para definir os processos?
E é isso que relatarei agora.

A estratégia que foi utilizada foi muito interessante, apresentarei aqui os 4 passos mais importantes:

1)Foi criado um grupo de responsáveis pela definição do processo. Este grupo sim era formado por diretores mais conhecedores do processo em alto nível, afinal alguém tem que ter a responsabilidade principal nesta tarefa. era de sua responsabilidade definir o processos de uma forma macro, demonstrando os insumos e entregas de cada área, bem como cada área interagia com a outra (contratos entre as áreas).

2) Uma vez desenhado o processo principal, ele foi publicado e divulgado por toda a organização. Cada diretoria repassava o conhecimento sobre o processo aos seus subordinados.

3) Foi disponibilizado um sistema Wiki, onde todos podem colocar seus conhecimentos e debates assuntos, para que todos na organizações pudessem contribuir com o processo. Para cada tarefa do processo existe um fórum onde podem ser criados debates, apresentações de ideias, apresentações de melhorias, etc. Desta forma todos os debates eram feitos pelo sistema Wiki que foi implantado. Todo o conhecimento da organização foi crescendo lá e posteriormente utilizado na definição e alinhamento dos processos.

4)Como nada é perfeito, foi feito um trabalho intenso e constante para promover a utilização do Wiki no ambiente de trabalho. Para ajudar as pessoas a criar a nova cultura de realizar as discussões pelo Wiki, o grupo responsável sempre influenciava aos demais a debater tudo por lá, pois seria melhor para a organização.

O mais interessante disto tudo que achei foi a possibilidade das pessoas realmente participarem juntas da definição de algo que seria a nova forma de trabalho da organização. Antes mesmo de se saber quais seriam todos os temas discutidos. Não teve que haver um longo período antes de poder incluir as pessoas ao debate e participação,.

Esse senso de importância que foi gerado e a inclusão das pessoas neste processo com certeza refletiu em um maior engajamento e maior colaboração, visto que cada um tem papel importante na organização como um todo.

6 de nov. de 2012

Por que planejar recursos?

Por: http://blog.youwilldobetter.com
Em: http://blog.youwilldobetter.com/2008/11/sua-equipe-esta-preparada/


O que se tem feito para se obter recursos com perfis adequados às necessidades de cada projeto? Quais são os métodos utilizados para se mapear competências? Sua empresa emprega quais métodos?

Há muito que se pensa em instruir pessoas, já faz tempo que se planeja, se gerenciam projetos! Tanto, que a cerca de 600 A.C. dizia um ministro de estado chinês, o qual ficou conhecido por suas políticas administrativas e econômicas bem sucedidas, as quais serviram de exemplo para muitas gerações:

“Se teus projetos forem para um ano, semeia o grão
Se forem para dez anos, planta uma árvore
Se forem para cem anos, instrui o povo
Semeando o grão, colherás uma vez
Plantando uma árvore, colherás dez vezes
Instruindo o povo, colherás cem vezes”.

KUAN-TZU, – 600 A.C.

5 de nov. de 2012

Para que consultar os envolvidos?

Por: http://blog.youwilldobetter.com
Em: http://blog.youwilldobetter.com/2008/11/para-que-consultar-os-envolvidos/


É de suma importância conhecer os envolvidos que são na verdade os interessados direta ou indiretamente no projeto. Tanto podem ser aqueles que apóiam a realização do projeto, como podem ser os que desaprovam, os que estão comprometidos ou os que não têm interesse em comum.

Considerar as influências que eles podem exercer sobre os objetivos do projeto é gerenciar prováveis riscos. Para isso, faz-se necessário primeiramente mapeá-los logo no início do projeto.

Ao longo do ciclo de vida do projeto deverão ser observadas as mudanças e suas conseqüências em relação às expectativas dos interessados, buscando alcançá-las. Manter uma boa comunicação é imprescindível para proporcionar maior entendimento e possibilitar ajustes de possíveis discordâncias.

Também chamados de “stakeholders”, quando interessados positivamente, trazem muitos benefícios para o sucesso do projeto, que poderão ser financeiros, técnicos e comportamentais.


4 de nov. de 2012

Simplificando projetos complexos

Por: http://blog.youwilldobetter.com
Em: http://blog.youwilldobetter.com/2008/11/simplificando-projetos-complexos/


A complexidade de um projeto é caracterizada pela combinação de alguns fatores, tais como:
  • Escopo integrado por vários e diversificados componentes;
  • Cronograma de longo prazo;
  • Identificação de um número significativo de variações de escopo;
  • Altos custos envolvidos;
  • Denso plano de riscos a ser gerenciado (muitas variáveis e incertezas);
  • Diversidade de culturas a serem observadas pelo plano de comunicações;
  • Intensidade e criticidade das aquisições incluídas na estrutura de fornecimento.

Diante desse cenário, o gerente do projeto, além de seguir as melhores práticas, ferramentas e técnicas recomendadas pelos padrões internacionais de gerenciamento de projetos, deve ser fiel ao princípio K.I.S.S. … isso mesmo! KISS – o acrônimo bem-humorado da expressão “Keep It Simple, Stupid”. Torná-lo simples não significa “queimar etapas” ou desconsiderar stakeholders mais distantes ou, até mesmo, desmerecer a documentação.
Pelo contrário, cada um desses processos deve ser cuidadosamente trabalhado. O modelo de integração deve ser desenhado e estabelecido desde a fase inicial do projeto. Planejamento, monitoramento e controle são as palavras de ordem. Os fatores críticos de sucesso encontram-se, principalmente, na existência de um forte patrocínio, na definição clara de perfis e responsabilidades e na atuação de um PMO (Project Management Office) consistente.
O PMO bem estruturado e atuante instrumentaliza o gerenciamento, contribuindo para a redução da complexidade dos projetos. Mas, sobretudo, o “grande segredo” está na definição das entregas. Em projetos complexos, o nível de granularidade das entregas é fundamental: defina pequenas entregas e … entregue cada uma delas. Estabeleça com clareza, e obtenha consenso, quais serão os critérios para avaliar o sucesso do projeto.
Defina as métricas de controle por área de conhecimento e quais serão os critérios para caracterizar se a etapa está completa. Defina o nível da estrutura organizacional do projeto para o qual serão escaladas as decisões sobre questões do projeto. Busque oportunidades, inove, seja bem-sucedido e não esqueça as quatro letrinhas … K.I.S.S.

3 de nov. de 2012

Por que os processos são importantes?

Por: http://blog.youwilldobetter.com
Em: http://blog.youwilldobetter.com/2008/11/por-que-os-processos-sao-importantes/


As empresas geralmente não conhecem muito bem seus processos. Saber quais são e como funcionam é essencial para determinar como serão gerenciados. Melhores resultados podem ser atingidos através do gerenciamento de processos. Porém, este é um grande desafio!

Nos processos de gerenciamento, por exemplo, estão incluídas as ações que os gerentes irão fazer. Conhecer o fluxo destas ações será determinante para o sucesso dos projetos.
Uma empresa deverá ter foco em seus processos, priorizar os mais importantes e repensar aqueles que limitam ou inviabilizam os bons resultados.

Garantir a melhoria dos processos requer manutenção periódica e o desenvolvimento de um plano de ação, envolvendo pessoas e até mesmo uma mudança comportamental.

O ponto de partida é que se tenham claros os objetivos da empresa! Uma organização orientada a processos é antes de mais nada uma organização conhecedora das necessidades de seus clientes e de seus objetivos de negócio.

2 de nov. de 2012

Integrando soluções de Business Intelligence e Business Activity Monitoring

Por:  developerWorks Brasil
Em: http://imasters.com.br/desenvolvimento/integrando-solucoes-de-business-intelligence-e-business-activity-monitoring

Cada vez mais as empresas vem buscando soluções para analisar as diversas informações geradas em suas aplicações para permitir a melhoria do desempenho de seus processos de negócio, prever os desejos de seus clientes, desenvolver produtos que atendam tais desejos e, desta forma, estar à frente de seus concorrentes e aderente à normas e leis que regulam sua área de atuação.

Dentro deste contexto, uma solução de Business Intelligence (BI) é fundamental para permitir à empresa conhecer o perfil de seus clientes: o que eles compram? Quando eles compram? Qual região compra determinado produto?
O conhecimento sobre o perfil do cliente é importante para a empresa tomar decisões estratégicas, como por exemplo o desenvolvimento de um novo produto a ser comercializado para uma determinada região ou por um determinado canal.

Já uma solução de Business Activity Monitoring (BAM), auxilia a empresa na tomada de decisões operacionais para ajustes no processo de negócio no menor tempo possível. Esta decisão pode ser, por exemplo, o aumento na quantidade de vendedores em função do aumento da procura pelos produtos após uma campanha publicitária.

Produtos

Neste artigo foram considerados os seguintes produtos para implementação da integração entre uma solução de BI e de BAM:
  • IBM Cognos Business Intelligence
  • IBM Business Monitor

Valor de negócio

É comum que algumas tarefas executadas em um processo de negócio não sejam refletidas em informações na sua aplicação de negócio e, por conseqüência, na base de dados da solução de BI. Imagine a situação abaixo:
Uma empresa possui um processo de venda on-line de seus produtos onde é necessário que os clientes estejam cadastrados para efetivar a compra. Uma das etapas do processo é a validação do endereço informado pelo cliente. Quando um endereço não é validado pelo sistema, o cliente não consegue realizar a compra on-line.
Neste exemplo, o sucesso (ou insucesso) na validação do endereço é uma tarefa do processo de negócio que não é registrada no banco de dados da aplicação, mas é um evento que pode ser monitorado por uma solução de BAM.
A imagem ilustra, de forma simples, as principais atividades do processo de venda online do cenário citado como exemplo
Mensalmente, é executada uma rotina que recupera todas as informações das vendas realizadas e as alimenta na solução de BI, onde os executivos de negócio podem visualizar o desempenho da empresa em relação às metas previamente estabelecidas.
A imagem ilustra um exemplo de gráfico no Cognos BI onde é possível comparar a meta e o realizado na venda de produtos
Analisando as informações disponíveis na solução de BI, os executivos de negócio da empresa descobrem que a empresa está superando sua meta de vendas em 10%. Porém, em uma segunda análise, agora na solução de BAM, os gerentes operacionais descobrem que em uma determinada atividade do processo de venda on-line, vários clientes estão enfrentando problemas na tarefa automática de validação do endereço informado e, consequentemente, não conseguem efetuar o cadastro e finalizar a compra.
A imagem ilustra um exemplo de KPI do Business Monitor onde é possível observar que nem todos os endereços são validados no processo de vendas online
Com a correção deste problema, a meta de vendas poderia ser superada em 15%.
Se o problema se tratar apenas de uma falha na insfraestrutura de TI que suporta o processo de venda on-line, não há necessidade de uma decisão estratégica, bastando apenas as ações corretivas necessárias para normalizar a operação do processo.
Mas, e se esta correção exigir alterações em processos de parceiros de negócio e/ou órgãos responsáveis pela padronização dos endereços? O aumento nas vendas, gerado a partir desta correção, justifica o esforço necessário para realizar tal mudança?
O gráfico ilustra um exemplo de como seria a estimativa de venda dos produtos caso o todos os endereços fossem validados no processo de venda online.
Com base no cenário citado acima, é possível observar a importância da análise de informações históricas e características do processo de negócio que eventualmente não são armazenadas em banco de dados, mas que podem ser coletadas a partir de soluções de BAM. Desta forma, o executivos de negócio podem utilizar informações históricas para analisar situações dos processos de negócio com um visão estratégica de médio-longo prazo, enquanto os gerentes operacionais analisam as mesmas situações dos processos e tomam decisões operacionais para manter o negócio em operação.

 A solução

Existem diferentes opções para realizar a integração entre o IBM Business Monitor e o IBM Cognos Business Intelligence. São os requisitos de negócio que irão direcionar a melhor opção para sua empresa.
Neste artigo, é considerado um cenário onde a empresa possui os seguintes requisitos:
  • Prazos de retenção de dados diferentes: na solução de BI é desejado o armazenamento de dados históricos, coletados a partir de diversas fontes de dados da empresa. Enquanto que, na solução de BAM, o objetivo é monitorar os processos de negócio em tempo real e apenas os dados das duas últimas semanas precisam ser mantidos na solução;
  • Flexibilidade: apesar de estarem integradas, as soluções devem possuir certa independência em seus ciclos de vida. A forma de integração entre as duas soluções deve oferecer o menor impacto possível uma na outra.
É importante ressaltar que, no cenário descrito neste artigo, o foco principal é a solução de BI, que é a plataforma utilizada pelos executivos de negócio para analisar o desempenho de sua empresa e tomar decisões estratégicas de médio-longo prazo. Neste contexto, a solução de BAM deve ser entendida como mais uma fonte de dados para a solução de BI.
Assim como qualquer outra fonte de dados para uma solução de BI, o ciclo de vida de desenvolvimento de soluções de BI de sua empresa deve assegurar que eventuais alterações nos modelos de monitoração implementados no IBM Business Monitor sejam refletidas nos processos de integração e no modelo de dados do IBM Cognos Business Intelligence.
Com base nos requisitos acima, é possível tomar duas decisões que irão direcionar a forma como os produtos devem ser integrados:
  1. Evitar a conexão direta com o banco de dados da solução de BAM: isto porque os prazos de retenção de dados desejados para a solução de BAM são diferentes dos prazos da solução de BI e, desta forma, não permitirá a tomada de decisões estratégicas pelos executivos de negócio com base em informações históricas. A solução, portanto, é a extração periódica dos dados de monitoração dos processos de negócio;
  2. Gerar um arquivo com os dados de instâncias de monitoração dos processos de negócio: desta forma, o desenvolvedor dos processos de integração não precisa conhecer o modelo de dados do produto IBM Business Monitor e suas possíveis alterações em versões futuras do produto.
Os processos de integração entre o IBM Business Monitor e o IBM Cognos Business Intelligence podem ser desenvolvidos através de ferramentas de ETL (Extract, Transform and Load), que são mais apropriadas para a recuperação e tratamento de grandes volumes de dados e diferentes formatos. O IBM Infosphere DataStage é um produto que implementa processos ETL.
A figura ilustra como é feita a integração entre os produtos IBM Business Monitor e IBM Cognos Business Intelligence neste cenário.
  1. Periodicamente, devem ser gerados os arquivos CSV com os dados de instância de monitoração dos processos de negócio que precisam ser inseridos na solução de Business Intelligence. O comando instanceExport do IBM Business Monitor permite o desenvolvimento de um componente para automatizar esta tarefa. A periodicidade de exportação dos dados vai depender da necessidade de cada negócio, podendo ser, por exemplo, diária, semanal, quinzenal ou mensal, mas não deve ser maior que o prazo de retenção dos dados na solução de BAM;
  2. Um processo ETL lê os arquivos CSV e extrai os dados necessários. O processo ETL pode ser implementado, por exemplo, no IBM Cognos Data Manager;
  3. O processo ETL realiza as transformações necessárias e carrega os dados no banco de dados do IBM Cognos Business Intelligence.
Após estes passos, os dados históricos de monitoração dos processos de negócio estarão disponíveis aos executivos de negócio na solução de BI para tomada de decisões estratégicas, enquanto que o gerente operacional continua utilizando a solução de BAM para tomada de decisões operacionais para ajustar os processos de negócio em tempo de execução.

1 de nov. de 2012

Desenvolver um livro digital com EPUB

Por: Liza Daly
Em: http://imasters.com.br/desenvolvimento/desenvolver-um-livro-digital-com-epub

Este artigo orienta você na criação de eBooks no formato EPUB. O EPUB é um formato feito para o desenvolvedor, baseado em XML, que está surgindo como o padrão de facto para livros digitais. Mas EPUB não serve somente para livros, com ele é possível:

  • Empacotar documentação para leitura offline ou fácil distribuição;
  • Empacotar postagens no blog ou outro conteúdo nativo da web;
  • Desenvolver, procurar e recombinar usando ferramentas comuns de software livre.

Sobre este artigo

Você inicia este artigo gerando um livro EPUB manualmente para ajudar a conhecer todos os componentes e arquivos necessários. Em seguida, o artigo mostra como empacotar o livro digital concluído e validá-lo com a especificação, como também testá-lo em vários sistemas de leitura.
Então, ele descreve como gerar EPUB a partir de DocBook XML—um dos padrões mais usados para documentação técnica — e como usar Python para automatizar completamente a criação de EPUB com DocBook de ponta a ponta.
Acrônimos usados frequentemente:
  • API: interface de programação de aplicativos;
  • CSS: folhas de estilo em cascata;
  • DOM: Modelo de Objeto de Documento;
  • DTD: Definição do tipo de documento;
  • GUI: Interface gráfica com o usuário;
  • HTML: Linguagem de Marcação de Hipertexto;
  • SAX: API simples para XML;
  • W3C: World Wide Web Consortium;
  • XHTML: HTML extensível;
  • XML: linguagem de marcação extensível.

Objetivos

Neste artigo, você:
  • Aprende o que é EPUB, quem está por trás dele, e quem o está adotando no momento;
  • Explora a estrutura de um pacote configurável EPUB, incluindo seus arquivos necessários e seus esquemas;
  • Cria um arquivo EPUB válido a partir do rascunho usando conteúdo simples;
  • Usa ferramentas de software livre para produzir arquivos EPUB a partir de DocBook, um esquema amplamente usado para documentação técnica e livros;
  • Automatiza a conversão de EPUB usando Python e DocBook.

Pré-requisitos

Nenhum sistema operacional particular é suposto para este artigol, entretanto você deve estar familiarizado com mecanismos de criação de arquivos e diretórios. O uso de um editor de XML ou ambiente de desenvolvimento integrado (IDE) é bastante recomendado.
Para as demais partes deste artigo, sobre automatizar a criação de EPUB, este artigo supõe que você tenha uma ou mais habilidades em processamento básico de XML. — XSLT, DOM ou análise baseada em SAX — e como construir um documento XML usando uma API nativa de XML.
Nenhuma familiaridade com o formato de arquivo EPUB é necessária para concluir este artigo.

Requisitos do sistema

Para concluir os exemplos neste tutorial, é necessário ter um interpretador Java (versão 1.5 ou posterior) e um interpretador Python (versão 2.4 ou posterior), assim como as bibliotecas XML necessárias a cada um. Entretanto, desenvolvedores de XML experientes podem adaptar os exemplos para qualquer linguagem de programação com bibliotecas XML.

Sobre o formato EPUB

Aprenda os fundamentos do EPUB, para que o EPUB é mais usado, e como o EPUB diferencia-se do Portable Document Format (PDF).

O que é EPUB?

EPUB é o formato XML para publicações e livros digitais refluíveis e padronizados pelo International Digital Publishing Forum (IDPF), uma associação de comércio e normas para o segmento de mercado de publicação digital. A IDPF adotou oficialmente o EPUB em outubro de 2007 e em meados de 2008 observou uma rápida adoção por grande parte dos publicadores. É possível ler o formato EPUB usando uma variedade de software livre e software comercial em todos os sistemas operacionais em geral, dispositivos e-ink, como Sony PRS, e dispositivos pequenos como Apple iPhone.

Quem está produzindo EPUB? Serve apenas para livros?

Embora publicadores de impressão tradicionais tenham sido os primeiros a adotarem o EPUB, nada em seu formato restringe seu uso a eBooks. Com ferramentas de software livremente disponíveis, é possível empacotar páginas da web como EPUB, converter arquivos de texto simples ou transformar documentação XML DocBook existente em EPUB válido e bem-formalizado.

Como EPUB difere-se de PDF?

PDF ainda é o formato de documento eletrônico mais amplamente utilizado no mundo. Do ponto de vista de um publicador de livro, PDF possui diversas vantagens:
  • Arquivos PDF permitem controle perfeito de pixel sobre layout, inclusive layouts complexos propícios à impressão, como muitas colunas e alternar entre estilos anverso/verso;
  • PDFs podem ser gerados por uma grande variedade de ferramentas de documento baseado em GUI, como Microsoft® Office Word ou Adobe® InDesign®;
  • Leitores PDF são ubíquos e instalados na maioria dos computadores modernos;
  • Fontes específicas podem ser integradas em PDF para controlar precisamente a saída final.
Do ponto de vista de um desenvolvedor de software, o PDF está muito longe do ideal:
  • Não é um padrão trivial para aprender; portanto, não é uma questão simples de se trabalhar com seu próprio código gerado em PDF;
  • Embora o PDF agora seja um padrão de organização internacional para normatização (ISO) (ISO 32000-1:2008), tradicionalmente tem sido controlado por uma única corporação: Adobe Systems;
  • Embora as bibliotecas do PDF estejam disponíveis para a maioria das linguagens de programação, muitas são comerciais e estão integradas em aplicativos da GUI e não são facilmente controladas por processos externos. Nem todas as bibliotecas livres permanecem mantidas ativamente;
  • O texto nativo em PDF pode ser extraído e procurado programaticamente, mas poucos PDFs são marcados de forma que a conversão para um formato propício para web fique simples e confiável;
  • Documentos PDF não são facilmente refluíveis, o que significa que não se adaptam bem a telas pequenas ou a mudanças radicais de layout.

Porque o EPUB é propício aos desenvolvedores

O EPUB refere-se a todas as falhas em PDF relacionadas à conveniência para o desenvolvedor. Um EPUB é um arquivo de formato ZIP simples (com uma extensão .epub ) que contém arquivos ordenados de maneira proscrita. Existem alguns requisitos de “manha” sobre como o archive ZIP é preparado, os quais serão discutidos em detalhes posteriormente em Empacotando seu arquivo EPUB como um archive ZIP. Por outro lado, o EPUB é simples:
  • Quase tudo em EPUB é XML. Arquivos EPUB podem ser desenvolvidos usando kits de ferramentas XML padrão sem qualquer software especial ou proprietário;
  • Conteúdo EPUB (o texto real de um eBook) quase sempre é XHTML na versão 1.1. (Um formato alternativo é DTBook, um padrão de codificação de livros para deficientes visuais. Consulte Resources para obter mais informações sobre DTBook, as quais não estão descritas neste tutorial);
  • Muitos dos esquemas XML são tirados das especificações publicadas existentes que estão livremente disponíveis.
Os dois principais pontos são: os metadados EPUB são XML e o conteúdo EPUB é XHTML. Se seu sistema de desenvolvimento de documentação produz saída para web e/ou é baseado em XML, então está bem próximo de ser capaz de produzir EPUB, também.

Desenvolvendo seu primeiro EPUB

Um pacote configurável EPUB de conformidade mínima possui alguns arquivos obrigatórios. A especificação pode ser bem rigorosa sobre o formato, conteúdo e local desses arquivos dentro do archive EPUB. Esta seção explica o que você deve saber quando trabalhar com o padrão EPUB.

Anatomia de um pacote configurável EPUB

A estrutura básica de um arquivo EPUB mínimo segue o padrão em Listagem 1. Quando pronto para distribuição, essa estrutura de diretório é empacotadas juntamente com o requisito em formato ZIP, com alguns requisitos especiais discutidos em “Empacotando seu arquivo EPUB como um archive ZIP”.
mimetype
META-INF/
container.xml
OEBPS/
nt.opf titl
cont ee.html
t.html style
conte nsheet.css toc.ncx
png
images/ cover
.
Observação: Um livro de amostra que acompanha esse padrão está disponível emDownloads, mas recomendo que você crie seu próprio enquanto segue neste tutorial.
Para iniciar o desenvolvimento de seu livro EPUB, crie um diretório para o projeto EPUB. Abra um editor de texto ou um IDE, como o Eclipse. Recomendo usar um editor que possui o modo XML — em particular, um que possa validar com os esquemas Relax NG listados emResources.

 O arquivo tipo MIME

Esse tipo é bem fácil: O arquivo tipo MIME é necessário e deve ser nomeado mimetype. O conteúdo do arquivo é sempre:
application/epub+zip
Observe que o arquivo tipo MIME não pode conter nenhuma linha nova ou retorno de linha.
Além disso, o arquivo tipo MIME deve ser o primeiro arquivo no archive ZIP e ele próprio não deve ser compactado. Você verá como incluí-lo usando os argumentos ZIP comuns em “Empacotando seu arquivo EPUB como um archive ZIP”. Por ora, apenas crie esse arquivo e salve-o, certifique-se de que ele esteja no nível raiz de seu projeto EPUB.

META-INF/container.xml

No nível raiz do EPUB, deve haver um diretório META-INF, e ele deve conter um arquivo denominado container.xml. Os sistemas de leitura do EPUB procurarão por esse arquivo primeiro, já que ele aponta para o local dos metadados do livro digital.
Crie um diretório chamado META-INF. Dentro dele, abra um novo arquivo chamadocontainer.xml para composição. O arquivo de contêiner é bem pequeno, mas seus requisitos estruturais são rigorosos. Cole o código em Listagem 2 META-INF/container.xml.
 <?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
  <rootfiles>     <rootfile full-path="OEBPS/content.opf"
tfiles> </container>
     media-type="application/oebps-package+xml" />   </ro
o
O valor de caminho completo (em negrito) é a única parte desse arquivo que pode variar. O caminho do diretório deve ser relativo à raiz do próprio arquivo EPUB, não relativo ao diretório META-INF.
Os arquivos tipo MIME e contêiner são os únicos dois cuja localização no archive do EPUB é rigorosamente controlada. Conforme recomendado (embora não obrigatório), armazene os arquivos restantes no EPUB em um subdiretório. (Por convenção, geralmente ele é chamadoOEBPS, para Open eBook Publication Structure, mas pode ser qualquer nome que desejar).
Em seguida, crie um diretório denominado OEBPS em seu projeto EPUB. A seção a seguir deste tutorial descreve os arquivos que ficam dentro do OEBPS — a real alimentação do livro digital: seus metadados e suas páginas.

Arquivo de metadados Open Packaging Format

Embora esse arquivo possa ter qualquer nome, o arquivo OPF normalmente é chamadocontent.opf. Ele especifica o local de todo conteúdo do livro, desde seu texto até outra mídia como imagens. Também aponta para outro arquivo de metadados, o índice Navigation Center eXtended (NCX).
O arquivo OPF é o metadado mais complexo na especificação EPUB. Crie o OEBPS/content.opf, e cole o conteúdo de Listagem 3 nele.
<?xml version='1.0' encoding='utf-8'?>
<package xmlns="http://www.idpf.org/2007/opf"
xmlns:dc="http://purl.org/dc/elements/1.1/"
etadata> <dc:title>Hello World: My First
unique-identifier="bookid" version="2.0"> < mEPUB</dc:title> <dc:creator>My Name</dc:creator> <dc:identifier
ntifier> <dc:language>en-US</dc:language> <meta name="cover" content="cov
id="bookid">urn:uuid:0cc33cbd-94e2-49c1-909a-72ae16bc2658</dc:id eer-image" /> </metadata> <manifest> <item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
ml" media-type="application/xhtml+xml"/> <item id="cover-image" href="i
<item id="cover" href="title.html" media-type="application/xhtml+xml"/> <item id="content" href="content.h tmages/cover.png" media-type="image/png"/> <item id="css" href="stylesheet.css" media-type="text/css"/> </manifest> <spine toc="ncx"> <itemref idref="cover" linear="no"/>
<itemref idref="content"/> </spine> <guide> <reference href="title.html" type="cover" title="Cover"/> </guide>
</package>

Esquemas OPF e namespaces

O documento OPF em si deve usar o namespace http://www.idpf.org/2007/opf, e os metadados estarão no namespace Dublin Core Metadata Initiative (DCMI),http://purl.org/dc/elements/1.1/.
Seria uma boa ideia incluir o OPF e o esquema DCMI em seu editor XML. Todos os esquemas utilizados no EPUB estão disponíveis em Downloads.

Metadata

Dublin Core define um conjunto de termos de metadados comuns que podem ser usados para descrever uma grande variedade de materiais digitais; ele não faz parte da especificação do EPUB em si. Todos esses termos são permitidos na seção de metadados do OPF. Quando você desenvolver um EPUB para distribuição, inclua o máximo de detalhes que puder aqui, embora a extração fornecida em Listagem 4 seja suficiente para iniciar.
...
<manifest>
<item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
<item id="cover" href="title.html" media-type="application/xhtml+xml"/>
<item id="content" href="content.html" media-type="application/xhtml+xml"/>
<item id="cover-image" href="images/cover.png" media-type="image/png"/>
...
<item id="css" href="stylesheet.css" media-type="text/css"/> </manifest
>
Você deve incluir o primeiro item, toc.ncx (discutido na próxima seção). Observe que todos os itens possuem um valor de tipo de mídia apropriado e que o tipo de mídia do conteúdo XHTML é application/xhtml+xml. O valor exato é obrigatório e não pode sertext/html ou algum outro tipo.
O EPUB suporta quatro formatos de arquivo de imagem como tipos principais : Joint Photographic Experts Group (JPEG), Portable Network Graphics (PNG), Graphics Interchange Format (GIF) e Scalable Vector Graphics (SVG). É possível incluir tipos de arquivos não suportados se você fornecer um fall-back para um tipo principal. Consulte a especificação de OPF para obter mais informações sobre itens de fall-back.
Os valores do atributo href devem ser um Identificador Uniforme de Recursos (URI) que esteja relativo ao arquivo OPF. (É fácil confundir com a referência ao arquivo OPF no arquivo container.xml, no qual deve ser relativo ao EPUB como um todo). Nesse caso, o arquivo OPF está no mesmo diretório OEBPS que seu conteúdo, portanto nenhuma informação de caminho é necessária aqui.

Spine

Embora o manifesto informe ao leitor EPUB quais arquivos fazem parte do archive, o spine indica a ordem na qual eles aparecem, ou — em termos de EPUB, — a ordem de leitura linear do livro digital. Um modo de pensar do OPF spine é que ele define a ordem das “páginas” do livro. O spine é lido na ordem do documento, da parte superior para a parte inferior. A Listagem 6 mostra uma extração do arquivo OPF.
...
<spine toc="ncx">
<itemref idref="cover" linear="no"/>
<itemref idref="content"/> </spine>
...
Cada elemento itemref possui um atributo obrigatório idref, que deve corresponder a um dos IDs no manifesto. O atributo toc também é obrigatório. Refere-se a um ID no manifesto que deve indicar o nome do arquivo do índice NCX.
O atributo linear no spine indica se o item é considerado parte da ordem de leitura linear ou se é irrelevante em termos de frente ou final. Recomendo que você defina qualquer página de capa como linear=no. De acordo com o EPUB, os sistemas de leitura abrirão o livro no primeiro item no spine, ou seja não definido como linear=no.

Guia

A última parte do arquivo de conteúdo OPF é o guia. Esta seção é opcional, mas recomendada. A Listagem 7 mostra uma extração de um arquivo de guia.
...
<guide>
<reference href="cover.html" type="cover" title="Cover"/>
</guide>
...
O guia é uma maneira de fornecer informações semânticas a um sistema de leitura EPUB. Enquanto o manifesto define os recursos físicos no EPUB e o spine forneça informações sobre sua ordem, o guia explica o que as seções significam. Aqui está uma lista parcial dos valores que são permitidos no guia OPF:
  • capa: A capa do livro
  • título-página: Uma página com informações do autor e publicador
  • toc: O índice
Para obter uma lista completa, consulte a especificação OPF 2.0, disponível em Resources.

 Índice NCX

Embora o arquivo OCF seja definido como parte do EPUB em si, o último arquivo de metadados principal é emprestado de um padrão de livro digital diferente. DAISY é um consórcio que desenvolve formatos de dados para leitores que são incapazes de usar livros tradicionais, geralmente por causa de deficiência visual ou incapacidade para manipular livros impressos. EPUB emprestou o NCX DTD do DAISY. O NCX define o índice do livro digital. Em livros complexos, normalmente ele é hierárquico, contendo partes aninhadas, capítulos e seções.
Usando seu editor de XML, crie o OEBPS/toc.ncx, e inclua o código em A Listagem 8.
?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
"http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">
version="2005-1"> <head> <meta name="dtb:uid" content="urn:uuid:0cc
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" 33cbd-94e2-49c1-909a-72ae16bc2658"/> <meta name="dtb:depth" content="1"/>
" content="0"/> </head> <docTitle> <text>Hell
<meta name="dtb:totalPageCount" content="0"/> <meta name="dtb:maxPageNumbe ro World: My First EPUB</text> </docTitle> <navMap> <navPoint id="navpoint-1" playOrder="1"> <navLabel>
ayOrder="2"> <navLabel>
<text>Book cover</text> </navLabel> <content src="title.html"/> </navPoint> <navPoint id="navpoint-2" p l <text>Contents</text> </navLabel> <content src="content.html"/> </navPoint> </navMap>
</ncx>

Metadados NCX

O DTD requer quatro elementos meta dentro do NCX <head> :
  • uid: É o ID exclusivo do livro digital. Esse elemento deve corresponder aodc:identifier no arquivo OPF;
  • profundidade: Reflete o nível de hierarquia no índice. Esse exemplo possui somente um nível, portanto esse valor é 1;
  • totalPageCount e maxPageNumber: Aplica-se somente a livros impressos e pode ser deixado como 0.
O conteúdo de docTitle/text é o título do trabalho, e corresponde ao valor de dc:titleno OPF.

NCX navMap

O operador navMap é a parte mais importante do arquivo NCX, já que ele define o índice do livro real. A seção navMap contém um ou mais elementos navPoint . Cada navPointdeve conter os seguintes elementos:
  • Um atributo playOrder , que reflete a ordem de leitura do documento. Essa ordem segue a mesma da lista de elementos itemref no OPF spine;
  • Um elemento navLabel/text , que descreve o título dessa seção do livro. Normalmente é um título do capítulo ou número, como “Capítulo um,” ou—como nesse exemplo —”Página de capa”;
  • Um elemento conteúdo cujo atributo src aponta para o recurso físico que contém o conteúdo. Esse será um arquivo declarado no manifesto OPF – também é aceitável usar identificadores de fragmento aqui para apontar para âncoras dentro do conteúdo XHTML — por exemplo, content.html#footnote1;
  • Opcionalmente, um ou mais elementos filho navPoint . Pontos aninhados são como os documentos hierárquicos são expressos no NCX.
A estrutura do livro de amostra é simples: Possui apenas duas páginas e não estão aninhadas. Isso significa que você terá dois elementos navPoint com valores ascendentesplayOrder , começando em 1. No NCX, você tem a oportunidade de nomear essas seções, permitindo que os leitores pulem para diferentes partes do eBook.

Incluindo o conteúdo final.

Agora você conhece todos os metadados necessários no EPUB, então é hora de inserir o conteúdo real do livro. É possível usar o conteúdo de amostra fornecido em Downloads ou criar seu próprio conteúdo, desde que os nomes de arquivo correspondam aos metadados.
Em seguida, crie esses arquivos e pasta:
  • title.html: Esse arquivo será a página de titularidade do livro. Crie esse arquivo e inclua um elemento img que faça referência a uma imagem de capa, com o valor do atributosrc como images/cover.png;
  • imagens: Crie essa pasta dentro do OEBPS, em seguida copie a imagem de amostra (ou crie sua própria), nomeando-a cover.png;
  • content.html: Esse será o texto real do livro;
  • stylesheet.css: Coloque esse arquivo no mesmo diretório OEBPS que os arquivos XHTML. Esse arquivo pode conter qualquer declaração CSS que você desejar, como a configuração de tipo de fonte ou cor de texto. Consulte a Listagem 10 para obter um exemplo desse arquivo CSS.

XHTML e CSS em um livro EPUB

Listagem 9 contém um exemplo de uma página de conteúdo EPUB válida. Use essa amostra para sua página de título (title.html) e uma semelhante para a página de conteúdo principal (content.html) de seu livro.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
Hello World: My First EPUB</title> <link
<title
>type="text/css" rel="stylesheet" href="stylesheet.css" />
</head> <body> <h1>Hello World: My First EPUB</h1>
</div> </body> </html>
<div><img src="images/cover.png" alt="Title page"/
>
O conteúdo XHTML no EPUB segue algumas regras que podem ser pouco familiares a você do ponto de vista de desenvolvimento da desenvolvimento geral:
  • O conteúdo deve ser validado como XHTML 1.1: A única diferença significativa entre XHTML 1.0 Strict e XHTML 1.1 é que o atributo nome foi removido. (Use os IDs para se referir às âncoras dentro do conteúdo);
  • img podem fazer referência somente a imagens locais no eBook: Os elementos não podem fazer referência a imagens na web;
  • script blocos devem ser evitados: Não há requisito para leitores do EPUB terem suporte de código JavaScript.
Há algumas diferenças menores na maneira como o EPUB suporta CSS, mas nenhuma que afete o uso comum dos estilos (consulte a especificação OPS para obter detalhes). A Listagem 10 demonstra um arquivo CSS simples que pode ser aplicado ao conteúdo para definir recomendações de fontes básicas e a cor dos títulos em vermelho.
body {
font-family: sans-serif;
} h1,h2,h3,h4 {
if; color: red; }
font-family: se
r
Um ponto de interesse é que o EPUB suporta especialmente a regra CSS 2 @font-face , que permite fontes integradas. Se você criar documentação técnico, isso provavelmente não é relevante, mas os desenvolvedores que criarem EPUBs em vários idiomas ou para domínios especializados apreciarão a capacidade de especificar dados de fonte exatos.
Agora você já possui tudo o que precisa para criar seu primeiro EPUB. Na seção seguinte, você irá empacotar o livro de acordo com as especificações OCF e descobrir como validá-lo.

Empacotar e Verificar seu EPUB

Nesta altura, você já deve ter um pacote configurável EPUB pronto para empacotar. Esse pacote configurável poderá ser um novo livro que você mesmo criou ou um que utiliza os arquivos brutos disponíveis de Downloads.

Empacotando seu arquivo EPUB como um archive ZIP

A parte do Formato de Contêiner OEBPS da especificação EPUB possui diversas coisas para serem expostas sobre EPUB e ZIP, mas as mais importantes são:
  • O primeiro arquivo no archive deve ser um arquivo tipo MIME (consulte Mimetype neste artigo). O arquivo tipo MIME não deve ser compactado. Isso permite que utilitários não ZIP descubram o tipo MIME lendo os bytes brutos, começando da posição 30 no pacote configurável EPUB;
  • O archive ZIP não pode ser criptografado. O EPUB suporta criptografia mas não no nível do arquivo zip.
Usando ZIP versão 2.3 sob um sistema operacional como o UNIX®, crie o arquivo EPUB ZIP em dois comandos, como em Listagem 11. Esses comandos presumem que seu diretório atualmente em funcionamento seja seu projeto EPUB.
$ zip -0Xq  my-book.epub mimetype
$ zip -Xr9Dq my-book.epub *
No primeiro comando, você cria o novo archive ZIP e inclui o arquivo tipo MIME sem nenhuma compactação. No segundo, você inclui os itens restantes. Os sinalizadores -X e -Dminimizam as informações irrelevantes no arquivo zip; -r incluirá recursivamente o conteúdo dos diretórios META-INF e OEBPS.

 Validação do EPUB

Embora o padrão do EPUB não seja especialmente difícil, seus arquivos XML devem ser validados com esquemas específicos. Se você usar um editor XML ciente de esquema para gerar os metadados e XHTML, já terá mais de meio caminho andado. Faça uma verificação final com o pacote EpubCheck (consulte Resources).
Adobe mantém o pacote EpubCheck, e está disponível como um software livre sob licença de Berkeley Software Distribution (BSD). É um programa Java que pode executar como uma ferramenta independente ou como um aplicativo da web, ou pode ser integrado em um aplicativo que execute em Java Runtime Environment (JRE) versão 1.5 ou posterior.
Executá-lo a partir da linha de comando é simples. Listagem 12 dá um exemplo.
$ java -jar /path/to/epubcheck.jar my-book.epub
Se você falhar ao criar alguns dos arquivos auxiliares ou se introduziu um erro nos arquivos de metadados, poderá obter uma mensagem de erro semelhante aquela em Listagem 13.
my-book.epub: image file OEBPS/images/cover.png is missing
my-book.epub: resource OEBPS/stylesheet.css is missing
ng': referenced resource missing in the package Check fini
my-book.epub/OEBPS/title.html(7): 'OEBPS/images/cover.
pshed with warnings or errors!
Pode ser necessário configurar seu CLASSPATH aqui para apontar para o local da instalação EpubCheck, já que ele possui algumas bibliotecas externas para importar. Você provavelmente precisará configurar o CLASSPATH se receber uma mensagem como:
org.xml.sax.SAXParseException: no implementation available for schema language
with namespace URI "http://www.ascc.net/xml/schematron"
Se a validação foi bem-sucedida, verá “Nenhum erro ou avisos detectados”. Nesse caso, parabéns por produzir seu primeiro EPUB!

Visualização do EPUB

Testar não serve somente para validação: Trata-se também de certificar-se de que o livro esteja correto. As folhas de estilo funcionam corretamente? As seções estão realmente na ordem lógica correta? O livro inclui todo o conteúdo esperado?
Diversos leitores do EPUB estão disponíveis para você usar para testar. A Figura 1 mostra uma captura de tela de Adobe Digital Editions (ADE), o leitor do EPUB mais usado normalmente.
As cores da fonte e imagens estão aparecendo, o que é bom. O ADE não apresenta renderização correta no título em uma fonte sans-serif, apesar de que isso pode ser um problema com o CSS. É interessante aqui verificar em outro leitor. A Figura 2 mostra o mesmo livro renderizado em meu software livre, Bookworm, leitor do EPUB baseado na web.
Neste caso, acontece apenas que esse ADE não suporta essa declaração particular. Conhecer as sutilezas de um software de leitura individual será fundamental se em seu livro digital for importante uma formatação precisa.
Agora que você já passou pelo processo trabalhoso de criação de um EPUB simples a partir de rascunho, veja o que é preciso para converter DocBook, um esquema de documentação XML comum, em EPUB.

 De DocBook para EPUB

DocBook é uma opção comum para desenvolvedores que precisam manter documentação técnica em formato longo. Diferentemente dos arquivos produzidos por programas de processamento de texto tradicionais, é possível gerenciar a saída de DocBook com sistemas de controle de versão baseados em texto. Como o DocBook é XML, você pode transformá-lo facilmente em diversos formatos de saída. Desde o terceiro trimestre de 2008, é possível localizar suporte de EPUB como um formato de saída do projeto DocBook XSL oficial.

Executando o pipeline DocBook-para-EPUB básico com XSLT

Inicie com um documento DocBook simples, em a Listagem 14. Esse documento está definido como tipo livro e inclui um prefácio, dois capítulos e uma imagem sequencial exibida na página de título. Esse imagem estará localizada no mesmo diretório em que o arquivo de origem do DocBook. Crie esse arquivo e a página de título você mesmo, ou faça download de amostras de Downloads.
<?xml version="1.0" encoding="utf-8"?>
<book> <bookinfo>
k</title> <author><firstnam
<title>My EPUB bo oe>Liza</firstname>
me></author> <volumenum>1234</vo
<surname>Daly</surn alumenum> </bookinfo> <preface id="preface">
mage"> <title>Our EPUB co
<title>Title page</title> <figure id="cover- iver image icon</title> <graphic fileref="cover.png"/> </figure>
DocBook e
</preface> <chapter id="chapter1"> <title>This is a pretty simpl example</title> <para> Não há muito para ver aqui. </para> </chapter>
deixado em branco inten
<chapter id="end-notes"> <title>End notes</title> <para> Este espaço écionalmente. </para> </chapter>
</book>
Em seguida, consulte Recursos para fazer o download da versão mais recente das folhas de estilo do DocBook XSL, e certifique-se de ter um processador XSLT como xsltproc ou Saxon instalado. Esse exemplo utiliza xsltproc, que está disponível na maioria dos sistemas como UNIX. Para converter o arquivo DocBook, simplesmente execute esse arquivo com o módulo do EPUB incluído no DocBook XSL, como em a Listagem 15.
$ xsltproc /path/to/docbook-xsl-1.74.0/epub/docbook.xsl docbook.xml
Writing OEBPS/bk01-toc.html for book
reface) Writing OEBPS/ch01.html for chapter(
Writing OEBPS/pr01.html for preface( pchapter1) Writing OEBPS/ch02.html for chapter(end-notes)
iting OEBPS/content.opf Writing M
Writing OEBPS/index.html for book Writing OEBPS/toc.ncx W
rETA-INF/container.xml
Em seguida, inclua o arquivo tipo MIME e desenvolva o archive epub+zip você mesmo. Listagem 16 mostra os três comandos rápidos e o resultado de uma passagem pelo validador EpubCheck.
$ echo "application/epub+zip" > mimetype
$ zip -0Xq  my-book.epub mimetype
-jar epubcheck.jar my-book
$ zip -Xr9D my-book.epub * $ java .epub
rs or warnings detected
No err o
Bem fácil! a Figura 3 mostra sua criação em ADE.

Conversão automática de DocBook-para-EPUB com Python e lxml

O DocBook XSL tem se empenhado em tornar a geração do EPUB menos complicada, mas você deve executar algumas etapas fora do XSLT. Esta última seção demonstra um programa Python de amostra que conclui a criação de um pacote configurável EPUB válido. Mostro métodos individuais no tutorial; você pode obter o programa docbook2epub.py completo em Downloads.
Diversos bibliotecas Python XSLT estão disponíveis, mas minha preferida é lxml. Ela fornece não penas funcionalidade XSLT 1.0, mas também análise de alto desempenho, suporte integral de XPath 1.0 e extensões especiais para manipulação de HTML. Se preferir uma biblioteca diferente ou usar uma linguagem de programação diferente de Python, esses exemplos devem ser fáceis de adaptar.

Chamando o DocBook XSL com lxml

O método mais eficiente de chamar XSLT usando lxml é de antemão analisar o XSLT, então criar um transformador para uso repetitivo. Isso é útil, desde que meu script DocBook-para-EPUB aceite vários arquivos DocBook para converter. A Listagem 17 demonstra essa abordagem.
import os.path
from lxml import etree
ef convert_docbook(docbook_file):
ddocbook_xsl = os.path.abspath('docbook-xsl/epub/docbook.xsl')
# Dê ao processador XSLT a capacidade de criar novos diretórios
xslt_ac = etree.XSLTAccessControl(read_file=True,
e, write_network
write_file=True, create_dir=True, read_network=Tr u=False)
= etree.XSLT(etree.parse(docbook_xsl), access_control=xslt_ac) transfor
transfor
mm(etree.parse(docbook_file))
O módulo EPUB em DocBook XSL cria ele mesmo os arquivos de saída, assim nada é retornado da avaliação da transformação aqui. Em vez disso, o DocBook cria duas pastas (META-INF e OEBPS) no diretório ativo atual para conter os resultados da conversão.

Copiando as imagens e outros recursos no archive

O DocBook XSL não faz nada com as imagens que você possa fornecer para uso em seu documento; ele apenas cria os arquivos de metadados e o XHTML renderizado. Como a especificação do EPUB requer que todos os recursos sejam listados no manifesto content.opf, é possível inspecionar o manifesto para localizar as imagens que foram referidas no arquivo DocBook original. A Listagem 18 mostra essa técnica, que presume que a variávelpath contenha o caminho para seu EPUB em andamento, conforme criado pelo DocBook XSLT.
import os.path, shutil
from lxml import etree
def find_resources(pa
th='/path/to/our/epub/directory'):
opf = etree.parse(os.path.join(path, 'OEBPS', 'content.opf'))
Todos os elementos opf:item são recursos para o item em opf.xpath('//opf:item',
#namespaces= { 'opf': 'http://www.idpf.org/2007/opf' }):
cBook XSL, # copie-o na pasta do OEBPS href = item.attrib['href'] re
# Se o recurso ainda não tiver sido criado pelo próprio D oferenced_file = os.path.join(path, 'OEBPS', href): if not os.path.exists(referenced_file):
shutil.copy(href, os.path.join(path, 'OEBPS'))

Criando o arquivo tipo MIME automaticamente

O DocBook XSL não criará seu arquivo tipo MIME, também, mas uma rápida consulta no código da Listagem 19 pode resolver isso.
def create_mimetype(path='/path/to/our/epub/directory'):
f = '%s/%s' % (path, 'mimetype') f = open(f, 'w')
rite('application/epub+zip') f.close()
# Cuidado para não incluir uma nova linha aqui f.
w

Criando o pacote configurável do EPUB com Python

Tudo o que resta agora é empacotar os arquivos em um arquivo EPUB ZIP válido. Isso exige duas etapas: incluir o arquivo tipo MIME como o primeiro no archive sem nenhuma compactação e, em seguida, incluir os diretórios restantes. A Listagem 20 mostra o código para esse processo.
import zipfile, os
ef create_archive(path='/path/to/our/epub/directory'):
d'''Create the ZIP archive.  The mimetype must be the first file in the archive
and it must not be compressed.'''
ename(path) # The EPUB must contain the META-
epub_name = '%s.epub' % os.path.ba sINF and mimetype files at the root, so
g directory first and move it later os.chdir(path) # Open a new zipfile fo
# we'll create the archive in the worki nr writing epub = zipfile.ZipFile(epub_name, 'w') # Add the mimetype file first and set it to be uncompressed
files # using normal ZIP compression for p in os.list
epub.write(MIMETYPE, compress_type=zipfile.ZIP_STORED) # For the remaining paths in the EPUB, add all of thei rdir('.'): for f in os.listdir(p): epub.write(os.path.join(p, f)), compress_type=zipfile.ZIP_DEFLATED)
epub.close()
Só isso! Lembre-se de validar.

 Resumo

O script Python na seção anterior é somente uma primeira etapa ao automatizar integralmente qualquer tipo de conversão do EPUB. Para ser breve, essa etapa não lida com muitos casos comuns, como caminhos aninhados arbitrariamente, folhas de estilos ou fontes integradas. Os fãs de Ruby podem dar uma olhada em dbtoepub, incluído na distribuição do DocBook XSL, para verem uma abordagem semelhante nessa linguagem.
Como o EPUB é um formato relativamente novo, muitos caminhos de conversão úteis ainda aguardam criação. Felizmente, muitos tipos de marcação estruturada, como reStructuredText ou Markdown, possuem pipelines que já produzem HTML ou XHTML. Adaptar isso para produzir EPUBs deve ser bastante simples, especialmente usando os scripts do DocBook-para-EPUB Python ou Ruby como guia.
Como o EPUB é principalmente ZIP e XHTML, há poucos motivos para não distribuir pacotes configuráveis de documentação como archives do EPUB, em vez de simples arquivos .zip. Usuários com leitores de EPUB se beneficiam dos metadados adicionais e índices automáticos, mas aqueles sem podem simplesmente tratar o archive do EPUB como um arquivo ZIP normal e visualizar o conteúdo XHTML em um navegador. Considere a inclusão do código gerado por EPUB para qualquer tipo de sistema de documentação, como Javadoc ou Perldoc. O EPUB é desenvolvido para documentação no comprimento de livro, portanto é um formato de distribuição perfeito para o crescente número de livros de programação online ou em andamento.
***
IBM® Tivoli® Monitoring ajuda a otimizar o desempenho e a disponibilidade da infraestrutura de TI. Use o software Tivoli Monitoring para gerenciar sistemas operacionais, bancos de dados e servidores em ambientes distribuídos e de host.

Downloads

DescriçãoNomeTamanhoMétodo de download
Resources to build the EPUB in this tutorialepub-raw-files.zip8KBHTTP
DocBook to EPUB tools1docbook-to-epub.zip7KBHTTP
Nota
  1. Esse arquivo .zip contém a amostra do arquivo DocBook XML ilustrado no tutorial e um script docbook2epub.py completo. Você deve fazer o download do lxml e DocBook XSL separadamente; consulte os links em Resources.

Recursos

Aprender

Obter produtos e tecnologias

  • EpubCheck: Adobe EpubCheck é uma ferramenta de grande valor para criação do EPUB. Faça download e execute-o como um programa independente, um aplicativo da web, ou como uma biblioteca (requer Java versão 1.5 ou posterior).
  • DocBook XSL: Faça download da última versão das folhas de estilo para processamento de DocBook no EPUB. O pacote DocBook XSL também inclui um script Ruby para processamento em um archive de EPUB completo, semelhante ao script Python demonstrado neste tutorial.
  • lxml: Caso você não o tenha instalado atualmente, o lxml é a biblioteca XML mais bem equipada disponível para Python. Para obter mais informações sobre lxml, consulte o artigo do autor High-performance XML parsing in Python with lxml (Liza Daly, developerWorks, outubro de 2008).
  • Edições Digitais Adobe e Bookworm: Para teste de EPUB, os e-readers que seguem mais de perto a especificação são ADE, um aplicativo desktop de plataforma cruzada, e Bookwork, o e-reader baseado na web do autor, que utiliza o navegador para renderização de EPUB.
  • Software de avaliação da IBM para avaliação de produto : Desenvolva seu próximo projeto com o software de avaliação disponível para download diretamente do developerWorks, incluindo ferramentas de desenvolvimento de aplicativo e produtos de middleware do DB2®, Lotus®, Rational®, Tivoli®eWebSphere®.

Discutir

***
Sobre o autor: Liza Daly é engenheira de software especializada em aplicativos para o segmento de mercado de publicações. Ela é desenvolvedora líder dos principais produtos online da Oxford University Press, O’Reilly Media e outros publicadores. Atualmente, é consultora independente e fundadora da Threepress, um projeto de software livre desenvolvendo aplicativos ebook.
***