SlideShare a Scribd company logo
1 of 17
Chapter 1
Service Design Patterns By addison wesley
From Objects
to Web Services
Introduction
Service Design Patterns By addison wesley
 Service developers are confronted with a long list of
questions.
 How can clients and services communicate, and what
are the foundations for creating complex conversations
in which multiple parties exchange data over extended
periods of time?
 What are the options for implementing service logic,
and when should a particular approach be used?
 How can clients become less coupled to the underlying
systems used by a service?
 What changes to a service cause clients to break?
Introduction
Service Design Patterns By addison wesley
 What are the common ways to version a service?
 How can services be designed to support the
continuing evolution of business logic without
forcing clients to constantly upgrade?
Web Services
Service Design Patterns By addison wesley
 service has been used to refer to any software
function that carries out a business task, provides
access to files or performs generic functions like
authentication or logging.
 There are many ways to implement services like
CORBA and DCOM, REST and SOAP/WSDL.
 Web services provide the means to integrate
disparate systems and expose reusable business
functions over HTTP
 SOAP/WSDL, RESTful service
From Local Objects to Distributed
Objects
Service Design Patterns By addison wesley
 Components were devised as a means to facilitate
software reuse across disparate programming
languages
 Since developers who use components cannot see or
modify the internals of a component, the form of reuse
they offer is called black-box reuse
 Objects were eventually deployed to remote servers
in an effort to share and reuse the logic they
encapsulated
 Distributed objects not only existed in separate
address spaces but also occurred on different
machines
From Local Objects to Distributed
Objects
Service Design Patterns By addison wesley
 Clients that wished to use
distributed objects could leverage a
# of remoting technologies like
CORBA, DCOM, Java Remote
Method Invocation (RMI)
 The compilation process for these
technologies produced a binary
library that included a Remote Proxy
[GoF]
From Local Objects to Distributed
Objects
Service Design Patterns By addison wesley
 Cons
 complex for developers to implement
 the process used to serialize and deserialize
objects was not standardized across vendor
implementations.
 clients and objects created with different vendor
toolkits often had problems talking to each other
 In some cases, a large number of ports had to be
opened
From Local Objects to Distributed
Objects
Service Design Patterns By addison wesley
 Distributed objects typically maintained state
between client calls. This led to a number of
problems that hindered scalability.
 Server memory utilization degraded with increased client
load.
 Effective load-balancing techniques were more difficult to
implement and manage because session state was often
reserved for the client.
 The server had to implement a strategy to release the
memory allocated for a specific client instance.
Why Use Web Services?
Service Design Patterns By addison wesley
 relatively easy to reuse and share common logic with
such diverse clients as mobile, desktop, and web
applications
 because they rely on open standards that are
ubiquitous, interoperable across different computing
platforms, and independent of the underlying execution
technologies
 facilitate rapid application integration
 much easier to learn and implement as compare to
its predecessors.
 facilitate the creation of complex business processes
through service composition.
Why Use Web Services?
Service Design Patterns By addison wesley
Web Service Considerations and
Alternatives
Service Design Patterns By addison wesley
 Web services are “expensive” to call.
 If the service provides a “complex type” as a response
 then the web service must serialize and transmit its
response, and the client must deserialize it.
 web service calls typically entail distributed
communications
 This means that client and service developers alike must
be prepared to handle partial failures
 Services may even crash while processing a request.
 Clients may crash too, in which case the service may
have no way to return a response
Services and the Promise of
Loose Coupling
Service Design Patterns By addison wesley
 Coupling is the degree to which some entity (e.g.,
client) depends on another entity.
 Web services can eliminate the client’s dependencies
on the underlying technologies used by a service.
 The following list describes a few forms of coupling
that always exist.
 Function coupling
 Data structure coupling
 Temporal coupling
 URI coupling
Function coupling
Service Design Patterns By addison wesley
 Clients expect services to consistently produce
certain results given certain types of input under
particular scenarios.
 Clients are therefore indirectly dependent on the
logic implemented by web services
 The client will most certainly be affected if this
logic is implemented incorrectly or is changed.
Data structure coupling
Service Design Patterns By addison wesley
 Clients must understand the data structures that
a service receives and returns, the data types
used in these structures, and the character
encodings (e.g., Unicode) used in messages
 The client may also need to know what HTTP
status codes the service returns
 Service developers must be careful to refrain from
including platform-specific data types (e.g., dates)
in data structures
Temporal coupling
Service Design Patterns By addison wesley
 A high degree of temporal coupling exists when a request
