Prof. Marcelo de Sá Barbosa
MÓDULO 6: Sistemas distribuídos baseados em coordenação. Coordenação de serviços Web
Coordenação de serviços Web A infraestrutura SOAP suporta interações requisiçãoresposta entre clientes e serviços web. Entretanto, muitas aplicações úteis envolvem várias requisições que precisam ser executadas em uma ordem em particular. Por exemplo, ao se fazer reservas para um vôo, são reunidas as informações sobre preço e disponibilidade, antes que as reservas sejam feitas. Quando o usuário interage com páginas web por intermédio de um navegador para fazer reserva em um vôo ou para dar um lance em um leilão, a interface fornecida pela navegador controla a sequência em que as operações são executadas.
Transações distribuidas planas e aninhadas Uma transação cliente se torna distribuída se ativa operações em vários servidores diferentes. Existem duas maneiras distintas pelas quais as transações distribuídas podem se estruturadas: como transações planas e transações aninhadas. Em uma transação plana, um cliente faz pedidos para mais de um servidor. Em uma transação aninhada, a transação de nível superior pode abrir subtransações e assim sucessivamente em qualquer profundidade de aninhamento.
Transações distribuídas planas e aninhadas X T 11 M X T T Y Client T T 1 T 12 T 21 N Client Z T 2 Y P T 22 (a) Flat transaction (b) Nested transactions
Coordenação de uma transação distribuida Os servidores que executam pedidos como parte de uma transação distribuida precisam se comunicar uns com os outros para coordenar suas ações quando a transação é efetivada Client T T 1 X A a.withdraw(10) T = opentransaction Y opensubtransaction a.withdraw(10); opensubtransaction b.withdraw(20); opensubtransaction c.deposit(10); opensubtransaction d.deposit(20); closetransaction T 2 T 3 T 4 Z B C D b.withdraw(20) c. deposit(10) d.deposit(20)
Tem-se trabalhado em um modelo geral para a coordenação de serviços web, o qual é semelhante ao modelo de transação distribuida descrito anteriormente pois têm funções de coordenador e participante que são capazes de atuar em protocolos específicos, por exemplo, para executar uma transação distribuida. Esse trabalho, que é chamado WS-Coordination é descrito por Langworthy[2004]. Requisitos de coreografia: se destina a suportar interações entre serviços web que geralmente são gerenciadas por diferentes empresas e organizações.
MÓDULO 8: Introdução ao SOA Serviços Gerenciamento de Processos de Negócios MODULO 9: SOA e Desempenho; SOA e Segurança;
SOA SERVICE ORIENTED ARCHITECTURE Process management facilitates organizational change supporting innovation. SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas. Gartner Group Businesses want change at the speed of business. Is yours an innovation-driven business?
BPM Business process management BAM Business activity monitoring KPI Key performance indicator Organization, business, company, corporation, and enterprise will be used interchangeably Free-form process layout in WebSphere Business Modeler The traditional flowchart layout with object attributes Swimlane process layout in Modeler Emphasis is on the handoffs between performers Governance Implementing standards, controls, and ownership of processes throughout the enterprise
Service Web service: integration of machine-to-machine interaction over the Web SOA Service-oriented architecture J2EE (Java 2 Platform, Enterprise Edition) A programming platform Eclipse An open source platform-independent software framework Business object A set of attributes that represents a business entity Relationships (data cross-referencing) An association between two or more data entities WSDL Web Services Description Language BPEL Business Process Execution Language Process choreography The order in which services will be invoked
Simple things do not necessarily need a model. The solution is relatively easy to construct. Few people collaborate or use the solution (often only one). The scope of future needs is unlikely to grow substantially. Certain complex systems must begin with a design or another abstract representation. Construction of an office building needs architectural plans and a mock-up for visualization. Modeling provides visualization of the entire system. Allows assessment of various options Communicates design risks before actual construction
A model serves as an abstraction of the item being built. Business analysts, engineers, scientists, and other professionals who build complex structures or systems create models. Sometimes the models are physical. Scaled mock-ups of airplanes, houses, or autos Sometimes the models are less tangible. Financial models, market trading simulations, electrical circuit diagrams Traditional flow charts are a common method for representing the paths of a process. Structure charts, or simple block diagrams with arrows, are often used on whiteboards.
Web Services Description Language (WSDL) is the XMLbased file that describes the Web service. The Web service request uses this file to bind to the service. SOAP is the XML-based protocol that the Web service request uses to invoke the service. Universal Description Discovery and Integration protocol is the registry that hosts the service broker. UDDI is similar to the Yellow Pages in a phone book.
MODULO 9: SOA e Desempenho. SOA e Segurança. 30
SOA O seu serviço está seguro? 31
ATAQUE x DEFESA 32
FOOTPRINT 33
SNIFFING, DATA TAMPERING, REPLAY-ATTACK, MITM Man-in-the-middle-attack 34
SOLUÇÕES 35
ATAQUES DE FORÇA BRUTA XDOS XML denial of service 36
SOLUÇÕES 37
CODE INJECTION - XML 38
SOLUÇÕES 39
PARSING ATTACKS 40
SOLUÇÕES XML Schema é uma linguagem baseada no formato XML para definição de regras de validação ("esquemas") em documentos no formato XML 41