INTEGRAÇÃO DE APLICAÇÕES: UM ESTUDO DE CASO DA INTEROPERABILIDADE ENTRE TECNOLOGIAS JEE E.NET UTILIZANDO ARQUITETURA ORIENTADA A SERVIÇO

Tamanho: px
Começar a partir da página:

Download "INTEGRAÇÃO DE APLICAÇÕES: UM ESTUDO DE CASO DA INTEROPERABILIDADE ENTRE TECNOLOGIAS JEE E.NET UTILIZANDO ARQUITETURA ORIENTADA A SERVIÇO"

Transcrição

1 CENTRO UNIVERSITÁRIO VILA VELHA CURSO DE CIÊNCIA DA COMPUTAÇÃO DÉBORA BUENO COELHO DRIELY BERTOLANI INTEGRAÇÃO DE APLICAÇÕES: UM ESTUDO DE CASO DA INTEROPERABILIDADE ENTRE TECNOLOGIAS JEE E.NET UTILIZANDO ARQUITETURA ORIENTADA A SERVIÇO VILA VELHA 2008

2 CENTRO UNIVERSITÁRIO VILA VELHA CURSO DE CIÊNCIA DA COMPUTAÇÃO DÉBORA BUENO COELHO DRIELY BERTOLANI INTEGRAÇÃO DE APLICAÇÕES: UM ESTUDO DE CASO DA INTEROPERABILIDADE ENTRE TECNOLOGIAS JEE E.NET UTILIZANDO ARQUITETURA ORIENTADA A SERVIÇO Monografia do Trabalho de Conclusão de Curso de Graduação em Ciência da Computação apresentada ao Centro Universitário Vila Velha, como requisito parcial para a obtenção do título de Bacharel em Ciência da Computação, sob orientação do prof. Otacílio José Pereira. VILA VELHA 2008

3 11 1. INTRODUÇÃO Com o número crescente de tecnologias disponíveis no mercado, há também uma grande variedade de adoções feitas pelas organizações e por seus clientes. Um dos problemas encontrados por muitas dessas organizações está em como estruturar seus processos de forma que se adéqüem ao cliente e à organização, sem conflitos de plataformas e sem custos muito elevados. A integração é uma área que visa estudar maneiras que possibilitem as várias formas de negócios presentes no mercado estreitarem suas relações por meio do uso de tecnologias. Estas tecnologias possibilitam, por exemplo, integração de dados e de processos. Não é interessante aos fornecedores uma situação em que potenciais clientes tenham acesso de uma forma rígida a seus dados; é preciso que os negócios tenham alguma forma de integração com a tecnologia utilizada pelo cliente. Não é fácil também estimar o custo-benefício e muito menos ter a certeza de qual(ais) tendência(s) se firmará(ão), sendo este o principal motivo de não se substituírem tecnologias antigas instantaneamente; é difícil saber se as novas tendências vão se estabilizar e ganhar mercado. Durante a evolução e o aprimoramento dos negócios, organizações envolvidas em diversos tipos de mercado viram a necessidade de melhorar a comunicação entre si, a fim de manter seus clientes e conquistar novos mercados com maior facilidade. Esta melhora na comunicação, porém, necessitou de mais alternativas do que simplesmente uma integração por meio de redes físicas, inviável ao panorama de ilhas de negócio. Essas ilhas de negócio expõem um conceito que mostra que organizações podem estabelecer relações, como venda e compra de produtos e serviços, sem estarem necessariamente próximas geograficamente umas das outras ou de seus clientes. A partir disso há a possibilidade de organizações estarem distribuídas em pequenos conglomerados e não mais em um pólo gigantesco, permitindo práticas como o e-commerce. A solução assim encontrada por muitas dessas organizações foi a integração de seus processos e dos diversos sistemas legados que possuem.

4 12 A resposta para este questionamento tem sido ampliada a cada dia com recursos criados para suprir esta necessidade, dentro dos quais estão middlewares, web services e outros citados no decorrer deste trabalho. O foco deste trabalho é apresentar uma abordagem de integração que seja viável a uma organização sem custo elevado, e que incorpore alguns dos conceitos apresentados na arquitetura orientada a serviços, para que uma aplicação de uma organização se adapte facilmente a módulos incrementais ou a outras aplicações, independente da plataforma tecnológica. Para facilitar o entendimento, o texto encontra-se dividido em cinco capítulos, sendo o primeiro este, introdutório, que aborda a importância e a relação entre integração de negócios e interoperabilidade entre aplicações. No segundo capítulo foi realizada uma revisão literária, que auxilia no entendimento de conceitos relacionados ao tema e na concepção de um projeto de integração entre aplicações de plataformas tecnológicas diferentes. Esta revisão engloba assuntos como integração, web services, plataformas.net e JEE e arquitetura orientada a serviços No terceiro e no quarto capítulo são aplicados os conceitos adquiridos a partir da revisão com um projeto de integração entre aplicações, exposto através de diagramas da UML. No quinto capítulo é finalizado este trabalho com uma breve conclusão, onde são apresentadas as facilidades e as dificuldades encontradas neste trabalho bem como a sugestão de propostas futuras.

5 13 2. REVISÃO LITERÁRIA Neste capítulo serão abordados assuntos relevantes para a compreensão da motivação e da proposta do trabalho. Será realizada uma breve explanação de termos como integração, web services, JEE,.NET e arquitetura orientada a serviços INTEGRAÇÃO E INTEROPERABILIDADE ENTRE APLICAÇÕES A integração entre negócios torna-se importante atualmente para se estabelecer um elo entre as partes envolvidas sem a necessidade, pelo menos a princípio, de investimentos de alto custo em novas plataformas. Uma busca por estruturas que aumentem ainda mais a segurança e a confiança do usuário final no produto tem sido mantida. O importante neste item é a definição da camada de interoperabilidade entre as organizações, permitindo o compartilhamento de informações e a integração de processos inter-organizacionais. Como a maioria das organizações trabalha com um número relativamente grande de aplicativos e de plataformas antigas, é necessário que haja um meio de agregar o valor organizacional das bases tecnológicas de cada organização às constantes necessidades do mercado. Com o grande número de tecnologias disponíveis no mercado, uma possível integração necessitava de algum tipo de facilitador, que pudesse aceitar diferentes plataformas e que fosse capaz de fornecer os resultados esperados. Surgem inicialmente os conceitos de EAI e de middleware. O EAI, ou Integração de Aplicações Corporativas, vem explorar a possibilidade de integrar os negócios de forma que haja compartilhamento de dados e de processos dentro da própria organização ou com seus parceiros de mercado. Mais do que um sistema de gerenciamento de dados, o EAI tem se voltado cada vez mais para a gerência facilitada de processos e de clientes e vem mudando sua forma de realizar integrações, apoiando o uso de protocolos abertos, dentre eles o XML, utilizando uma estrutura conhecida como web service. Esta estrutura e este protocolo serão

6 14 abordados no próximo subtópico deste trabalho, pois necessitam de maior detalhamento para entendimento da interoperabilidade entre aplicações. Uma das principais demandas do EAI é que a integração independa da estruturação das aplicações a serem integradas, permitindo a utilização de pacotes preparados para este tipo de metodologia. O SAP Exchange Infrastructure, da Systems Applications and Products in Data Processing (SAP, acesso em 15 ago. 2007), por exemplo, já possibilita fazer esta integração mantendo uma intermediação entre aplicações quanto a requisições para conectividade, formatação de informações e utilização de protocolos, baseando-se para isso em tecnologias como JEE, web services e XML. Acrescendo ao conceito de integração sugerido pelo EAI também temos a opção de formação de um middleware, que sugere a construção de uma nova camada nos projetos que forneça exclusivamente os serviços de integração, adaptando as demais camadas para interagirem com essa nova. Por ser de elevado custo e risco, as organizações que preferem este método de integração têm investido em uma melhor modelagem de sistemas utilizando padrões de projetos estabelecidos internamente e elaboração de documentação, com o objetivo de tornar este processo o mais transparente possível e transformá-lo em uma vantagem competitiva quando vier a necessitar de manutenção ou acrescer funcionalidades. Mas não há somente camadas de middleware criadas pelas próprias organizações; há produtos no mercado que realizam esta função. Há um produto da IBM, por exemplo, também baseado em JEE e conhecido como Websphere Message Broker, que disponibiliza os dados e as informações de negócios na forma de mensagens, trocadas entre aplicações de diferentes tecnologias e plataformas por meio de um barramento de serviços. Este barramento possui um mecanismo conhecido como broker, que processa as mensagens de acordo com as regras de negócio, transforma-as para um formato específico e as distribui para as aplicações de destino (IBM, acesso em 15 ago. 2007).

7 15 Essas integrações, semelhantes em sua essência e diferentes quanto à metodologia, vêm a definir um importante foco deste trabalho: a interoperabilidade entre aplicações para integração de negócios. Algumas organizações, apesar do alto investimento necessário, às vezes optam por uma reengenharia em seus sistemas a fim de manter controle sobre sua arquitetura e possibilitar que desenvolvimentos incrementais sejam facilitados. Nestas organizações, um modelo de arquitetura conhecido como orientada a serviços tem sido bem aceito, por possibilitar a reestruturação dos processos de negócios de forma independente de tecnologia. Alguns conceitos dessa arquitetura são abordados adiante neste trabalho, para pontuar a interoperabilidade entre sistemas WEB SERVICES Uma das tecnologias muita empregadas para a integração de aplicações é conhecida como web service. Os web services focam, na essência, interoperabilidade, pois habilitam programas e aplicações comunicarem-se entre si, especialmente quando estes são desenvolvidos em diferentes plataformas. Este tipo de integração permite que as organizações troquem informações de maneira que possibilite controle e administração. Assim, processos multi-organizacionais são definidos sem que, a princípio, se façam grandes alterações aos sistemas de informação envolvidos. Um web service é uma funcionalidade (entenda-se serviço), muitas vezes apresentada na forma de componente, acessível por uma rede a partir de protocolos web padronizados. Estes protocolos, como WSDL, SOAP e UDDI (NEWSLETTER INSIGHT, acesso em 23 ago. 2007), por exemplo, são apoiados em recursos fortemente consolidados, como o HTTP, e especificados a partir de XML para apresentação, requisição e publicação de serviços respectivamente. O WSDL provê informações sobre como o serviço deve ser integrado e utilizado, localização, operações e assinaturas do mesmo; é tido como uma breve descrição

