Anotações
Apresentação de slides
Estrutura de tópicos
1
Modulo III
Service Oriented Architecture
  • Prof. Ismael H F Santos


2
Bibliografia
3
Ementa
  • Software Architecture
  • SOA
  • Evolution
4
SOA
5
What is Software Architecture  ?
  • IEEE 1471-2000
    • Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution


  • Other definitions of Software Architecture
    • collection of the fundamental decisions about a software product/solution designed to meet the project‘s quality attributes. Includes the main components, their main attributes, and their collaboration expressed in several levels of abstraction (depending on the project's size).
    • Architecture is the first design artifact where a system’s quality attributes are addressed
6
What is a Service ?
  • A facility supplying some public demand the work performed by one that serves  HELP, USE, BENEFIT


  • In economics and marketing, a service is the non-material equivalent of a good. Service provision has been defined as an economic activity that does not result in ownership, and this is what differentiates it from providing physical goods.


  • It is claimed to be a process that creates benefits by facilitating either a change in customers, a change in their physical possessions, or a change in their intangible assets.
7
What is a service (2)
  • A Windows Service?
    • RPC Locator, EventLog, DHCP Client,
  • Software Service?
    • Distribution Service, Alert Service
    • Security Service, Log Service
  • Business Service?
    • Common Operational Picture, Navigation
    • Accounts Receivable, Customers
8
SOA
9
SOA
  • Service-oriented architecture other than its literal translation that it is an architecture that relies on service-orientation as its fundamental design principle. Service-orientation describes an architecture that uses loosely coupled services to support the requirements of business processes and users


  • Architecture is not tied to a specific technology. It may be implemented using a wide range of technologies, including REST, RPC, DCOM, CORBA or Web Services.
10
What is SOA ?
11
SOA Definitions
  • SOA is a design for linking business and computational resources (principally organizations, applications and data) on demand to achieve the desired results for service consumers (which can be end users or other services). OASIS (the Organization for the Advancement of Structured Information Standards) defines SOA as :
    • A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.
12
Origin of Service-Oriented Architecture
  • IBM has created a model to depict Web services interactions which is referred to as a “service-oriented architecture” comprising relationships among three entities (see next slide):
    • A Web service provider;
    • A Web service requestor; and a
    • A Web service broker.
  • Note: IBM’s service-oriented architecture is a generic model describing service collaboration, not specific to Web services.
    • See http://www-106.ibm.com/developerworks/webservices/
13
Origin of Service-Oriented Architecture
14
SOA bridges the gap between the business and IT.
  • The business disaggregates its business process models downward toward the atomic business services layer.
  • IT aggregates software assets upward toward that layer using service-oriented integration.
  • They meet in the middle and negotiate a consensus view of the necessary atomic business services.


15
SOA
16
SOA Vision
17
Why SOA ?
  • The main drivers for SOA adoption are that it links computational resources and promotes their reuse. Enterprise architects believe that SOA can help businesses respond more quickly and cost-effectively to changing market conditions.
  • This style of architecture promotes reuse at the macro (service) level rather than micro level (objects). It can also simplify interconnection to - and usage of - existing IT (legacy) assets.
  • SOA promotes the goal of separating users (consumers) from the service implementations. Services can therefore be run on various distributed platforms and be accessed across networks. This can also maximize reuse of services
18
SOA
19
SOA: evolution to a more flexible TI architecture
20
SOA: evolution to a more flexible architecture
21
SOA: flexibility on current investments
22
Towards Service Oriented Enterprise
23
SOA: next connectivity step
24
Enterprise Service Bus
25
ESB eliminates ponito-to-pont conection
26
Enterprise Service Bus (ESB)
  • ESB provides the mechanism for continuously adapting the portfolio of available services to accommodate shifting needs.


  • Rather than requiring constant updates to constituent services, the ESB can adaptively mediate among them.


    • For example, if two services use slightly different formats for their messages, the ESB can translate between them.


    • Alternately, if a business change in one area requires a new version of    a service, the ESB can route  requests that require enhanced functionality to the new version while routing requests that assume only basic functionality to the old version.
27
 
28
ESB – Separation of concerns
29
SOA
30
SOA
31
Mudança para SOA
32
 
33
 
34
SOA Meta-Model
35
Arquitetura de Referência SOA – Separation of concerns
36
SOA Echology
37
SOA Reference Model
38
SOA Reference Model
39
SOA
40
SOA Architectural Principles (1)
  • Service Encapsulation
  • Service Loose coupling - Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other
  • Service contract - Services adhere to a communications agreement, as defined collectively by one or more service description documents
  • Service abstraction - Beyond what is described in the service contract, services hide logic from the outside world
  • Service documentation - A description of a service-oriented design must contain at least three separate uses of the phrase "business value".
41
SOA Architectural Principles (2)
  • Service reusability - Logic is divided into services with the intention of promoting reuse
  • Service composability - Collections of services can be coordinated and assembled to form composite services
  • Service autonomy – Services have control over the logic they encapsulate
  • Service optimization – All else equal, high-quality services are generally considered preferable to low-quality ones
  • Service discoverability – Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms
42
Service Granularity
43
SOA
44
Pre-JBI Based Integration Approaches
45
What is JBI (JSR-208)?
  • One of the biggest motivation for SOA is to reduce the cost of application integration
  • Standard-based, pluggable infrastructure
    •  Service Engines: Provides business logic and integration services
    • Binding Components: Provides communications protocols
  • JBI does for application integration what J2EE did for application development


46
JBI Architecture
47
SOA
48
BPM
49
BPM
50
BPM
51
BPM
52
BPM
53
BPM
54
BPM & SOA
55
BPM -> SOA infrastrucuture
  • BPM provides process modeling, execution, and management components.


56
Layers of SOA Model
57
OMG - Layers of SOA Model
58
SOA
59
Sun´s Pragmatic SOA
60
Sun´s Pragmatic SOA
61
Sun Java Composite Application Platform Suite
62
Sun Java Composite Application Platform Suite
  • Service access – A layer of presentation services that provide transparent access to multiple device types and simplify the task of integrating Web services into na enterprise portal environment


  • Service composition – Tools for composing Web pages with a consistent user interface and a development environment for building reusable software components that are based on Web services standards
63
Sun Java Composite Application Platform Suite
  • Service orchestration – Tools for business process management and assembling composite applications that can be used to create new services in support of business processes
  • Service integration – Legacy or packaged applications can be integrated into the SOA environment using service integration tools and pre-built adapters for commonly used enterprise applications
  •  Enterprise service bus – Core integration services for connectivity, transformation, and routing are provided by the enterprise service bus
64
Sun´s Pragmatic SOA