15 resultados para Programação orientada a componentes e serviços

em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul


Relevância:

100.00% 100.00%

Publicador:

Resumo:

Neste estudo são discutidos alguns aspectos relacionados à escolha da primeira linguagem de programação em currículos de ciência da computação, com interesse especial em Pascal e Java. A primeira linguagem é amplamente adotada para ensinar programação aos novatos, enquanto a segunda está ganhando popularidade como uma linguagem moderna e abrangente, que pode ser usada em muitas disicplinas ao longo de um curso degraduação em computação como ferramenta para ensinar desde recursos básicos de programação até tópicos mais avançados. Embora vários problemas quanto ao ensino de Java, com a primeira linguagem de programação, possam ser apontadas, consideramosque Java é uma boa escolha, visto que (a) oferece apoio a importantes questões conceituais e tecnológicos e, (b) é possível contornar algumas complexidades da linguagem e da plataforma Java para torná-las mais adequadas à alunos iniciantes. Além disso, considerando a grande popularidade de Pascal nos currículos de cursos de computação, uma eventual adoção de Java conduz à outro problema: a falta de professores aptos a lecionar programação orientada a objetos. Sugerimos que este problema de migração de Pascal para Java seja enfrentado através de smplificação do ambiente de desenvolvimento de programas, uso de um pacote com classes que facilitam a entrada e saída, e o desenvolvimento de um catálogo comparativo de programas implementados em ambas as linguagens. Neste estudo também é apresentado o JEduc, um IDE muito simples com o objetivo de dar suporte ao ensino da linguagem de programação orientada a objetos Java aos novatos. Oferece componentes desenvolvidos em Java que integram edição, compilação e execução de programas Java. Além das funcionalidades comuns a um IDE, JEduc foi desenvolvido para gir como uma ferramente pedagógica: simplifica a maioria das mensagens do compilador e erros da JRE, permite a inserção de esqueletos de comandos, e incorpora pacotes especiais para esconder alguns detalhes sintáticos e semânticos indesejáveis.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Muitos aplicativos atuais, envolvendo diversos domínios de conhecimento, são estruturados como arquiteturas de software que incorporam, além dos requisitos funcionais, requisitos não funcionais, como segurança, por exemplo. Tais requisitos podem constituir um domínio próprio, e, portanto, serem comuns a várias outras arquiteturas de software. Tecnologias como Programação Orientada a Aspectos, Reflexão Computacional e Padrões de Projeto colaboram no desenvolvimento de arquiteturas que provêem a separação de requisitos não funcionais. Porém, sua experimentação e adoção no domínio da segurança computacional ainda é incipiente. O foco deste trabalho é a elaboração de um padrão de projeto voltado à segurança, utilizando como arquitetura conceitual programação orientada a aspectos, e como arquitetura de implementação, reflexão computacional. A composição destas tecnologias resulta em um middleware orientado à segurança, voltado a aplicações desenvolvidas em Java. Estuda-se as tecnologias, seus relacionamentos com a área de segurança, seguido da proposta de uma arquitetura de referência, a partir da qual é extraído um protótipo do middleware de segurança. Este, por sua vez, provê mecanismos de segurança tão transparentes quanto possível para as aplicações que suporta. Com o objetivo de realizar a implementação do middleware de segurança, também são estudadas os mecanismos de segurança da plataforma Java, porém limitado ao escopo deste trabalho. Segue-se o estudo da base conceitual das tecnologias de Reflexão Computacional, o modelo de implementação, seguido de Programação Orientada a Aspectos, o modelo conceitual, e, por fim, têm-se os Padrões de Projeto, a arquitetura de referência. Integrando as três tecnologias apresentadas, propõe-se um modelo, que estabelece a composição de um Padrão Proxy, estruturado de acordo com a arquitetura reflexiva. Este modelo de arquitetura objetiva implementar o aspecto de segurança de acesso a componentes Java, de forma não intrusiva,. Baseado no modelo, descreve-se a implementação dos diversos elementos do middleware, estruturados de forma a ilustrar os conceitos propostos. Ao final, apresenta-se resultados obtidos durante a elaboração deste trabalho, bem como críticas e sugestões de trabalhos futuros.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Neste trabalho apresenta-se um método de desenvolvimento integrado baseado no paradigma de orientação a objetos, que visa abordar todo o ciclo de desenvolvimento de uma aplicação tempo real. Na fase de especificação o método proposto baseia-se no uso de restrições temporais padronizadas pelo perfil da UML-TR, sendo que uma alternativa de mapeamento destas restrições para o nível de programação é apresentada. Este mapeamento serve para guiar a fase de projeto, onde utilizou-se como alvo a interface de programação orientada a objetos denominada TAFT-API, a qual foi projetada para atuar junto ao ambiente de execução desenvolvido no âmbito desta tese. Esta API é baseada na especificação padronizada para o Java-TR. Este trabalho também discute o ambiente de execução para aplicações tempo real desenvolvido. Este ambiente faz uso da política de escalonamento tolerante a falhas denominada TAFT (Time-Aware Fault- Tolerant). O presente trabalho apresenta uma estratégia eficiente para a implementação dos conceitos presentes no escalonador TAFT, que garante o atendimento a todos os deadlines mesmo em situações de sobrecarga transiente. A estratégia elaborada combina algoritmos baseados no Earliest Deadline, sendo que um escalonador de dois níveis é utilizado para suportar o escalonamento combinado das entidades envolvidas. Adicionalmente, também se apresenta uma alternativa de validação dos requisitos temporais especificados. Esta alternativa sugere o uso de uma ferramenta que permite uma análise qualitativa dos dados a partir de informações obtidas através de monitoração da aplicação. Um estudo de caso baseado em uma aplicação real é usado para demonstrar o uso da metodologia proposta.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

