SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Modernizando
plataformas
eGovernment
Lições & Processo
Era uma vez um sistema…
… que	com	o	passar dos	anos e	ausências de	boas	práticas de	
engenharia de software,	foi acumulando dívidas
técnicas…
“Complexidade de código, dívida arquitetural, ausência de testes,
dívida documental, violação de estilo de código e códigos com
problemas de escrita são fatores que impactam diretamente na
manutenção e evolução de sistemas”
…para	sanar essa dívida,	o	time	adotou a	
Reengenharia de software para	se	obter um	
sistema com	melhores atributos de
qualidade capaz de:
Prover robusta interface de serviços capaz de responder
a um cenário de alta disponibilidade, bem como suportar grandes cargas de
requisições.
Garantir a coexistência com os sistemas legados.
Agilizar o processo de entrega e distribuição de softwares.
Garantir uma política de segurança que atenda os padrões de
Interoperabilidade de Governo Eletrônico[1],	bem como
às exigências do Marco Civil da Internet.
MUITO PRAZER!!!
ARQUITETO	DE	SOFTWARE
IVIA	/	SECTRETARIA	DE	ESTADO	DA	TRIBUTAÇÃO	DO	RN
MESTRADO	ENG.	DE	SOFTWARE	UFRN	(IMD)
Relatar a experiência de construir e aplicar um
processo de reengenharia de software com objetivo
de modernizar sistemas legados para suportar SOA.	
como estudo de caso, o processo está sendo aplicado num contexto de um projeto de
migração do sistema UVT (Unidade Virtual de Tributação) da SET/RN.
Vamos Começar:
O Contexto
2009
REALIDADE
Custo de	manutenção,	dívidas técnica,	
modernizar práticas de	
desenvolvimento obsoletas.
DESAFIOS
Times	distintos e	remotos,	construção
um	conjunto de	serviços e	de	interfaces	
consumidoras moderanas (SPA	e	
mobile).
Micro serviços!
Mas O que é um serviço?
O PROBLEMA
DÍVIDA TÉCNICA
ALTO ACOPLAMENTO
FALTA DE REÚSO
MOTIVAÇÃO
MELHORAR QUALIDADE
DISTRIBUIR SERVIÇOS
INTERFACES CONSUMIDORAS
DESACOPLADAS
METODOLOGIA
metodologia ad hoc,
formalização e análise
Antes da solução
OBJETIVO
CRIAR E APLICAR PROCESSO
DE MIGRAÇÃO
EXPECTATIVA
SISTEMA COM MELHOR
fatores QUALIDADE
E orientado a serviços
ESPAÇO DE
PROBLEMA
ESPAÇO DE
SOLUÇÃO
Mas O que é um serviço?
Adrian Cockcroft defines	a	microservices architecture	as	
a service-oriented architecture composed	of	loosely	coupled	
elements	that	have	bounded	contexts.
VP	Cloud	Architecture	Strategy	at	AWS	(Atualmente)
Cloud	Architecture	Netflix	(2010-2013)
The microservice approach has emerged from	real-
world	use,	taking	our	better	understanding	of	systems	and	
architecture	to do SOA well.[2]
Newman,	Sam.	technical	consultant	at	ThoughtWorks
Service-oriented architecture is	a	technology	architectural
model for	service-oriented	solutions	with	distinct	characteristics	in	support	
of	realizing service-orientation and	the	strategic goals
associated with service-oriented computing.	Erl,	Thomas	[3].
Service-orientation
Service-orientation	is	a	design	paradigm	intended	for	the	
creation	of	solution	logic	units	that	are	individually	
shaped	so	they	can	be	collectively	and	repeatedly	utilized	
in	support	of	the	realization	of	the	specific	strategic	goals	
and	benefits	associated	with	service-oriented	computing.	
SOA	with	REST:	Principles,	Patterns	&	Constraints	for	Building	
Enterprise	Solutions	with	REST	(The	Prentice	Hall	Service	Technology	
Series	from	Thomas	Erl)	(Kindle	Locations	1210-1212).	Pearson	
Education.	Kindle	Edition.
Service-oriented architecture
msoam
MAINSTREAM SOA METHODOLOGY
Muito abstrato!!!
Prover robusta interface de serviços capaz de responder
a um cenário de alta disponibilidade, bem como suportar grandes cargas de
requisições.
Garantir a coexistência com os sistemas legados.
Agilizar o processo de entrega e distribuição de softwares.
Garantir uma política de segurança que atenda os padrões de
Interoperabilidade de Governo Eletrônico[1],	bem como
às exigências do Marco Civil da Internet.
SPReaD
SOA PROCESS, REENGINEERING AND DEVOPS
Metodologia DE APLICAÇÃO DO
PROCESSO
F1. REFERENCIAL
PROCESSO DE SOA
PROCESSO DE REENGENHARIA
DEVOPS
F2. DEFINIÇÃO DE PROCESSO
PRIMEIRO
ORGANIZE SEU PROCESSO DE SOFTWARE
(PRESSMAN; MAXIM, 2016),
RELACIONE SEU PROCESSO COM SEU
OBJETIVO
(PRESSMAN; MAXIM, 2016),
REALIZAR COESÃO TECNOLÓGICA E
IDENTIFICAÇÃO DAS FASES
IDENTIFICAÇÃO DE PAPEIS
TER UMA VISÃO GLOGAL DO PROCESSO
F3. APLICAÇÃO DE PROCESSO
DEFINIÇÃO DE INVENTÁRIO DE SERVIÇOS
Característicadedesign
arquitetura
arquitetura
componetizado
Contextmapping
F3. resultados
OBRIGADO!!!
Referências
[1]	EPING.	Padr›es de	Interoperabilidade de	Governo Eletrônico - ePING.	2017.	Website.	Disponível em:	
<http://eping.governoeletronico.gov.br/>.
[2]products,Newman,	Sam.	Building	Microservices (Kindle	Location	301).	O'Reilly	Media.	Kindle	Edition.	
[3]	SOA	with	REST:	Principles,	Patterns	&	Constraints	for	Building	Enterprise	Solutions	with	REST	(The	Prentice	Hall	Service	
Technology	Series	from	Thomas	Erl)	(Kindle	Locations	1242-1243).	Pearson	Education.	Kindle	Edition.	
[4]PRESSMAN,	R.;	MAXIM,	B.	Engenharia de	Software-8a	Edi‹o.	[S.l.]:	McGraw	Hill	Brasil,	2016.