must be processed as soon as it’s received
 The implication is that the systems (e.g., databases, legacy or
packaged applications, etc.) behind the service must always
be operational.
 It can be reduced if the time at which a request is processed
can be deferred
 Web services can achieve this outcome with the
Request/Acknowledge pattern.
 Temporal coupling is also high if the client must block and wait
for a response
URI coupling
Service Design Patterns By addison wesley
 Clients are often tightly coupled to service URIs
 The following patterns can help to reduce the
client’s coupling to the service’s URI and location:
Linked Service (77), Service Connector (168),
Registry (220), and Virtual Service (222).
What about SOA?
Service Design Patterns By addison wesley
 A service-oriented architecture is a style of design
that guides all aspects of creating and using
business services throughout their lifecycle (from
conception to retirement). [Newcomer, Lomow, p.
13]
 Service Oriented Architecture (SOA) is a
paradigm for organizing and utilizing distributed
capabilities that may be under the control of
different ownership domains. [OASIS Ref Model]

More Related Content

What's hot

Service-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to ReusabilityService-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to ReusabilityYazd University
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?LANSA
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSyed Mustafa
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Biniam Asnake
 
Web 2.0 and STAR
Web 2.0 and STARWeb 2.0 and STAR
Web 2.0 and STARkingargyle
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soasmithaps4
 
SOA - Service Oriented Architecture ( Basic Concept & Principle )
SOA - Service Oriented Architecture ( Basic Concept & Principle )SOA - Service Oriented Architecture ( Basic Concept & Principle )
SOA - Service Oriented Architecture ( Basic Concept & Principle )DevTalk
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation TechnologiesPankaj Saharan
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architectureAmit Ranjan
 
Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented ArchitectureSamantha Geitz
 
DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010Spencer Harbar
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Mazhar Ishaq Khokhar
 
Office Business Applications in Financial Services
Office Business Applications in Financial ServicesOffice Business Applications in Financial Services
Office Business Applications in Financial ServicesMike Walker
 
DD105 Multi Tenancy in SharePoint 2010
DD105 Multi Tenancy in SharePoint 2010DD105 Multi Tenancy in SharePoint 2010
DD105 Multi Tenancy in SharePoint 2010Spencer Harbar
 
Cloud computing explained
Cloud computing explained Cloud computing explained
Cloud computing explained Juan Pablo
 

What's hot (20)

Service-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to ReusabilityService-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to Reusability
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Web 2.0 and STAR
Web 2.0 and STARWeb 2.0 and STAR
Web 2.0 and STAR
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soa
 
SOA - Service Oriented Architecture ( Basic Concept & Principle )
SOA - Service Oriented Architecture ( Basic Concept & Principle )SOA - Service Oriented Architecture ( Basic Concept & Principle )
SOA - Service Oriented Architecture ( Basic Concept & Principle )
 
Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architecture
 
Soa chapter 5
Soa chapter 5Soa chapter 5
Soa chapter 5
 
Introduction to SOA
Introduction to SOAIntroduction to SOA
Introduction to SOA
 
Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented Architecture
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010
 
Soa bpel-123
Soa bpel-123Soa bpel-123
Soa bpel-123
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Office Business Applications in Financial Services
Office Business Applications in Financial ServicesOffice Business Applications in Financial Services
Office Business Applications in Financial Services
 
DD105 Multi Tenancy in SharePoint 2010
DD105 Multi Tenancy in SharePoint 2010DD105 Multi Tenancy in SharePoint 2010
DD105 Multi Tenancy in SharePoint 2010
 
Cloud computing explained
Cloud computing explained Cloud computing explained
Cloud computing explained
 

Viewers also liked

Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012Hassan Modan
 
Vrije opdracht power point brugge
Vrije opdracht power point bruggeVrije opdracht power point brugge
Vrije opdracht power point bruggeEspeeckaert
 
1亭賢結婚11 10-8
1亭賢結婚11 10-81亭賢結婚11 10-8
1亭賢結婚11 10-8Emma Chang
 
Expeditie mont blanc
Expeditie mont blancExpeditie mont blanc
Expeditie mont blancEspeeckaert
 
橋頭花田喜事
橋頭花田喜事橋頭花田喜事
橋頭花田喜事Emma Chang
 
Comunicazione d'impresa base
Comunicazione d'impresa   baseComunicazione d'impresa   base
Comunicazione d'impresa basebeatess
 