8 16 do que encontramos disponível no serviço e a maneira de utilizá-lo. O SOAP é utilizado para encapsular chamadas e retornos de métodos dos web services, sendo enviado como um envelope em requisições e respostas sobre HTTP e contendo informações sobre como a mensagem deve ser processada pelo serviço. O UDDI, por sua vez, permite a busca e a publicação de serviços na web, tornando um serviço disponível e permitindo o acesso a diversos outros serviços publicados. O XML é o padrão escolhido como base para os protocolos de comunicação de web services por ser aberto, de fácil integração, robusto e possuir a facilidade de construção de novas linguagens de marcação, como é o caso dos padrões acima citados. Na Figura 1 há um esquema que mostra as operações de comunicação, com serviços e repositório, realizadas através de mensagens em protocolo SOAP. É possível que uma aplicação acesse um web service depois de buscá-lo em algum repositório. Ao encontrá-lo, é necessário checar se as especificações do web service atendem às necessidades impostas, bastando para isto verificar o conteúdo do documento WSDL dele. Caso o serviço disponibilizado atenda às especificações requeridas, é necessário estabelecer uma comunicação entre a aplicação e este serviço, formalizando um modelo denominado request/reply. Figura 1 Utilização de Serviços Encapsulados em Web Services Para uma breve explanação de como a integração por web services séria possível nos processos de negócio, adota-se como exemplo uma arquitetura de sistema básica com três camadas: interface gráfica, regras de negócios e persistência de dados. Na camada relativa à interface há uma aplicação web rodando pelo browser

9 17 como uma aplicação desktop, instalada em uma máquina cliente; na camada de regras de negócio, todas as operações e restrições do sistema especificadas em uma linguagem de programação, e, na parte de persistência, um SGBD gerenciando a base de dados, por exemplo. Um sistema de Enterprise Resource Planning seria apropriado a uma integração em nível de dados, já que o foco deste sistema é o acesso e o controle de dados comuns a diversos setores de uma organização. Os web services, porém, tratam a parte de negócios, realizando transações com aplicações que também permitam esse tipo de integração. O funcionamento básico de uma solução com web services consiste em um cliente requisitando um serviço por meio de protocolo SOAP pelo envio de uma mensagem, dentro do cabeçalho HTTP. O servidor processa essa requisição, solicita os serviços encapsulados no web service passando os parâmetros necessários e fica à espera de um resultado. Assim que este resultado estiver disponível, o servidor responde ao cliente com um cabeçalho HTTP contendo uma mensagem em SOAP com o resultado do serviço solicitado. Sem a necessidade de implementar uma nova camada, como um middleware, por exemplo, a integração por meio de web service baseia-se em um componente que executa regras de negócio e que possui uma interface de comunicação mais simples, com a exposição de suas operações (métodos). Funcionalidades típicas como projetos de e-commerce (lojas virtuais), e-learning (treinamento on-line), e-management (gerenciamento de departamentos autônomos de vendas) e e-letters (jornais e/ou revistas virtuais) são implementadas com web services. Uma funcionalidade que pode ser implementada com o uso de web services é um cadastro rápido de clientes de uma loja. Nesta loja, para cadastrar uma pessoa é necessário apenas o CPF dela, que é passado como parâmetro para um web service implementado no site da Receita Federal. Este web service, ao receber o CPF, retorna para a loja solicitante os dados sobre a pessoa, como: nome, endereço, data de nascimento e outros, consumindo um menor tempo do que os cadastros atuais. Esta é umas das vantagens mais focadas atualmente, por envolver a redução de tempo com atividades rotineiras e, assim, permitir a agilidade e produtividade dentro de uma organização.

10 18 Com o conceito de web services, as aplicações tendem a se compor de um conjunto de serviços, passíveis de serem publicados, buscados, combinados e consumidos para gerar os resultados esperados. Para isto, é necessária uma garantia de que um web service possa estar em qualquer plataforma e interagir independente disso. Consórcios conhecidos como WS-I, W3C e OASIS são responsáveis pela padronização de web services, fornecendo guias de práticas e recursos que garantam a interoperabilidade entre web services, e contam com o apoio de empresas como Microsoft, IBM e Sun Microsystems. Com este recurso, há um caminho para a modelagem e implementação de aplicações efetivamente orientadas a serviços em sua arquitetura. Nessa nova abordagem de arquitetura é mantido o paradigma já utilizado (orientado a objetos, por exemplo), tendo apenas uma reestruturação na visão da camada de regras de negócio. Por esta reestruturação e todos os conceitos envolvidos serem extensos, estes serão abordados no tema que trata da proposta de arquitetura orientada a serviço como facilitador e melhoria para a integração. Mais do que um modismo, esse tipo de integração tem recebido o apoio e o investimentos por parte de grandes corporações como Microsoft e Sun Microsystems, que criaram uma grande variedade de produtos e aplicações com suporte a esta tecnologia. A Microsoft tem incrementado ferramentas de desenvolvimento juntamente com bibliotecas próprias para a criação de web services, como é o caso da IDE Visual Studio.NET em conjunto com a.net Framework, que fornece a biblioteca System.Web.Services para este tipo de recurso. Já a Sun Microsystems disponibilizou também um conjunto de ferramentas integradas para JEE denominado Java Web Services Developer Pack, que engloba suporte a APIs de Java para XML, Web Services Interoperability Sample Application, Web Services Security e Java WSDP Registry Server. Outras iniciativas no sentido de integração já foram concebidas, tendo como exemplo o CORBA. Porém, a facilidade oferecida pelo SOAP quanto à implementação, robustez do XML e um menor custo de mudança para XML web services tem sobreposto o uso de propostas anteriores (OMG, acesso em 3 dez. 2007).

11 PLATAFORMAS TECNOLÓGICAS As plataformas tecnológicas JEE e.net apresentam características que possibilitam a ambas a construção de aplicações corporativas com robustez e suporte. A interoperabilidade entre elas tem sido bastante discutida nos últimos anos dado que muitas empresas adotaram o uso de ferramentas baseadas em JEE (SAP Exchange Infrastructure, Websphere Message Broker, outros), sendo que parte de suas bases tecnológicas eram baseadas em.net; outras optaram por reduzir gastos e passaram a adotar o JEE, mas sem abrir mão de sua base já existente em.net, além de outros diversos motivos. Com isso, é necessário mostrar as peculiaridades de cada uma dessas plataformas, e como possibilitam que haja essa interoperabilidade JEE O JEE é uma derivação da plataforma Java criada para aplicações empresariais com o objetivo de simplificar problemas complexos no desenvolvimento, disponibilização e gerenciamento de soluções multicamadas. É uma especificação padrão e resultado de uma grande iniciativa liderada pela própria Sun Microsystems. Uma aplicação JEE é hospedada em um contêiner no servidor, a partir do qual provêem serviços necessários para aplicações corporativas, como transações, segurança, e serviços de persistência. Para o desenvolvimento dessas aplicações é necessária a instalação de um componente JDK, um utilitário que possibilita criar aplicações com classes, contêineres e ferramentas necessárias capazes ainda de rodar códigos compilados, como é o caso do JRE. Dentro de uma arquitetura de três camadas (apresentação, regras de negócio e persistência de dados) é possível visualizar a organização JEE para cada uma delas.

12 20 Na camada de apresentação há utilização da tecnologia de componentes JSP. Estes componentes funcionam sobre servlets e apresentam código HTML para renderização e/ou código Java. Se uma JSP contiver códigos nas duas linguagens citadas, ela gera uma classe Java ao ser compilada e determina que esta classe sirva como servlet de controle de requisições / respostas. Os servlets são componentes que possuem a capacidade de interagir com outros componentes pertinentes a JEE, como EJB ou mesmo outros servlets. Estes componentes ficam no servidor e possuem código Java encapsulado, que pode executar uma ou várias regras de negócio dentro de um sistema, ou simplesmente fazer o controle de páginas dinâmicas JSP. Quando necessário são carregados, processam dados para formar informações, respondem ou realizam requisições e são destruídos ao final. A camada de regras de negócio comunica-se com a camada de apresentação e com a camada relativa à persistência de dados. É possível observar que na camada de regras de negócios são atendidas as especificações do sistema a cada processamento de dados, através de entidades do negócio definidas em classes Java comuns. O conjunto de componentes EJB poderá ser utilizado para gerenciar a camada de regras de negócio, já que estes componentes são próprios para construção de aplicações corporativas. Seu uso é indicado para aplicações que virão a ter muitos acessos concorrentes e que precisam de escalabilidade, enquanto JSP, servlets e classes comuns Java podem ser utilizados para aplicações de médio porte e que possuam um número considerável de acessos. A persistência de informações em bases de dados é realizada através de drivers JDBC, SQL/J ou JCA, ou de framework para mapeamento objeto-relacional, como o Hibernate. Pode-se pensar também na conexão a sistemas de parceiros utilizando as tecnologias englobadas por web services (SOAP, UDDI, WSDL, ebxml) através das APIs JAVA para XML.