Mais conteúdo relacionado

Semelhante a Modernizando plataformas e-Government : Lições e Método

Aumentando escalabilidade com SOA
Aumentando escalabilidade com SOAAumentando escalabilidade com SOA
Aumentando escalabilidade com SOAHugo Marques
 
Apresentação
 Apresentação Apresentação
Apresentaçãogicassely
 
9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stvwilson_lucas
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSAmazon Web Services LATAM
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecturerenanwb
 
Portfólio serviços psrv
Portfólio serviços psrvPortfólio serviços psrv
Portfólio serviços psrvRomulo Bokorni
 
Portfólio serviços psrv
Portfólio serviços psrvPortfólio serviços psrv
Portfólio serviços psrvRomulo Bokorni
 
2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...
2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...
2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...Felipe Coelho Machado
 
Novas oportunidades de negócios com 5G e nuvem
Novas oportunidades de negócios com 5G e nuvemNovas oportunidades de negócios com 5G e nuvem
Novas oportunidades de negócios com 5G e nuvemEricsson Latin America
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialAlexandre Leão
 
Com a ascensão da "cloud", você se sente seguro e preparado?
Com a ascensão da "cloud", você se sente seguro e preparado?Com a ascensão da "cloud", você se sente seguro e preparado?
Com a ascensão da "cloud", você se sente seguro e preparado?Grupo Binário
 
Gerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.brGerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.brMATHEUSGCL08
 
Gerência integrada de redes e serviços
Gerência integrada de redes e serviçosGerência integrada de redes e serviços
Gerência integrada de redes e serviçosTiago
 
CONCEITOS E APLICAÇÕES DE REDES MEC
CONCEITOS E APLICAÇÕES DE REDES MECCONCEITOS E APLICAÇÕES DE REDES MEC
CONCEITOS E APLICAÇÕES DE REDES MECJúlio César Magro
 
Como Trazer o Legado para SOA
Como Trazer o Legado para SOAComo Trazer o Legado para SOA
Como Trazer o Legado para SOADavi Silva
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linuxaviram
 
4 como criar uma estratégia corporativa de adoção de cloud em larga escala
4   como criar uma estratégia corporativa de adoção de cloud em larga escala 4   como criar uma estratégia corporativa de adoção de cloud em larga escala
4 como criar uma estratégia corporativa de adoção de cloud em larga escala Amazon Web Services LATAM
 

Semelhante a Modernizando plataformas e-Government : Lições e Método (20)

Aumentando escalabilidade com SOA
Aumentando escalabilidade com SOAAumentando escalabilidade com SOA
Aumentando escalabilidade com SOA
 
Apresentação
 Apresentação Apresentação
Apresentação
 
9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWS
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Portfólio serviços psrv
Portfólio serviços psrvPortfólio serviços psrv
Portfólio serviços psrv
 
Portfólio serviços psrv
Portfólio serviços psrvPortfólio serviços psrv
Portfólio serviços psrv
 