Bipolar Disorder
Bipolar DisorderBipolar Disorder
Bipolar DisorderNicole Song
 
De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1KHBO
 
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3Syed Ali Raza
 
Presidents workshop 01.2012
Presidents workshop 01.2012Presidents workshop 01.2012
Presidents workshop 01.2012David Robinson
 
我們都有來喔
我們都有來喔我們都有來喔
我們都有來喔Emma Chang
 

Viewers also liked (20)

5亭賢結婚
5亭賢結婚5亭賢結婚
5亭賢結婚
 
Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012
 
琉球1
琉球1琉球1
琉球1
 
O auth2.0 20141003
O auth2.0 20141003O auth2.0 20141003
O auth2.0 20141003
 
北投
北投北投
北投
 
世運
世運世運
世運
 
2012過年3 2
2012過年3 22012過年3 2
2012過年3 2
 
Vrije opdracht power point brugge
Vrije opdracht power point bruggeVrije opdracht power point brugge
Vrije opdracht power point brugge
 
1亭賢結婚11 10-8
1亭賢結婚11 10-81亭賢結婚11 10-8
1亭賢結婚11 10-8
 
Expeditie mont blanc
Expeditie mont blancExpeditie mont blanc
Expeditie mont blanc
 
Nativos e inmigrantes
Nativos e inmigrantesNativos e inmigrantes
Nativos e inmigrantes
 
橋頭花田喜事
橋頭花田喜事橋頭花田喜事
橋頭花田喜事
 
Comunicazione d'impresa base
Comunicazione d'impresa   baseComunicazione d'impresa   base
Comunicazione d'impresa base
 
2亭賢結婚
2亭賢結婚2亭賢結婚
2亭賢結婚
 
Moon2011
Moon2011Moon2011
Moon2011
 
Bipolar Disorder
Bipolar DisorderBipolar Disorder
Bipolar Disorder
 
De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1
 
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
 
Presidents workshop 01.2012
Presidents workshop 01.2012Presidents workshop 01.2012
Presidents workshop 01.2012
 
我們都有來喔
我們都有來喔我們都有來喔
我們都有來喔
 

Similar to Chap 1

Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service ArchitectureIJERA Editor
 
Web Service
Web ServiceWeb Service
Web ServiceEri Alam
 
Arquitectura orientada a servicios
Arquitectura orientada a serviciosArquitectura orientada a servicios
Arquitectura orientada a serviciosbrizna39
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA PresentationMaulik Parikh
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentationmgp1560
 
Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008servicefinder
 
Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008Emanuele Della Valle
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservicesGagandeep Singh
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASMULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASijseajournal
 
Integrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process ServerIntegrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process ServerGaneshNagalingam1
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentationpavan nani
 
Business Integration
Business IntegrationBusiness Integration
Business Integrationmiriam
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOAMohamed Samy
 
Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Aravindharamanan S
 
Continuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service VirtualizationContinuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service Virtualizationiosrjce
 

Similar to Chap 1 (20)

Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service Architecture
 
Web Service
Web ServiceWeb Service
Web Service
 
soa ppt v7.ppt
soa ppt v7.pptsoa ppt v7.ppt
soa ppt v7.ppt
 
Arquitectura orientada a servicios
Arquitectura orientada a serviciosArquitectura orientada a servicios
Arquitectura orientada a servicios
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA Presentation
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentation
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008
 
Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
Soa web pres new
Soa web pres newSoa web pres new
Soa web pres new
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASMULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
 
Integrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process ServerIntegrating WebSphere Service Registry and Repository V8 with Process Server
Integrating WebSphere Service Registry and Repository V8 with Process Server
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentation
 
Business Integration
Business IntegrationBusiness Integration
Business Integration
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOA
 
Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0
 
Continuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service VirtualizationContinuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service Virtualization
 

