35
Implementando a Implementando a Arquitetura de Arquitetura de Referência OpenEdge Referência OpenEdge (OERA) - Parte I (OERA) - Parte I Alessandro Martins Technical Architect Field Services Latin America Operations

Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Embed Size (px)

Citation preview

Page 1: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Implementando a Implementando a Arquitetura de Arquitetura de Referência OpenEdge Referência OpenEdge (OERA) - Parte I(OERA) - Parte I

Alessandro MartinsTechnical ArchitectField Services Latin America Operations

Page 2: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation2 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

AgendaAgenda

Introduzindo a implementação de referência

Business Entities e Data Access Objects Pontos de discussão sobre Lógica de

Negócio Conclusões

Page 3: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation3 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Camadas de apresentação e integração separadas

Acesso a dadosabstraído

do repositório

Lógica de negóciocomum com modelos

avançados

OpenEdge Reference Architecture – uma visão em camadas

Usuários Usuários

Camada de Apresentação

Camada de Serviços de Negócio

Camada de Acesso a Dados

Repositóriode Dados Gerenciado

Repositóriode Dados Gerenciado

Repositóriode Dados

Não-gerenciado

Repositóriode Dados

Não-gerenciado

Serviços Corporativos Serviços Corporativos

Camada de Integração

Moderna Arquitetura de AplicaçõesModerna Arquitetura de Aplicações

Page 4: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation4 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Quais são os objetivos da Quais são os objetivos da Implementação de Referência?Implementação de Referência?

Prover um entendimento da OpenEdge Reference Architecture pela descrição de uma implementação de exemplo

Auxiliar na compreensão das melhores práticas no uso dos recursos do OpenEdge

Motivar arquitetos e desenvolvedores a pensar em aplicar a Arquitetura em seus próprios projetos

Page 5: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation5 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

O que O que não não são objetivos?são objetivos?

Não se trata de um novo framework Não pretende ser abrangente ou cobrir

todos os casos possíveis para a aplicação Não possui a intenção de ser

comercializado Não possui a intenção de ser utilizado

sem mudanças, extensões ou estudo

Page 6: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation6 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Como devo usar a Implementação de Como devo usar a Implementação de Referência?Referência?

Use-a para aprender os conceitos da Arquitetura mais profundamente

Use-a para aprender como melhor utilizar os constructos do Progress 4GL e outros recursos

Considere-a como um ponto de partida potencialmente útil no desenvolvimento de aplicações sobre OpenEdge 10

Page 7: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation7 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Que recursos estão disponíveis?Que recursos estão disponíveis?- Artigos e Códigos de Exemplo- Artigos e Códigos de Exemplo

1. Introduction

2. Business Entities and Data Access Objects

3. The Service Interface Layer

4. Using Advanced ProDataSet Language Features

5. Using an Unmanaged Data Store

6. Building a .NET™ Interface to Business Entities

7. Advanced Business Logic Issues

8. Context Management

9. Building a WebSpeed® User Interface

10. …

Page 8: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation8 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

O que há na base de código da O que há na base de código da Implementação de Referência?Implementação de Referência?

Diretório Templates– Procedures de modelo para BE’s, DAO’s etc.

Diretório Support– Super-procedures e procedures em geral para

apoio Diretório Samples

– Exemplos dos códigos presentes nos artigos– Usam a base sports2000 mas não há nada

específico sobre bases de dados em qualquer código

Page 9: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation9 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Onde eu encontro tudo isto?Onde eu encontro tudo isto?

Os artigos e o código de exemplo estão no site do PSDN:– psdn.progress.com/library/product_info/

oera/index.ssp Há atualizações em andamento Material em vias de lançamento

descreverá as melhores práticas para se usarOpenEdge 10.1 e seus recursos OO4GL

Page 10: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation10 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Page 11: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation11 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

AgendaAgenda

Introduzindo a implementação de referência

Business Entities e Data Access Objects Pontos de discussão sobre Lógica de

Negócio Conclusões

Page 12: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation12 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

O O Business Entity Business Entity e o e o Data Access Data Access ObjectObject na Arquitetura na Arquitetura

Usuários Usuários

Camada de Serviços de Negócio

Camada de Acesso a Dados

Repositóriode

Dados Gerenciado

Repositóriode

Dados Gerenciado

Repositóriode

Dados Não-gerenciado

Repositóriode

Dados Não-gerenciado

Serviços Corporativos

Serviços Corporativos

Camada deIntegração

Business Entity

Data Access Object

Camada de Apresentação

Page 13: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation13 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Business EntityBusiness Entity Gerencia a visão lógica, interna dos dados da

aplicação– Fornece dados para a interface com o usuário e

outras camadas de integração– Contém lógica de negócio

Dados são melhor representados como ProDataSets e suas temp-tables

O Business Entity é o valor central da construção de aplicações em OpenEdge

Business

Entity

Data Access

Object BBIU API API

lógico físico

Page 14: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation14 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Data Access ObjectData Access Object

