86 resultados para Plataforma .NET
em Reposit
Resumo:
A família de especificações WS-* define um modelo de segurança para web services, baseado nos conceitos de claim, security token e Security Token Service (STS). Neste modelo, a informação de segurança dos originadores de mensagens (identidade, privilégios, etc.) é representada através de conjuntos de claims, contidos dentro de security tokens. A emissão e obtenção destes security tokens, por parte dos originadores de mensagens, são realizadas através de protocolos legados ou através de serviços especiais, designados de Security Token Services, usando as operações e os protocolos definidos na especificação WS-Trust. O conceito de Security Token Service não é usado apenas no contexto dos web services. Propostas como o modelo dos Information Cards, aplicável no contexto de aplicações web, também utilizam este conceito. Os Security Token Services desempenham vários papéis, dependendo da informação presente no token emitido. São exemplos o papel de Identity Provider, quando os tokens emitidos contêm informação de identidade, ou o papel de Policy Decision Point, quando os tokens emitidos definem autorizações. Este documento descreve o projecto duma biblioteca software para a realização de Security Token Services, tal como definidos na norma WS-Trust, destinada à plataforma .NET 3.5. Propõem-se uma arquitectura flexível e extensível, de forma a suportar novas versões das normas e as diversas variantes que os Security Token Services possuem, nomeadamente: o tipo dos security token emitidos e das claims neles contidas, a inferência das claims e os métodos de autenticação das entidades requerentes. Apresentam-se aspectos de implementação desta arquitectura, nomeadamente a integração com a plataforma WCF, a sua extensibilidade e o suporte a modelos e sistemas externos à norma. Finalmente, descrevem-se as plataformas de teste implementadas para a validação da biblioteca realizada e os módulos de extensão da biblioteca para: suporte do modelo associado aos Information Cards, do modelo OpenID e para a integração com o Authorization Manager.
Resumo:
A crescente complexidade dos sistemas computacionais leva a que seja necessário equacionar novas formas de resolução para os mais variados tipos de problemas. Uma vertente particularmente interessante, que tem sido investigada, é a implementação de sistemas inspirados em características biológicas. Os Agentes são entidades autónomas de software que se relacionam de forma social com vista ao cumprimento dos seus objectivos próprios e do sistema como um todo. Apesar das vantagens existentes na utilização destes sistemas, em termos de utilização comercial são poucas as implementações conhecidas. Na sua maioria, estes sistemas são utilizados com fins de investigação e académicos. Este trabalho tem por objectivo o estudo e desenvolvimento de uma solução que permita aproximar este sistema das necessidades reais existentes em sistemas reais, no contexto da interacção transaccional suportada por mecanismos transaccionais comuns. O trabalho apresenta três vertentes principais: (i) estudo das abordagens existentes para a resolução de interacções em âmbito transaccional; (ii) estudo e concepção de uma solução adaptada à utilização em ambientes transaccionais reais; (iii) concepção e implementação de um protótipo demonstrativo da abordagem proposta.
Resumo:
A rápida evolução dos dispositivos móveis e das tecnologias de comunicação sem fios transformou o telemóvel num poderoso dispositivo de computação móvel. A necessidade de estar sempre contactável, comum à civilização moderna, tem aumentado a dependência deste dispositivo, sendo transportado pela maioria das pessoas num ambiente urbano e assumindo um papel talvez mais importante que a própria carteira. A ubiquidade e capacidade de computação dos telemóveis aumentam o interesse no desenvolvimento de serviços móveis, além de tradicionais serviços de voz. Um telemóvel pode em breve tornar-se um elemento activo nas nossas tarefas diárias, servindo como um instrumento de pagamento e controlo de acessos, proporcionando assim novas interfaces para serviços existentes. A unificação de vários serviços num único dispositivo é um desafio que pode simplificar a nossa rotina diária e aumentar o conforto, no limite deixaremos de necessitar de dinheiro físico, cartões de crédito ou débito, chaves de residência e de veículos automóveis, ou inclusive documentos de identificação como bilhetes de identidade ou passaportes. O interesse demonstrado pelos intervenientes, desde os fabricantes de telemóveis e operadores de rede móvel até às instituições financeiras, levaram ao aparecimento de múltiplas soluções de serviços móveis. Porém estas soluções respondem geralmente a problemas específicos, apenas contemplando um fornecedor de serviços ou uma determinada operação de pagamento, como seja a compra de bilhetes ou pagamento de estacionamento. Estas soluções emergentes consistem também tipicamente em especificações fechadas e protocolos proprietários. A definição de uma arquitectura genérica, aberta interoperável e extensível é necessária para que os serviços móveis possam ser adoptados de uma forma generalizada por diferentes fornecedores de serviços e para diversos tipos de pagamento. A maior parte das soluções actuais de pagamento móvel depende de comunicações através da rede móvel, algumas utilizam o telemóvel apenas como uma interface de acesso à internet enquanto outras possibilitam o envio de um SMS (Short Message Service) para autorizar uma transacção, o que implica custos de comunicação em todas as operações de pagamento. Este custo de operação torna essas soluções inadequadas para a realização de micropagamentos e podem por isso ter uma aceitação limitada por parte dos clientes. As soluções existentes focam-se maioritariamente em pagamentos à distância, não tirando partido das características do pagamento presencial e não oferecendo por isso uma verdadeira alternativa ao modelo actual de pagamento com cartões de crédito/débito. As capacidades computacionais dos telemóveis e suporte de diversos protocolos de comunicação sem fio local não têm sido aproveitadas, vendo o telemóvel apenas como um terminal GSM (Global System for Mobile Communications) e não oferecendo serviços adicionais como seja a avaliação dinâmica de risco ou controlo de despesas. Esta dissertação propõe e valida, através de um demonstrador, uma aquitectua aberta para o pagamento e controlo de acesso baseado em dispositivos móveis, intitulada WPAC (Wireless Payment and Access Control). Para chegar à solução apresentada foram estudadas outras soluções de pagamento, desde o aparecimento dos cartões de débito até a era de pagamentos electrónicos móveis, passando pelas soluções de pagamento através da internet. As capacidades dos dispositivos móveis, designadamente os telemóveis, e tecnologias de comunicação sem fios foram também analisadas a fim de determinar o estado tecnológico actual. A arquitectura WPAC utiliza padrões de desenho utilizados pela indústria em soluções de sucesso, a utilização de padrões testados e a reutilização de soluções com provas dadas permite aumentar a confiança nesta solução, um destes exemplos é a utilização de uma infra-estrutura de chave pública para o estabelecimento de um canal de comunicação seguro. Esta especificação é uma arquitectura orientada aos serviços que utiliza os Web Services para a definição do contracto do serviço de pagamento. A viabilidade da solução na orquestração de um conjunto de tecnologias e a prova de conceito de novas abordagens é alcançada com a construção de um protótipo e a realização de testes. A arquitectura WPAC possibilita a realização de pagamentos móveis presenciais, isto é, junto do fornecedor de bens ou serviços, seguindo o modelo de pagamento com cartões de crédito/débito no que diz respeito aos intervenientes e relações entre eles. Esta especificação inclui como aspecto inovador a avaliação dinâmica de risco, que utiliza o valor do pagamento, a existência de pagamentos frequentes num período curto de tempo, e a data, hora e local do pagamento como factores de risco; solicitando ao cliente o conjunto de credenciais adequado ao risco avaliado, desde códigos pessoais a dados biométricos. É também apresentada uma alternativa ao processo normal de pagamento, que apesar de menos cómoda permite efectuar pagamentos quando não é possível estabelecer um canal de comunicação sem fios, aumentando assim a tolerância a falhas. Esta solução não implica custos de operação para o cliente na comunicação com o ponto de venda do comerciante, que é realizada através de tecnologias de comunicação local sem fios, pode ser necessária a comunicação através da rede móvel com o emissor do agente de pagamento para a actualização do agente de software ou de dados de segurança, mas essas transmissões são ocasionais. O modelo de segurança recorre a certificados para autenticação dos intervenientes e a uma infra-estrutura de chave pública para cifra e assinatura de mensagens. Os dados de segurança incluídos no agente de software móvel, para desabilitar a cópia ou corrupção da aplicação mas também para a comparação com as credenciais inseridas pelo cliente, devem igualmente ser encriptados e assinados de forma a garantir a sua confidencialidade e integridade. A arquitectura de pagamento utiliza o standard de Web Services, que é amplamente conhecido, aberto e interoperável, para definição do serviço de pagamento. Existem extensões à especificação de Web Services relativas à segurança que permitem trocar itens de segurança e definem o modo de cifra e assinatura de mensagens, possibilitando assim a sua utilização em aplicações que necessitem de segurança como é o caso de serviços de pagamento e controlo de acesso. O contracto de um Web Service define o modo de invocação dos serviços, transmissão de informação e representação de dados, sendo normalmente utilizado o protocolo SOAP que na prática não é mais que um protocolo de troca de mansagens XML (eXtensible Markup Language). O envio e recepção de mensagens XML; ou seja, a transmissão de simples sequências de caracteres, é suportado pela maioria dos protocolos de comunicação, sendo portanto uma solução abrangente que permite a adopção de diversas tecnologias de comunicação sem fios. O protótipo inclui um agente de software móvel, implementado sobre a forma de uma MIDlet, aplicação Java para dispositivos móveis, que implementa o protocolo de pagamento comunicando sobre uma ligação Bluetooth com o ponto de venda do comerciante, simulado por uma aplicação desenvolvida sobre a plataforma .NET e que por isso faz prova da heterogeneidade da solução. A comunicação entre o comerciante e o seu banco para autorização do pagamento e transferência monetária utiliza o protocolo existente para a autorização de pagamentos, com base em cartões de crédito/débito. A definição desta especificação aberta e genérica em conjunto com o forte interesse demonstrado pelos intervenientes, proporciona uma boa perspectiva em termos de adopção da solução, o que pode impulsionar a implementação de serviços móveis e dessa forma simplificar as rotinas diárias das pessoas. Soluções móveis de pagamento reduzem a necessidade de transportar vários cartões de crédito/débito na nossa carteira. A avaliação dinâmica de risco permite aumentar a segurança dos pagamentos, com a solicitação de mais credenciais ao cliente para pagamentos com um maior risco associado, sendo um ponto importante quer para os clientes quer para as instituições financeiras pois diminui o risco de fraude e aumenta a confiança no sistema. Esta solução de pagamento electrónico pode também facilitar a consulta de pagamentos efectuados e saldos, mantendo um histórico dos movimentos, o que não é possível nos cartões de crédito/débito sem uma visita a uma ATM (Automated Teller Machine) ou utilização de homebanking.
Resumo:
Esta tese apresenta o desenvolvimento de um simulador de voo, através da aplicação de um modelo dinâmico de uma aeronave e de sistemas de realidade virtual a uma plataforma electromecânica de Gough-Stewart. Para o efeito, utiliza-se o modelo da aeronave Cessna-172. Neste sentido, apresenta-se o estudo e a análise do sistema de realidade virtual utilizado, confirma-se o funcionamento do modelo matemático da aeronave em ferramenta de cálculo e apresenta-se o modelo da cinemática inversa da plataforma, cuja validação é realizada recorrendo-se a um sensor inercial. Desenvolve-se programação específica para a comunicação entre o software de cálculo numérico e a plataforma electromecânica de Gough-Stewart.
Resumo:
O projecto apresentado neste relatório consiste na implementação de uma plataforma de desenvolvimento de aplicações Web orientada a mensagens, capaz de facilitar a construção de páginas Web e de automatizar o acesso a dados com base nos requisitos do problema. O foco da solução é baseado nos requisitos que forem definidos, de modo a desenvolver uma aplicação Web que responda a esses requisitos. A estratégia adoptada visa reduzir o acoplamento e aumentar a coesão dos módulos funcionais. Para reduzir o acoplamento e aumentar a coesão dos módulos funcionais separou-se a apresentação dos dados, permitindo assim que o desenvolvimento e os testes sejam realizados independentemente um do outro. O desenvolvimento é baseado em normas padronizadas (standards) de modo a facilitar a integração com outras tecnologias. Para o desenvolvimento do trabalho foi adoptada uma metodologia ágil. A gestão de projecto foi realizada com recurso a uma plataforma de gestão de projecto, que permitiu registar e organizar todas as informações e tarefas realizadas ao longo do projecto. Após a conclusão da plataforma e como caso de estudo, foi realizada uma aplicação baseada num cenário real de gestão académica (Portal Académico) para aferir os conceitos envolvidos.
Resumo:
A robótica tem evoluído no sentido de criar robots e componentes cada vez mais evoluídos a preços acessíveis. Este facto permitiu que o desenvolvimento de aplicações no âmbito da robótica se tenha massificado e que a utilidade dos robots se tenha alargado a diferentes áreas de aplicação. Apesar da evolução dos robots e dos componentes para os mesmos, subsistem limitações que restringem a utilização de robots a certas aplicações, nomeadamente quando a capacidade de processamento e de memória não é suficiente para executar as aplicações. A forma para ultrapassar estas limitações tem residido essencialmente em duas abordagens: limitar as aplicações desenvolvidas à medida dos recursos disponíveis no hardware; ou estender as capacidades do robot usando recursos externos ao robot, quer por extensão do hardware do robot, quer por controlo remoto dos componentes do robot. Atendendo a esta problemática, foi desenvolvida uma plataforma que estende as capacidades dos robots segundo uma abordagem que usa o controlo remoto do robot, para capacitar as aplicações de controlo desenvolvidas de mais recursos, nomeadamente em termos de capacidade de processamento e memória. A plataforma desenvolvida disponibiliza ainda um simulador que virtualiza um campo de simulação e um robot, e simula a forma como estes interagem. O simulador é integrado na plataforma de forma semelhante aos adaptadores para robots, para que as aplicações desenvolvidas possam ser usadas quer em robots reais como no simulador.
Resumo:
Dissertação apresentada à Escola Superior de Comunicação Social como parte dos requisitos para obtenção de grau de mestre em Audiovisual e Multimédia.
Resumo:
O presente projecto tem como objectivo a disponibilização de uma plataforma de serviços para gestão e contabilização de tempo remunerável, através da marcação de horas de trabalho, férias e faltas (com ou sem justificação). Pretende-se a disponibilização de relatórios com base nesta informação e a possibilidade de análise automática dos dados, como por exemplo excesso de faltas e férias sobrepostas de trabalhadores. A ênfase do projecto está na disponibilização de uma arquitectura que facilite a inclusão destas funcionalidades. O projecto está implementado sobre a plataforma Google App Engine (i.e. GAE), de forma a disponibilizar uma solução sob o paradigma de Software as a Service, com garantia de disponibilidade e replicação de dados. A plataforma foi escolhida a partir da análise das principais plataformas cloud existentes: Google App Engine, Windows Azure e Amazon Web Services. Foram analisadas as características de cada plataforma, nomeadamente os modelos de programação, os modelos de dados disponibilizados, os serviços existentes e respectivos custos. A escolha da plataforma foi realizada com base nas suas características à data de iniciação do presente projecto. A solução está estruturada em camadas, com as seguintes componentes: interface da plataforma, lógica de negócio e lógica de acesso a dados. A interface disponibilizada está concebida com observação dos princípios arquitecturais REST, suportando dados nos formatos JSON e XML. A esta arquitectura base foi acrescentada uma componente de autorização, suportada em Spring-Security, sendo a autenticação delegada para os serviços Google Acounts. De forma a permitir o desacoplamento entre as várias camadas foi utilizado o padrão Dependency Injection. A utilização deste padrão reduz a dependência das tecnologias utilizadas nas diversas camadas. Foi implementado um protótipo, para a demonstração do trabalho realizado, que permite interagir com as funcionalidades do serviço implementadas, via pedidos AJAX. Neste protótipo tirou-se partido de várias bibliotecas javascript e padrões que simplificaram a sua realização, tal como o model-view-viewmodel através de data binding. Para dar suporte ao desenvolvimento do projecto foi adoptada uma abordagem de desenvolvimento ágil, baseada em Scrum, de forma a implementar os requisitos do sistema, expressos em user stories. De forma a garantir a qualidade da implementação do serviço foram realizados testes unitários, sendo também feita previamente a análise da funcionalidade e posteriormente produzida a documentação recorrendo a diagramas UML.
Resumo:
Desde o tempo em que as agendas eram feitas de papel até aos dias de hoje em que estão disponíveis em formato eletrónico, “online”, em computadores pessoais ou em dispositivos móveis, as agendas sempre foram uma ferramenta essencial de suporte à organização do tempo no nosso dia-a-dia. No entanto, a marcação de eventos entre vários participantes obriga a um processo de negociação manual de alinhamento das agendas. Este projeto implementa um sistema multi-agente para o alinhamento de agendas em dispositivos móveis, onde os agentes negoceiam de modo autónomo em representação de utilizadores considerando as suas preferências públicas e privadas. Estes agentes atuam sobre a plataforma multi-agente JADE, na qual comunicam e negoceiam entre si numa linguagem bem definida respeitando uma ontologia e um protocolo de interação baseado em Iterated Contract-Net. A negociação tem por objetivo procurar o alinhamento das disponibilidades fornecidas pelos vários participantes suportada por mecanismos de votação de forma a eleger a solução admissível mais adequada. O sistema suporta a negociação com agentes que podem estar temporariamente indisponíveis e tem a capacidade de utilizar “dicas” baseadas em informação histórica de negociações prévias para otimizar o processo de negociação procurando a melhor solução admissível no menor espaço de tempo possível. O sistema superou com sucesso os testes de carga e concorrência efetuados, assim como da eficiência da utilização das dicas no processo de negociação, providenciando sempre que possível uma solução válida.
Resumo:
Analisando as tendências actuais de mercado, observa-se a necessidade da capacidade de integração de sistemas recorrendo à utilização de serviços web. Actualmente o C++ é ainda uma das mais populares linguagens de programação, facto justificado pelo abundante portefólio de aplicações, desde alto-nível a sistemas embebidos, com inúmeras bibliotecas que tiram partido dos diversos paradigmas de programação que a linguagem suporta. Porém, e ao contrário de outras linguagens, como C# ou Java que oferecem suporte à criação de serviços web integrado com a plataforma, existe uma lacuna no suporte ao desenvolvimento de serviços web em C++. Para dar resposta à lacuna existente é criada a plataforma ANSWER, focada em C++, com ênfase num modelo de programação simples, permitindo o rápido desenvolvimento de serviços web RPC/SOAP e REST.
Resumo:
Dissertação apresentada à Escola Superior de Comunicação Social como parte dos requisitos para obtenção de grau de mestre em Audiovisual e Multimédia.
Resumo:
Trabalho Final de Mestrado elaborado no Laboratório Nacional de Engenharia Civil (LNEC) para a obtenção do grau de Mestre em Engenharia Civil pelo Instituto Superior de Engenharia de Lisboa no âmbito do protocolo de cooperação entre o ISEL e o LNEC
Resumo:
Trabalho Final de Mestrado elaborado no Laboratório Nacional de Engenharia Civil (LNEC) para a obtenção do grau de Mestre em Engenharia Civil pelo Instituto Superior de Engenharia de Lisboa no âmbito do protocolo de cooperação entre o ISEL e o LNEC
Resumo:
Trabalho de projeto apresentado à Escola Superior de Comunicação Social como parte dos requisitos para obtenção de grau de mestre em Publicidade e Marketing.
Resumo:
Trabalho de Dissertação de Natureza Científica para obtenção do grau de Mestre em Engenharia Civil na Área de Especialização em Estruturas