Você pode ganhar um iPad 2 na promoção do Javafree
O Portal javafree.org inicia mais uma promoção para os usuários do fórum. Quem publicar mais posts válidos (perguntas ou respostas) entre 16/4 a 13/7 levará para casa um iPad 2 de 16GB!
Clique aqui e saiba mais.
Home > Artigos > Engenharia de Software >
Introdução SAP NetWeaver e EJB.
Publicado por MBoni em 17/08/2009 - 35.770 visualizações
Para complementar o assunto, segue uma pequena introdução a SAP NetWeaver e EJB.
INTRODUÇÃO A SAP NETWEAVER.
O SAP NetWeaver é uma plataforma abrangente de aplicativos e integração que trabalha com a infra-estrutura de TI já existente nas empresas para permitir e administrar mudanças. Com o SAP NetWeaver, pode-se projetar, construir, implementar e executar novas estratégias empresariais de forma rápida e flexível, assim como executar novos processos de negócios. Também é possível conduzir a inovação ao combinar sistemas existentes, enquanto mantém uma estrutura de custos sustentável.
O SAP Netweaver foi desenvolvido sob uma arquitetura que permite ser totalmente interoperável com o Microsoft .NET e IBM WebSphere (J2EE), fornecendo aos clientes a flexibilidade para gerenciar infra-estruturas heterogêneas e minimizar a complexidade.
O intuíto é de promover a "integração Global" dentro de uma organização, onde sistemas homogêneos e/ou heterogêneos possam estar comunicando-se entre sí, como por exemplo integração de bancos de dados com o SAP, integração de sistemas chão de fábrica (MES, PIMS, LIMS, PLCs, etc) com o SAP, integração de um sistema legado com um sistema proprietário da empresa.
É um conjunto de tecnologias integradas e metodologias, baseado numa profunda e longa experiência em desenvolvimento de soluções corporativas, resultando em maior escalabilidade, tempo contínuo de funcionamento e gerenciabilidade de software, bem como suporte e extensibilidade ao ciclo de vida. É a "aposta segura" ao definir as opções de software corporativo e permite que os executivos voltem seu foco à principal competência de suas empresas, resolvendo problemas antigos de integração de TI.
Para que seja possível a troca de dados entre diferentes sistemas, a plataforma SAP NetWeaver é compatível com padrões como HTTP, XML, e serviços da Web. Dessa forma, os Composite Applications desenvolvidos para atender necessidades específicas podem rodar suavemente sobre os sistemas de base, potencializando assim seus investimentos prévios em TI.
A plataforma NetWeaver serve ainda como base para a Enterprise Sevices Architecture (ESA), uma nova infra-estrutura de TI que combina soluções baseadas em serviços em ambientes heterogêneos e rompe possíveis barreiras técnicas existentes dentro da corporação. A ESA oferece níveis sem precedentes de adaptabilidade, flexibilidade e abertura, combinando a experiência da SAP em soluções corporativas com Web Services e outros padrões abertos. Através da ESA, sua empresa pode criar novos aplicativos que rodam sobre os aplicativos já existentes, aumentando o retorno de seus investimentos prévios em TI e automatizando novos processos.
A flexibilidade da plataforma SAP NetWeaver garante mais valor e desempenho ao seu negócio, além de uma experiência mais eficiente de seus usuários. A Interface pode ser personalizada de acordo com a função de seus profissionais ou mesmo de parceiros e clientes. Com o Single Sing-On, a interatividade é padronizada e a navegação por diversos sistemas é intuitiva e imperceptível.
Suporte ao conceito BPM - Business Process Management - Nascendo sob a égide da evolução de outras tecnologias (Workflow, GED, EAI, WebServices, etc.), o BPM permite a análise, definição, execução, monitoramento e administração de processos, incluindo o suporte para a interação entre pessoas e aplicações informatizadas diversas. O BPM, acima de tudo, permite que as regras de negócio da organização, travestidas na forma de processos, sejam criadas e informatizadas pelas próprias áreas de gestão, sem interferência das áreas técnicas.
A paltaforma SAP Netweaver promove a redução do custo total de propriedade (TCO) ao facilitar a integração e alinhamento de pessoas, informações e processos de negócios nos limites organizacionais e tecnológicos.
Sendo assim, a plataforma SAP NetWeaver se traduz na melhor forma de se fazer:
- INTEGRAÇÃO DE PESSOAS - SAP Portals
- INTEGRAÇÃO DE INFORMAÇÕES - SAP BI/BW
- INTEGRAÇÃO DE PROCESSOS - SAP XI
- PLATAFORMA DE APLICAÇÃO - J2EE / ABAP
- Application Server - SAP WAS / WebSphere IBM
Diferenciais SAP NetWeaver:
? Plataforma de integração completa em um único produto.
? Amplo conteúdo de negócios disponível para a camada de integração baseado no conhecimento da SAP em processos de negócios em mais de 20 diferentes indústrias.
? Arquitetura confiável, escalável, segura e provada em mais de 30 anos de experiência e 20.000 clientes.
? Suporte a Java/J2EE e .Net.
? Composição de novos processos (Composite Applications) sobre os sistemas existentes.
? Capacidade de oferecer soluções de negócios completas, e não apenas a plataforma técnica.
INTRODUÇÃO A EJB.
Aplicações empresariais constituem uma classe de aplicações de software que executam funções empresariais e tipicamente envolvem grandes quantidades de dados que são simultaneamente acessados por muitos usuários. Estas aplicações raramente executam isoladamente. Ao invés disto, cada uma é normalmente apenas um pedaço do quebra-cabeças da paisagem do TI de uma companhia, e tem que interagir com as pessoas e com outros sistemas. Resumindo, o desenvolvimento de aplicações empresariais é um trabalho difícil. Aspectos como o desempenho, escalabilidade, concorrência e segurança devem ser contemplados em quase todas as aplicações empresariais, para que as mesmas cumpram adequadamente o seu papel na empresa.
Em resposta a estes desafios, a especificação do EJB foi introduzida em março de 1998, para tornar mais fácil a confecção de sistemas empresariais distribuídos orientados a objeto. A especificação e os servidores de aplicação que implementam a maior parte de estas funcionalidades, tiveram sucesso em atingir estes objetivos. Porém através dos anos, as falhas do EJB, junto com o advento de alternativas mais simples, fizeram com que muitos questionassem se o EJB oferece a melhor solução para o desenvolvimento produtivo de aplicações empresariais.
Os componentes EJB facilitam o desenvolvimento uma vez que eles tratam automaticamente a segurança, persistência, transação dentre outros serviços. Dessa forma o desenvolvedor não precisa se preocupar com a implementação programática desses serviços, a não ser que realmente deseje. Por ter essas facilidades, rapidamente o EJB tornou-se um padrão para desenvolvimento de aplicações coorporativas distribuídas e multicamadas.
Os componentes EJB não são acessados diretamente pelo cliente, como ocorre em RMI (Remote Method Invocation). A aplicação cliente requisita o acesso ao Container que por sua vez faz a chamada ao objeto EJB. O gerenciamento do ciclo de vida do Bean, o controle transacional, pooling, dentre outros aspectos são gerenciados pelo Container EJB. Todo componente EJB é executado dentro de um Container EJB.
A tecnologia Enterprise Java Beans é, portanto, um modelo de componentes do lado servidor. Por ser um modelo de componentes, ele deve seguir algumas regras durante o seu desenvolvimento. Existem interfaces responsáveis por tarefas definidas, regras de herança, dentre outros aspectos que devemos seguir durante a implementação de componentes EJB.
Modelo de Componentes -
O modelo de componentes define como criar componentes Enterprise JavaBeans, para isso precisamos conhecer alguns dos elementos mais importantes:
- Interface Remota: Na interface remota encontram-se os métodos que o componente vai publicar para chamada por clientes remotos.
- Interface Home: A interface Home define métodos para tratar do ciclo de vida do Bean, como criação, remoção e busca de componentes. É através da interface Home que o cliente obtêm a interface Remota do Bean.
- Bean: O Bean é onde se encontra a implementação da lógica de negocio do componente distribuído.
CLASSE EJB:
É o objeto distribuído. Contém a lógica de negócio e pode também implementar rotinas de persistência.
É uma classe Java que implementa os mesmos métodos declarados nas interfaces do interceptador.
Não é objeto remoto (não implementa java.rmi.Remote)
Na especificação do Enterprise JavaBeans a Implementações diferem, dependendo do seu tipo:
- Session Beans - lógica relacionada a processos de negócio (computar preços, transferir fundos)
- Entity Beans - lógica relacionada a dados (mudar o nome de um cliente, reduzir o saldo).
- Message-driven Beans - lógica orientada a eventos (lógica assíncrona).
Resumindo EJB são componentes Java distribuídos, que rodam em um servidor de aplicações. Uma aplicação Java cliente pode se conectar remotamente a um servidor de aplicações, instanciar um EJB e trabalhar com ele como se fosse uma classe local. O servidor de aplicações realiza muito do trabalho "sujo", como transações, segurança, persistência de dados, etc, o que poupa o programador desses detalhes de programação. Mas na prática os EJBs não são essa maravilha toda, pois a curva de aprendizado é grande, além de ser possível alcançar muitos desses benefícios usando classes Java comuns e frameworks leves...
Na minha opinião, o importante é saber quando se deve "realmente" utilizar EJB para garantir o retorno em beneficios e quando utilizar ...de preferencia, separar os objetos de negócio do componente.
Grato pela atenção.
Marcelo Boni.
SAP Solution Team.
BearingPoint Brasil