13 21 Por se tratar de um projeto web, é necessário um software capaz de fornecer uma estrutura para a execução deste tipo de aplicação. No caso do JEE, temos alguns exemplo conhecidos de mercado, como Apache Tomcat, GlassFish, JBoss e IBM Websphere Application Server. É possível usar cliente que não seja baseado na plataforma Java para acessar aplicativos JEE e componentes. Uma solução para este tipo de acesso é que clientes de outras plataformas usem protocolo HTTP para acessar os serviços oferecidos por servlets ou JSPs. Isso é bom quando um desses componentes produz e consome dados orientados a XML (web services, por exemplo) em vez de HTML. Isto poderia ser feito no contexto da exposição do componente como um serviço web, e será um dos itens de aprofundamento deste estudo de interoperabilidade (BOND; et al, 2003) NET A Microsoft adotou a tecnologia XML bem cedo e investiu muito nos seus produtos, principalmente nesta plataforma, possibilitando assim uma maior facilidade de integração entre eles. Em junho de 2000, lançou a plataforma.net, mostrando a visão da própria organização sobre a preparação para a comercialização do software na forma de serviços. A plataforma foi concebida tendo a internet como alvo e visando a geração de negócios por meio dela (MSDN LIBRARY, acesso em 12 set. 2007). A plataforma.net prega um novo jeito de desenvolver software, com o conceito de framework de desenvolvimento. Este framework disponibiliza serviços de acesso a API s do Windows e geração de código intermediário, o que permite que diversas linguagens possam ser trabalhadas juntas. O.NET framework usa basicamente como base duas partes: CLR e.net Class Library (MSDN LIBRARY, acesso em 12 set. 2007).

14 22 A CLR controla a execução de um programa em plataforma.net, fornecendo suporte à criação de MSIL, juntamente com o uso de um controle CLS, para códigos de todas as linguagens suportadas, como Delphi, COBOL, C++, C# e Visual Basic, e para as linguagens nativas da plataforma (C#, Visual Basic.NET e J#). O CLS consiste em apenas uma referência sobre as características das linguagens suportadas pela plataforma. É uma forma de facilitar a geração do código intermediário e permitir otimizações. A.NET Class Library é um conjunto de classes que encontram-se integradas à CLR e que fornecem funcionalidades que serão utilizadas por aplicações, como acesso a dados, segurança e outros. Os códigos na plataforma.net são compilados duas vezes: uma pela CLR, que transforma o código de alto nível em um assembler (MSIL) e interpretados just-intime, como no Java, quando o programa for executado, como mostra a Figura 2. Figura 2 Evolução do Processo de Compilação com a Introdução do Framework A plataforma fornece e emprega bem o conceito de web services, já que tem a disponibilização de serviços como objetivo. Para implementação de web services, a plataforma disponibiliza a criação de projetos no ambiente de desenvolvimento integrado Visual Studio, onde esse serviços podem ser implementados com a tecnologia de desenvolvimento web ASP.NET para criação de interface. Dentre as bibliotecas utilizadas para este tipo de projeto, destaca-se a System.Web.Services, que é composta de uma coleção de classes que possibilitam a criação de XML web services clientes e server-side ASP.NET. É dentro desta biblioteca que encontramos a classe WebService, base opcional, mas principal para criação de XML web services, provendo acesso direto a objetos comuns do ASP.NET, como sessões e elementos de renderização HTML.

15 23 Quanto a servidores de aplicações, na própria família Microsoft há um conhecido servidor: o IIS. É nele que as páginas ASP.NET e as bibliotecas compiladas (.dll) relativas ao nosso projeto estarão disponíveis Java X.NET Não existe um comparativo entre as duas plataformas que indique qual delas é a melhor; tudo depende dos recursos com os quais se trabalha. A plataforma Java foi criada pela Sun, mas é mantida por uma comunidade de desenvolvedores e investidores nesta área, e por isso possui uma evolução um pouco mais lenta que.net; nem por esse motivo ela deixa a desejar em recursos presentes em outras plataformas, quaisquer que sejam elas. As características de ambas podem ser observadas resumidamente na Figura 3. Figura 3 Comparativo das Plataformas Java e.net Como já dito anteriormente, na explanação individual dessas plataformas, cada uma delas possui alguns recursos que, apesar de terem nomes e implementações diferentes, tem o mesmo objetivo. Por exemplo: enquanto a conexão com a base de dados é feito no.net através de elementos ADO.NET, no Java a mesma conexão é feita através de driver JDBC. A mesma equivalência de recursos aplica-se à servidores de aplicação, páginas web, linguagem de desenvolvimento, entre outros.

16 24 Quanto à criação de web services em cada uma das plataformas apresentadas: Em.NET a própria IDE possui um projeto para criação de web services denominado ASP.NET Web Services, em que já constam às referências para as bibliotecas utilizadas com maior freqüência (System.Web e System.Web.Services). Assim, basta ao desenvolvedor criar um novo projeto deste tipo e codificar os métodos que necessitar; Em JEE o NetBeans IDE possui um projeto para criação de web services, onde já constam as referências para as bibliotecas (javax.jws.webmethod, javax.jws.webparam e javax.jws.webservice). Sendo assim, o desenvolvedor apenas se preocupa com a implementação dos serviços, pois toda a configuração do web service já é realizada pela IDE. Veja que os nomes presentes em cada uma das plataformas para cada um desses recursos são bem distintos, mas o objetivo é o mesmo. Este comparativo de recursos pode ser observado na Figura 4. Figura 4 Comparativo de Recursos nas Plataformas Java e.net É possível observar que com este leque de recursos em ambas as plataformas, o desenvolvimento de aplicações tende a tornar-se ainda mais simplificado e com estilos bem parecidos, o que pode favorecer o estabelecimento de mecanismos interoperáveis entre plataformas distintas.

17 ARQUITETURA ORIENTADA A SERVIÇO A orientação a serviços foi uma evolução natural do modelo de desenvolvimento orientado a objetos, visto desde a década de 80, e de aplicações componentizadas também baseadas em objetos, da década de 90, pois manteve algumas das características vantajosas dos componentes para uma aplicação (encapsulamento, descrição própria, outros) (ERL, 2005). Muitos benefícios, porém, foram ignorados com o alvoroço causado sobre os termos utilizados, distorcendo o real significado de orientação a serviço e criando a expectativa de uma revolução na área de tecnologia da informação. A Arquitetura Orientada a Serviço possibilita o fornecimento de aplicações mais dinâmicas. As aplicações baseadas em serviços possibilitam às organizações aprimorar e automatizar tarefas manuais, possibilitando uma visão consistente de clientes e de relações com parceiros, coordenando processos de negócios compatíveis com políticas internas e regulamentações de seus parceiros. Em resumo, é possível perceber que a orientação a serviços provê facilidades como o desenvolvimento incremental de aplicações sem a necessidade de rever projetos; comunicação entre serviços por meio de mensagens sem preocupação de como serão interpretadas; determinação comportamental do serviço, possibilitando assim uma integração mais confiável e praticável. SOA não é uma metodologia a ser adotada para a criação e manutenção de sistemas; representa uma visão que facilita as formas de integração dentro do contexto de serviços. SOA é um novo modelo apenas de arquitetura de sistemas, independente de produto, tecnologia ou aplicação, que tem como componente fundamental o conceito de serviços. A arquitetura de sistemas (KRAFZIG; BANKE; SLAMA, 2004) é um conjunto de declarações que descreve os componentes de software e atribui funcionalidades de sistema para cada um deles. Ela descreve a estrutura técnica, limitações e características dos componentes, bem como as interfaces entre eles. A arquitetura do sistema é o esqueleto do sistema, por isso torna-se o plano de mais alto nível da construção de cada sistema. No caso de SOA, cada um desses componentes de

18 26 software é um serviço e a estrutura técnica é composta de elementos como servidores de aplicação, banco de dados e camadas do sistema. Serviço é um componente compilado e disponibilizado para uso baseado em um contrato de comunicação (interface de comunicação entre o serviço e a aplicação cliente). Nesta arquitetura temos a visualização da camada de negócios do sistema como uma série de funcionalidades antes fortemente acopladas em aplicações e agora disponibilizadas em serviços individuais, que vêm permitindo a mudança do foco da organização para o cliente e para a gestão de serviços. Serviços são passíveis de reutilização, o que pode resultar na redução significativa de esforço no desenvolvimento e de custos. Os benefícios de reutilização crescem à medida que mais serviços de negócio são construídos e incorporados em diferentes aplicações (ERL, 2005). Estes serviços possuem como características básicas neutralidade, reusabilidade, fraco acoplamento, esquemas e contratos de serviços, encapsulamento, composição e fácil disponibilização (ERL, 2005). A neutralidade de um serviço tem relação com a independência de plataforma tecnológica. A reusabilidade é proposta pela divisão das lógicas do negócio em serviços, possibilitando o uso de determinada regra por diversas aplicações sem necessidade de replicar código. O fraco acoplamento propõe que um serviço deve funcionar de forma independente de qualquer outro utilizado em uma mesma aplicação e é ainda análogo a um jogo de lego: as peças podem ser acopladas para formar uma estrutura maior e desacopladas posteriormente. Esquemas e contratos de serviços definem a forma de acoplamento de serviços, ou seja, como serão utilizados e o que deve ser fornecido a eles para que o resultado obtido seja o esperado. O encapsulamento mantém toda a lógica de negócio apenas dentro dos serviços, não a expondo externamente. Ainda análogo ao jogo de lego citado anteriormente: pequenas peças são na maioria das vezes auto-suficientes, mas podem vir a formar uma estrutura maior e mais complexa se forem acopladas umas às outras. A fácil disponibilização possibilita que outros serviços encontrem este em uma rede.

