Beruflich Dokumente
Kultur Dokumente
Guia do Aluno
InterSystems do Brasil
COPYRIGHT NOTICE
Copyright InterSystems Corporation
1997-2006
All rights reserved
NOTICE
PROPRIETARY CONFIDENTIAL
This document contains trade secret and confidential information which is the property of InterSystems Corporation,
One Memorial Drive, Cambridge, MA 02142, or its affiliates, and is furnished for the sole purpose of the operation
and maintenance of the products of InterSystems Corporation. No part of this publication is to be used for any other
purpose, and this publication is not to be reproduced, copied, disclosed, transmitted, stored in a retrieval system or
translated into any human or computer language, in any form, by any means, in whole or in part, without the express
prior written consent of InterSystems Corporation.
The copying, use and disposition of this document and the software programs described herein is prohibited except
to the limited extent set forth in the standard software license agreement(s) of InterSystems Corporation covering
such programs and related documentation. InterSystems Corporation makes no representations and warranties
concerning such software programs other than those set forth in such standard software license agreement(s). In
addition, the liability of InterSystems Corporation for any losses or damages relating to or arising out of the use of
such software programs is limited in the manner set forth in such standard software license agreement(s).
THE FOREGOING IS A GENERAL SUMMARY OF THE RESTRICTIONS AND LIMITATIONS IMPOSED BY
INTERSYSTEMS CORPORATION ON THE USE OF, AND LIABILITY ARISING FROM, ITS COMPUTER
SOFTWARE. FOR COMPLETE INFORMATION REFERENCE SHOULD BE MADE TO THE STANDARD
SOFTWARE LICENSE AGREEMENT(S) OF INTERSYSTEMS CORPORATION, COPIES OF WHICH WILL BE
MADE AVAILABLE UPON REQUEST.
InterSystems Corporation disclaims responsibility for errors which may appear in this document, and it reserves the
right, in its sole discretion and without notice, to make substitutions and modifications in the products and practices
described in this document.
Cach, InterSystems Cach, Cach SQL, Cach ObjectScript, Cach Objects, ISM, MSM, DSM, and DTM are
trademarks of InterSystems Corporation.
All other brand or product names used herein are trademarks or registered trademarks of their respective companies
or organizations.
For Support questions about any InterSystems products, contact the InterSystems Worldwide Support Center:
Phone:
US: +1 617 621-0700
Europe: +44 (0) 1753 830-077
Fax:
US: +1 617 374-9391
Europe: +44 (0) 1753 861-311
InterSystems do Brasil
InterSystems do Brasil
Sumrio:
Mdulo 1 - Viso Geral .............................................................................................................................................. 10
Mdulo 2 - Portal de Administrao e Produes ................................................................................................. 16
Mdulo 3 - Mensagens ............................................................................................................................................... 22
Mdulo 4 - Business Operation ................................................................................................................................ 28
Mdulo 5 - Business Process.................................................................................................................................... 36
Mdulo 6 - Contexto (Context) no Business Process ........................................................................................... 44
Mdulo 7 - Business Service..................................................................................................................................... 50
Mdulo 8 - Data Transformation ............................................................................................................................... 56
Mdulo 9 - Business Processing Model .................................................................................................................. 62
Mdulo 10 - Dashboards............................................................................................................................................ 96
Mdulo 11 - Workflow ............................................................................................................................................... 106
Mdulo 12 - Business Rules.................................................................................................................................... 116
InterSystems do Brasil
InterSystems do Brasil
InterSystems do Brasil
InterSystems do Brasil
InterSystems do Brasil
InterSystems do Brasil
InterSystems do Brasil
10
InterSystems do Brasil
11
Viso Geral
Ensemble
Business
Operations
Aplicaes Externas
Business
Process
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
En se m ble
InterSystems do Brasil
12
Gerenciamento
InterSystems do Brasil
Conexo
Orquestrao
Coordenao
Abstrao
Armazenamento
Integrao e
Desenvolvimento
Monitoramento
Monitoramento
dasAtividades
Atividades
das
doNegcio
Negcio
do
Gerenciamento
Gerenciamento
deBusiness
Business
de
Process
Process
Aplicaes
Aplicaes
Compostas
Compostas
Coordenaode
de
Coordenao
Transao
Transao
Demonstrao
Arquitetura do Ensemble
13
Assim com todas as solues bem sucedidas de EAI, o Ensemble direciona as tarefas crticas de
EAI, definidas como abaixo:
Armazenamento - O Ensemble inclui um poderoso banco de dados orientado a objetos
que pode ser usado para a persistncia das mensagens, registro de eventos,
transformaes dos dados e mais.
Conexo - Adaptadores permitem a comunicao do Ensemble com uma grande
variedade de aplicaes, tecnologias e fontes de dados.
Abstrao Toda comunicao com e para dentro do Ensemble executada usando
uma camada uniforme de abstrao baseada em objetos.
Coordenao - O Ensemble inclui um mecanismo de mensagens baseado em objetos
que fornece entrega, roteamento baseado em contedo e persistncia de mensagens.
Orquestrao - O Ensemble inclui habilidade para desenvolver processos complexos de
negcio que orquestram operaes entre mltiplas aplicaes externas.
Desenvolvimento - O Ensemble possui ambiente de programao completo.
Gerenciamento - O Ensemble fornece acesso completo ao gerenciamento de todos os
componentes de software desenvolvidos usando Ensemble.
Para detalhes sobre a Arquitetura do Ensemble, consulte o Captulo 3, O que Ensemble?
Na Introduo do Ensemble. O apndice tem tambm informaes adicionais da arquitetura do
Ensemble.
InterSystems do Brasil
14
Arquitetura do Ensemble
InterSystems do Brasil
15
InterSystems do Brasil
16
InterSystems do Brasil
17
Viso Geral
Definies.
Demonstrao.
Reviso:
Pgina do Portal de Administrao.
Implementao de Produo
Portal de Administrao
InterSystems do Brasil
18
Produo (Production)
Business
Operations
Aplicaes Externas
Business
Processes
Inbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
En se m ble
InterSystems do Brasil
19
Demonstrao
InterSystems do Brasil
20
Testing Service deve estar habilitado para uma produo. Isto pode ser feito no Studio
ou no portal de Administrao.
O Portal de Administrao trabalha com IE 6.0 e superiores.
Help
Reviso de Produo
Herda de Ens.Production.
TestingEnabled no deve estar ativo no ambiente de produo
InterSystems do Brasil
21
Mdulo 3 Mensagens
Mdulo 3 Mensagens
InterSystems do Brasil
22
InterSystems do Brasil
23
Mensagem
Business
Operations
Aplicaes Externas
Business
Processes
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
En se m ble
Mensagem
InterSystems do Brasil
Ca be a lh o
( h e a de r )
Cor po
( body)
Mesm as propriedades
Tipo: Request ou
Response
I sError: 0 ou no- 0
Aplicao - propriedades
especficas
I D: nm ero
Nom e: st ring
24
Demonstrao
InterSystems do Brasil
25
Implementao
Business
process
Prim ary
Request
Business
Operation
Subclasses de Ens.Message.
Request ou response.
Classes Persistentes.
Classes Seriais.
Virtual document.
Tipicamente com processamento HL7.
InterSystems do Brasil
26
InterSystems do Brasil
27
InterSystems do Brasil
28
InterSystems do Brasil
29
Viso Geral
Definio.
Demonstrao.
Reviso:
Implementao.
Business Operation.
Business Operation
Business
Operations
Aplicaes Externas
Business
Processes
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
Ense m ble
Business Operation responsvel por enviar requisies de dentro do Ensemble para fontes de
dados externas, aplicaes ou sistemas
Business
Operation
Adaptador
Business
Operation
Web Service
InterSystems do Brasil
30
Business operation pode ser usada para acessar funcionalidades de fora do Ensemble. Por
exemplo, uma business operation pode recuperar informaes de um banco de dados, procurar
uma informao em um website, iniciar uma operao usando uma aplicao de terceiros, ou
entrar com informaes em uma aplicao personalizada.
Para acessar funcionalidades de fora do Ensemble, uma business operation geralmente usa um
adaptador.
Pode tambm usar uma chamada de uma API, ou qualquer outra forma que a aplicao
externa se comunique.
Message Map
InterSystems do Brasil
Message Map
Tipo de Mensagem: GetNameRequest
Mtodo: GetName()
Tipo de Mensagem: GetAddressRequest
Mtodo: GetAddress()
Tipo de Mensagem: FindIDRequest
Mtodo: GetID()
31
Demonstrao
Implementao
InterSystems do Brasil
32
Implementao
Business
Operation
Message Map
Tipo Mensagem: GetNameRequest
Mtodo: GetName()
PoolSize=3
Tipo Mensagem: GetAddressRequest
Mtodo: GetAddress()
Tipo Mensagem: FindIDRequest
Mtodo: GetID()
InterSystems do Brasil
33
Response
OnMessage()
Pode ser sobrescrito para manipular requests que no estejam no message map
InterSystems do Brasil
34
Bussines Operation
m t odo
de
Business
Oper at ion
Method GetName()
Method GetAddress()
Message Map
Message Type: GetNameRequest
Method: GetName()
Message Type: GetAddressRequest
Method: GetAddress()
InterSystems do Brasil
cla sse
de
Business
Operat ion
35
InterSystems do Brasil
36
InterSystems do Brasil
37
Viso Geral
Definio.
Demonstrao.
Reviso:
Implementao.
Objetos BPL.
Business Process
Um business process uma tarefa especfica e bem definida que precisa ser executada
Business
Operations
Aplicaes Externas
Business
Processes
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
En se m ble
Um business process orquestra a chamada de uma ou mais business operations e/ou business
processes para executar uma tarefa especfica definida, e controla a sua lgica.
InterSystems do Brasil
38
Demonstrao
Implementao
BPL.
O business process herda de Ens.BusinessProcessBPL.
O editor visual BPL gera cdigo BPL.
O editor BPL permite que voc modele o business process
graficamente.
Quando uma classe de um business process criada, um bloco XDATA
contm o BPL.
Cdigos BPL tambm podem ser escritos diretamente, sem usar o editor visual
de BPL.
Cdigo Customizado.
O business process herda de Ens.BusinessProcess.
Cdigo customizado pode ser escrito em ISC Basic ou ObjectScript.
Cdigo customizado requer OnRequest() para suportar o primary request da
business operation. OnResponse() escrito para manipular requests
assncronos.
Para detalhes sobre como escrever cdigo customizado, consulte seo 5.3
da documentao: Creating a Business Process Manually, em Developing
Ensemble Productions.
InterSystems do Brasil
39
Business
Process
Business
Process
Business
Process
Fila Pr iv ada
( Pr iv at e
Queue)
Fila Pr iv ada
( Pr iv at e
Queue)
Business
Process
Fila Publica
( Public
Queue)
InterSystems do Brasil
40
O ajuste do tamanho do Actor Pool define o nmero de jobs (chamados "atores") disponveis
para processar pedidos na fila pblica do Business Process.
Todos os business processes que usam uma fila publica compartilham o mesmo actor pool.
H uma fila pblica disponvel para todos os Business Process, mas um Business Process pode
preferivelmente usar uma fila privada.
Uma fila confidencial usada se o tamanho do pool configurado para um business Process
for diferente de 0.
Necessitar um tamanho muito grande do pool pode ser uma indicao de algum outro problema.
Resolva o problema, em vez apenas de aumentar o tamanho do pool.
O valor mximo default do tamanho do actor pool 100.
Um business Process que use uma fila privada tem um pool provado para processamento de
request na fila privada.
Um pool size Privado maior pode ser til para:
Executar mais rpido o business processes em uma produo que inclua execues lentas
de um business processes.
Minimize o impacto de desempenho em outros business process pelo business process mais
lento.
Assegure primeiramente, o pedido de sada do request para depois a chamada de a outros
componentes, como com um processo do negcio HL7
Objetos BPL
Os seguintes objetos BPL esto sempre disponveis em qualquer ponto em um business process
BPL.
request primary request do business process.
response primary response do business process.
process objeto para acessar o business process. Por exemplo, language uma
propriedade do objeto process para o business process.
context objeto que contm propriedades <context>. (Discutido no mdulo seguinte).
Os seguintes objetos BPL esto disponveis somente dentro de uma chamada especfica.
callrequest request enviada por um elemento <call>.
somente disponvel dentro do elemento <call><request>.
callresponse response a um elemento <call>.
somente dentro do elemento <call><response>.
InterSystems do Brasil
41
Objetos BPL
Business Process
callrequest
request
call
callresponse
response
callrequest
call
callresponse
request x callrequest.
response x callresponse.
InterSystems do Brasil
42
InterSystems do Brasil
43
InterSystems do Brasil
44
InterSystems do Brasil
45
Viso Geral
Definio.
Demonstrao.
Reviso da implementao
Business Process
Business
Operations
Aplicaes Externas
Business
Processes
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
Ense m ble
Contexto de um Business Process
InterSystems do Brasil
46
call
prim ary
request
callresponse
prim ary
response
callrequest
cont ext
call
callresponse
request x callrequest.
request o request original que fez o business process instanciar e executar o trabalho.
Tambm pode ser referenciado como "primary request" para o business process.
enviado para o business process.
response x callresponse.
Demonstrao
InterSystems do Brasil
47
Implementao
Uma propriedade de contexto deve ser definida primeiro dentro do Inspector (Studio) no nvel de
business process. Pode ento ser usado em um callrequest, response ou em qualquer outra
atividade apropriada.
InterSystems do Brasil
48
InterSystems do Brasil
49
InterSystems do Brasil
50
InterSystems do Brasil
51
Viso Geral
Definio.
Demonstrao.
Reviso:
Implementao.
Design
Business Service
Business
Operations
Aplicaes Externas
Business
Processes
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
En se m ble
Aps o business service aceitar a entrada de fora do Ensemble, sua finalidade passar essa
entrada para um business process ou business operation. Um business service deve ser
simples, e no deve realizar muito processamento.
InterSystems do Brasil
52
Adaptador de Entrada (Inbound adapter) periodicamente procura por uma entrada para
processar.
Chamada Direta uma aplicao cliente com entrada para processar invoca diretamente
um business service.
Geralmente, um business service envia requests para um business process, mas pode tambm
enviar para uma business operation.
Demonstrao
Implementao
Business
Service
InterSystems do Brasil
53
Embora um request possa ser assncrono ou sncrono, somente um request sncrono pode obter
um response.
Um response pode ser recebido a partir de uma chamada sncrona desde que no
necessite estado de persistncia.
ObjectScript por padro no passa por referncia. ISC Basic, por padro, passa por
referncia.
Business
Business
Service Async Call
Process
( Assncrono )
Ass nc.
vs
X
Sync Call ( Sncrono )
S nc .
Business
Process
Response
Design
Bu sin e ss
Se r v ice
Aplicao
Client e
Adapt ador
InterSystems do Brasil
Busin e ss
Pr oce ss
54
Este mtodo chamado como resultado do business service ter recebido uma entrada.
Uma aplicao cliente que queira invocar diretamente um business process precisa:
InterSystems do Brasil
55
InterSystems do Brasil
56
InterSystems do Brasil
57
Viso Geral
Definio.
Demonstrao.
Reviso da implementao.
Documentao DTL
Data Transformation
InterSystems do Brasil
58
Demonstrao
Implementao
InterSystems do Brasil
59
Uma transformao dos dados (data transformation) pode ser implementada usando uma das
seguintes opes:
DTL.
DTL um subconjunto de BPL, incluindo somente os elementos de
transformao de dados.
Uma transformao de dados usando DTL herda de Ens.DataTransformDTL.
Documentao DTL
InterSystems do Brasil
60
InterSystems do Brasil
61
InterSystems do Brasil
62
InterSystems do Brasil
63
Viso Geral
En se m ble
Business
Operations
Aplicao
Composta
Aplicaes Externas
Business
Processes
Outbound Adapters
SOAP
Inbound Adapters
Aplicaes Cliente
Web
Business
Services
Java
Uma linha representa uma business operation invocando outra business operation.
Bases de Dados Confederadas Uma bases de dados externa uma coleo de vrias
bases de dados fsicas, todas usando diferentes sistemas de gerenciamento de bases
de dados, que podem ser acessadas como uma nica origem dos dados. uma
construo lgica que determina automaticamente o destino apropriado para cada
requisio de dados: ou a base de dados do Ensemble, ou uma base de dados externa
atravs da informao designada da conexo.
InterSystems do Brasil
64
Detalhes do Ensemble
InterSystems do Brasil
65
Portal de Administrao
InterSystems do Brasil
66
InterSystems do Brasil
67
O parmetro Inactivity Timeout de cada componente de uma produo permite voc especificar
quando o sistema deve assinalar um componente como inativo. O que feito com o componente
quando assinalado como inativo, depende do programador.
InterSystems do Brasil
68
Produes (Productions)
D e sa t iv a do
Business
Process
Business
Service
Business
Process
Act ors
Business
Service
InterSystems do Brasil
Business
Operation
Business
Process
Business
Operation
Business
Process
69
O pool size pode ser alterado enquanto uma produo est em execuo. Por exemplo,
podem haver perodos em que um nmero grande de requests incomuns recebido por
um componente. Para manipular isto, o administrador poderia aumentar o PoolSize at
que a carga retorne ao normal.
Os pedidos sncronos esto ativamente esperando e tentando amarrar um processo de pool.
Os pedidos assncronos no so amarrados a um processo enquanto esperam uma resposta.
ObjectScript do ##class(Ens.Director).CleanProduction()
Basic Ens.Director.CleanProduction()
InterSystems do Brasil
70
Cada componente de uma produo tem um nico nome nessa produo. O nome de produo
do componente, no o nome da classe, o que usado ao invocar um componente.
Por exemplo, ao configurar um target no editor BPL, voc deve escolher uma produo,
e a mesma ir mostrar uma lista de nomes, no classes, para a escolha.
InterSystems do Brasil
71
Schedule item t o
st art / st op:
act ion:YYYY-MM-DDThh:m m :ss
Pode v isualm ent e
configurar gr upo de
it ens iguais as
cat egorias.
R- Click Visualizar
Cat egorias na pgina de
Configur ao.
O default scheduling programado para os itens da configurao para que funcionem sempre
que a produo est rodando, mas voc pode usar o campo de Schedule para um item da
configurao. Esta uma string de comandos opcionais que programem o item para ser parado
e iniciado em horas especficas, em dias especficos da semana, do ms, ou do ano.
Quando est no momento de iniciar, se o item estivar habilitado ser iniciado; quando for
o momento de para, se o item estiver rodando ser finalizado.
A string Schedule separada por virgula. Cada evento especificado tem o seguinte
formato: action:YYYY-MM-DDThh:mm:ss.
Alguns destes campos podem ser o nico carter * (asterisco) indicando todos
os anos, meses, ou dias.
YYYY pode ser a palavra WEEK, MM pode ser uma semana especfica do
ms (01=primeira semana, 02=segunda semana, etc.), e DD pode especificar o
dia da semana (00=Domingo, 01=Segunda-feira, etc.).
O campo da categoria para um item da configurao um rtulo (Label) opcional do texto que
voc possa usar agrupar visualmente itens da configurao dentro do diagrama da produo.
Ao visualizar uma produo na pgina da configurao, right-click Show
Category Select o nome da categoria. O diagrama muda para mostrar somente
aqueles itens de configurao que combinam o nome da categoria que voc selecionou.
A configurao Inactivity Timeout de cada componente da produo especifica sempre quando o
componente deve ser marcado como inativo
Consulte Managing Ensemble Production para detalhes em cada uma destes configuraes.
InterSystems do Brasil
72
Quando um componente rodar em primeiro plano (foreground), uma sesso de terminal ser
associada com o trabalho que est sendo usado pelo componente. Esta janela de terminal
indicar o $$$TRACE e outras mensagens de Debug.
Utilize somente para eliminar os erros; mas no execute em um ambiente de produo.
Um business service que est sendo invocado diretamente no pode executar em
primeiro plano (Foreground). Neste caso porque o trabalho que chama o business
service no est rodando em primeiro plano.
A configurao do Log Trace Event permitem que a mensagem de Trace seja armazenada no
incio de uma sesso do evento a ser indicado na janela do terminal de um componente que
roda em primeiro plano.
InterSystems do Brasil
73
InterSystems do Brasil
74
Mensagens
Quando um request chega na fila de um item de configurao, o item invoca um job (processo
de CPU) de seu pool de jobs disponveis. Se nenhum job estiver disponvel no pool de itens de
configurao dos jobs, o request deve esperar um job tornar-se disponvel. Um job retorna ao
pool de jobs disponveis depois que terminar sua tarefa.
O Portal de Administrao pode ser usado para visualizar as filas, mas no pode ser
usado para manipular a fila de uma produo que estiver executando.
Q
Q
Q
Q
Q Q
InterSystems do Brasil
75
SessionId Uma sesso marca o incio e o fim de todas as atividades chamadas por um
objeto de entrada de fora do Ensemble enviadas a um business service. O Session ID
igual ao ID da primeira mensagem do business service chamada pelo objeto de entrada.
InterSystems do Brasil
76
Esta uma maneira de declarar uma ligao entre uma classe do request e sua classe
correspondente de response. Em conseqncia ele:
um formulrio de self-documentation.
Permite que uma business operation ou um business process chamem o mtodo de
NewResponse() do objeto da request (se for derivada de Ens.Request) para comear
automaticamente um objeto da response da classe correta. Usando NewResponse(),
voc no necessita saber ou especificar corretamente a classe da resposta .
InterSystems do Brasil
77
Business Operations
Uma vez que as business operations no so persistentes (no tem estado), elas no podem
interagir assincronamente com uma aplicao externa.
Por causa disso, se uma aplicao externa levar um longo tempo para responder, em
vez de fazer uma business operation esperar, deixe que uma aplicao externa invoque
um business service quando estiver finalizado.
Se possvel, no recompile uma business operation enquanto a produo estiver executando.
Mas se voc tiver que faz-lo, faa o seguinte:
Desabilite a business operation desde que tenha um job especfico associado a ela
quando estiver habilitado, e que os jobs j tenham terminado.
Por padro, o Studio est configurado para no compilar classes em uso.
Mantenha esta configurao.
InterSystems do Brasil
78
Business
Process
Business
Operation
InterSystems do Brasil
79
Um message map uma estrutura XML, contida dentro de um bloco XDATA chamado
MessageMap dentro da classe de business operation.
Em um message map o seguinte verdadeiro:
Um item do mapa pode ser uma super classe de outros itens do mapa. Ir comparar com
um listado anteriormente.
InterSystems do Brasil
80
Business Processes
Quando uma produo inicia, criado um pool dos processos do ator que escutam uma fila
comum. Quando um request colocado na fila, o objeto do business process correto
instanciado e o request enviado a ele.
Enquanto um business process est esperando por um response, pode ser escrito no
disco e ser obtido por um ator diferente na prxima vez.
Recompilar um business process com uma produo em execuo possvel desde que um job
particular no esteja amarrado no business process. Se voc recompilar quando um job estiver
amarrado ao business process, o job receber um erro de EDITED.
A finalidade do contexto de execuo manter o estado persistente de um business process,
isto , qualquer valor que tiver de ser recuperado durante a execuo do business process. Os
nomes de algumas variveis do contexto da execuo disponveis a voc so: context, request,
response, callrequest, e callresponse. Cada um tem uma finalidade especfica, como descrito no
Developing Ensemble Productions ou Business Process Language Reference para os elementos
<call> e <assign>.
InterSystems do Brasil
81
BPL
Um business process escrito em BPL uma classe com um bloco XDATA chamado BPL. Se
necessrio, pode tambm incluir mtodos fora do bloco XDATA. Estes mtodos deveriam ser
escritos em ObjectScript ou ISC Basic.
BPL no define lgica linear.
Quando escrever um BPL manualmente, mantenha o seguinte em mente:
"process" o nome do objeto para acessar o business process atual. Isto quer dizer,
para consultar um mtodo naquela classe BPL, use a sintaxe process.mtodo.
InterSystems do Brasil
82
InterSystems do Brasil
83
InterSystems do Brasil
84
Pegue seu business process existente e copie a classe (Tools->Copy Class) para um
business process de nome diferente.
V para seu cdigo da produo no Studio e mude o nome da classe que est sendo
usado, com o nome configurado do Business Process da classe antiga para a classe
nova.
O Portal de Administrao no permite que voc mude o nome da classe associada com
um business process, ou nenhum outro business component.
A partir do momento que voc aplicar a mudana, todos as instncias novas do
business process iro usar a classe nova, mas as instncias de business
process que j estiverem sido iniciadas e ainda estiverem em progresso iro
continuar usando a classe antiga.
Business processes pr-existentes continuaro a usar a verso antiga
da classe do business process mesmo depois de um reincio da
produo.
Quando todas as instncias pendentes da antiga classe do business process
estiverem completas, seguro excluir a classe, se voc desejar.
Voc deveria adotar uma conveno de nomes de verses no nome da classe do business
process para manter registro das novas verses que voc introduz.
Este procedimento no funciona com business services e business operations instanciados.
Neste caso, desabilite os componentes antes de mudar para um nome da nova classe (ou de
compilar a classe existente).
Business Services
Business
Service
Aceita
Entrada
Envia
Request
Business
Process
MessageI D=
SessionI D
PoolSize
InterSystems do Brasil
85
InterSystems do Brasil
Business
Service
Aplicao
Client e
I nv oca com
Ent rada
Bu sin e ss
Se r vice
Procura a ent rada
em cada CallI nt erval
Adaptador
86
Adaptadores
Business
Operation
Aplicaes Externas
Business
Process
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Service
En se m ble
Adaptador o cdigo que adapta a interface de programao nativa de uma aplicao externa
ou de uma aplicao cliente em uma forma que seja compreensvel a uma produo do
Ensemble.
A funo de um adaptador inbound esperar um intervalo e ento executar o OnTask().
InterSystems do Brasil
Tecnologia
HTTP
COM
POP3
.Net
SMTP
Java
FTP
EJB
TCP/IP
C++
XML
Web Srv
MQSeries HL7
FIX
Swift
87
Adaptadores pr-construdos.
Inbound Adapter
OnTask( )
Business Service
h
ca se
Ve r i f i a d a
en t r
En v i
a
a en
t r ad
CallI nt erval
ProcessI nput ( )
OnProcessI nput ( )
Faz o t rabalho.
Necessrio escrever.
Recebe as entradas.
InterSystems do Brasil
88
Business Operation
Me.Adapt ador.Mt odoA( )
Outbound Adapter
Mt odoA( )
Mt odoB( )
Aplicao
Ext er na
Adaptadores Outbound so usados pelo business operations para comunicar com aplicaes
externas.
Por exemplo, um adaptador outbound de Email pode ser usado para enviar um e-mail.
Nem todas as business operations requerem um adaptador outbound.
Um adaptador OutBound deve implementar um ou mais mtodos que seu business operation
correspondente possa invocar.
Para detalhes da criao de adaptadores outbound, consulte o captulo 7: Outbound Adapters,
em Developing Ensemble Productions.
InterSystems do Brasil
89
Depurao
$$$TRACE (ObjectScript)
"Ens.Util.Trace".WriteTrace(user",
"SuaClasse","SeuMtodo", "SuaMensagem")(Basic)
$$$TRACE("PrimeRate requested")
"Ens.Util.Trace".WriteTrace("user","Demo.WebOperations",
"GetPrimeRate","PrimeRate requested")
Este mtodo no retorna nada.
Para ver as mensagens, os componentes devem estar executando em primeiro plano.
Aplicaes Compostas
En se m ble
Business
Operation
Aplicaes
Compostas
Aplicaes Externas
Business
Process
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Service
InterSystems do Brasil
90
O Ensemble permite que voc combine recursos de softwares existentes com regras de
negcios adicionais e interfaces de usurio para criar aplicaes inteiramente novas, compostas,
que tm habilidades que nenhuma aplicao existente tem por si s.
Aplicaes compostas podem ser escritas para invocar business services, business
processes ou business operations.
Gartner define BAM como O conceito de fornecer acesso em tempo real aos indicadores crticos
do desempenho de negcio para melhorar a velocidade e a eficcia das operaes do negcio."
InterSystems do Brasil
91
Dashboards
Ensemble suporta BAM com dashboards. Dashboards podem mostrar em tempo real
informaes colhidas por vrios componentes de uma produo Ensemble.
Um dashboard Ensemble uma pgina Web que mostra um ou mais controles grficos,
chamados medidores. Cada controle indica o valor atual de alguns dados medidos. Ensemble
fornece um conjunto completo de medidores que incluem velocmetros, hodmetros, medidores
de combustvel, barras, semforos, grfico de linhas e grfico de barras.
O Mdulo 10 descreve dashoards com detalhes.
InterSystems do Brasil
92
Business Rules
InterSystems do Brasil
93
Conveno de Nomes
Determinar e seguir uma conveno de nomes vital ao construir produes. Se isto for
necessrio ser feito durante o projeto extremamente trabalhoso.
Duas abordagens principais para o uso de Conveno de Nomes so:
Business Component
Package.dshClassname
Dashboard
InterSystems do Brasil
Nome
Elemento Ensemble
Package.bop.Classname
Business Component
Package.dsh.Classname
Dashboard
94
InterSystems do Brasil
95
dulo 10 Dashboards
Mdulo 10 Dashboards
InterSystems do Brasil
96
InterSystems do Brasil
97
Viso Geral
Dashboards.
Business metrics (mtricas).
Demonstrao.
Implementao.
Dashboards.
Medidores.
Business metrics (mtricas).
Dashboards
Medidores
( m et ers)
Um dashboard Ensemble uma pgina web que mostra um ou mais controles grficos,
chamados de medidores. Cada medidor mostra o valor atual de algum dado medido. O
Ensemble dispe de um conjunto completo de medidores que incluem velocmetros,
hodmetros, nvel de combustvel, barras coloridas, semforos, grficos de linhas, grficos de
barras e expresses faciais.
O Ensemble suporta BAM com dashboards. Os dashboards podem exibir informaes em tempo
real coletadas por vrios componentes de uma produo Ensemble.
A documentao Using Dashboards with Ensemble detalha como criar e usar dashboards e
medidores.
InterSystems do Brasil
98
Dashboard
Business
Processes
Business
Operations
Aplicaes Externas
Business
Business
Metrics
Met ric
Outbound Adapters
Inbound Adapters
Aplicaes Cliente
Business
Services
En se m ble
Business metrics so classes business service especializadas que coletam ou calculam dados
especficos. Valores de business metric so calculados em intervalos de tempo especficos, e
exibidos graficamente usando medidores em um dashboard.
Os Business metrics tem o cdigo para contar ou coletar informaes que sero exibidas no
dashboard atravs de um medidor.
Um business metric pode calcular diferentes partes de dados. Cada parte dos dados
conhecido como uma mtrica (metric).
InterSystems do Brasil
99
Criao de Dashboards
Demonstrao
InterSystems do Brasil
100
Implementao
O atributo Metric especifica o business metric padro para usar nos medidores na
definio do dashboard. Um medidor individual pode redefinir este valor tendo um valor
especificado para seu atributo Metric.
Redefinindo o business metric padro permite a um dashboard mostrar a
informao obtida em mais de uma business metric.
Cada medidor unidimensional especificado no dashboard amarrado a uma mtrica, como
especificado pelo atributo Property do medidor.
Uma mtrica pode ser associada a mais de um medidor. Por exemplo, ao exibir
informaes sobre vendas de Gizmo, um velocmetro pode indicar a contagem exata de
Gizmos vendida, enquanto uma expresso facial pode indicar vendas altas ou baixas de
Gizmos.
InterSystems do Brasil
101
Implementao de Medidor
Em outras palavras, uma classe de business metric pode calcular vrias mtricas. Cada
mtrica identificada por uma propriedade do tipo de dado Ens.DataType.Metric. Um
medidor unidimensional preso a uma mtrica.
OnCalculateMetrics() calcula o valor de cada mtrica. Este mtodo deve ser codificado.
InterSystems do Brasil
102
O mtodo pode usar queries para obter os dados ou qualquer outra maneira apropriada
para determinar o valor de uma mtrica.
Uma vez determinado, o mtodo atribui o valor a mtrica.
Mtrica (Metric)
InterSystems do Brasil
103
Configure da mesma forma que outro business service com um adaptador de entrada (inbound).
O Parmetro CallInterval do adaptador determina com que freqncia ser atualizada ou
recalculada a mtrica.
Ens.BusinessMetric
InterSystems do Brasil
104
Ens.InboundAdapter
Business Metric A
Ens.BusinessMetric
Ens.BusinessService
Propriedade
CallI nt erval
ca d a
a
a
Ch a m t e r v a l
In
Ca l l t u a l i za r a
a
p ar a a
ic
m t r
ProcessI nput ( )
OnProcessI nput ( )
Calculat eMet rics( )
OnCalculat eMet rics( )
Documentao Dashboard
InterSystems do Brasil
105
Mdulo 11 Workflow
Mdulo 11 Workflow
InterSystems do Brasil
106
InterSystems do Brasil
107
Viso Geral
Definio.
Demonstrao.
Reviso:
Implementao.
Portal de Workflow.
Workflow
Business
Processes
Cham ada
para
Work flow
Wor
kflow
Business
Business
Operations
Operat ion
Pessoas
Inbound Adapters
Aplicaes
Clientes
Business
Services
Ense m ble
InterSystems do Brasil
108
Tarefas Workflow
Uma tarefa workflow um item atribudo a um usurio. Completar a tarefa requer interveno
humana. Exemplos de tarefas workflow incluem fazer uma chamada telefnica, reparar um
computador e revisar um relatrio de despesa.
O portal workflow do Ensemble, parte do Portal de Administrao, fornece uma relao para
reviso, atribuio, finalizao e auditoria das tarefas.
Fatos Workflow
Uma tarefa associada a apenas uma funo, mas um usurio pode ter vrias funes.
Isto permite que um usurio trabalhe em vrias tarefas, se necessrio.
O mecanismo do Workflow Ensemble automatiza a distribuio das tarefas entre usurios.
Tarefas so automaticamente distribudas de acordo com estratgias pr-definidas.
InterSystems do Brasil
109
Demonstrao
Usurios e Funes
InterSystems do Brasil
110
Propriedade AutoCreateRole
AutoCreateProperty=True
Cria o papel com a primeira tentativa de emitir a tarefa operao do workflow com
nenhum papel correspondente.
Adiciona usurios uma vez que o papel foi criado.
AutoCreateProperty=False
Crie o papel manualmente antes da primeira tarefa emitida operao do workflow.
Nom e Funo
Dist ribuio
Padro
O workflow business operation deve ser adicionado produo. O nome deve ser igual ao nome
da funo das tarefas que sero atribudas.
Um workflow business operation deve ser configurado como uma business operation
dentro da mesma produo que o business process que chama a workflow business
operation.
InterSystems do Brasil
111
O primeiro que chega, o primeiro que ser atendido (First come, first served - FCFS).
...e mais.
Consulte o Captulo 6: Managing Workflow Tasks, em Using Workflow with Ensemble, para
detalhes sobre implementao e uso de distribuio de tarefas customizadas.
Quando estiver criando seu prprio algoritmo de distribuio, faa atribuies atravs de
funes do que de usurios. Pessoas mudam em uma organizao, mas as funes so
relativamente estticas. Os funcionrios que no estiverem mais realizando suas
funes, podem ser removidos de suas funes. Novos usurios podem ser associados
s funes existentes.
Chamando Workflow
Cada chamada para um workflow business operation ir criar uma tarefa. Quando a tarefa
completada, o <call> retornar. Uma atividade sncrona requerida para esperar por um
response do workflow business operation.
O valor de Timeout indica quanto tempo uma tarefa permanecer com status Unassigned antes
de ser rejeitada.
Normalmente, voc no quer que uma tarefa seja rejeitada (em conseqncia de timeout) antes que a tarefa seja completada por algum.
Se houver uma razo para ter uma tarefa disponvel somente durante um determinado
tempo, especifique um valor para Timeout.
Se a tarefa expirar antes de ser completada, a tarefa recebe o status de Discarded (e fica corde-rosa no Task Browser)
Para fornecer um timeout personalizado, sobrescreva OnTimeout() na mensagem
Ens.Workflow.TaskRequest. Isto leva em conta uma alternativa para rejeitar uma tarefa expirada.
InterSystems do Brasil
112
EnsLib.Workflow.TaskRequest
Workflow
Business
Operation
Business
Process
EnsLib.Workflow.TaskResponse
Um business process envia um Task Request para um workflow business operation exatamente
da mesma maneira que qualquer outra business operation.
A chamada a um workflow business operation deve ser assncrona. A chamada deve ser
seguida por uma atividade sncrona para aguardar o resultado.
O workflow business operation responder com um response adiado.
Uma vez que workflow business operation retorna, o status do Task Request muda para
Completed e o Task Response marcado tambm como Completed.
Usando Propriedades
%Action Lista de aes definidas para a tarefa. Determina o Label dos botes
apresentados quando um usurio examina uma tarefa.
InterSystems do Brasil
113
InterSystems do Brasil
114
Criando um Workflow
Task Browser Lista todas as tarefas que passaram pela produo. Atribuir uma tarefa
a um usurio especfico. Editar ou cancelar uma tarefa. Tarefas so codificadas por
cores.
Azul Tarefa atribuda.
Amarelo Tarefa no atribuda.
Cinza Tarefa Completa.
Rosa Tarefa rejeitada (no houve response antes de exceder o tempo limite).
InterSystems do Brasil
115
InterSystems do Brasil
116
InterSystems do Brasil
117
Viso Geral
Definio.
Demonstrao.
Implementao.
Studio.
Portal de Administrao.
Log de Business Rule.
Business Rules
Isto fornece uma maneira segura para um usurio no-tcnico alterar o comportamento
de um business process em pontos de deciso especficos.
Por exemplo, um desenvolvedor escreve um business process que coordena o
processamento de uma aplicao de emprstimo de uma maneira consistente
atravs de uma empresa internacional; entretanto, a nvel regional, os analistas
do negcios necessitam estarem aptos a estabelecer ajustes especficos,
critrios locais apropriados para aceitar aplicaes de emprstimo individuais.
Para conseguir isto, o analista de negcio local pode criar um business rule
apropriado para sua regio.
InterSystems do Brasil
118
Business
Ru le
Business
Ru le
Business
Operations
Aplicaes Externas
Business
Processes
Outbound Adapters
Inbound Adapters
Aplciaes Cliente
Business
Services
Ense m ble
InterSystems do Brasil
119
Um programador usa o Studio para criar uma atividade <rule> no diagrama BPL. Uma
propriedade da atividade <rule> Rule. A propriedade Rule contm o nome do conjunto de
regras, que um usurio no-programador define usando o Portal de Administrao.
Em tempo de execuo, o business process invoca a regra, a regra retorna uma resposta ao
business process e o business process continua a execuo baseado na resposta.
A documentao: Using Business Rules with Ensemble detalha como criar business rules no
Studio.
Um analista de negcio, ou alguma outra pessoa, cria um conjunto de regras usando o nome
especificado na propriedade Rule da atividade <rule>. Um conjunto de regras pode ter uma ou
mais regras. Cada regra pode ter vrias condies, vrias aes e retornar um valor.
InterSystems do Brasil
120
Demonstrao
Implementao
Business
Process
Definio do
Business Rule
InterSystems do Brasil
121
InterSystems do Brasil
122
Adicione uma atividade <rule> em um business process em qualquer lugar que um business rule
for necessrio. Apropriadamente informe as propriedades Rule, ResultLocation e
ReasonLocation da atividade <rule>.
Rule Conecta o business rule no business process com a definio do business rule no
Portal de Administrao.
O valor da propriedade Rule deve ser exatamente o nome do conjunto de
regras.
Valor da
propriedade
Rule no St udio
Valores do
Cont ext o
Vai para
Result Locat ion
Se nenhum a regr a
com pat vel
InterSystems do Brasil
123
InterSystems do Brasil
124
Quando voc usa o elemento <rule> no BPL, o valor da propriedade da Rule pode ser qualquer
um do seguinte:
Um nome simples da regra (Rule): CalculateShipping.
O nome completo da classe mais o nome da regra (Rule) combinados:
Demo.TRU.Process.OrderProduct.CalculateShipping.
O nome completo da classe conhecido como Package Name no portal.
Se a propriedade Rule for um nome simples da Rule, o ensemble preenche automaticamente o
nome completo da classe do business process BPL que contem o elemento <rule>. Esta
combinao deve identificar uma regra vlida dentro do namespace, ou o valor do retorno ser
uma string nula.
Em conseqncia, cada conjunto de business rule identificado excepcionalmente atravs de
um namespace Ensemble
Isto permite que um business process consulte a toda a business rule configurada no
namespace.
Operadores padres.
Concatenados com &.
Funes embutidas.
Min()
Max()
Round()
InterSystems do Brasil
125
Uma expresso uma frmula que combina valores e propriedades para retornar um valor.
Expresses podem ser usadas nas condies, aes, valores de retorno e valores
padres de um conjunto de regras.
Funes Utilitrias
Em adio ao RETURN.
ASSIGNs permite que um Business Rule ajuste mais valores do que apenas o valor de
RETURN.
InterSystems do Brasil
126
Regra compatvel.
Chamando business process.
Compatibilizar motivo.
Valor de retorno.
O Log do Business Rule um registro persistente dos business rules que foram executados,
seus respectivos resultados e motivos para o resultado.
TimeExecuted Data e hora de quando a regra foi invocada pela ltima vez.
InterSystems do Brasil
127
InterSystems do Brasil
128
InterSystems do Brasil
129