A linguagem de programação Java vem sendo uma das escolhidas para a implementação de aplicações compostas por objetos distribuídos. Estas aplicações caracterizam-se por possuir comportamento complexo e, portanto, são mais difíceis de depurar e refinar para obter melhores desempenhos. Considerando a necessidade do desenvolvimento de uma ferramenta de monitoração para o modelo de objetos distribuídos, que colete informações mais detalhadas sobre a execução da aplicação, é apresentado neste trabalho um ambiente de monitoração de aplicações distribuídas escritas em Java, o DOMonitor. Um dos objetivos do DOMonitor é obter o comportamento que a aplicação apresenta durante a execução, possibilitando a detecção de comportamentos equivocados e seu respectivo refinamento. O DOMonitor é voltado para aplicações compostas por objetos distribuídos e caracteriza-se por identificar principalmente: (i) o comportamento dinâmico das threads; (ii) a utilização dos métodos de sincronização; e (iii) a comunicação entre os entes distribuídos da aplicação. O DOMonitor está fundamentado em quatro premissas: (i) ser transparente para o usuário, não exigindo anotações no código fonte; (ii) apresentar uma organização modular, e por isto ser flexível e expansível; (iii) ser portável, não exigindo nenhuma alteração na Maquina Virtual Java; e (iv) operar de forma a garantir a ordem dos eventos previstos pelo programa. Os dados produzidos pelo DOMonitor podem ser utilizados com diversas finalidades tais como visualização da execução, escalonamento e como suporte à execução de aplicações móveis. Para comprovar esta versatilidade, foi proposta a integração do sistema a dois outros projetos, o Pajé e o ISAM. O projeto ISAM utilizará os dados monitorados para tomadas de decisão durante o curso da execução e o projeto Pajé permite a visualização gráfica das características dinâmicas de uma aplicação Java.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este trabalho apresenta um modelo de análise estática de programas orientados a objetos, o qual se denomina DEPAnalyzer (DEPendencies Analyzer). O modelo realiza a análise das dependências entre as classes de um programa, ou seja, os relacionamentos estabelecidos entre estas. As classes representam as entidades estáticas, as quais em tempo de execução darão origem a conjuntos de objetos. Através da simulação do programa o modelo consegue obter as informações sobre quem se relaciona com quem e qual é a intensidade destes relacionamentos. Estas informações visam auxiliar no processo de escalonamento de um programa em uma arquitetura distribuída. Para expressar estes relacionamentos podem ser gerados dois grafos, o grafo de dependências e o grafo de invocações. A geração de um ou de ambos depende do propósito de utilização, ou seja, alocação inicial ou redistribuição dos objetos. O grafo de dependências apresenta uma versão resumida dos relacionamentos. Este adequa-se a auxiliar no processo de distribuição inicial por propiciar um panorama geral dos relacionamentos sem considerar a ordenação de ocorrência das ações. Por sua vez o grafo de invocações tem como propósito a discriminação da ordem de ocorrência das ações de uma aplicação. Viabilizando a utilização deste por parte do processo de redistribuição dos objetos.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Independentemente do modelo de programação adotado, no projeto e implementação de aplicações de alta disponibilidade, faz-se necessário usar procedimentos de tolerância a falhas. Dentre as atividades que trazem consigo interesse de pesquisa na área de Tolerância a Falhas, estão os mecanismos de recuperação em um sistema computacional. Do ponto de vista prático, estes mecanismos buscam manter próximo do mínimo o tempo total de execução de aplicações computacionais de longa duração, ao mesmo tempo em que as preparam para não sofrerem perdas significativas de desempenho, em caso de falhas. Paralelamente à evolução dos sistemas computacionais, foi possível observar também a evolução das linguagens de programação, principalmente as que utilizam o paradigma orientado a objetos. O advento da área de tolerância a falhas na orientação a objetos resultou em novos problemas na atividade de recuperação quanto aos mecanismos de salvamento de estados e retomada da execução, principalmente no que se refere às dificuldades de gerenciamento e controle sobre a alocação de objetos. Entretanto, observa-se que a complexidade de implementação dos mecanismos de recuperação, por parte dos programadores, exige deles conhecimentos mais especializados para o salvamento dos estados da aplicação e para a retomada da execução. Portanto, a simplificação do trabalho do programador, através do uso de uma biblioteca de checkpointing que implemente os mecanismos de salvamento de estados e recuperação é o ponto focal deste trabalho. Diante do contexto exposto, nesta dissertação, são definidas e implementadas as classes de uma biblioteca que provê mecanismos de checkpointing e recuperação. Esta biblioteca, denominada de Libcjp, visa aprimorar o processo de recuperação de aplicações orientadas a objetos escritas na linguagem de programação Java. Esta linguagem foi escolhida para implementação devido à presença dos recursos de persistência e serialização. Para a concepção do trabalho, são considerados ambos os cenários no paradigma orientado a objetos: objetos centralizados e distribuídos. São utilizados os recursos da API de serialização Java e a tecnologia Java RMI para objetos distribuídos. Conclui-se o trabalho com a ilustração de casos de uso através de diversos exemplos desenvolvidos a partir de seus algoritmos originais inicialmente, e incrementados posteriormente com os mecanismos de checkpointing e recuperação. Os componentes desenvolvidos foram testados quanto ao cumprimento dos seus requisitos funcionais. Adicionalmente, foi realizada uma análise preliminar sobre a influência das ações de checkpointing nas características de desempenho das aplicações.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Computação Móvel é um termo genérico, ainda em definição, ao redor do qual se delineia um espectro de cenários possíveis, desde a Computação Pessoal, com o uso de computadores de mão, até a visão futurista da Computação Ubíqua. O foco do projeto ISAM (Infra-estrutura de Suporte às Aplicações Móveis Distribuída), em desenvolvimento no II/UFRGS, é a Pervasive Computing. Esta desenha um cenário onde o usuário é livre para se deslocar mantendo o acesso aos recursos da rede e ao seu ambiente computacional, todo tempo em qualquer lugar. Esse novo cenário apresenta muitos desafios para o projeto e execução de aplicações. Nesse escopo, esta tese aprofunda a discussão sobre questões relativas à adaptação ao contexto em um ambiente pervasivo sob a ótica de uma Linguagem de Programação, e define uma linguagem chamada ISAMadapt. A definição da linguagem ISAMadapt baseia-se em quatro abstrações: contexto, adaptadores, políticas e comandos de adaptação. Essas abstrações foram concretizadas em duas visões: (1) em tempo de programação, através de comandos da linguagem e arquivos de configuração, descritos com o auxílio do Ambiente de Desenvolvimento de Aplicações; (2) em tempo de execução, através de serviços e APIs fornecidos pelos componentes que integram o ambiente de execução pervasiva (ISAMpe). Deste, os principais componentes que implementam a semântica de execução da aplicação ISAMadapt são: o serviço de reconhecimento de contexto, ISAMcontextService, e a máquina de execução da adaptação dinâmica, ISAMadaptEngine.As principais contribuições desta tese são: (a) primeira linguagem para a codificação de aplicações pervasivas; (b) sintaxe e semântica de comandos para expressar sensibilidade ao contexto pervasivo; (c) fonte para o desenvolvimento de uma metodologia de projeto de aplicações pervasivas; (d) projeto ISAM e o projeto contextS (www.inf.ufrgs.br/~isam) que fornecem suporte para o ciclo de vida das aplicações, desde o desenvolvimento até a execução de aplicações pervasivas.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Novas tecnologias têm sido investigadas como soluções alternativas ao protocolo de gerenciamento de redes padrão, o SNMP. Nesse cenário, a tecnologia de Web Services (WS) vem se tornando bastante promissora, mas imaginar que ela irá substituir de imediato o SNMP não é uma abordagem factível, pois é provável que o SNMP continue sendo utilizado nos dispositivos de rede por um bom tempo. Além disso, os WS são recentes, necessitando maiores investigações com respeito a utilização no gerenciamento de redes. As atuais investigações realizadas comparam os WS com o SNMP em casos genéricos, não levando em consideração casos especí cos de gerenciamento. Nesse contexto, esta dissertação apresenta o desenvolvimento e a avaliação de duas implementações baseadas em WS, desenvolvidas no especí co contexto do gerenciamento distribuído por delega- ção e tendo a MIB Script, de nida pelo IETF, como base de desenvolvimento. A primeira implementação consiste na construção de um novo tipo de gateway WS para SNMP, denominado gateway em nível de serviço, que caracteriza-se por ser construído baseado nos serviços que um determinado módulo de MIB oferece. Isso proporciona um grau maior de abstração, na visão do gerente WS, na manipulação dos agentes SNMP e, também, diminui o número de mensagens trocadas entre o gerente WS e o gateway desenvolvido. A segunda implementação realiza a total substituição do SNMP no gerenciamento dos dispositivos, permitindo, com isso, um gerenciamento de redes completamente baseado em Web Services. A implementação consistiu na construção de um novo tipo de agente, denominado por agente orientado a serviços baseado em Web Services, ou apenas agente WS. O agente WS desenvolvido possui as mesmas características que o gateway em ní- vel de serviço, diferindo apenas na não utilização de SNMP no caso do agente WS. O gerenciamento das duas implementações é realizado através de um módulo desenvolvido e incorporado ao ambiente de gerenciamento de redes QAME. Esse módulo manipula as duas implementações da mesma maneira, uma vez que os serviços oferecidos por elas possuem a mesma interface de acesso. A avaliação realizada consistiu na comparação entre as duas implementações desenvolvidas neste trabalho e outras duas soluções de gerenciamento investigadas: o gateway em nível de objeto e uma implementação da MIB Script, denominada Jasmin. Os parâmetros de avaliação utilizados nas comparações foram o tráfego gerado e o tempo de resposta percebido. Como será visto ao nal, os resultados das comparações realizadas no caso especí co do gerenciamento por delega- ção são diferentes daqueles apresentados em investigações mais genéricas. Além disso, as duas implementações desenvolvidas neste trabalho demonstraram serem promissoras, apresentando resultados bastante satisfatórios com relação aos parâmetros avaliados.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