19 27 Muitas vezes confundida diretamente com web services, SOA representa estratégia na área de negócios, enquanto web services são simplesmente os mecanismos que provêem a integração que vai influenciar essa estratégia. A facilidade de integração com serviços de sistemas legados de fornecedores e clientes traz vantagem competitiva em relação às demais empresas que não tenham esta parte bem definida. Na abordagem tradicional de desenvolvimento de software, o trabalho de integração entre sistemas é realizado pontualmente, como uma fase do projeto; cada nova necessidade é considerada como um problema local e único. Estas integrações ocorrem na forma de adaptação dos sistemas a serem integrados, estabelecendo um forte vínculo entre eles. Esta forma de integração cria uma situação indesejada, pois cada novo sistema referencia diretamente outro antigo, o que torna o processo de substituição de sistemas legados mais custoso e arriscado, devido ao impacto nos demais sistemas, inclusive nos mais recentes. Por este motivo, a arquitetura de software de uma organização deve ser simples, flexível e capaz de desvincular funcionalidades do negócio de plataformas tecnológicas e gerar reutilização, tornando-se assim um dos principais meios de ganhos efetivos de agilidade e eficiência na manutenção e na evolução de sistemas corporativos. A adoção dessa arquitetura, porém, implica na maioria das vezes em reengenharia de parte de sistemas legados, de regras e de processos de negócios, se a aplicação em questão for fortemente coesa; caso a aplicação permita adições incrementais, o uso de serviços tende a tornar o processo de desenvolvimento de software mais ágil. Quando todas as organizações têm acesso aos mesmos recursos tecnológicos, a diferença competitiva e os benefícios econômicos dependem do gerenciamento da tecnologia de informação e do negócio, o que implica no entendimento de conceitos, de componentes e da importância da arquitetura de software aos negócios. Com SOA, esta é uma mudança de peso que vem sido reafirmada por organizações que a adotaram, como a instituição financeira ABN AMRO Brasil, que considera seus ganhos desde o ano de 2000 provenientes dessa mudança (BANCO REAL, acesso em 2 out. 2007).

20 28 Mudanças notórias são percebidas na arquitetura física dos sistemas, que passa de cliente-servidor para distribuída, utilizando do modelo de request/reply. Isto é feito com grande facilidade graças a web services, mas não somente com eles: CORBA é um exemplo de meio de integração mantido por um consórcio conhecido como OMG. Este consórcio foi fundado em maio de 1989 e aborda assuntos como UML e integração, dentro da qual há uma parte destinada há algum tempo para SOA (OMG, acesso em 5 out. 2007). SOA, afinal, não é uma revolução tecnológica; CORBA e DCOM representam conhecidos modelos conceituais de orientação a serviços. CORBA permite que diversas aplicações sobre diferentes plataformas trabalhem sobre redes diferentes, utilizando para isto o protocolo IIOP, e DCOM, modelo proprietário da Microsoft que trabalha com comunicação de objetos distribuídos em uma mesma rede. O padrão CORBA, por exemplo, propõe uma arquitetura de software para suportar objetos distribuídos e garantir a interoperabilidade entre diferentes plataformas de hardware e sistemas operacionais. Tal arquitetura foi desenvolvida com o intuito de se definir um conjunto padrão de interfaces capaz de interligar componentes softwares em ambientes distribuídos e heterogêneos. Assim, uma aplicação cliente não precisa conhecer os detalhes de implementação do objeto que obterá de um servidor. Esta capacidade é fornecida pela utilização de uma interface comum, compartilhada para a passagem de informações. A IDL, também especificada em CORBA, define os tipos dos objetos a partir de suas interfaces. Esta definição, porém, é complexa de ser feita, e limita recursos comuns ao programador atualmente e que os web services suportam. Dentre esses recursos está o uso de listas de objetos, que são mais simples de manipular do que as seqüências de estruturas que a IDL propõe. Outro item importante é a complexidade que o desenvolvimento sobre CORBA possui, já que são necessários diversos arquivos de código para realizar atividades relativamente simples, como buscar o cadastro de uma pessoa a partir da interface de um serviço. Assim, há vantagens que permitem afirmar que o uso da arquitetura orientada a serviços, aliada a web services, é mais vantajoso ao desenvolvedor.

21 29 3. PROPOSTA DE DESENVOLVIMENTO Como forma de demonstrar a interoperabilidade entre sistemas expõe-se, por exemplo, um cenário que contenha pelo menos duas aplicações que, de algum modo, troquem informações. As informações passadas de um para o outro não devem depender da tecnologia implantada em cada um deles DESCRIÇÃO DO CENÁRIO O cenário é composto por uma instituição bancária e uma organização comercial, que necessita, efetuar o pagamento de seus funcionários de forma automatizada. O segmento desse tipo de serviços (HOMANN; RILL; WIMMER, 2004) tem se apresentado um negócio altamente integrável, pois sistemas que envolvam atividades bancárias necessitam de mecanismos de integração bem definidos, sejam com outros bancos ou com seus clientes. A proposta é sugerir uma integração de processos presentes em organizações e instituições bancárias, que independa de plataformas tecnológicas e que possa ser disponibilizado para qualquer cliente ou instituição financeira. A organização, como cliente, precisa enviar para o banco a remessa de pagamento de seus funcionários; o banco, por sua vez, necessita realizar transações financeiras e checá-las para conferência. Com a adoção de SOA, essa integração pode ser facilitada e permitir a existência de serviços para pagamentos automatizados. Esta integração possui dois serviços: um, disponibilizado na organização, responsável por enviar a remessa de pagamentos gerada, e um no banco, responsável por receber a remessa e indicar o estado da mesma à organização. Na ocorrência de qualquer erro deve haver comunicação à parte que requisitou serviços; caso as operações ocorram sem erro é indicada a confirmação de sucesso.

22 INTEGRAÇÃO DOS SISTEMAS Como dito na revisão literária, a arquitetura deve ser simples e passível de incrementos e integrações. No caso da Figura 5, há uma visualização macro da integração do sistema cliente com o sistema bancário, onde o analista de RH (Recursos Humanos) envia dados a partir de uma aplicação cliente para a parte mais interna do sistema, que encapsula regras de negócios em estruturas de classes comuns, dispostas em camadas, e manipulação de remessas em serviços. Estes dados são processados e enviados à aplicação do banco, onde serão traduzidos para a plataforma tecnológica corrente e processados pelas regras de negócios lá instituídas. Apenas as camadas relativas a regras de negócio de ambos os sistemas interagem, por meio de web services. Figura 5 Integração dos Sistemas do Cliente e do Banco 3.3. ANÁLISE DOS SISTEMAS Nesta fase da concepção devem ser definidos os principais elementos presentes nos sistemas, como entidades, funcionalidades e arquitetura do sistema subdividida em módulos.

23 Casos de Uso do Sistema de Integração Os casos de uso de um sistema (PRESSMAN, 2001) denotam as possíveis funcionalidades sob a visão do usuário, servindo como base inicial para detalhamento dos requisitos funcionais. Para a proposta apresentada, esta visualização tem como propósito especificar as funcionalidades de um software de integração de remessas de pagamentos de um cliente corporativo a uma instituição bancária, como mostra a Figura 6. Na Figura há uma representação dos casos de uso identificados para os sistemas envolvidos, com seus respectivos atores, subdivididos em quatro módulos: Folha de Pagamento, Integração: Cliente, Integração: Banco e Controle de Contas.

24 Figura 6 Modelo de Casos de Uso 32

25 Breve Descrição dos Módulos Abaixo são apresentadas breves descrições sobre cada um dos módulos citados anteriormente, com seus identificadores e suas principais funcionalidades. Folha de Pagamento (RH): trata o gerenciamento de funcionários e seus respectivos eventos (benefícios, alimentação, descontos, outros) e geração de remessas de pagamentos, repassadas à integração da própria organização, presente no módulo Integração: Cliente ; Integração: Cliente (CLI): aborda a administração das integrações que a organização possui, sendo neste caso com a instituição bancária; Integração: Banco (BAN): aborda a administração das integrações que a instituição bancária disponibiliza, sendo neste caso com o cliente; Controle de Contas (CON): coordena o gerenciamento de clientes da instituição e apresentação das informações de forma transparentes sobre as atividades relacionadas aos mesmos Especificação dos Casos de Uso Cada caso de uso tem como identificação uma sigla, composta da abreviação CSU_ concatenada com o identificador do módulo ao qual pertence (RH, CLI, BAN ou CON) e com uma numeração arábica crescente de três dígitos Caso de Uso CSU_RH000 Manutenção Básica Alguns casos de uso identificados no sistema possuem ações comuns em seus fluxos normais e alternativos, além dos próprios cenários de falha identificados. Estes casos de uso possuem ações de inclusão, alteração, exclusão e consulta de entidades do sistema em questão. Na análise do sistema da organização, os seguintes casos de uso foram identificados, tendo esta idéia como padrão:

26 34 Caso de Uso CSU_RH001 Manter Funcionários Caso de Uso CSU_RH002 Manter Eventos Caso de Uso CSU_RH003 Manter Cargos Assim, os casos de uso acima herdam as funcionalidades de CSU_RH000, adaptando apenas para a entidade contemplada nas funcionalidades (funcionário, evento ou cargo). Fluxo normal: Ator I O ator responsável pelo gerenciamento da entidade ativa o caso de uso no sistema. III O ator informa dados de uma nova entidade e solicita o cadastramento. V O ator encerra então o caso de uso. Sistema II O sistema disponibiliza campos para o cadastro de uma nova entidade e uma lista de entidades cadastradas anteriormente. IV O sistema indica que o cadastro foi efetuado com sucesso, e exibe a lista de entidades cadastradas atualizada. Fluxos alternativos: Na ação III: O ator pode querer atualizar dados de uma entidade cadastrada. O ator seleciona a entidade, que é destacada pelo sistema; os dados são editados pelo ator e submetidos ao sistema. O sistema atualiza a entidade e o fluxo segue então análogo à ação II. Na ação III: O ator pode querer excluir uma entidade cadastrada. O ator indica a entidade a ser excluída. Uma vez confirmada a solicitação, o sistema exclui a entidade. O fluxo segue então análogo à ação II. Na ação III: O ator pode querer consultar dados de uma entidade cadastrada. O ator