Gerencia o repositório de dados físico– Entende o esquema e outras descrições dos

dados físicos– Mapeia entre a visão física e a visão lógica

Todas as referências a dados físicos devem estar confinados ao Data Access Object

Business

Entity

Data Access

Object BDIU API API

lógico físico

Page 15: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation15 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

ProDataSet

O O ProDataSetProDataSet como um Bloco de como um Bloco de ConstruçãoConstrução

Data-Relation1

CustomerTT

1 Lift Line Skiing2 Urpon Frisbee3 Hoops Croquet

OrderTT

6 1 01/05/9336 1 01/19/9379 1 02/10/93

Base de Dados

Customer

Lift Line SkiingUrpon FrisbeeHoops Croquet

Order

1 53 01/01/932 81 01/04/933 66 01/04/93

Event LogicDataset:Before-fillBuffer:Before-fillBefore-row-fillRow-AddRow-Delete…

Data-Source1Field Map

CustNumNameContact

Data-Source2Field Map

OrderNumCustNum

OrderDate

Query…Q1 forCustomer

Query…Q2 forOrder

Page 16: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation16 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Construindo os Objetos –Construindo os Objetos –Definição das Temp-tablesDefinição das Temp-tables

Definir temp-tables para as definições lógicas dos dados– Cada temp-table em seu próprio arquivo de

include

DEFINE TEMP-TABLE eOrder

FIELD OrderNum…

DEFINE TEMP-TABLE eOrderLine

FIELD OrderNum…

FIELD LineNum…

etOrder.i

etOrderLine.i

Separar definições físicas das lógicas

Page 17: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation17 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Linhas mestras para Definições das Linhas mestras para Definições das Temp-tableTemp-table

Prefixo do nome da tabela: e

– Por exemplo: eCustomer

Prefixo do nome do arquivo de include: et– etCustomer.i

Renomear campos para consistência ou melhorar compreensão

Remover elementos:

– Campos– Índices

Adicionar outros campos provenientes de Joins

Adicionar campos calculados que possam ser requeridos por facilidade de uso

Adicionar BEFORE-TABLE ao final da definição no caso de se fazer alterações

Não usar a sintaxe LIKE– Temp-table LIKE

database-table– Field LIKE database-field

Page 18: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation18 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

TEMP-DB Maintenance Tool (10.0B)TEMP-DB Maintenance Tool (10.0B)

Page 19: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation19 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Construindo os Objetos – Construindo os Objetos – Data-Source ObjectsData-Source Objects Construir as procedures correspondentes

aos objetos de Data-Source– Cada objeto mapeia uma temp-table ao

dado físico correspondente.

etOrder.i

etOrderLine.i

DEFINE DATA-SOURCE srcOrder

FOR QUERY qOrder.

ATTACH-DATA-SOURCE()

DEFINE DATA-SOURCE srcOrderLine

FOR BUFFER OrderLine.

ATTACH-DATA-SOURCE()

sceOrder.p

sceOrderLine.p

Base de Dadosda Aplicação

Page 20: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation20 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Construindo os Objetos –Construindo os Objetos –Definições dos ProDataSetsDefinições dos ProDataSets

Definir ProDataSets para conjuntos de dados relacionados– Cada ProDataSet é a base para um

Business Entity

DEFINE DATASET dsOrder

FOR eOrder, eOrderline…

etOrder.i

etOrderLine.i

dsOrder.i

Page 21: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation21 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Construindo os Objetos – Construindo os Objetos – Data Access ObjectData Access Object

Construir os Data Access Objects para o ProDataSet– Gerencia todos os Data-Source Objects

daOrder.p

sceOrderLine.p

dsOrder.i

sceOrder.p

Page 22: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation22 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Todos os componentes de acesso a Todos os componentes de acesso a dados juntosdados juntos

Base de Dados da Aplicação

daSupport.p

initDataSources:

SUPER

SUPER

SUPER

daOrderValidate.p(opcional)eOrderLineModifyBeginTrans:

sceOrder.pDEF DATA-SOURCEATTACH-DATA-SOURCERowFill handler

sceOrderLine.pDEF DATA-SOURCEATTACH-DATA-SOURCE

sceItem.pDEF DATA-SOURCEATTACH-DATA-SOURCE

daOrder.p

{dsOrder.i}{daEntity.i}

Page 23: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation23 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Construindo os Objetos –Construindo os Objetos –Business EntitiesBusiness Entities

Construir um Business Entity para cada ProDataSet– Lida com a lógica de negócio sobre os dados lógicos.– Define a API para acesso a partir de outros objetos.

DEFINE DATASET dsOrder

FOR eOrder, eOrderline…

BusinessLogic:

END PROCEDURE.

etOrder.i

etOrderLine.i

dsOrder.i

Page 24: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation24 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Componenets Business Entity Componenets Business Entity JuntosJuntos

beOrder.p

{dsOrder.i}{beEntity.i}

beEntity.i

