abap web dynpro - fundamentos

Download Abap Web Dynpro - Fundamentos

Post on 15-Feb-2015

55 views

Category:

Documents

9 download

Embed Size (px)

TRANSCRIPT

ABAP Web Dynpro - FundamentosSlide 1

ABAP Web DynproDIA 1 CONCEITUA E S ABAP OBJECT S RESUMO

AR QUITE T UR A DE COM PON EN TE S WEB

DYN PR O (M VC)

Pgina | 1

ABAP Web Dynpro - FundamentosSlide 2

Parte 1 - Conceituaes

O que Web DynproDe um ponto de vista tecnolgico, Web Dynpro, Java e ABAP, so passos revolucionrios para o desenvolvimento de interface de usurio para Web, dentro da estratgia da SAP. completamente diferente do paradigma at ento estabelecido pela SAP e representa um grande avano no desenvolvimento de aplicaes ERP baseadas em Web. Aplicaes Web Dynpro so construdas usando tcnicas de programao declarativa baseadas no padro de projeto MVC (Model View Controller), largamente difundido na indstria. Isto , voc define quais objetos devero estar disponveis para o cliente e de onde estes os valores para estes objetos devero ser recuperados/armazenados. Voc define tambm quais so os possveis caminhos de navegao, declarativamente em sua aplicao. Todo o cdigo necessrio , ento, gerado automaticamente dentro do runtime framework. Este modelo isenta o desenvolvedor das tarefas repetitivas de codificao/marcao HTML e interatividade, como JavaScript. ABAP Web Dynpo est disponvel desde a verso NetWeaver 2004s (Application Server 7.0). Para o desenvolvimento componentes e aplicaes Web Dynpro ABAP, a transao SE80 (ABAP Workbench) foi aprimorada.Pgina | 2

ABAP Web Dynpro - Fundamentos Web Dynpro foi concebido para suportar desenvolvimento estruturado e as unidades de modularizao so os chamados Componentes Web Dynpro, que podem ser combinados para formar aplicaes complexas.

Pgina | 3

ABAP Web Dynpro - FundamentosSlide 3

Parte 1 - Conceituaes

Declaraes Meta ModeloGarantia de padronizao Uso de Ferramentas para auxiliar o desenvolvimento Desenho de Telas e aninhamento Navegao e tratamento de erros Fluxo de dados Componentizao e reutilizao

Cdigo CustomizadoGarantia de Universalidade Bom para aplicaes dinmicas e baseadas em Dados Implementaes de regras de negcio Modificaes dinmicas na interface com usurio Acesso a servios (arquivos, etc) Portal eventing (comunicao entre iViews)

Declaraes Meta Modelo vs. Cdigo CustomizadoConsiderando o modelo de programao declarativa do Web Dynrpo, dentro do Workbench, existem certas ferramentas que permitem ao desenvolvedor construir uma representao abstrata na forma de Meta Modelo Web Dynrpo. O cdigo necessrio ento gerado, em conformidade com uma arquitetura padro, conhecida como o Framework Web Dynpro. Este framework permite, ento, que o desenvolvedor injete, em locais predefinidos, cdigo customizado para atender aos requisitos de negcio da aplicao. Isto diferencia uma aplicao Web Dynpro das outras, que por definio, so compostas das mesmas unidades bsicas. Este modelo permite que nem todas as decises de implementao sejam feitas na fase de desenho da aplicao. Isto permite, por exemplo, que a aparncia da interface com o usurio seja decidida em tempo de execuo, de acordo com parmetros do usurio ou requisitos de negcio. Isto permite que uma aplicao Web altamente flexvel seja construda sem a necessidade de cdigos complexos DHTML e Javascript.

Pgina | 4

ABAP Web Dynpro - FundamentosSlide 4

Parte 1 - Conceituaes

Cenrios de aplicaes Web DynproAplicaes ABAP Web Dynpro podem acessar uma variedade de fontes de dados (Models), tanto diretamente, como chamadas a mdulos de funo e mtodos de objetos, ou indiretamente, atravs do consumo de Web Services ou de conexes com EJB (Enterprise JavaBeans) usando o conector Java (JCo). possvel ainda, apesar de ser altamente no recomendado, causando uma confusa mistura entre a camada de negcios e o modelo de dados (Model e Controller), o acesso direto a um comando OpenSQL SELECT. Um Objeto ABAP (instncia de uma classe) at o presente momento no pode ser usado como modelo. A maneira recomendada para se ter objetos reutilizveis que representem lgicas de negcio construir Classes ABAP para conter este tipo de cdigo. possvel ainda se criar um Componente faceless, ou seja, um componente WebDynpro sem nenhum elemento visual, apenas para fim de reusabilidade.

Pgina | 5

ABAP Web Dynpro - FundamentosSlide 5

Parte 1 - Conceituaes Web Dynpro pode ser

acessada atravs de vrios tipos de dispositivos. Aspecto importante para um ambiente empresarial altamente colaborativo. vlido lembrar que em alguns dispositivos suportados, nem todos os recursos estaro disponveis.