27 35 visualiza a entidade desejada dentre as cadastradas. O fluxo segue então análogo à ação V. Na ação III: O ator pode querer consultar entidades cadastradas de acordo com um filtro determinado por ele. O ator informa os filtros e submete ao sistema, que exibe as entidades filtradas para o mesmo. O fluxo segue então análogo à ação V. Cancelamento de edição: Antes da confirmação de atualização de uma entidade, é possível solicitar o cancelamento da operação. Cenários de falhas: Algum dado obrigatório não foi fornecido. Na ação IV o sistema deve indicar ao ator qual(is) dado(s) é(são) necessário(s), não permitindo que o cadastro / a edição seja realizado(a) até que este item seja atendido. Observações gerais: Nenhuma Caso de Uso CSU_RH001 Manter Funcionários Este caso de uso engloba ações de manutenção de funcionários no sistema da organização, e herda o comportamento CSU_RH000 Manutenção Básica. Pré- Condições Pós- Condições Ator - - Analista de Recursos Humanos

28 36 Observações gerais: Dados cadastrais de funcionários: Matrícula Nome completo Identidade CPF Endereço Telefone Convencional Telefone Celular Data de Nascimento Cargo Agência Bancária Número da Conta Corrente Busca de funcionários Por não serem muitos os itens cadastrados, a busca pode ser realizada apenas com base na listagem de funcionários, já exibida ao analista de recursos humanos. Dessa forma, todos os funcionários são listados e estão atualizados a qualquer momento Caso de Uso CSU_RH002 Manter Eventos Este caso de uso engloba ações de manutenção de eventos para funcionários no sistema da organização (plano médico, certificações, alimentação, transporte, outros), e herda o comportamento CSU_RH000 Manutenção Básica. Pré- Condições Pós- Condições Ator - - Analista de Recursos Humanos

29 37 Observações gerais: Dados cadastrais de eventos: Descrição Valor (desconto / gratificação) Busca de eventos Por não serem muitos os itens cadastrados, a busca pode ser realizada apenas com base na listagem de eventos, já exibida ao analista de recursos humanos. Dessa forma, todos os eventos são listados e estão atualizados a qualquer momento Caso de Uso CSU_RH003 Manter Cargos Este caso de uso engloba ações de manutenção de cargos da organização e herda o comportamento CSU_RH000 Manutenção Básica. Pré- Condições Pós- Condições Ator - - Analista de Recursos Humanos Observações gerais: Dados cadastrais de eventos: Descrição Salários Busca de cargos Por não serem muitos os itens cadastrados, a busca pode ser realizada apenas com base na listagem de cargos, já exibida ao analista de recursos humanos. Dessa forma, todos os cargos são listados e estão atualizados a qualquer momento.

30 Caso de Uso CSU_RH004 Associar Eventos a Funcionários Este caso de uso engloba a associação de funcionários com os eventos aos quais está relacionado dentro da organização. Pré- Condições Pós- Condições Ator Funcionário desejado cadastrado no sistema. Eventos cadastrados no sistema. - Analista de Recursos Humanos Fluxo normal: Ator I O analista de recursos humanos ativa o caso de uso no sistema. III O analista de recursos humanos seleciona o funcionário. V O analista de recursos humanos seleciona o evento a ser associado ao funcionário e confirma a operação. VII O analista de recursos humanos encerra então o caso de uso. Sistema da Organização II O sistema disponibiliza uma lista dos funcionários cadastrados. IV O sistema exibe os eventos (plano de saúde, alimentação, gratificação sobre certificações, entre outros) que podem ser associados ao funcionário escolhido e, também, uma listagem dos eventos já associados ao mesmo, indicando a data de associação. VI O sistema indica o sucesso da operação e exibe uma listagem atualizada de eventos associados ao funcionário em questão e suas respectivas datas de associação.

31 39 Fluxos alternativos: Na ação V: O analista de recursos humanos pode querer desassociar um evento relacionado a um funcionário. O analista indica o evento a ser desassociado. O sistema então desassocia o evento. O fluxo segue então análogo à ação IV. Cenários de falhas: Nenhum. Observações gerais: Nenhuma Caso de Uso CSU_RH005 Gerenciar Folha de Pagamento Este caso de uso engloba a geração da folha de pagamento, com base no cadastro de funcionários e na associação de eventos relacionados ao mesmo. Pré- Condições Pós- Condições Ator Funcionários registrados no sistema Eventos associados a funcionários no mês (opcional) Remessa do período pronta para ser enviada à instituição bancária Analista de Recursos Humanos Fluxo normal: Ator I O analista de recursos humanos ativa o caso de uso no sistema. Sistema da Organização II O sistema disponibiliza campos para geração de uma nova remessa e uma lista com as remessas anteriores geradas, com os itens pertinentes e o histórico de cada uma delas. Cada remessas corresponde à folha de pagamentos do período.

32 40 III O analista de recursos humanos indica mês e ano da nova remessa. V O analista de recursos humanos encerra então o caso de uso. IV O sistema busca todos os funcionários considerados ativos (não demitidos) no mês e no ano indicados e emite contracheques individuais, com mês, ano e valor total. Após a emissão dos contracheques, o sistema exibe a remessa para pagamentos gerada referente ao período indicado, pronta para ser enviada à instituição bancária. Uma vez gerada a remessa, esta não pode ser alterada nem excluída, para um controle mais eficaz por parte da organização. Fluxos alternativos: Na ação V: O analista de recursos humanos pode enviar a remessa, estendendo para o caso de uso CSU_CLI001 Enviar Remessa. Na ação V: O analista de recursos humanos pode visualizar os itens da remessa, estendendo para o caso de uso CSU_RH006 Visualizar Itens da Remessa. Na ação V: O analista de recursos humanos pode visualizar o histórico da remessa, estendendo para o caso de uso CSU_RH007 Visualizar Histórico da Remessa. Cenários de falhas: Algum dado obrigatório não foi fornecido. O sistema deve indicar ao analista de recursos humanos qual(is) dado(s) é(são) necessário(s), não permitindo que a geração da remessa seja realizada

33 41 até que este item seja atendido. Observações gerais: Nenhuma Caso de Uso CSU_RH006 Visualizar Itens da Remessa Este caso de uso engloba a consulta dos itens de uma remessa (funcionários e proventos), para detalhamento e conferência dos valores presentes em uma folha de pagamento. Pré- Condições Pós- Condições Ator Folha de pagamento registrada e referente ao período no sistema - Analista de Recursos Humanos Administrador de Integração Organização Fluxo normal: Ator I O analista de recursos humanos (ou analista de recursos humanos) ativa o caso de uso no sistema, selecionando uma remessa registrada no sistema. III O analista de recursos humanos visualiza os dados desejados e encerra então o caso de uso. Sistema da Organização II O sistema exibe uma lista com funcionários e seus respectivos vencimentos. Fluxos alternativos: Nenhum.

34 42 Cenários de falhas: Nenhum. Observações gerais: Nenhuma Caso de Uso CSU_RH007 Visualizar Histórico da Remessa Este caso de uso engloba a consulta ao histórico de uma remessa, iniciado desde sua geração. Pré- Condições Pós- Condições Ator Folha de pagamento registrada e referente ao período no sistema - Analista de Recursos Humanos Administrador de Integração Organização Fluxo normal: Ator I O analista de recursos humanos (ou analista de recursos humanos) ativa o caso de uso no sistema, selecionando uma remessa registrada no sistema. III O analista de recursos humanos visualiza os dados desejados e encerra então o caso de uso. Sistema da Organização II O sistema exibe uma lista com os estados pelos quais a remessa passou e a data de ocorrência de cada um deles (estados como Gerada, Enviada e Erro no Envio ). Fluxos alternativos:

35 43 Nenhum. Cenários de falhas: Nenhum. Observações gerais: Nenhuma Caso de Uso CSU_RH008 Visualizar Remessas Este caso de uso engloba a visualização de remessas de pagamentos geradas para envio à instituição bancária. Pré- Condições Pós- Condições Ator Folha(s) de pagamentos registrada(s) no sistema - Analista de Recursos Humanos Administrador de Integração Organização Fluxo normal: Atores I O administrador de integração (ou analista de recursos humanos) ativa o caso de uso. III O administrador de integração (ou analista de recursos humanos) visualiza algumas informações sobre as remessas (histórico, período de referência, data de geração), sobretudo nas remessas que apresentaram algum erro no envio. Sistema da Organização II O sistema mostra uma lista com todas as remessas geradas (enviadas ou não).

36 44 IV O administrador de integração (ou analista de recursos humanos) encerra o caso de uso. Fluxos alternativos: Na ação IV: O administrador de integração (ou analista de recursos humanos) pode visualizar os itens da remessa, estendendo o caso de uso CSU_RH006 Visualizar Itens da Remessa. Na ação IV: O administrador de integração (ou analista de recursos humanos) pode visualizar o histórico da remessa, estendendo o caso de uso CSU_RH007 Visualizar Histórico da Remessa. Cenários de falhas: Falha no envio da remessa. Na ação III, a falha é indicada pelo histórico da remessa, ativando o caso de uso CSU_RH007 Visualizar Histórico da Remessa. Uma falha pode ser originada por indisponibilidade do serviço bancário de recebimento, XML gerado erroneamente, serviço utilizado pela organização para envio indisponível, outros. A partir da captação e correção da falha, o administrador da integração na organização reenvia a remessa até que a transação seja completada, ativando o caso de uso CSU_RH008 Visualizar Remessas e estendendo para o caso de uso CSU_CLI001 Enviar Remessa. Observações gerais: Os possíveis estados de uma remessa estão descritos com maior clareza no diagramas de estado da mesma, encontrado no tópico 3.5 deste documento Caso de Uso CSU_CLI001 Enviar Remessa

