Sistemas Distribudos: Middleware Tipos, Vantagens e
Desvantagens
Anpolis 2016
Middleware
Conforme Centro de Informtica - UFPE (2016) o middleware um
software intermedirio que consegue fornecer os parmetros de execuo de forma encapsulada entre as aplicaes finais e sistema operacional ou a fonte de dados necessria para a aplicao, o middleware permite a comunicao atravs do uso de protocolos de comunicao, permite tambm marshalling que pode ser entendido como uma converso da representao de memria de determinado objeto em um formato compatvel, seja para armazenamento ou transmisso, este processo pode tambm ser chamado de serializao. Muito utilizado para comunicao entre entidades remotas. E unmarchalling que pode ser entendido como o inverso de marshalling chamado tambm de deserializao. Um middleware deve oferecer confiana quanto a execuo de requisies, escalabilidade, oferecendo medida de capacidade de adaptao, replicao de componentes como soluo com transparncia de acesso, localizao, migrao e replicao. Em resumo um middleware um software que permite a interao entre o software e a fonte de dados que a aplicao utiliza, podendo as fontes de informaes estarem ou no na mesma mquina e pode inclusive estar em outra mquina externa a rede com qualquer sistema operacional, podendo ser o mesmo que a mquina ou qualquer outro, conforme 4LINUX. Existem vrios tipos de middleware entre eles podemos citar: Middleware orientado a mensagens, que de acordo com Apprenda Inc. (2016), o middleware trata se de uma infraestrutura qual possui suporte ao recebimento e transmisso de mensagens utilizando se de aplicaes distribudas. Este tipo de middleware torna mais simples o processo de criao do aplicativo para as variadas verses de sistemas operacionais qual deseja que sejam consumidas a mesma fonte de dados. Este tipo de middleware possui muitas vantagens em relao aos demais tipos de middleware e tambm um dos tipos mais utilizados. Uma das vantagens deste tipo de middleware podemos citar o suporte comunicao em grupo de forma atmica, confiabilidade e tambm o suporte a vrios tipos de protocolos de rede de acordo com Centro de Informtica - UFPE (2016). E como desvantagens ainda conforme Centro de Informtica - UFPE (2016), podemos citar o fato de fornecer pouca portabilidade pela falta de padronizao e a escalabilidade e heterogeneidade serem limitadas. Middleware orientado a objetos, de acordo com Apprenda Inc. (2016), este tipo de middleware fornece s aplicaes a capacidade de enviar objetos e servios de solicitao atravs de um sistema orientado a objetos. Em resumo, ele gerencia toda comunicao entre objetos. Como uma de suas principais vantagens podemos citar o fato de possuir grande suporte a heterogeneidade, e permitir mashalling e unmarshalling automticos e tambm a sua versatilidade
conforme Centro de Informtica - UFPE (2016). Como desvantagem podemos
citar a sua pouca escalabilidade. Middleware de acesso a Banco de dados qual um tipo de middleware permite qual permite acesso direto s bases de dados, proporcionando uma interao direta com as mesmas. Existem muitos servidores de banco de dados e opes relacionados conectividade. Este um tipo mais geral que vulgarmente conhecido como middleware. Conforme Costa (2016), o middleware de acesso a banco de dados, so recomendados para aplicaes que acessam dados distribudos seja em arquivos ou bancos de dados. Uma de suas principais vantagens que permitem a integrao no nvel de dados podendo ser realizadas tanto consultas como alteraes atravs da rede, utilizando drivers ODBC, JDBC entre outros. Middleware transacional conforme Centro de Informtica - UFPE (2016) um tipo de middleware que possui suporte a transaes sncronas e coordena requisies entre clientes e servidores, e tambm possui suporte a propriedades ACID (de acordo com Macdo (2011), o modelo ACID um dos mais antigos e importantes conceitos relacionados teoria de Banco de Dados. O mesmo define quatro itens qual todos os SGBD devem possuir: atomicidade, consistncia, isolamento e durabilidade. Qualquer BD que possua deficincia em algum desses itens pode ser considerado no confivel.). Como vantagem podemos citar a confiabilidade, performance, o fato de os componentes se manterem consistentes e o escalonamento e priorizao de solicitaes. Como desvantagens podemos citar sua ausncia de padres para descrio de servios, o fato de permitir sua execuo em uma quantidade reduzida de plataformas, marshalling e unmarshalling devem ser implementados manualmente e o fato de ocorrer bloqueios desnecessrios. O middleware processual ou RPC (Remote Procedure Call Chamada de Procedimento Remota), conforme S et al. (2011) permite a um programa apresentar procedimentos chamando uma funo que seja de outro computador de forma simples dando a impresso que essa funo estivesse sendo executada na mesma mquina. E seu principal objetivo era permitir aos programadores se concentrarem apenas nas tarefas exigidas de um nico aplicativo, simultaneamente, de forma transparente ao programador o mecanismo permite a comunicao atravs de uma rede. Ainda de acordo com S et al. (2011), uma das maiores vantagens do RPC a forma de seu funcionamento em relao chamada de mtodos em distintas linguagens, porque este tipo de middleware no direcionado para uma linguagem especfica, isto o torna um middleware com muito maior flexibilidade, ao contrrio do RMI (Remote Method Invocation Chamada de Mtodo Remota) que trata se de um objeto em uma determinada mquina virtual Java que possibilita a conexo de forma facilitada com outras mquinas virtuais Java com a possibilidade de uso de mtodos nativos da linguagem. Como desvantagem podemos citar a replicao, em relao questes de balanceamento de carga, alm de possuir uma escalabilidade limitada e possuir um baixo nvel de tolerncia a falhas. E a ausncia de apoio direto em vrias reas, desta forma
exigindo que os programadores tenham de lidar com esses aspectos mais
manual, o que aumenta a complexidade dos sistemas de acordo com Conhecimento Computador (2016).
Bibliografia
4LINUX. O que middleware. Disponvel em:<https://www.4linux.com.br/o-quee-middleware/>. Acesso em 07 de set 2016.
APPRENDA INC. (Troy - Nyc - London - Amsterdam - Munich) (Org.). Types of middleware. 2016. Disponvel em: <https://apprenda.com/library/architecture/types-of-middleware/>. Acesso em: 07 set. 2016. Centro de Informtica - UFPE. (Brasil, Pernambuco). Middleware e Sistemas Distribudos. 2016. Disponvel em: < http://www.cin.ufpe.br/~locb/SemRedes/Semin%E1rio_de_redes_e_sistemas_d istribu%EDdos.pptx>. Acesso em: 07 set. 2016. CONHECIMENTO COMPUTADOR (Org.). Vantagens e Desvantagens de Middleware. Disponvel em: <http://ptcomputador.com/Software/databasesoftware/113436.html>. Acesso em: 07 set. 2016. COSTA, Rodrigo Alves. Middleware e Integrao: O Problema da Heterogeneidade e a Tecnologia de Middleware. 2016. Disponvel em: <www.cin.ufpe.br/~rac2/redes/MiddlewareIntegrao.ppt>. Acesso em: 07 set. 2016. MACDO, Diego. O modelo ACID. 2011. Disponvel em: <http://www.diegomacedo.com.br/o-modelo-acid/>. Acesso em: 07 set. 2016. MASSETTO, Prof. Francisco Isidro. Sistemas distribudos: RPC - Remote Procedure Call. 2016. Disponvel em: <http://professor.ufabc.edu.br/~francisco.massetto/sd/04-Aula4-RPC.pdf>. Acesso em: 07 set. 2016. S, Felipe de et al. TRABALHO DE SISTEMAS DISTRIBUDOS. 2011. Disponvel em: <https://descomplicandoti.wordpress.com/2011/05/15/middleware/>. Acesso em: 07 set. 2016.