Benefcios do Web DynproO objetivo principal do Web Dynpro fornecer ao desenvolvedor de aplicaes uma maneira de criar aplicaes Web poderosas com o mnimo de esforo (repetitivo) usando ferramentas e processos declarativos em um processo de desenho estruturado. Uma regra de oura da filosofia do Web Dynpro : Quanto menos linhas de cdigo escritas pelo desenvolvedor, melhor. Este objetivo alcanado considerando-se dois princpios: Usando uma tcnica declarativa, com Meta Modelo independente de linguagem para definir a interface com usurio e, desta definio declarativa, o ambiente de desenvolvimento pode gerar o cdigo fonte necessrio. Cdigo manual ainda tem seu lugar, mas est, ou deveria estar, restrito apenas a manipulao de dados de negcio e nunca de interface com usurio (View). Artifcios tcnicos prontos, como I18N, baixo nmero de reloads de pginas atravs de AJAX (flicker-free interaction), e uma clara separao da camada de negcio (Controller) e interface com usurio (View).

Pgina | 6

ABAP Web Dynpro - FundamentosSlide 6

Parte 1 - Perguntas

Pgina | 7

ABAP Web Dynpro - FundamentosSlide 7

Parte 2 Arquitetura de componentes Web Dynpro (MVC)Camada de interao com o negcio Controla qualquer intermediao necessria entre o negcio e o usurio.Camada de ligao Gerencia os dados da aplicao sem qualquer preocupao sobre como sero exibidos.

Model

ControllerCamada de interao com usurio

Request Response

View

Visualiza os dados da aplicao sem qualquer preocupao sobre somo so gerados ou armazenados.

Model-View-ControllerO Web Dynpro fundamentado no padro de projeto MVC, concebido originalmente pelo projetista de software noruegus Trygve Reenskaug, enquanto trabalhava na Xerox, no PARC no final dos anos 70. Sua primeira implementao ocorreu no lanamento da linguagem Smalltalk-80. Este padro de projeto foi considerado uma revoluo, pois foi o primeiro a descrever componentes de software em termos de: As responsabilidades funcionais correspondentes a cada componente. Os protocolos de mensagem a qual cada componente deveria responder, ou reagir. A SAP modificou e estendeu a especificao original do MVC para criar o conjunto de ferramentas Web Dynrpo.

Pgina | 8

ABAP Web Dynpro - FundamentosSlide 8

Parte 2 Arquitetura de componentes Web Dynpro (MVC) Partes de

Componente WD

Window Views Elementos IU Layouts

(View) Controller (View) Context

Controller do Componente

Context

Componentes Web DynproOs componentes permitem uma complexa estruturao de entidades de aplicao Web interativas e sua reutilizao. Isto permite o aninhamento em grandes aplicaes. Podemos enxergar o componente como um container para outros objetos relacionados a interface com o usurio (View) e o cdigo fonte Web Dynpro (Controller). Os elementos principais de interface com o usurio, so as Windows e as Views. Uma View representa uma rea retangular que ser exibida em uma pgina no cliente, um Web Browser por exemplo. Esta contm elementos de interao, como caixas de texto, imagens e botes. Uma pgina completa enviada para o cliente pode ser composta de apenas uma View, mas tambm pode ser uma combinao de virtualmente qualquer nmero de Views. Esta combinao de Views e o fluxo entre estas definido em uma Window. O relacionamento entre Views e Windows, fazendo uma analogia ao DER, seria N:N. O cdigo fonte de uma aplicao Web Dynpro est localizado nos Controllers. O armazenamento lgico dos dados globais de um Controller hierarquicamente definido em um Context.

Pgina | 9

ABAP Web Dynpro - Fundamentos

Slide 9

Parte 2 Arquitetura de componentes Web Dynpro (MVC) Context Um container para armazenar dados. O transporte dos dados entre os Controllers pode ser estabelecido com a definio de Mappings entre os Contexts.

Context Mapping e Data BindingAs variveis definidas em um Context de Controller Web Dynpro podem ser referenciadas dentro de Contexts de outros Controller. Chamamos isto de Context Mapping. Isto permite o compartilhamento de dados comuns entre diferentes Controllers, retirando a necessidade de se efetuar cpias destes dados entre contextos. Os valores de elementos de interao com o usurio devem ser ligados a atributos de um Context do Controller corrspondente: ao Context do View Controller, por exemplo. A isto chamamos de Data Binding. Atravs desta tcnica, ocorre o transporte automtico dos dados de campos de entrada para os atributos (variveis) do Context. Combinando estas duas tcnicas, vemos que o transporte de dados entre elementos de diferentes Views definido de uma forma puramente declarativa.

Pgina | 10

ABAP Web Dynpro - Fundamentos

Slide 10

Parte 2 Arquitetura de componentes Web Dynpro (MVC)

Context MappingPermite que um n em um Controller seja automaticamente preenchido com os dados de um n correspondente em um Context, geralmente de uma View. Este o mecanismo principal para compartilhar dados comuns entre Controllers. Quando dois Controllers dentro do mesmo Componente compartilham dados atravs deste relacionamento, isto chamado de Mapping interno. O Context que atua como fonte dos dados chamado N de Origem, enquanto o n que recebe os valores chamado de N Mapeado. O Mapping de Ns entre Context de Controllers localizados em diferentes Componen