A Customização em massa é um conceito emergente na indústria orientada a fornecer produtos e serviços customizados através de processos flexíveis, em grandes volumes e a custos razoavelmente baixos. A customização de produtos é uma estratégia chave para conseguir a satisfação do cliente com produtos exclusivos e preços razoáveis. Este trabalho de tese propõe um modelo de customização de produtos para facilitar o projeto e colaboração do cliente no processo de selecionar a configuração de um produto. O modelo integra as técnicas de modelagem orientada a objetos, análise de decisão multi-atributo e programação linear inteira. O objetivo do modelo é dar suporte à customização de produtos/serviços, em que as escolhas do cliente são gerenciadas pela relevância relativa de um conjunto de atributos sobre um conjunto de combinações de componentes oferecidas pela empresa, e com a limitação de restrições técnicas, estéticas e financeiras, que definem interativamente projetistas e consumidores. A integração das técnicas resulta em uma representação do processo de configuração que considera, simultaneamente, a abordagem técnica, explícita e objetiva dos projetistas e a abordagem baseada em intenções e preferências do consumidor. Com o modelo desenvolvido, o cliente pode definir regras e fornecer informação que pode ser utilizada para representar o conhecimento tácito em um modelo de programação linear que otimiza a sua utilidade específica. O modelo computacional é capaz de implementar o processo cognitivo que caracteriza a configuração de produtos em um ambiente de customização em massa de forma explícita, dinâmica e flexível. Experimentos foram realizados para exemplificar como é utilizado o programa e um estudo de caso foi desenvolvido para validar o modelo.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Este trabalho pretende contribuir com questões relacionadas ao planejamento e programação de operações de prestação de serviços. Seu enfoque é nos bastidores das operações de serviços, onde ocorre o fluxo de materiais e são observadas características similares às da manufatura. Ainda assim, algumas características específicas das operações de serviços influenciam o processo a ser planejado. O tema desta dissertação consiste na definição de um método de planejamento e programação das operações dos bastidores de empresas prestadoras de serviço. Este método engloba conceitos utilizados tanto na manufatura quanto nos serviços. Na etapa inicial do trabalho, é apresentada uma revisão bibliográfica sobre planejamento da produção na manufatura, planejamento da prestação de serviços e gerenciamento de projetos. Na etapa seguinte, apresenta-se um método de planejamento e programação para operações dos bastidores de empresas prestadoras de serviço. A etapa final apresenta a validação prática do método proposto em uma empresa do setor elétrico que atua no segmento de distribuição de energia.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