37 45 Este caso de uso engloba o envio de uma remessa de pagamentos gerada à instituição bancária. Este caso de uso estende os casos de uso: CSU_RH005 Gerenciar Folha de Pagamento; CSU_RH008 Visualizar Remessas. Pré- Condições Pós- Condições Ator Remessa de pagamentos desejada registrada no sistema Remessa de pagamentos enviada ao sistema da instituição bancária Analista de Recursos Humanos Administrador de Integração da Organização Sistema da Instituição Bancária (externo) Fluxo normal: Atores I O analista de recursos humanos (ou administrador de integração) ativa o caso de uso no sistema. III O analista de recursos humanos (ou administrador de integração) confirma o envio. V O sistema da instituição bancária recebe a remessa e envia uma confirmação. Sistema da Organização II O sistema solicita uma confirmação de envio. IV O sistema envia para o banco a remessa de pagamentos, via mecanismo de integração. VI O sistema da organização recebe a confirmação, inclui o status e a data de ocorrência no histórico da remessa e encerra o caso de uso. Fluxos alternativos: Nenhum. Cenários de falhas: Falha no envio da remessa. A falha é indicada pelo estado da remessa e pelo histórico, o que pode ativar o

38 46 caso de uso CSU_CLI001 Visualizar Remessas. A partir da visualização, o analista de recursos humanos / administrador da integração na organização reenvia a remessa. Observações gerais: Nenhuma Caso de Uso CSU_BAN001 Administrar Remessas Este caso de uso deverá mostrar ao administrador de integração do banco as remessas que foram processadas pelo banco e as que estão em espera, para que na ocorrência de um erro seja possível identificá-lo e corrigi-lo. Pré- Condições Pós- Condições Atores Ter recebido a remessa de pagamentos desejada - Administrador de integração do banco. Fluxo normal: Atores I O Administrador de integração do banco ativa o caso de uso. Sistema bancário II O Sistema bancário apresenta a lista de remessas enviadas no dia em ordem crescente de data. III O Administrador de integração do banco visualiza as informações sobre as remessas, sobretudo as remessas que apresentaram algum erro de recebimento (devido a inconsistências). IV Com o registro do erro no

39 47 recebimento, o administrador pode resolver possíveis problemas. V Depois dos erros reparados, o Administrador de integração do banco atualiza o status da remessa. VI O Administrador de integração do banco encerra o caso de uso. Fluxos alternativos: Na ação III: O Administrador de integração do banco apenas visualizar remessas. Depois encerra o caso de uso. Observações gerais: Dados para filtragem: Data de Inicio Data de Fim Status da Remessa Caso de Uso CSU_BAN002 Processar Remessas Este caso de uso deverá processar a remessa recebida pela organização. Pré- Condições Pós- Condições Atores Ter recebido a remessa de pagamentos desejada - Gerente de Contas. Fluxo normal: Atores Sistema bancário I O Gerente de Contas ativa o caso II O Sistema bancário apresenta a

40 48 de uso. III O Gerente de Contas visualiza lista de remessas, escolhe remessa a processar e conforme necessidade visualizar os itens da remessa. IV O Gerente de Contas com a remessa escolhida, sinaliza que quer processar a remessa. VI O Gerente de Contas encerra o caso de uso. lista de remessas recebidas no dia em ordem crescente de data. V O Sistema bancário processa a remessa, faz as devidas transferências, registra no log de processamento, atualiza os status da remessa e dos seus itens e finaliza com sucesso. Cenários de falhas: Falha no pagamento dos funcionários. Conforme natureza do erro se for passível de ser resolvido pelo próprio Gerente de Contas, este corrige o erro, atualiza o status da e re-processa a remessa. O fluxo segue então análogo à ação II. Observações gerais: Dados para filtragem: Data de Inicio Data de Fim Status da Remessa Caso de Uso CSU_BAN003 Receber Remessa Este caso de uso deverá receber a remessa enviada pela Organização. Pré- -

41 49 Condições Pós- Condições Atores - Sistema da Organização Fluxo normal: Atores I O Sistema da Organização ativa o caso de uso. Sistema bancário II O Sistema da Organização envia a remessa para o Sistema bancário. IV O Sistema da Organização recebe confirmação e encerrar o caso de uso. III O Sistema bancário recebe a remessa, salva e retorna para o Sistema da Organização uma confirmação de recebimento. Cenários de falhas: Falha no envio da remessa. O Sistema da Organização não recebe confirmação do recebimento da remessa. Sendo necessário reenviar remessa. O fluxo segue então análogo à ação II. Observações gerais: Nenhuma Caso de Uso CSU_ CON000 Gerenciamento Básico Alguns casos de uso identificados no sistema possuem ações comuns em seus fluxos normais e alternativos, além dos próprios cenários de falha identificados. Estes casos de uso possuem ações de inclusão, alteração, exclusão e consulta de

42 50 entidades do sistema em questão. Na análise do sistema bancário, os seguintes casos de uso foram identificados, tendo esta idéia como padrão: Caso de Uso CSU_CON001 Gerenciar Clientes Caso de Uso CSU_CON002 Gerenciar Contas Assim, os casos de uso acima herdam as funcionalidades de CSU_ CON000, adaptando apenas para a entidade contemplada nas funcionalidades (cliente ou conta). Fluxo normal: Ator I O ator responsável pelo gerenciamento da entidade ativa o caso de uso no sistema. III O ator informa dados de uma nova entidade e solicita o cadastramento. V O ator encerra então o caso de uso. Sistema II O sistema disponibiliza campos para o cadastro de uma nova entidade. IV O sistema salva os dados informados pelo ator. Fluxos alternativos: Na ação III: O ator pode querer atualizar dados de uma entidade cadastrada. O ator seleciona a entidade, que é destacada pelo sistema; os dados são editados pelo ator e submetidos ao sistema. O sistema indica que a entidade teve seus dados atualizados com sucesso. O fluxo segue então análogo à ação II. Na ação III: O ator pode querer excluir uma entidade cadastrada. O ator indica a entidade a ser excluída e o sistema pede uma confirmação. Uma vez confirmada a solicitação, o sistema exclui a entidade. O fluxo segue então análogo à ação II. Na ação III: O ator pode querer consultar dados de uma entidade cadastrada. O ator

43 51 seleciona a entidade, que é destacado pelo sistema; os dados são exibidos para o analista. O fluxo segue então análogo à ação V. Cancelamento de edição / exclusão: Antes da confirmação de edição / exclusão de uma entidade, é possível solicitar o cancelamento da operação. Cenários de falhas: Algum dado obrigatório não foi fornecido. O sistema deve indicar ao ator qual(is) dado(s) é(são) necessário(s), não permitindo que o cadastro / a edição seja realizado(a) até que este item seja atendido. A entidade a ser cadastrada já existe. O sistema deve indicar ao ator o insucesso, informando que o cadastro da entidade já foi realizado anteriormente. O sistema volta então à situação descrita na ação II. Observações gerais: Nenhuma Caso de Uso CSU_CON001 Gerenciar Clientes Este caso de uso engloba ações de manutenção de clientes no sistema bancário, como cadastro, consultas, edição de dados e exclusão dos mesmos. Este caso de uso herda o comportamento CSU_CON000 Gerenciamento Básico. Pré- Condições Pós- Condições Atores - - Gerente de Contas

44 52 Observações gerais: Dados cadastrais de clientes: Nome completo Identidade CPF Endereço Data de nascimento Caso de Uso CSU_CON002 Gerenciar Contas Este caso de uso engloba ações de manutenção de contas no sistema bancário, como cadastro, consultas, edição de dados e exclusão dos mesmos. Este caso de uso herda o comportamento CSU_CON000 Gerenciamento Básico. Pré- Condições Pós- Condições Atores Ter cadastrado o titular da conta - Gerente de Contas Observações gerais: Dados cadastrais da conta: Número da Conta Tipo de Conta Data de criação Saldo Número da Agência CPF do Cliente

45 Caso de Uso CSU_CON003 Visualizar Extratos Este caso de uso engloba ações de visualizar os extratos dos clientes do banco. Pré- Condições Pós- Condições Atores Ter cadastrado uma conta - Gerente de Contas Fluxo normal: Ator I O Gerente de contas ativa o caso de uso no sistema. III O Gerente de contas disponibiliza dados para o filtro e solicita a visualização. V O Gerente de contas visualiza o extrato e encerra o caso de uso. Sistema bancário II O sistema disponibiliza campos para o filtro. IV O sistema processa as informações e mostra o extrato da conta. Cenários de falhas: Algum dado obrigatório não foi fornecido. O sistema deve indicar ao gerente de contas qual(is) dado(s) é(são) necessário(s), não permitindo a visualização do extrato. Algum dado fornecido não existe. O sistema deve indicar ao gerente de contas qual(is) dado(s) não existem, não permitindo a visualização do extrato.

46 54 Observações gerais: Dados para filtragem: Número da Conta Data de Inicio Data de Fim 3.4. MODELO DE CLASSES CONCEITUAL O modelo de classes conceitual (PRESSMAN, 2001) auxilia na identificação, por meio de notação gráfica, de entidades presentes no sistema bem como as ações a serem exercidas sobre elas. As entidades de um sistema são os elementos que o compõe e que servirão como base para a construção de dados estruturados pertinentes ao sistema. No cenário da organização, foram identificadas algumas entidades, seus atributos e métodos de atribuição de valores, mostradas na Figura 7. As entidades mostradas são: Funcionario: representa cada elemento funcionário da organização que deve constar na remessa de pagamentos, e por isso deve estar cadastrado no sistema de RH da própria organização; Cargo: cada funcionário deve possuir um cargo; ContaFuncionario: representação da conta bancária que cada funcionário necessita ter para receber proventos; ContaOrganização: representação da conta bancária da organização, necessária à instituição bancária, que indicará de qual conta será transferido o dinheiro para o pagamento da remessa; Evento: representa benefícios e descontos que a empresa oferece ao funcionário; EventoFuncionario: relaciona os eventos ao funcionário que os consumiu; Contracheque: representa os vencimentos de um funcionário, para determinado período;

