mudar para service-orientation ? vitor santos.net group microsoft corporation
TRANSCRIPT
Mudar para Service-Orientation ?Mudar para Service-Orientation ?
Vitor SantosVitor Santos
.NET Group.NET Group
Microsoft CorporationMicrosoft Corporation
AgendaAgenda
Um problema clássico…Um problema clássico….NET e Web Services.NET e Web ServicesService Oriented Architectures (SOA)Service Oriented Architectures (SOA)SumárioSumário
Console.WriteLine( “Duracao: {0}m”,40 + ( -15 + new Random(). Next(15)) )
AgendaAgenda
Um problema clássico…Um problema clássico…NET e Web ServicesNET e Web ServicesService Oriented Architectures (SOA)Service Oriented Architectures (SOA)SumárioSumário
Pagamentos
Encomendas
Taxas
Entregas
Cadeia de Valor
Util
Util
Util
Util
Util
StockShipment
Accounting
Produção
StockShipment
Accounting
Gestão Stocks
Servidor CEDesign
CarrinhoCatalogo
WEB SitePagamentos
EncomendasEntregas
TaxasCatalogo
DistribuiçãoPagamentos
Sites Remotos Locais de Venda
MIS
Accounting
B.D.
Stocks
Retalhista
MIS
Accounting
B.D.
Stocks
Retalhista
MIS
Accounting
B.D.
Stocks
Produtor
MIS
Accounting
B.D.
Stocks
Produtor
MIS
Accounting
B.D.
Stocks
MIS
Accounting
B.D.
Stocks
Banca BancaBanca
Produtor Retalhista
Forn
Forn
Forn
Forn
Forn
Procurement
Procurement
Integração
Integração
Integração
Integração
IntegraçãoIntegração
IntegraçãoIntegração
B2B
B2C
IntegraçãoIntegração
IntegraçãoIntegração
Problema clássicoProblema clássico Costuma ficar para o fimCostuma ficar para o fim Demasiado difícil, cara, lenta e frágilDemasiado difícil, cara, lenta e frágil Ilhas de tecnologia no mar da conectividadeIlhas de tecnologia no mar da conectividade As soluções estão a evoluir para constelaçõesAs soluções estão a evoluir para constelações
ExemplosExemplos Dentro das empresasDentro das empresas Entre empresasEntre empresas O indivíduo e diferentes tecnologiasO indivíduo e diferentes tecnologias
Empresa AEmpresa AA empresa “Virtual” A empresa “Virtual”
Escrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
Empregados no ExteriorEmpregados no Exterior
Empresa BEmpresa B
ClientesClientesParceirosParceiros
Fornecedores Fornecedores
Escrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
Empregados no ExteriorEmpregados no Exterior
Exigencia de negócio = Estar tudo ligadoExigencia de negócio = Estar tudo ligado
Empresa AEmpresa A
Escrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
Empregados no Empregados no ExteriorExterior
Exigencia de negócio = tudo ligadoExigencia de negócio = tudo ligado
Empresa BEmpresa BEscrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
ClientesClientesParceirosParceiros
FornecedoresFornecedores
Empregados no Empregados no ExteriorExterior
Empresa FEmpresa FEscrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
ClientesClientesParceirosParceiros
FornecedoresFornecedores
Empregados no Empregados no ExteriorExterior
Empresa EEmpresa EEscrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
ClientesClientesParceirosParceiros
FornecedoresFornecedores
Empregados no Empregados no ExteriorExterior
Company CCompany CEscrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
ClientesClientesParceirosParceiros
FornecedoresFornecedores
Empregados no Empregados no ExteriorExterior
Empresa DEmpresa DEscrit.Remoto/ConsumidoresEscrit.Remoto/Consumidores
ClientesClientesParceirosParceiros
FornecedoresFornecedores
Empregados no Empregados no ExteriorExterior
AgendaAgenda
Um problema clássico…Um problema clássico….NET e Web Services.NET e Web ServicesService Oriented Architectures (SOA)Service Oriented Architectures (SOA)SumárioSumário
O que é o .NET?O que é o .NET? Uma plataforma de desenvolvimento: interfaces, Uma plataforma de desenvolvimento: interfaces,
componentes e ferramentas para desenvolver software.componentes e ferramentas para desenvolver software. A maior alteração dentro da Microsoft desde que o Windows A maior alteração dentro da Microsoft desde que o Windows
substituíu o DOSsubstituíu o DOS As alterações incluem:As alterações incluem:
Formato do código, compiladores,Formato do código, compiladores, Modelos de carregamento e execução do código, Modelos de carregamento e execução do código, Modelo de segurança,Modelo de segurança, Modelo de objectos, metadados, protocolos remotingModelo de objectos, metadados, protocolos remoting Bibliotecas de classes,Bibliotecas de classes, ……
A plataforma .NETA plataforma .NET
Microsoft .NETMicrosoft .NETConnecting your world through Web servicesConnecting your world through Web services
Web ServicesWeb Services
ConceptualmenteConceptualmente““Pequenos componentes de funcionalidade Pequenos componentes de funcionalidade
disponibilizadas para poderem ser disponibilizadas para poderem ser consumidos como serviços através de consumidos como serviços através de uma rede”uma rede”
TecnicamenteTecnicamente““Conjunto de operações acessíveis através Conjunto de operações acessíveis através
dede mensagensmensagens “ “standard” sobre uma redestandard” sobre uma rede
Web Services ?Web Services ?
AUTENTICAÇÃOAUTENTICAÇÃO
Fornecedor AFornecedor A
………………
Fornecedor BFornecedor B
Fornecedor CFornecedor C
LeilõesLeilões
PagamentosPagamentos
Empresa AEmpresa AEmpresa BEmpresa B
Empresa CEmpresa C
Web Services ?Web Services ?
AUTENTICAÇÃOAUTENTICAÇÃO
Fornecedor AFornecedor A
………………
Fornecedor BFornecedor B
Fornecedor CFornecedor C
LeilõesLeilões
PagamentosPagamentos
Empresa AEmpresa AEmpresa BEmpresa B
Empresa CEmpresa C
A .NET Framework é o modelo de A .NET Framework é o modelo de programação que serve de base programação que serve de base para a visão .NETpara a visão .NET
.NET: Princípios.NET: Princípios Visão Microsoft para a computaçãoVisão Microsoft para a computação
Tornar a computação distribuida na Internet comumTornar a computação distribuida na Internet comum Explorar o poder de processamento e largura de banda cada vez Explorar o poder de processamento e largura de banda cada vez
mais baratosmais baratos Integração natural entre múltiplas aplicações e dispositivosIntegração natural entre múltiplas aplicações e dispositivos Disponibilizar software como um serviçoDisponibilizar software como um serviço Experiência de utilização nova e mais ricaExperiência de utilização nova e mais rica
Visão .NET Visão .NET Obter a informação onde ela é realmente necessária Obter a informação onde ela é realmente necessária
Local CodeLocal CodeASP.NET Web PagesASP.NET Web Pages
Visual Studio .NETVisual Studio .NETVisual Studio .NETVisual Studio .NET
.NET Framework.NET Framework.NET Framework.NET Framework
Mobile Web Mobile Web BrowserBrowser
Mobile Web Mobile Web BrowserBrowser
.NET Compact.NET CompactFrameworkFramework
.NET Compact.NET CompactFrameworkFramework
Local CodeLocal Code
WindowsWindowsFormsForms
WindowsWindowsFormsForms
XML Web ServicesXML Web Services
OfficeOfficeOfficeOffice
Client-side Rich AppsClient-side Rich AppsServer-side Web AppsServer-side Web Apps
AgendaAgenda
Um problema clássico Um problema clássico NET e Web ServicesNET e Web ServicesService Oriented Architectures (SOA) Service Oriented Architectures (SOA) SumárioSumário
Reutilização através dos temposReutilização através dos tempos
Programação Programação estructurada estructurada
Orientação a ObjectosOrientação a Objectos
Desenvolvimento de Desenvolvimento de
ComponentesComponentes
OrganizadaOrganizada Aplicações MonoliticasAplicações Monoliticas
Produtividade no Produtividade no desenvolvimentodesenvolvimento
Reutilização no ClienteReutilização no Cliente
ModeladaModelada
IntegradaIntegrada
Comput
Comput
aa
Nenhuma oferece reutilização ao nivel dosNenhuma oferece reutilização ao nivel dos Processos de negócioProcessos de negócio – Necessária para o SOA – Necessária para o SOA
Mudar para Service-OrientationMudar para Service-Orientation
Nesta óptica, o que é um "Serviço" ?Nesta óptica, o que é um "Serviço" ? É um É um Processo de Negócio Processo de Negócio reutilizavel que pode ser reutilizavel que pode ser
acedido através da webacedido através da web ImplicaçõesImplicações
As TI condionam menos as organizações. Estam passam As TI condionam menos as organizações. Estam passam a poder ser guiadas apenas pela lógica e processos de a poder ser guiadas apenas pela lógica e processos de negócionegócio
Re-organização dos sistemas com utilização dos serviços Re-organização dos sistemas com utilização dos serviços mais adequados mais adequados
Maior colagem aos requisitos de negócioMaior colagem aos requisitos de negócio
Interoperabilidade de ServiçosInteroperabilidade de Serviços
Windows .NET FrameworkWindows .NET Framework
ArchitectArchitect
DesignDesign
PlatformPlatform
DevelopDevelop
InterInterconnectconnect
ToolsTools
DeployDeploy
OperateOperate
SecuritySecurity MsgMsgTransTrans
actionsactionsReliableReliable
MsgMsgProcessProcess
J2EEJ2EE
PlatformPlatform
JCAJCA JTAJTA JMSJMS
Microsoft WS ServicesMicrosoft WS Services Another WS ServicesAnother WS Services
XML Web ServicesXML Web ServicesWSDL/SOAPWSDL/SOAP
SecuritySecurity
Porquê XML?Porquê XML?
LegacyApps
Packaged Apps
New Component
3rd Party Services
Mobile Devices
Smart Client
Arquitectura de Serviços Arquitectura de Serviços Web
Centric
WinForms Win .NET CF ASP.NET
XML Web Services
BusinessProcessalignedOrquestraçãoOrquestração
Msg FiáveisMsg Fiáveis
SegurançaSegurança
TransacçõesTransacções
AmanhãAmanhã
Aproximação SOAAproximação SOA
ASP.NET Web PagesASP.NET Web Pages
Service Oriented ApplicationsService Oriented ApplicationsService Oriented ApplicationsService Oriented Applications
Mobile Web Mobile Web BrowserBrowser
Mobile Web Mobile Web BrowserBrowser
.NET Compact.NET CompactFrameworkFramework
.NET Compact.NET CompactFrameworkFramework
WindowsWindowsFormsForms
WindowsWindowsFormsForms
XML Web ServicesXML Web Services
OfficeOfficeOfficeOffice
Client-side Rich AppsClient-side Rich AppsServer-side Web AppsServer-side Web Apps
XML Web ServicesXML Web ServicesXML Web ServicesXML Web Services
Adapters
LegacyApps
Packaged Apps
New Component
3rd Party Services
Mobile Devices
Smart Client
Arquitectura de ServiçosArquitectura de Serviços
Service BusIdentity/Auth
Management
Service Discovery
Routing
Orchestration
Services
Registration
WebCentric
WinForms Win .NET CF ASP.NET
Directório XML WS
O que é o Service BusO que é o Service Bus
É uma Infrastructura de É uma Infrastructura de gestãogestão do acesso aos do acesso aos serviços serviços Permite um acesso consistentePermite um acesso consistente Disponibiliza vários serviçosDisponibiliza vários serviços
Mantêm um registo de serviçosMantêm um registo de serviços Permite roteamento, re-direccionamento para Permite roteamento, re-direccionamento para
outros serviçosoutros serviços Assegura a Segurança e MonitorizaçãoAssegura a Segurança e Monitorização
Service Modules
Service Bus “call” PipelineService Bus “call” Pipeline
WebService
Identity
Signature
Authentication
AccessControl
Monitor
Access Logging
ConversationManagement
ConversationManagement
Signature Asynch messaging support
Queuing
Service Implementation
Timestamp
Statistics
Availability
Performance
Timestamp
etc
Service Discovery
Service Orchestration
….
….
…
…
Interop
AgendaAgenda
Um problema clássico Um problema clássico NET e Web ServicesNET e Web ServicesService Oriented Architectures (SOA) Service Oriented Architectures (SOA) SumárioSumário
SumárioSumário
O SOA é uma evoluçãoO SOA é uma evolução Não é algo absolutamente novo e radicalNão é algo absolutamente novo e radical Tem o seu foco na reutilização de processos de Tem o seu foco na reutilização de processos de
negóciosnegócios Preocupa-se em primeiro lugar com o Preocupa-se em primeiro lugar com o
consumidor do serviçoconsumidor do serviço Evita a construção de uma infrastructura Evita a construção de uma infrastructura
diferente para cada serviçodiferente para cada serviço Comportamento técnico e orientado ao negócioComportamento técnico e orientado ao negócio
Pode ser totalmente implementado com Pode ser totalmente implementado com tecnologia Microsofttecnologia Microsoft
Referências:Referências: Sites:Sites:
http://http://msdn.microsoft.commsdn.microsoft.com/net/net
http://http://www.microsoft.comwww.microsoft.com//portugalportugal
http://www.microsoft.com/portugal/msdnhttp://www.microsoft.com/portugal/msdn
News GroupsNews Groups
News.microsoft.comNews.microsoft.com
– Microsoft.public.pt.vsnetMicrosoft.public.pt.vsnet
Almoçar !!! Almoçar !!!