RUN daOrder.p

dsOrder.i

{etOrder.i} {etOrderLine.i} {etItem.i}

DEFINE DATASET…

beOrderValidate.p(optional)

eOrderLineModifyPreTrans:

beSupport.p

fetchCustomsaveChanges

SUPER

SUPER

Data Access Object

Page 25: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation25 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

AgendaAgenda

Introduzindo a implementação de referência

Business Entities e Data Access Objects Pontos de discussão sobre Lógica de

Negócio Conclusões

Page 26: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation26 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Pontos de discussão sobre lógica dos Pontos de discussão sobre lógica dos Business EntitiesBusiness Entities

Quão estritamente devo aderir à separação de lógicas?– Devo usar uma chamada de API apenas para um

CAN-FIND?

– Devo deferir isto a uma trigger de base de dados? Quanto do comportamento padrão deve ser

automatizado por “mágica”? Como eu ajusto a lógica para permitir reuso de

tabelas por parte de outros ProDataSets? Qunado eu devo usar referências a temp-tables

ou ProDataSets estáticas ou dinâmicas?

Page 27: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation27 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Acessando outras Entities Acessando outras Entities através de suas APIsatravés de suas APIs

Evitar acesso direto à base de dados para outras tabelas a partir de seus Business Entities

FIND eOrder WHERE eOrder.OrderNum = eOrderLine.OrderNum {&NoError}.

hCustomer = SIfindRow("Customer", "eCustomer", "CustNum", STRING(eOrder.CustNum)) .

IF hCustomer:BUFFER-FIELD("Discount"):BUFFER-VALUE < .35 THEN

DO:

ASSIGN BUFFER eOrderLine:ERROR = YES

BUFFER eOrderLine:ERROR-STRING =

"Line " + STRING(eOrderLine.LineNum) +

": Changes not allowed … ".

RETURN.

END.

Page 28: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation28 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Comportamento “Mágico” PadrãoComportamento “Mágico” Padrão

PROCEDURE initDataSources :

IF LOOKUP(phDataSet:NAME + "BeforeFill", cEntries) NE 0 THEN

phDataSet:SET-CALLBACK-PROCEDURE

("BEFORE-FILL", phDataSet:NAME + "BeforeFill",

TARGET-PROCEDURE).

IF LOOKUP(phDataSet:NAME + "AfterFill", cEntries) NE 0 THEN

phDataSet:SET-CALLBACK-PROCEDURE

("AFTER-FILL", phDataSet:NAME + "AfterFill",

TARGET-PROCEDURE).

Procedures de callback chamadas através de uma convenção de nomenclatura

Page 29: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation29 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Organizando a Lógica para Máximo Organizando a Lógica para Máximo ReusoReuso Lógica que referencia mais de uma tabela no

ProDataSet– Deveria ser colocada dentro do próprio Data

Access Object

PROCEDURE eOrderLineAfterFill:

DEFINE INPUT PARAMETER DATASET FOR dsOrder.

DEFINE VARIABLE dTotal AS DECIMAL NO-UNDO.

FOR EACH OrderLine WHERE OrderLine.OrderNum =

eOrder.OrderNum:

dTotal = dTotal + OrderLine.ExtendedPrice.

END.

eOrder.OrderTotal = dTotal.

END PROCEDURE.

Page 30: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation30 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Código Estático X Código DinâmicoCódigo Estático X Código Dinâmico

PROCEDURE eItemAfterRowFill:

DEFINE INPUT PARAMETER DATASET-HANDLE phDataSet.

….

hItemName = phDataSet:GET-BUFFER-HANDLE("eItem"):BUFFER-FIELD("ItemName").

DO iType = 1 TO NUM-ENTRIES(cItemTypes):

cType = ENTRY(iType, cItemTypes).

IF INDEX(hItemName:STRING-VALUE, cType) NE 0 THEN

hItemName:BUFFER-VALUE =

REPLACE(hItemName:BUFFER-VALUE, cType, cType).

END.

END PROCEDURE.

Referências dinâmicas às temp-tables permitem reutilização

Page 31: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation31 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

AgendaAgenda

Introduzindo a implementação de referência

Business Entities e Data Access Objects Pontos de discussão sobre Lógica de

Negócio Conclusões

Page 32: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation32 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Resumindo...Resumindo... Examinar os materiais da implementação-

exemplo como base para aprendizado e discussão

Utilizar as partes úteis Estender ou substituir parter para seus

própositos Deve-se esperar que continue crescendo e

mudando Não se deve esperar que seja

completamente (ou mesmo formalmente) suportado

Page 33: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation33 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Perguntas?Perguntas?

Page 34: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation34 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I

Grato pelo seu Grato pelo seu tempo!tempo!

Page 35: Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I Alessandro Martins

Sim

plify

you

r bu

sin

ess

Sim

plify

you

r bu

sin

ess

© 2005 Progress Software Corporation35 Implementando a Arquitetura de Referência OpenEdge (OERA) - Parte I