O sucesso da Internet como plataforma de distribuição de sistemas de informação encoraja organizações a disponibilizar serviços presentes em seus sistemas legados nesse ambiente. Uma parte desses sistemas foi desenvolvida na fase inicial do desenvolvimento das aplicações cliente/servidor para banco de dados, usando ambientes visuais com interfaces gráficas tipo WIMP, implementadas sob o paradigma procedimental/estruturado, baseado em objetos e eventos. Como conseqüência, produziu-se sistemas legados difíceis de manter, evoluir e adaptar a novas tecnologias e arquiteturas, pois os projetos desenvolvidos não seguiam, na maioria das vezes, os bons preceitos e práticas modernas defendidas na Engenharia de Software. O objetivo deste trabalho é propor uma metodologia para migrar sistemas legados com as características citadas acima para a plataforma Web. O processo de migração proposto destaca duas estratégias: a elaboração de modelos de classes conceituais da aplicação e o tratamento dado à interface do usuário, para serem utilizados na reconstrução de uma nova aplicação. O processo é baseado em técnicas e métodos de engenharia reversa, que visa obter abstrações por meio de análise estática e dinâmica da aplicação. Na análise dinâmica, destaca-se o mecanismo para recuperar aspectos dos requisitos funcionais do sistema legado e representá-los na ferramenta denominada UC/Re (Use Case para Reengenharia). Todos os artefatos gerados durante o processo podem ser armazenados em um repositório, representando os metamodelos construídos na metodologia. Para delimitar e exemplificar o processo, escolheu-se como domínio de linguagem de programação do software legado, o ambiente Delphi (sob a linguagem Object Pascal). É proposto também um ambiente CASE, no qual é descrito o funcionamento de um protótipo que automatiza grande parte das funcionalidades discutidas nas etapas do processo. Algumas ferramentas desenvolvidas por terceiros são empregadas na redocumentação do sistema legado e na elaboração dos modelos UML do novo sistema. Um estudo de caso, apresentando uma funcionalidade específica de um sistema desenvolvido em Delphi, no paradigma procedimental, é usado para demonstrar o protótipo e serve de exemplo para a validação do processo. Como resultado do processo usando o protótipo, obtém-se o modelo de classes conceituais da nova aplicação no formato XMI (formato padrão para exportação de modelos UML), e gabaritos de páginas em HTML, representando os componentes visuais da interface original na plataforma Web.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Em vista da maior complexidade da programação paralela e distribuída em relação à programação de ambientes centralizados, novas ferramentas vêm sendo construídas com o objetivo de auxiliar o programador desses ambientes a desempenhar sua tarefa de formas mais eficazes e produtivas. Uma das ferramentas que há algum tempo tem sido usada na programação centralizada e aos poucos está sendo empregada também na programação concorrente é a programação visual. A programação visual se vale da presença de elementos visuais na especificação dos programas como peças chaves do processo de desenvolvimento de software. No caso específico da programação concorrente, a programação visual é especialmente útil pela capacidade que os gráficos têm de representar de forma mais adequada estruturas bidimensionais. Um programa concorrente, por relacionar no espaço diversos elementos com seus próprios fluxos de execução, faz surgir duas dimensões de análise que são mais difíceis de serem observadas através de programas textuais. Atualmente existem ferramentas de programação visual paralela e distribuída, mas a ênfase é dada na programação paralela, sem muita atenção a aplicações de sistemas abertos ou cliente-servidor. Além disso, tais ferramentas sofrem da falta de apoio à engenharia do software. Considerando essas deficiências, este trabalho apresenta uma ferramenta de programação visual para o desenvolvimento de aplicações compostas por objetos distribuídos que ofereça também a possibilidade de aplicar os principais conceitos da engenharia de software, como reutilização e orientação a objeto. Nesta ferramenta, o programador especifica de maneira visual a estrutura do seu programa, insere o código textual para a lógica da aplicação e o ambiente se encarrega do tratamento da distribuição e da comunicação de mais baixo nível. A aplicação é representada como um grafo dirigido, onde os nodos representam os objetos distribuídos e os arcos indicam os relacionamentos existentes entre esses objetos. A especificação dos programas é modular, baseando-se na reunião de componentes reutilizáveis, o que torna o sistema altamente configurável e extensível. Tanto a implementação da ferramenta quanto o código das aplicações geradas usam a linguagem de programação Java. A linguagem de programação visual projetada não especifica detalhes a respeito de como irá funcionar a comunicação e distribuição dos objetos. Portanto, foram implementados componentes para comunicação e outros recursos de programação distribuída, como locks e dados globais para serem usados nas aplicações. Para validar os principais objetivos da ferramenta, foram implementados alguns exemplos de aplicações distribuídas, como um pequeno sistema de bate-papo.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Alta disponibilidade é uma das propriedades mais desejáveis em sistemas computacionais, principalmente em aplicações comerciais que, tipicamente, envolvem acesso a banco de dados e usam transações. Essas aplicações compreendem sistemas bancários e de comércio eletrônico, onde a indisponibilidade de um serviço pode representar substanciais perdas financeiras. Alta disponibilidade pode ser alcançada através de replicação. Se uma das réplicas não está operacional, outra possibilita que determinado serviço seja oferecido. No entanto, réplicas requerem protocolos que assegurem consistência de estado. Comunicação de grupo é uma abstração que tem sido aplicada com eficiência a sistemas distribuídos para implementar protocolos de replicação. Sua aplicação a sistemas práticos com transações e com banco de dados não é comum. Tipicamente, sistemas transacionais usam soluções ad hoc e sincronizam réplicas com protocolos centralizados, que são bloqueantes e, por isso, não asseguram alta disponibilidade. A tecnologia baseada em componentes Enterprise JavaBeans (EJB) é um exemplo de sistema prático que integra distribuição, transações e bancos de dados. Em uma aplicação EJB, o desenvolvedor codifica o serviço funcional que é dependente da aplicação, e os serviços não–funcionais são inseridos automaticamente. A especificação EJB descreve serviços não–funcionais de segurança, de transações e de persistência para bancos de dados, mas não descreve serviços que garantam alta disponibilidade. Neste trabalho, alta disponibilidade é oferecida como uma nova propriedade através da adição de serviços não–funcionais na tecnologia EJB usando abstrações de comunicação de grupo. Os serviços para alta disponibilidade são oferecidos através da arquitetura HA (highly-available architecture) que possui múltiplas camadas. Esses serviços incluem replicação, chaveamento de servidor, gerenciamento de membros do grupo e detecção de membros falhos do grupo. A arquitetura HA baseia-se nos serviços já descritos pela especificação EJB e preserva os serviços EJB existentes. O protocolo de replicação corresponde a uma subcamada, invisível para o usuário final. O serviço EJB é executado por membros em um grupo de réplicas, permitindo a existência de múltiplos bancos de dados idênticos. Conflitos de acesso aos múltiplos bancos de dados são tratados estabelecendo–se uma ordem total para aplicação das atualizações das transações. Esse grupo é modelado como um único componente e gerenciado por um sistema de comunicação de grupo. A combinação de conceitos de bancos de dados com comunicação de grupo demonstra uma interessante solução para aplicações com requisitos de alta disponibilidade, como as aplicações EJB. Os serviços adicionais da arquitetura HA foram implementados em protótipo. A validação através de um protótipo possibilita que experimentos sejam realizados dentro de um ambiente controlado, usando diferentes cargas de trabalho sintéticas. O protótipo combina dois sistemas de código aberto. Essa característica permitiu acesso à implementação e não somente à interface dos componentes dos sistemas em questão. Um dos sistemas implementa a especificação EJB e outro implementa o sistema de comunicação de grupos. Os resultados dos testes realizados com o protótipo mostraram a eficiência da solução proposta. A degradação de desempenho pelo uso de réplicas e da comunicação de grupo é mantida em valores adequados.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A implantação da Política Nacional de Medicamentos (PNM), parte essencial da Política de Saúde, promoveu melhorias na atenção à saúde que, no entanto, não têm sido suficientes para garantir o acesso e o uso racional dos medicamentos. O objetivo desta dissertação é analisar os serviços farmacêuticos na esfera municipal e propor um modelo lógico de trabalho, visando a construção de uma estratégia voltada à reorganização da Assistência Farmacêutica (AF), no município de Porto Alegre. A metodologia empregada foi a análise documental das atividades desempenhadas na Secretaria Municipal da Saúde (SMS) e de elementos do Planejamento Estratégico Situacional (PES) destinados à avaliação dos níveis distrital e local. Na avaliação da AF identificou-se a necessidade de definir suas atribuições e atividades, visto que permanece a centralização das ações na aquisição e distribuição de medicamentos, desenvolvimento inadequado das atividades do Ciclo da AF, indefinições de atribuições, inadequação de área física das farmácias, ausência de uma política de recursos humanos e dificuldades em garantir o acesso aos medicamentos. O modelo lógico proposto para o Sistema de AF foi baseado na concepção da AF, expressa na PNM, e na Teoria de Sistemas, tendo o usuário do serviço como foco das ações. Esse Sistema é composto por quatro componentes: Técnico-científico, Operacional, Informação e Qualidade. Ficou definido que as atividades dos componentes seriam efetuadas em três níveis hierárquicos, e, em conseqüência, foram propostas atribuições a essas hierarquias. Conclui-se que o funcionamento adequado do modelo exige recursos humanos em quantidades suficientes, motivados e capacitados, uma área física e equipamentos apropriados, bem como informações técnico-científicas e operacionais atualizadas. Da mesma forma, o apoio do gestor reconhecendo a importância dos serviços farmacêuticos é fundamental para sua organização e estruturação.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A internet tem provocado mudanças significativas em processos de compra, venda e troca de bens e serviços entre empresas e clientes. Uma das áreas mais afetadas pela internet é o comércio: têm-se novos produtos, processos e relações entre os atores. Esta pesquisa tem como tema os modelos de negócios de empresas que comercializam virtualmente produtos virtuais, ou seja, produtos ou serviços que podem ser divulgados, vendidos, pagos, entregues ou utilizados pela internet. O foco da pesquisa são os modelos de negócios. Um modelo de negócios pode ser definido como um sumário lógico da criação de valor de uma organização ou uma rede de empresas, incluindo suposições sobre seus parceiros, competidores e clientes, cuja importância consiste em identificar e analisar papéis, funções, recursos e habilidades necessários para manter uma empresa atuante e sustentável. O contexto de aplicação é a indústria de software, mais especificamente o Application Solution Provider, um produto virtual baseado em software, que consiste em hospedagem e gerenciamento remoto de soluções em sistemas de informação. Os elementos motivadores da pesquisa advém da pesquisa de Kauffman e Walden (2001), que indica a necessidade do estudo dos produtos virtuais, devido ao potencial de crescimento destes. Os autores também sugerem pesquisas que busquem compreender como os modelos de negócio estão sendo modificados pela (e para a) internet, formulando uma base de modelos de negócios para comércio eletrônico que possa oferecer às empresas que o utilizarem uma vantagem competitiva sustentável. Tendo em vista a delimitação de tema, foco e contexto apresentados, a questão de pesquisa consiste em estudar quais são os componentes de modelos de negócios e como se manifestam em uma empresa que comercializa eletronicamente produtos virtuais. O objetivo do trabalho é consolidar os componentes de modelos de negócios e compreender como estes se manifestam em uma empresa que comercializa eletronicamente produtos virtuais. O objetivo do trabalho é consolidar os componentes de modelos de negócios e compreender como estes se manifestam em uma empresa que comercializa eletronicamente produtos virtuais. Em relação aos procedimentos metodológicos, realizou-se análise de documentos, entrevistas com especialistas e estudo de caso. A análise de documentos teve o intuito de criar um conjunto de componentes de modelos de negócios baseado na teoria (artigos sobre o tema). Este conjunto de componentes foi apreciado por um grupo de especialistas. A partir da análise do roteiro de componentes os especialistas sugeriram unir, desmembrar, excluir, alterar ou manter inalterado cada um dos componentes. O roteiro consolidado após a opinião dos especialistas foi aplicado em um caso prático – um produto virtual comercializado eletronicamente – visando verificar a consistência e adequação do roteiro de componentes. O resultado deste trabalho – um conjunto de componentes de modelos de negócios – potencialmente pode ser útil a empresas que comercializam eletronicamente seus produtos, seja para definir um modelo de negócios adequado à sua atividade, seja para orientar, diagnosticar e compreender um modelo de negócios que já esteja em atividade.