2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...
2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...
2016-12 Microsserviços: Comparativo da Arquitetura de Microsserviços com o Mo...
 
Novas oportunidades de negócios com 5G e nuvem
Novas oportunidades de negócios com 5G e nuvemNovas oportunidades de negócios com 5G e nuvem
Novas oportunidades de negócios com 5G e nuvem
 
Ca Converged
Ca ConvergedCa Converged
Ca Converged
 
SOA - Fatos e Mitos
SOA - Fatos e MitosSOA - Fatos e Mitos
SOA - Fatos e Mitos
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencial
 
Com a ascensão da "cloud", você se sente seguro e preparado?
Com a ascensão da "cloud", você se sente seguro e preparado?Com a ascensão da "cloud", você se sente seguro e preparado?
Com a ascensão da "cloud", você se sente seguro e preparado?
 
Gerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.brGerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.br
 
Gerência integrada de redes e serviços
Gerência integrada de redes e serviçosGerência integrada de redes e serviços
Gerência integrada de redes e serviços
 
CONCEITOS E APLICAÇÕES DE REDES MEC
CONCEITOS E APLICAÇÕES DE REDES MECCONCEITOS E APLICAÇÕES DE REDES MEC
CONCEITOS E APLICAÇÕES DE REDES MEC
 
Como Trazer o Legado para SOA
Como Trazer o Legado para SOAComo Trazer o Legado para SOA
Como Trazer o Legado para SOA
 
266-940-1-PB
266-940-1-PB266-940-1-PB
266-940-1-PB
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
 
4 como criar uma estratégia corporativa de adoção de cloud em larga escala
4   como criar uma estratégia corporativa de adoção de cloud em larga escala 4   como criar uma estratégia corporativa de adoção de cloud em larga escala
4 como criar uma estratégia corporativa de adoção de cloud em larga escala
 

Mais de Yan Justino

Criando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted ServicesCriando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted ServicesYan Justino
 
LIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NETLIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NETYan Justino
 
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...Yan Justino
 
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...Yan Justino
 
DocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicaçãoDocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicaçãoYan Justino
 
Atacando as complexidades no coração do software
Atacando as complexidades no coração do softwareAtacando as complexidades no coração do software
Atacando as complexidades no coração do softwareYan Justino
 
Introdução ao Aspnet Core
Introdução ao Aspnet CoreIntrodução ao Aspnet Core
Introdução ao Aspnet CoreYan Justino
 
Vssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativosVssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativosYan Justino
 
Bounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadasBounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadasYan Justino
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOYan Justino
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gofYan Justino
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Yan Justino
 
Angular - Ruby Morning
Angular - Ruby MorningAngular - Ruby Morning
Angular - Ruby MorningYan Justino
 
GDG NATAL - Dart Flight School
GDG NATAL - Dart Flight SchoolGDG NATAL - Dart Flight School
GDG NATAL - Dart Flight SchoolYan Justino
 
Si - Segurança da Informação
Si - Segurança da InformaçãoSi - Segurança da Informação
Si - Segurança da InformaçãoYan Justino
 
Fundamentos ORM com entityframework
Fundamentos ORM com entityframeworkFundamentos ORM com entityframework
Fundamentos ORM com entityframeworkYan Justino
 
Community webcast
Community webcastCommunity webcast
Community webcastYan Justino
 

Mais de Yan Justino (20)

Criando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted ServicesCriando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted Services
 
LIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NETLIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NET
 
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
 
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
 
DocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicaçãoDocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicação
 
Atacando as complexidades no coração do software
Atacando as complexidades no coração do softwareAtacando as complexidades no coração do software
Atacando as complexidades no coração do software
 
Introdução ao Aspnet Core
Introdução ao Aspnet CoreIntrodução ao Aspnet Core
Introdução ao Aspnet Core
 
Vssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativosVssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativos
 
Bounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadasBounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadas
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gof
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
 
Angular - Ruby Morning
Angular - Ruby MorningAngular - Ruby Morning
Angular - Ruby Morning
 
Angular
AngularAngular
Angular
 
GDG NATAL - Dart Flight School
GDG NATAL - Dart Flight SchoolGDG NATAL - Dart Flight School
GDG NATAL - Dart Flight School
 
Si - Segurança da Informação
Si - Segurança da InformaçãoSi - Segurança da Informação
Si - Segurança da Informação
 
C# limpo
C# limpoC# limpo
C# limpo
 
Fundamentos ORM com entityframework
Fundamentos ORM com entityframeworkFundamentos ORM com entityframework
Fundamentos ORM com entityframework
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Community webcast
Community webcastCommunity webcast
Community webcast
 

Modernizando plataformas e-Government : Lições e Método