soa bratislava soa part1 lecture 3 dr. withalm 11-sep-15
TRANSCRIPT
SOA BratislavaSOA Bratislava
SOA Part1 Lecture 3SOA Part1 Lecture 3
Dr. Withalm Apr 22, 2023
04/22/23 Dr.Withalm2 SOA Bratislava
Lectures at the University of Bratislava/Autumn 2009
28.09.2009 Lecture 1 Evolution Of Architectures- The long Way from OO to SOA
05.10.2009 Lecture 2 WEB-Services& Semantic WEB
12.10.2009 Lecture 3 SOA-Technological Basis
19.10.2009 Lecture 4 SOA-Basing on J2EE
23.11.2009 Lecture 5 SOA-Focus on Business Processes
30.11.2009 Lecture 6 B2B Frameworks and related Standards
07.12.2009 Lecture 7 WEB 2.0 & GRID
04/22/23 Dr.Withalm3 SOA Bratislava
Today’s Agenda
Overview of SOA
SOA and WS and related Technologies
Future of WEB Applications
Event-Driven Business Processes
04/22/23 Dr.Withalm4 SOA Bratislava
Summary of lecture 2
Business needs request Web Services
EAI : enables the integration of different applications within a company
Prevailing standards/technologies are CORBA, COM,..
Web Portals: enable Internet users to order products/services
Prevailing standards/technologies are HTTP, CGI, Servlet, Applets
Web Services: enable different applications to order products/services
Standards are the dark side of WS
Different standardization bodies: influenced by the big vendors
Most used and established are : SOAP, WSDL, and UDDI
SOA: enables not only synchronous mode
Semantic Web: Ontology, Agents and Languages as OWL, RDF
Ontology: most likely to be established in specific domains
Obstacles : not only technical but also political
04/22/23 Dr.Withalm9 SOA Bratislava
Service-Oriented Architecture
Developers will shift their focus to business processes and away from software functionality. Software will become a facilitator of rapid business change, not an inhibitor.
The value creation in software will shift to subscription services and away from packaged software, and to composite applications (i.e., best of breed) and away from monolith suites.
(Source: Gartner August 2005)
04/22/23 Dr.Withalm10 SOA Bratislava
Service Oriented Architecture (SOA)/1
The term Service-Oriented Architecture (SOA) expresses a software architectural concept that defines the use of services to support the requirements of software users.
In a SOA environment, nodes on a network make resources available to other participants in the network as independent services that the participants access in a standardized way.
Most definitions of SOA identify the use of Web services (using SOAP and WSDL) in its implementation.
However, one can implement SOA using any service-based technology.
04/22/23 Dr.Withalm11 SOA Bratislava
Service Oriented Architecture (SOA) /2
Unlike traditional object-oriented architectures SOA comprise loosely joined, highly interoperable
application services. Because these services interoperate over different
development technologies (such as Java and .NET), the software components become very reusable.
SOA provides a methodology and framework for documenting enterprise capabilities and can support integration and consolidation activities.
SOA is not a product, although several vendors offer products which can form the basis of a SOA.
04/22/23 Dr.Withalm12 SOA Bratislava
Service Oriented Architecture (W3C)
A distributed system, consists of discrete software agents that work together to implement some intended functionality. Those agents in a distributed system communicate by hardware/software protocol stacks.
Transport
Service
Description
04/22/23 Dr.Withalm13 SOA Bratislava
SOA Core Principles
Business Driven The business drives the services, and the services
drive the technology. Bussiness Agility
Business agility is a fundamental business requirement.
Constant Change A successful SOA is always in flux.
04/22/23 Dr.Withalm14 SOA Bratislava
Business Driven
The business drives the services, and the services drive the technology.
In essence, services act as a layer of abstraction between the business and the technology.
The service-oriented architect must understand the dynamic relationships between the needs of the business and the available services on the one hand, as well as the technical underpinnings that offer the layer of abstraction required by the services.
04/22/23 Dr.Withalm15 SOA Bratislava
Business Agility
Business agility is a fundamental business requirement.
Instead of dealing with concrete requirements from
business, SOA considers the next level of abstraction:
The ability to respond to changing requirements is
the new ''meta-requirement.''
The entire architecture -- from the hardware on up --
must reflect the business agility requirement.
04/22/23 Dr.Withalm16 SOA Bratislava
Constant Change
A successful SOA is always in flux.
To visualize how a SOA is supposed to work, it is better to think of a living organism or an ecosystem rather than the traditional ''building a house'' metaphor that gave software architecture its name.
IT environments are in a constant state of change, so the
work of a service-oriented architect is never done.
04/22/23 Dr.Withalm18 SOA Bratislava
The Service Fabric
All different services available inside or outside an organization can be seen as a large network of computing resources where each node is providing a distinctive service to users and programs alike – the network becomes a service fabric – the ecosystem for the enterprise.
04/22/23 Dr.Withalm20 SOA Bratislava
The New Application
The application as a network of services - the whole is more than the sum of its parts…
04/22/23 Dr.Withalm21 SOA Bratislava
Vision
The future of the application is the virtual collection of services based on the Service Oriented Architecture developed and enhanced on demand and made available for service consumption in the service fabric of the Internet of tomorrow.
04/22/23 Dr.Withalm23 SOA Bratislava
Service Categories
User (Interface) Services Business (Logic) Services Data (Backend) Services
04/22/23 Dr.Withalm24 SOA Bratislava
User Services
UserService
BusinessService
BusinessService
BusinessService
04/22/23 Dr.Withalm25 SOA Bratislava
Business Services
The programmatic access of a service and its (business) functionality is the main aspect of a service - often called a Business Logic Service.
This Business Service has to provide a distinctive service to its service consumers and can utilize other services to fulfill its task.
BusinessService
04/22/23 Dr.Withalm26 SOA Bratislava
Data Services
The data store is accessed through standardized protocols and is exchanging data in XML format.
BusinessService
Data (Backend) Service
04/22/23 Dr.Withalm27 SOA Bratislava
Service Manager Pattern
The service manager acts not only as a proxy for the business component but depending on the capabilities of the web server and
component container might also manage several other activities important to the delivery of web service
such as data and protocol translation, security, or state management.
ServiceClient
ServiceManager
ServiceImplementation
04/22/23 Dr.Withalm28 SOA Bratislava
Aggregation
BusinessService
BusinessService
BusinessService
BusinessService
04/22/23 Dr.Withalm29 SOA Bratislava
Integration
DataStore
BusinessService
Messages
Component
04/22/23 Dr.Withalm30 SOA Bratislava
Orchestration
BusinessService
BusinessService
BusinessService
BusinessService
04/22/23 Dr.Withalm31 SOA Bratislava
Services Orchestration and Choreography /1
No service is an island.
The key point about service-oriented computing is
that involves extended, loosely coupled activities
among two or more autonomous business partners.
Such activities can be thought of
as (business) processes that engage several services in a manner
that brings about the desired (business) outcome.
04/22/23 Dr.Withalm32 SOA Bratislava
Services Orchestration and Choreography /2
Web services are rapidly emerging as the most practical approach
for integrating a wide array of customer, vendor, and business-partner applications.
While many companies have begun to deploy individual Web services,
the real value will come when enterprises can connect services together,
providing higher value to an organisation.
04/22/23 Dr.Withalm33 SOA Bratislava
Services Orchestration and Choreography /3
In order to communicate and integrate services
for achieving a collaboration between enterprises,
it will be necessary to coordinate them,
which involve the necessity of offering support to the services composition.
Early experience shows that to make the most of new Web services investments
there must be a standard approach to Web services composition.
04/22/23 Dr.Withalm34 SOA Bratislava
Services Orchestration and Choreography /4Orchestration/1
Refers to an executable business process
that may interact with both internal and external Web services.
Orchestration describes how Web services can interact at the message level,
including the business logic and execution order of the interactions.
04/22/23 Dr.Withalm35 SOA Bratislava
Services Orchestration and Choreography /5Orchestration/2
These interactions may span applications and/or organisations,
and result in a long-lived, transactional process.
With orchestration, the process is always controlled
from the perspective of one of the business parties.
It takes the view of a process as a program or a partial order of operations
that need to be executed.
04/22/23 Dr.Withalm36 SOA Bratislava
Services Orchestration and Choreography/6Choreography/1
More collaborative in nature,
where each party involved in the process
describes the part they play in the interaction.
Choreography tracks the sequence of messages
that may involve multiple parties and multiple sources.
04/22/23 Dr.Withalm37 SOA Bratislava
Services Orchestration and Choreography/7Choreography/2
It is associated with the public message exchanges
that occur between multiple Web services.
this takes the view of a process as being
a set of message exchanges between participants.
04/22/23 Dr.Withalm38 SOA Bratislava
Services Orchestration and Choreography/8
04/22/23 Dr.Withalm39 SOA Bratislava
Services Orchestration and Choreography/9
Orchestration differs from choreography in that it describes
a process flow between services,
controlled by a single party.
More collaborative in nature (see above Figure),
choreography tracks the sequence of messages
involving multiple parties,
where no one party truly “owns” the conversation.
04/22/23 Dr.Withalm40 SOA Bratislava
Services Orchestration and Choreography/10
It could be distinguished as Orchestration defines procedure
and Choreography defines protocol.
Above figure shows this issue,
where in "orchestration" there is a defined flow of processes
that will be executed,
and in "choreography" each WS knows
how it should act when an event comes in.
04/22/23 Dr.Withalm41 SOA Bratislava
Aggregation Tier
PresentationService
AggregationService
Presentation Tier
Aggregation Tier
Business Logic Tier
Data Tier
BusinessService
BusinessService
DataService
04/22/23 Dr.Withalm42 SOA Bratislava
ObjectProgram
ComponentHomogeneous Application
Service-Oriented ArchitectureSmall Enterprise, Complex Applications
Web ServicesB2B Market, Global Enterprise
ORB
MOM
Typical Access Via:
OOD
CBD
SOA
Tim
e
HTTP + XML
Evolution of Application Deployment Styles
Source: 2003
04/22/23 Dr.Withalm43 SOA Bratislava
Programming Paradigm
It is there and running, simply connect and use.
Print Service
Service Consumer
Archiving Service
Back Office Service
Put together to build a complex device
Wire together to build a small device
Programming Paradigm
Object Orientation:Aligned with fine-grained business objects Reuse of source code based on the notion of typesIncreased maintainability and modifiability of the program code through encapsulationComponent Orientation:Aligned with mid-grained business functions Reuse based on prefabricated, executable codeIncreased maintainability and modifiability of the application through compositionService Orientation:Aligned with coarse-grained business processesFlexibility and extensibility through composition, federation, and orchestration of servicesIncreased interoperability and scalability through loose-coupling
Real World Analogy
04/22/23 Dr.Withalm44 SOA Bratislava
Programming Approaches/1Declarative programming
describes only the problem inference mechanism tries to solve the problem
described provided by the respective program runtime
environment e.g. Prolog
04/22/23 Dr.Withalm45 SOA Bratislava
Programming Approaches/2Event-driven programming
reacts to outside events and takes corresponding action typical programs developed with this approach include
graphical user interfaces that react to user input control programs that react to external environmental
conditions, e.g. to changes in temperature
04/22/23 Dr.Withalm46 SOA Bratislava
Programming Approaches/3Procedural programming
Represents a sequential algorithm which is being executed step by step
The execution of the algorithm is governed by data which can also be modified by the algorithm
04/22/23 Dr.Withalm47 SOA Bratislava
Programming Approaches/4Structured programming
Extension of procedural programming The main problem is broken down into several sub problems
each sub problem is solved Advantage: considerable simplification of individual algorithms
functions, procedures or modules The overall program is also easier to maintain and service
04/22/23 Dr.Withalm48 SOA Bratislava
Impact – Development / Project Management
Keeping InvestmentsSmall (Changes)Focus is KnowledgePlatform AgnosticArchitecture Centric
More like CMOngoing ActivityFocus is OperationBusiness Driven
04/22/23 Dr.Withalm49 SOA Bratislava
Service-Oriented Architecture
Develop Orchestrate
DeploySecure
Access
Integrate
Manage
Analyze
04/22/23 Dr.Withalm50 SOA Bratislava
ROI Improvements
ROI
Time
Objects
Components
Services
04/22/23 Dr.Withalm51 SOA Bratislava
Component Concepts
Topics
Standardization Proprietary Proprietary Open
Coupling Tight Tight Loose
Granularity Fine Fine to Coarse Business relevant
Implementation Monolithic Separate Independent
Interfaces Defined Formal Contractual
Objects Components Services
04/22/23 Dr.Withalm52 SOA Bratislava
Componentization
ROI
Time
Custom
EAI
Services
04/22/23 Dr.Withalm53 SOA Bratislava
Componentization Concepts
Topics
Standardization Proprietary Proprietary Open
Separation Applicationspecific
Applicationindependent
Implementationindependent
Scope Internal Some external Internal/External
Custom EAI Services
04/22/23 Dr.Withalm54 SOA Bratislava
Evolution of SOA
Scope
Granularity
Events
Services
Components
Methods
Subroutines
TechnicalComponents
BusinessComponents
Affinity withBusiness Models
(Source: Gartner)
04/22/23 Dr.Withalm56 SOA Bratislava
Defining ‘Event’
Ordinary event: Something that happened in the real world. A large or small change in the state of the universe.
Ordinary business event: A meaningful change in the state of the enterprise or of something relevant to the enterprise, such as a customer order, an employee address change, the arrival of a shipment at a loading dock, a bill payment or a truck breakdown.
Software event: A binary record of an ordinary event. Data, often packaged in the form of a message or electronic document, that describes an ordinary event.
(Source: Gartner)
04/22/23 Dr.Withalm57 SOA Bratislava
Event-Driven Business Processes
Conventional: Build-to-stock Event-driven: Build-to-order
Conventional: Static pricing Event-driven: Yield management through dynamic pricing
Conventional: Periodic reports and ad hoc inquiry Event-driven: Supply chain monitoring
(Source: Gartner)
04/22/23 Dr.Withalm58 SOA Bratislava
Events Are Already Applied in Many Ways
Event-Driven Business Processes (With or Without Computers) Work is triggered by a stimulus from outside.
Event-Driven (or “Message-Driven”) Application Systems An application system organizes its flow around the sending and receiving
of computer events.
Event-Driven System Software Operating systems use event loops to schedule and dispatch internal
services; management tools track the status of hardware and software components by listening to events.
Event-Driven Function in an Application Program A particular section of a GUI application is triggered when a mouse is
clicked on the associated screen icon.
(Source: Gartner)
04/22/23 Dr.Withalm59 SOA Bratislava
Business Components: Service-Oriented
Service-Oriented Architecture Interaction Uses interface metadata One-to-one connections Client directs flow Data flows are predictable and linear Closed to unforeseen input once process begins
Client Server
InterfaceProxy
InterfaceStub
(Source: Gartner)
04/22/23 Dr.Withalm60 SOA Bratislava
Business Components: Event-Driven
Event-Driven Notification Uses event descriptor metadata Many-to-many connections Sink (recipient) determines flow of logic Dynamic, parallel, asynchronous flows Can react to new external input while process is in
flight
Source SinkEvent
(Source: Gartner)
04/22/23 Dr.Withalm61 SOA Bratislava
Business Component Architecture
SOA Interaction Coupled Conversational Subordinate Closed-ended
EDA Notification Decoupled Notification/subscription Autonomous Open-ended
(Source: Gartner)
04/22/23 Dr.Withalm62 SOA Bratislava
Business Components - Five Patterns
SOA InteractionConversational
Request/Reply
ProgramA
ProgramB
“Microflow” Process
ProgramA
ProgramB
Call
Return
ProgramA
ProgramB
Send
Receive
ProgramA
ProgramB
Put
GetQueue
Event NotificationMessage Passing
Store and Forward
Publish and Subscribe ProgramA
ProgramB
ProgramB
Publish
Subscribe
Coupled
De-Coupled
04/22/23 Dr.Withalm63 SOA Bratislava
Enterprise Service Bus (ESB)
An Enterprise Service Bus is an emerging standard for integrating enterprise applications in an
implementation-independent fashion at a coarse-grained service level (leveraging the
principles of service-oriented architecture) via an event-driven and XML-based¹ messaging
engine (the bus). An enterprise service bus generally provides an
abstraction layer on top of an Enterprise Messaging System which allows integration architects to exploit the value
of messaging without writing code.
04/22/23 Dr.Withalm64 SOA Bratislava
ESB - Overview
In an ESB, applications and event-driven services are tied together in a loosely coupled fashion. This allows them to operate independently from one another while still providing value to a broader business function.
04/22/23 Dr.Withalm65 SOA Bratislava
Service and Service Container
Ser vi ce
Service Container
Invocation and Management Framework
Service Endpoint
Service Messaging System(Enterprise Service Bus - ESB)
Methods
Service Interface
04/22/23 Dr.Withalm66 SOA Bratislava
Service Variations
ESB
SOAP
HTTP
WS
Se
rv ice
Ap
plic
at io
n
Se
rv ice
Se
rv ice
We
b S
erv
ice
Ap
plica
t ion
Se
rv ice
Java
Java C# C++
04/22/23 Dr.Withalm68 SOA Bratislava
System Configuration and Monitoring
Service Container
Invocation and Management Framework
Ap
plic
atio
n
Cu
sto
m
Serv
ice
We
b S
erv
ice
Brid
ge
Ad
ap
ter
HTTPXXXX
Cu
sto
m
Se
rvic
e
SystemConfiguration
System Diagnostics&
Monitoring
Discovery&
Configuration
ESB
04/22/23 Dr.Withalm71 SOA Bratislava
Summary
Service Oriented Architecture (SOA) is an important step towards flexible and scalable solutions. Especially when seen not just as another RPC mechanism but rather as a message based communication means between business components.
The link with well-known Internet technologies is the foundation for the development of new applications and the backbone of integration with existing solutions.
The use of SOA and the integration of rich internet applications (RIA) is the cornerstone of the next generation of Web Applications.
SOA BratislavaSOA Bratislava
Thank youfor your attention!
SOA BratislavaSOA Bratislava
Thank youfor your attention!
04/22/23 Dr.Withalm75 SOA Bratislava
Farbpalette mit Farbcodes
Primäre Flächenfarbe:
R 215G 225B 225
R 130G 160B 165
R 170G 190B 195
R 220G 225B 230
R 145G 155B 165
R 185G 195B 205
R 255G 210B 078
R 229G 025B 055
R 245G 128B 039
R 000G 133B 062
R 000G 000B 000
R 000G 084B 159
R 255G 255B 255
Sekundäre Flächenfarben:
Akzentfarben:
R 255G 221B 122
R 236G 083B 105
R 248G 160B 093
R 064G 164B 110
R 064G 064B 064
R 064G 127B 183
R 255G 232B 166
R 242G 140B 155
R 250G 191B 147
R 127G 194B 158
R 127G 127B 127
R 127G 169B 207
R 255G 244B 211
R 248G 197B 205
R 252G 223B 201
R 191G 224B 207
R 191G 191B 191
R 191G 212B 231
R 255G 250B 237
R 252G 232B 235
R 254G 242B 233
R 229G 243B 235
R 229G 229B 229
R 229G 238B 245