47 55 Remessa: indica o total de pagamentos a serem feitos em um período, com data de geração e de envio da mesma, indicando também o XML que vai representála para o banco; HistoricoRemessa: representa todas as ações e estados de uma remessa desde que ela é gerada e disponibilizada. Figura 7 Entidades da Organização No cenário da instituição bancária foram identificadas também algumas entidades, seus atributos e métodos de atribuição de valores, mostradas na Figura 8. As entidades mostradas são: Cliente: representa cada elemento cliente do banco; Conta: representa as contas que cada cliente possui, podendo ser uma única ou várias para um mesmo cliente; Agencia: cada rede de bancos possui várias agências, e por isso cada conta deve ter especificada a qual agência pertence;

48 56 Transacao: qualquer movimentação sobre uma conta deve ser considerada uma transação bancária e deve possuir uma quantia em dinheiro associada a ela; RemessaRecebida: determina o recebimento de uma remessa, indicando a organização que a enviou e seu estado; ItensRemessa: representa os itens necessário em uma remessa para efetuar o pagamento de cada funcionário da organização; LogRecebimento: representa as diversas situações em que uma remessa pode pela instituição bancária (erro, recebida, processada), registrando a data em que ocorreu. Figura 8 Entidades da Instituição Bancária 3.5. DIAGRAMAS DE TRANSIÇÃO DE ESTADOS Os diagramas de transição de estados (PRESSMAN, 2001) auxiliam na indicação de possíveis comportamentos de um sistema em conseqüência de eventos externos. Com este recurso a visão da integração é facilitada, já que é possível a

49 57 determinação dos possíveis estados de uma remessa entre o envio, efetuado pela organização, e o recebimento e processamento, efetuado pelo banco, como mostram as Figuras 9 e 10. Figura 9 Estados de uma Remessa de Pagamentos para a Organização

50 Figura 10 Estados da Remessa para a Instituição Bancária 58

51 59 4. PROJETO DOS SISTEMAS Nesta fase de elaboração do projeto dos sistemas são definidos os principais aspectos dos sistemas quanto à tecnologia, estruturação em pacotes e modelo e projeto do banco de dados TECNOLOGIAS Para a descrição realizada na análise do sistema, existem dois sistemas a serem integrados: o da instituição bancária, baseado em JEE, e o da organização cliente, baseado em.net. No desenvolvimento da aplicação baseada em JEE foi utilizado o JDK, na versão 1.6. Dentre os ambientes disponíveis para desenvolvimento de aplicações, como Eclipse, JCreator e NetBeans, foi decidida a utilização do NetBeans, pois oferece todas as ferramentas necessárias para criar aplicativos empresariais e web, além de também ser um produto com bom suporte aos recursos para desenvolvimento englobados por ele, na versão mais atual, a Para que a aplicação pudesse ser executada, houve a necessidade de um servidor de aplicações, que neste caso optou-se pelo GlassFish V2. Para a persistência de dados na aplicação JEE, será utilizado o driver JDBC, que irá interagir com o sistema gerenciador de banco de dados MySQL, na versão Componentes EJB necessitariam de um servidor de aplicações que oferecesse um contêiner próprio para este componente, como o JBoss. Esses componentes oferecem robustez e escalabilidade para aplicações com muitos acessos concorrentes, o que não é o caso do cenário exposto neste artigo. Sendo assim, JSPs e servlets atendem a demanda e serão utilizados. A opção pelo uso de um servidor de aplicações que seja um contêiner web, como o caso do GlassFish V2, dá-se por atender adequadamente a escolha do uso de JSPs e servlets. O GlassFish é um servidor de aplicação desenvolvido pela Sun Microsystems para a plataforma JEE. Este servidor tornou-se uma opção viável e com desempenho bom,

52 60 com plugins inclusive para a IDE NetBeans. O console desse servidor, além de muito intuitivo, é realmente bastante prático, e segue o padrão JEE 5 desde sua versão 1.0. Para a aplicação baseada em.net foi utilizado o.net framework 2.0 e o ambiente integrado de desenvolvimento Visual Studio A escolha da versão 2.0 do framework foi feita por apresentar mais recursos e por ter uma documentação mais abrangente que a versão anterior, a 1.1. O IIS foi o servidor de aplicações indicado, por ser adequado e preparado para aplicações baseadas no.net framework. A persistência de dados foi feita através de driver próprio para o sistema gerenciador de banco de dados Microsoft SQL Server Em.NET, o web service foi implementado a partir de projeto ASP.NET Web Service, que a IDE disponibiliza ARQUITETURA DOS SISTEMAS A arquitetura dos sistemas em pacotes tratará os módulos apresentados na fase de análise da seguinte maneira: Módulo Folha de Pagamento : pacotes Presentation e Domain ; Módulo Integração: Cliente : pacote RemessaWS ; Módulo Integração: Banco : pacote Integração e Remessa ; Módulo Controle de Contas : pacote ConConta. Os módulos Folha de Pagamento e Integração: Cliente pertencem exclusivamente ao cliente, enquanto os módulos Integração: Banco e Controle de Contas pertencem ao banco. O módulo Integração: Cliente é dependente do módulo Integração: Banco, já que não é possível enviar uma remessa a um sistema inexistente ou a um sistema que não disponibilize este tipo de serviço. Do mesmo modo, cada módulo de integração depende de um sistema em particular que forneça base para efetuar uma integração, como mostra a Figura 11.

53 61 Figura 11 Arquitetura do Sistema 4.3. PACOTES E CAMADAS DE SOFTWARE É possível nesta parte visualizar o nível de organização na implementação dos sistemas, bem como a integração entre os mesmos Módulo Folha de Pagamento Os pacotes Domain e Presentation compõem este módulo, como mostrado na Figura anterior. O pacote Domain apresenta pacotes internos: Business, DataAccess e Entity. Dentro de cada pacote, que representa uma camada específica, são expostas classes relevantes ao desenvolvimento do sistema, conforme a Figura 12, e que são relatadas na descrição de cada pacote, realizada a seguir.

54 62 Figura 12 Pacote "Domain" Detalhado O pacote Presentation representa as classes relativas às interfaces com as quais o usuário interage, podendo ser visualizado na Figura 13.

55 63 Figura 13 Pacote "Presentation" As páginas, por onde o usuário navega e realiza as ações descritas nos casos de uso, são expostas na Figura 14. Nela é possível visualizar a navegabilidade de todas as páginas presentes no sistema da organização.

56 64 Figura 14 Navegabilidade entre Páginas do Sistema da Organização A página Default.aspx é a principal do sistema, de onde é possível acessar toda e qualquer funcionalidade do mesmo, desde que se tenha permissão para isto Pacote Entity Do modelo de classes conceitual exposto na análise foram extraídas as entidades relevantes a este módulo e que irão compor o domínio do problema, bem como as propriedades que refletem os atributos de cada entidade. Estas entidades e seus atribuitos podem ser observadas na Figura 15.

57 65 Figura 15 Pacote "Entity" Pacote DataAccess Neste pacote encontram-se as classes responsáveis pela persistência de dados, sendo algumas de um tipo DataSet. Estas classes DataSet são uma facilidade que a ferramenta utilizada para desenvolvimento possui, e realizam a persistência de entidades do sistema que não necessitem de transações elaboradas. Por este motivo, foi utilizado este mecanismo de persistência para as entidades Funcionario, Evento, Cargo e Remessa, conforme a Figura 16.

58 66 Figura 16 - Classes Tipo "DataSet" para Persistência As classes que envolvem associações e transações mais elaboradas presentes neste pacote, RemessaDataAccess e AssociacaoEventoFuncionarioDataAccess, foram implementadas em classes comuns, apresentando alguns comportamentos centralizados na classe DataAccessBase, conforme a Figura 17. Figura 17 Pacote "DataAccess" Há um enfoque especial na classe de persistência RemessaDataAccess. Esta classe é a responsável por identificar os elementos envolvidos na geração de uma remessa e criá-la a partir dos mesmos. Assim, contracheques de funcionários também são manipulados por esta classe.

59 67 Este pacote, por ser responsável pela persistência de dados do banco, precisa estar de acordo com o modelo de dados. Neste caso, o modelo de dados reflete a representação de entidades definidas no modelo de classes conceitual, com as devidas alterações, que podem ser observadas na Figura 18. Figura 18 Modelo do Banco de Dados da Organização O dicionário de dados relativos ao modelo de banco apresentado na Figura 18 encontra-se no APÊNDICE A Pacote Business Neste pacote são encontradas as classes que encapsulam as regras de negócio do sistema, que se comunicam com o mecanismo de integração utilizado e que também controlam requisições entre interface gráfica e persistência, mostradas na Figura 19.

