Dissertação

{en_GB=Distributed Programming in Cloud Computing Platforms} {} EVALUATED

{pt=Em ambiente de computação em nuvem, as soluções de programação distribuída que contemplam interoperabilidade entre sistemas heterogéneos são essencialmente baseadas em tecnologia SOA ou REST, com base em HTTP/1.1, XML e JSON. O problema é que estas tecnologias foram desenvolvidas no contexto Web, em que o principal objetivo é a integração de sistemas existentes e não a programação distribuída, com eficiência e desempenho como preocupações de topo. Como conciliar estas duas visões, em ambiente global de computação em nuvem, é o tópico principal desta dissertação. SOA e Web Services são tecnologias pesadas e complexas. No entanto, qualquer delas é pouco eficiente porque eles são baseados no HTTP/1.1 e em linguagens de descrição de dados baseadas em texto (XML e JSON). O resultado é que descrição de Web Services (WSDL) e linguagens de programação de alto nível ficam ineficientes e complexas. A solução a usar neste trabalho usa formato binário de dados de forma nativa, não necessita de schemas e o ambiente de execução usa WebSockets, muito mais eficientes do que HTTP/1.1, embora mantendo alguma compatibilidade. Uma nova solução foi desenvolvida para programação distribuída em ambiente de computação em nuvem para desenvolver aplicações distribuídas. Em comparação com uma solução clássica, que é baseado em SOA e REST, esta solução utiliza interoperabilidade assimétrica, em que o emissor e recetor podem ter tipos de dados diferentes. O objetivo deste trabalho é explicar esta solução e seu ambiente de execução, comparando-a com as soluções correspondentes com tecnologias baseadas em SOA (Web Services) e REST. , en=In cloud environments, distributed programming solutions that cover interoperability between heterogeneous systems are essentially based on the SOA or REST architectural styles, which in turn are based on HTTP/1.1, XML and JSON. The main problem is that these technologies were developed in a context in which the main objective is the high-level integration of existing systems and not the programming of distributed systems, with efficiency and performance as top concerns. How to reconcile these views in a global distributed environment, such as a cloud computing platform, is the main topic addressed by this thesis. SOA and Web services are heavy and complex technologies. Both exhibit a higher degree of coupling than applications require, since both interacting parties share the same data schema and therefore need to cater for all the features of that schema, even if some of them are never used at all. There is also an inefficiency problem, since these technologies are based on HTTP/1.1 and text-based data description languages (XML and JSON). This dissertation proposes a new solution to support interoperability of distributed programming systems in cloud computing environments. Contrasting with the schema sharing of SOA and REST, this thesis proposes asymmetric interoperability, in which the sender and receiver may have different schemas. The aim of this work is to explain this solution and its execution environment, and also to compare it with the corresponding solution technologies which are based on SOA (Web Services) and REST. }
{pt=SOA, REST, XML, JSON, HTTP, WebSocket, en=SOA, REST, XML, JSON, HTTP, WebSocket}

Maio 23, 2016, 14:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

José Carlos Martins Delgado

Departamento de Engenharia Informática (DEI)

Professor Associado