Recently uploaded

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Recently uploaded (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

Chap 1

  • 1. Chapter 1 Service Design Patterns By addison wesley From Objects to Web Services
  • 2. Introduction Service Design Patterns By addison wesley  Service developers are confronted with a long list of questions.  How can clients and services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time?  What are the options for implementing service logic, and when should a particular approach be used?  How can clients become less coupled to the underlying systems used by a service?  What changes to a service cause clients to break?
  • 3. Introduction Service Design Patterns By addison wesley  What are the common ways to version a service?  How can services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade?
  • 4. Web Services Service Design Patterns By addison wesley  service has been used to refer to any software function that carries out a business task, provides access to files or performs generic functions like authentication or logging.  There are many ways to implement services like CORBA and DCOM, REST and SOAP/WSDL.  Web services provide the means to integrate disparate systems and expose reusable business functions over HTTP  SOAP/WSDL, RESTful service
  • 5. From Local Objects to Distributed Objects Service Design Patterns By addison wesley  Components were devised as a means to facilitate software reuse across disparate programming languages  Since developers who use components cannot see or modify the internals of a component, the form of reuse they offer is called black-box reuse  Objects were eventually deployed to remote servers in an effort to share and reuse the logic they encapsulated  Distributed objects not only existed in separate address spaces but also occurred on different machines
  • 6. From Local Objects to Distributed Objects Service Design Patterns By addison wesley  Clients that wished to use distributed objects could leverage a # of remoting technologies like CORBA, DCOM, Java Remote Method Invocation (RMI)  The compilation process for these technologies produced a binary library that included a Remote Proxy [GoF]
  • 7. From Local Objects to Distributed Objects Service Design Patterns By addison wesley  Cons  complex for developers to implement  the process used to serialize and deserialize objects was not standardized across vendor implementations.  clients and objects created with different vendor toolkits often had problems talking to each other  In some cases, a large number of ports had to be opened
  • 8. From Local Objects to Distributed Objects Service Design Patterns By addison wesley  Distributed objects typically maintained state between client calls. This led to a number of problems that hindered scalability.  Server memory utilization degraded with increased client load.  Effective load-balancing techniques were more difficult to implement and manage because session state was often reserved for the client.  The server had to implement a strategy to release the memory allocated for a specific client instance.
  • 9. Why Use Web Services? Service Design Patterns By addison wesley  relatively easy to reuse and share common logic with such diverse clients as mobile, desktop, and web applications  because they rely on open standards that are ubiquitous, interoperable across different computing platforms, and independent of the underlying execution technologies  facilitate rapid application integration  much easier to learn and implement as compare to its predecessors.  facilitate the creation of complex business processes through service composition.
  • 10. Why Use Web Services? Service Design Patterns By addison wesley
  • 11. Web Service Considerations and Alternatives Service Design Patterns By addison wesley  Web services are “expensive” to call.  If the service provides a “complex type” as a response  then the web service must serialize and transmit its response, and the client must deserialize it.  web service calls typically entail distributed communications  This means that client and service developers alike must be prepared to handle partial failures  Services may even crash while processing a request.  Clients may crash too, in which case the service may have no way to return a response
  • 12. Services and the Promise of Loose Coupling Service Design Patterns By addison wesley  Coupling is the degree to which some entity (e.g., client) depends on another entity.  Web services can eliminate the client’s dependencies on the underlying technologies used by a service.  The following list describes a few forms of coupling that always exist.  Function coupling  Data structure coupling  Temporal coupling  URI coupling
  • 13. Function coupling Service Design Patterns By addison wesley  Clients expect services to consistently produce certain results given certain types of input under particular scenarios.  Clients are therefore indirectly dependent on the logic implemented by web services  The client will most certainly be affected if this logic is implemented incorrectly or is changed.
  • 14. Data structure coupling Service Design Patterns By addison wesley  Clients must understand the data structures that a service receives and returns, the data types used in these structures, and the character encodings (e.g., Unicode) used in messages  The client may also need to know what HTTP status codes the service returns  Service developers must be careful to refrain from including platform-specific data types (e.g., dates) in data structures
  • 15. Temporal coupling Service Design Patterns By addison wesley  A high degree of temporal coupling exists when a request must be processed as soon as it’s received  The implication is that the systems (e.g., databases, legacy or packaged applications, etc.) behind the service must always be operational.  It can be reduced if the time at which a request is processed can be deferred  Web services can achieve this outcome with the Request/Acknowledge pattern.  Temporal coupling is also high if the client must block and wait for a response
  • 16. URI coupling Service Design Patterns By addison wesley  Clients are often tightly coupled to service URIs  The following patterns can help to reduce the client’s coupling to the service’s URI and location: Linked Service (77), Service Connector (168), Registry (220), and Virtual Service (222).
  • 17. What about SOA? Service Design Patterns By addison wesley  A service-oriented architecture is a style of design that guides all aspects of creating and using business services throughout their lifecycle (from conception to retirement). [Newcomer, Lomow, p. 13]  Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. [OASIS Ref Model]