60 68 Figura 19 Pacote "Business" Mais uma vez, a classe responsável pelo tratamento da remessa de pagamento, identificada por RemessaBusiness, é o foco do pacote. Nela são realizadas as seguintes atividades: Gravação e recuperação de dados relativos a remessas; Geração do arquivo XML, que representa a remessa e é enviado à instituição bancária para o pagamento de funcionários; Envio do arquivo XML, via chamada ao mecanismo de integração. Quando o analista de recursos humanos informa os dados necessários à geração de uma remessa, são realizadas diversas operações que permitem gerar os contracheques de cada funcionário e indicar, inclusive a partir dos mesmos, os dados pertinentes a esta remessa, incluindo o seu histórico. O histórico tem por objetivo fornecer um controle eficaz de cada uma das remessas registradas no sistema. Este elemento torna-se necessário para que possa ser feito um acompanhamento mais rigoroso do tratamento de cada remessa, já que o mesmo indica geração, envio e erros que cada uma delas apresentou. Dada a facilidade presente na integração entre os sistemas, é necessário um mecanismo de controle simplificado e transparente até mesmo ao próprio indivíduo que administre essas remessas.

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento. SOA Arquitetura Orientada a Serviços Conceitos e Aplicações Prof. MSc. Edilberto Silva edilms@yahoo.com/ http://edilms.eti.br Gestão de TI Conceitode SOA SOA - Service OrientedArchitecture (Arquitetura

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT 1. IDENTIFICAÇÃO Padrão Segmento Código P06.002 Revisão v. 2014 Plataformas Web 2. PUBLICAÇÃO Recursos Tecnológicos Versão Data para adoção Publicação v. 2014 23 de dezembro de 2014 PORTARIA N Nº 225 de

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

Leia mais

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

Automação do Processo de Instalação de Softwares

Automação do Processo de Instalação de Softwares Automação do Processo de Instalação de Softwares Aislan Nogueira Diogo Avelino João Rafael Azevedo Milene Moreira Companhia Siderúrgica Nacional - CSN RESUMO Este artigo tem como finalidade apresentar

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Especificações Técnicas

Especificações Técnicas Visual COBOL é a solução líder da indústria para o desenvolvimento de aplicações COBOL e implantação em sistemas Windows, Unix e Linux. Ele combina as melhores ferramentas de desenvolvimento de sua classe

Leia mais

Desenvolvimento de Aplicação Windows Mobile Acessando um WebService

Desenvolvimento de Aplicação Windows Mobile Acessando um WebService Faculdade de Negócios e Administração de Sergipe Disciplina: Integração Web Banco de Dados Professor: Fábio Coriolano Desenvolvimento de Aplicação Windows Mobile Acessando um WebService Professor: Fabio

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Integração Orientada a Serviços

Integração Orientada a Serviços Integração Orientada a Serviços Porto Alegre, Agosto de 2006 Agenda Sobre a e-core SOA O que é? Web Services x SOA Principal Motivação - Integração SOI ESB BPEL JBI ServiceMix Solução Proposta A Empresa

Leia mais

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC Felipe Moreira Decol Claro 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipe4258@hotmail.com, kessia@unipar.br

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores

Leia mais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Objetivo: Identificar as principais características de uma Aplicação Internet Rica.

Leia mais

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013.

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013. PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013. ACRESCENTA A ARQUITETURA DE PADRÕES TECNOLÓGICOS DE INTEROPERABILIDADE -, NO SEGMENTO ORGANIZAÇÃO E INTERCÂMBIO DE INFORMAÇÕES, O PADRÃO TECNOLÓGICO

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Arquiteturas Orientadas a Serviços ESB. Enterprise Service Bus. Prof. Ricardo J. Rabelo DAS5316 Integração de Sistemas Corporativos

Arquiteturas Orientadas a Serviços ESB. Enterprise Service Bus. Prof. Ricardo J. Rabelo DAS5316 Integração de Sistemas Corporativos ESB Enterprise Service Bus Prof. Ricardo J. Rabelo DAS5316 Integração de Sistemas Corporativos Resumo Introdução Definição Problemas atuais e Vantagens Evolução do ESB ESB versus EAI, MOM, Workfow, SOA

Leia mais

Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Dificuldades no uso de Bancos de Dados

Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Dificuldades no uso de Bancos de Dados Desenvolvimento de Aplicações Desenvolvimento de Aplicações Dificuldades no uso de Bancos de Dados Um leigo não sabe o que é e como funciona um BD Mesmo um profissional da área de informática pode ter

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa ACESSE Informações corporativas a partir de qualquer ponto de Internet baseado na configuração

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente 1. Quais os componentes de um sistema cliente-servidor? Clientes e servidores 2. Na visão do hardware, defina o que é cliente e o que é servidor: Clientes. Qualquer computador conectado ao sistema via

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 14 SOA e ESB Service-Oriented

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Resumo de TCC Desenvolvimento de um sistema ERP com foco nas tecnologias de software livre / código aberto

Resumo de TCC Desenvolvimento de um sistema ERP com foco nas tecnologias de software livre / código aberto UFSC - Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística INE5631 Projetos I Prof. Renato Cislaghi Resumo de TCC Desenvolvimento de um sistema ERP

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

IBM WebSphere Product Center

IBM WebSphere Product Center Soluções de gerenciamento de informação de produto para dar suporte aos seus objetivos de negócios IBM WebSphere Product Center Oferece uma solução abrangente de gerenciamento de informação de produto

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Manual de Consulta Web Service Consulta ao SCR para Instituições Financeiras

Manual de Consulta Web Service Consulta ao SCR para Instituições Financeiras Manual de Consulta Web Service Consulta ao SCR para Instituições Financeiras 1. Introdução O que é a Consulta ao SCR via Web Service? A consulta ao SCR via Web Service permite a consulta da posição consolidada

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

Leia mais

19/05/2009. Módulo 1

19/05/2009. Módulo 1 ASP.NET Módulo 1 Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft.Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial

Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial Sindo V. Dias Antônio C. Mosca Rogério A. Rondini Agenda Cenário do Setor de

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

Leia mais

FERRAMENTAS PARA DESENVOLVIMENTO EM C#

FERRAMENTAS PARA DESENVOLVIMENTO EM C# FERRAMENTAS PARA DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Wyllian Fressatti 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wyllian@unipar.br Resumo. Este artigo

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Introdução ao ERP Microsiga Protheus da Totvs

Introdução ao ERP Microsiga Protheus da Totvs Por Edilberto Souza Introdução ao ERP Microsiga Protheus da Totvs Agenda Introdução a alguns conceitos de ERP; Noções sobre o mercado de ERP; Arquitetura do Microsiga Protheus; Visão geral do ambiente

Leia mais

Palavras-Chaves: engenharia de requisitos, modelagem, UML.

Palavras-Chaves: engenharia de requisitos, modelagem, UML. APLICAÇÃO DA ENGENHARIA DE REQUISITOS PARA COMPREENSÃO DE DOMÍNIO DO PROBLEMA PARA SISTEMA DE CONTROLE COMERCIAL LEONARDO DE PAULA SANCHES Discente da AEMS Faculdades Integradas de Três Lagoas RENAN HENRIQUE

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

J2EE TM Java 2 Plataform, Enterprise Edition

J2EE TM Java 2 Plataform, Enterprise Edition CURSO DE GRADUAÇÃO J2EE TM Java 2 Plataform, Enterprise Edition Antonio Benedito Coimbra Sampaio Junior abc@unama.br OBJETIVOS DO CURSO Capacitar os alunos no desenvolvimento de aplicações para a WEB com

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática /

Leia mais

ESTUDO COMPARATIVO DE BIBLIOTECAS GRÁFICAS I TEGRADAS COM OPE GL

ESTUDO COMPARATIVO DE BIBLIOTECAS GRÁFICAS I TEGRADAS COM OPE GL ESTUDO COMPARATIVO DE BIBLIOTECAS GRÁFICAS I TEGRADAS COM OPE GL Francisco Tiago Avelar, Vitor Conrado F. Gomes, Cesar Tadeu Pozzer Universidade Federal de Santa Maria UFSM Curso de Ciência da Computação

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos

Leia mais

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C#

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Willian Magalhães 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wmagalhaes@unipar.br

Leia mais

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS Este anexo apresenta uma visão geral das seguintes plataformas: 1. Plataforma Microsoft.NET - VB.NET e C#; 2. Plataforma JAVA; 3. Plataforma Android, ios e Windows

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 4 Infra-Estrutura de TI: Hardware e Software 2 1 OBJETIVOS

Leia mais

Uma visão mais detalhada do software HP LoadRunner

Uma visão mais detalhada do software HP LoadRunner Boletim técnico Uma visão mais detalhada do software HP LoadRunner Índice Um novo enfoque no teste de desempenho: a solução HP LoadRunner 3 A solução HP LoadRunner e a terminologia dos testes de desempenho

Leia mais

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC 1 Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC Edilberto Silva 1, André Luiz (1012545), Andreia Pereira da Silva (1012547) Carlos Alberto (1012206), Humberto César de Carvalho

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

SISTEMAS INTEGRADOS DE GESTÃO EMPRESARIAL E A ADMINISTRAÇÃO DE PATRIMÔNIO ALUNO: SALOMÃO DOS SANTOS NUNES MATRÍCULA: 19930057

SISTEMAS INTEGRADOS DE GESTÃO EMPRESARIAL E A ADMINISTRAÇÃO DE PATRIMÔNIO ALUNO: SALOMÃO DOS SANTOS NUNES MATRÍCULA: 19930057 INTRODUÇÃO SISTEMAS INTEGRADOS DE GESTÃO EMPRESARIAL E A ADMINISTRAÇÃO DE PATRIMÔNIO ALUNO: SALOMÃO DOS SANTOS NUNES MATRÍCULA: 19930057 Há algum tempo, podemos observar diversas mudanças nas organizações,

Leia mais

3 Propostas de Travessias de Firewalls/NAT

3 Propostas de Travessias de Firewalls/NAT 3 Propostas de Travessias de Firewalls/NAT Este capítulo irá apresentar as propostas deste trabalho para que aplicações que utilizem CORBA como plataforma de comunicação possam atravessar firewalls/nat.

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO DESCRIÇÃO DO SIGAI O SIGAI (Sistema Integrado de Gestão do Acesso à Informação) é uma solução de software que foi desenvolvida para automatizar os processos administrativos e operacionais visando a atender

Leia mais