SlideShare a Scribd company logo
1 of 23
1
CAiSE 2013 - Valencia, Spain
2
Service Oriented Architecture (SOA) is
a software construction model
Software-as-a-Service is
a software delivery model
• Two models complement each other [Laplante et al., 2008]
• SOA principles are used to design and develop SaaS applications.
• SaaS provides components for SOA.
• In SaaS model, a vendor maintains the software and its infrastructure whilst
tenants pay for use, i.e., rent the software.
3
• Demand for services can fluctuate and might be difficult to predict
• Tenants may join or leave
• Demand of an individual tenant may fluctuate (elasticity guarantee)
• The application need to scale-out/in depending on the demand.
Let us use an example scenario...
4
• RoSAS : Roadside Assistance as a Service.
Tow Trucks Call Center Garages Paramedics Taxis
Tenants
SaaS
vendor
3rd party
business
services
5
6
• Demand fluctuations
• Tenants (e.g., Travel agency) may join or leave during the runtime.
• A tenant may add / remove its own customers (e.g., travellers).
• More third party services (e.g., Repair stations, Tow trucks) need to be bound,
when the demand is high.
• Affiliating with unnecessarily large number of services could be not economical,
so services need to be released when the demand is low.
This sounds similar to the classical scalability issue in
computational or data services !
A business-service bound to a composition could be
treated as a computational or data storage unit ???
• Well.. there are additional considerations associated with business services.
7
1. Typically, the business services are not homogenous like data storages or
computational service instances. There are varying business requirements.
Not even among the same type of services.
E.g.,
Garage service A: Need a bonus payment upon every 10th request.
Garage service B: No bonus payment required but need an advance payment.
2. Typically, the business services are autonomous and managed by third party
business organizations. In certain cases, the composite need to be adapted to
accommodate changes of these business services.
E.g.,
Garage service A (earlier): Need a bonus payment upon every 10th request.
Garage service A (now) : Need a bonus payment upon every 5th request.
8
1. Design should be extensible to increase and decrease the number of services
that could be accommodated.
2. Commonalities and variations needs to be captured in the design and managed
at runtime.
3. Middleware needs to ensure there is minimal disruptions during adaptations.
ROAD4SaaS...
9
• SaaS application is viewed as a hierarchy of organizations.
• Organization hierarchy can grow or shrink to accommodate more or less partner
services.
• Relationships between services (Service Relationships) are explicit in the design
of the organization.
10
Let us consider the RoSAS example scenario.
WeCall.com FastRepairs.com
JimsTow.com
Mr. John Doe
A contract
A player
A role
11
• Root Organization is the initial design of the composite.
Root Organization
(The initial design)
Player
Role Interface
12
• A contract representing a service-relationship consists of
• Facts: A set of parameters to capture the contract state, e.g., total repair
count, Allowed repair types.
• Interaction terms: A set of well-defined interactions between two roles, e.g.,
orderRepair(), payRepair(), noMoreCapacity().
• Rules: A set of evaluation rules to evaluate ongoing interactions against
contract state [Kapuruge et al., 2012].
The contract CC-GR
13
• Increased demand –> more players need to be bound -> scale-out the
organization.
Root Organization
FastRepairs.com
AceRepairs.com
BestRepairs.com
Expansion Organization,
GR_ExpOrg
Role Interaction Description
is a projection of interaction terms
of adjoining contracts of the
expansion role.
Expansion Role
14
Root Organization
FastRepairs.com
AceRepairs.com
BestRepairs.com
FastTow.com
JimsTow.com
(Virtual) Organizational
Hierarchy
15
16
17
F1, F2
R1, R2, R3
F3
F4,F5
F5
R4
R5
R6,R7
• In an organization hierarchy,
• Contracts of higher level organization capture commonalities.
• Contracts of lower level organizations capture variations.
Facts= F1, F2, F3, F4, F5
Rules = R1, R2, R3, R4, R5, R6, R7
18
• Extend Apache Axis2 [Kapuruge, EDOC-2011].
• Messages in XML/SOAP, Interface in WSDL 2.0
• Seamless access to WS-* , e.g., WS-Security.
• ROAD Framework [Colman, 2008].
• Role Oriented Adaptive Design
• Scale-out/in operations – on top of basic ROAD operations,
e.g., addRole(), removeRole(), addOperation(), removeOperation().
• Contracts
• Drools 5.0 StatefulKnowledgeSessions
• Scale-out/in operations can be scheduled via Adaptation Scripts.
[Kapuruge, 2012]
19
20
• Scale-out operation is slower than Scale-in.
• Rule deployments and contract population etc.
21
• GridSaaS: Grid-enabled, SOA-based SaaS application platform.
• Lack of support for integrating business services with varying capabilities.
• Component references of SCA (Service Component Architecture)
• Lack of support for explicitly capture the complex and heterogeneous
business service relationships.
• Cloud Service Bus: An ESB-enabled
• Lack of support for capturing commonalities and variations.
• Proxy-based: E.g., TRAP/BPEL.
• Helps to Scale-out/in, but lack of support for capturing commonalities and
variations.
Approach [16] [17] [6] [8] [18] [19] [7] [20] [21] ROAD4SaaS
Req1 - - ~ + + + + + - +
Req2 - - - - - - - - ~ +
Req3 - - ~ + + ~ - + + +
22
• [Laplante, 2008] : What's in a Name? Distinguishing between SaaS and
SOA. IT Professional. Vol. 10,pp. 46-50 (2008)
• [Kapuruge, 2012]: Representing Service-Relationships as First Class
Entities in Service Orchestrations. WISE 2012, Paphos, Cyprus. Springer
LNCS, pp 257-270 (2012).
• [Kapuruge, EDOC-2011]: ROAD4WS – Extending Apache Axis2 for Adaptive
Service Compositions. In: IEEE International Conference on Enterprise
Distributed Object Computing (EDOC) pp. 183-192. IEEE Pres, (2011).
23

More Related Content

What's hot

Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)Attune Infocom Pvt Ltd
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentationerichleipold
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service BusHamed Hatami
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOAWSO2
 
Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Tammo van Lessen
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)prksh89
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusFolio3 Software
 
Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Frank Munz
 
OTM DELIVERED : How Business Process Outsourcing and Preconfigured Solutions...
OTM DELIVERED: How Business Process Outsourcing and Preconfigured Solutions...OTM DELIVERED: How Business Process Outsourcing and Preconfigured Solutions...
OTM DELIVERED : How Business Process Outsourcing and Preconfigured Solutions...MavenWire
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Brian Petrini
 
ESB Presentation
ESB PresentationESB Presentation
ESB PresentationF K
 
Language (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based ServicesLanguage (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based ServicesBrian Elvesæter
 
Best Practices for Managing and Monitoring WebSphere Message Broker
Best Practices for Managing and Monitoring WebSphere Message BrokerBest Practices for Managing and Monitoring WebSphere Message Broker
Best Practices for Managing and Monitoring WebSphere Message BrokerCorrelsense
 
Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...Brian Petrini
 

What's hot (20)

Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0
 
7 eai-patterns
7 eai-patterns7 eai-patterns
7 eai-patterns
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial
 
ESB Overview
ESB OverviewESB Overview
ESB Overview
 
OTM DELIVERED : How Business Process Outsourcing and Preconfigured Solutions...
OTM DELIVERED: How Business Process Outsourcing and Preconfigured Solutions...OTM DELIVERED: How Business Process Outsourcing and Preconfigured Solutions...
OTM DELIVERED : How Business Process Outsourcing and Preconfigured Solutions...
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
 
ESB Presentation
ESB PresentationESB Presentation
ESB Presentation
 
Overview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech MeetupOverview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech Meetup
 
Language (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based ServicesLanguage (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based Services
 
Enterprise Service Bus Part 1
Enterprise Service Bus Part 1Enterprise Service Bus Part 1
Enterprise Service Bus Part 1
 
Best Practices for Managing and Monitoring WebSphere Message Broker
Best Practices for Managing and Monitoring WebSphere Message BrokerBest Practices for Managing and Monitoring WebSphere Message Broker
Best Practices for Managing and Monitoring WebSphere Message Broker
 
Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...
 
Principles of Service Orientation
Principles of Service OrientationPrinciples of Service Orientation
Principles of Service Orientation
 

Similar to CAiSE 2013 - Roadside Assistance as a Service Model

Comprehensive Information on Software as a Service
Comprehensive Information on Software as a ServiceComprehensive Information on Software as a Service
Comprehensive Information on Software as a ServiceHTS Hosting
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOACoi Xay
 
Reservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech reportReservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech reportpsanjeev
 
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
 
Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2Techglyphs
 
IRJET- An Overview on Cloud Computing and Challenges
IRJET-  	  An Overview on Cloud Computing and ChallengesIRJET-  	  An Overview on Cloud Computing and Challenges
IRJET- An Overview on Cloud Computing and ChallengesIRJET Journal
 
Changes in Necessities Trade After Migrating to the SaaS Model
Changes in Necessities Trade After Migrating to the SaaS ModelChanges in Necessities Trade After Migrating to the SaaS Model
Changes in Necessities Trade After Migrating to the SaaS ModelIRJET Journal
 
Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture Ravindra Dastikop
 
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.auSoftware as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.auSusan Diaz
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSandeep Ganji
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET Journal
 
Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)Ravindra Dastikop
 
IRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud ServicesIRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud ServicesIRJET Journal
 
Salesforce.com – A Cloud Provider
Salesforce.com – A Cloud ProviderSalesforce.com – A Cloud Provider
Salesforce.com – A Cloud ProviderIRJET Journal
 

Similar to CAiSE 2013 - Roadside Assistance as a Service Model (20)

Variability as a service
Variability as a serviceVariability as a service
Variability as a service
 
Comprehensive Information on Software as a Service
Comprehensive Information on Software as a ServiceComprehensive Information on Software as a Service
Comprehensive Information on Software as a Service
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOA
 
Reservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech reportReservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech report
 
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
 
20150113
2015011320150113
20150113
 
Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2
 
IRJET- An Overview on Cloud Computing and Challenges
IRJET-  	  An Overview on Cloud Computing and ChallengesIRJET-  	  An Overview on Cloud Computing and Challenges
IRJET- An Overview on Cloud Computing and Challenges
 
SaaS.pptx
SaaS.pptxSaaS.pptx
SaaS.pptx
 
Changes in Necessities Trade After Migrating to the SaaS Model
Changes in Necessities Trade After Migrating to the SaaS ModelChanges in Necessities Trade After Migrating to the SaaS Model
Changes in Necessities Trade After Migrating to the SaaS Model
 
Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture
 
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.auSoftware as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management Firm
 
Api enablement-mainframe
Api enablement-mainframeApi enablement-mainframe
Api enablement-mainframe
 
Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)
 
IRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud ServicesIRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud Services
 
Salesforce.com – A Cloud Provider
Salesforce.com – A Cloud ProviderSalesforce.com – A Cloud Provider
Salesforce.com – A Cloud Provider
 
serverless serivices
serverless serivicesserverless serivices
serverless serivices
 
Serverless.pdf
Serverless.pdfServerless.pdf
Serverless.pdf
 

More from Malinda Kapuruge

Moving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMoving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMalinda Kapuruge
 
Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Malinda Kapuruge
 
Technical guidance in SaaS Startups
Technical guidance in SaaS StartupsTechnical guidance in SaaS Startups
Technical guidance in SaaS StartupsMalinda Kapuruge
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveMalinda Kapuruge
 
Devops - why, what and how?
Devops - why, what and how?Devops - why, what and how?
Devops - why, what and how?Malinda Kapuruge
 
SaaS startups - Software Engineering Challenges
SaaS startups - Software Engineering ChallengesSaaS startups - Software Engineering Challenges
SaaS startups - Software Engineering ChallengesMalinda Kapuruge
 
Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Malinda Kapuruge
 
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...Malinda Kapuruge
 
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Malinda Kapuruge
 
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...
Supporting Adaptation Patterns in the Event-driven Business Process Modell...Malinda Kapuruge
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications Malinda Kapuruge
 

More from Malinda Kapuruge (12)

Moving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMoving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learnt
 
Be DevOps Ready
Be DevOps ReadyBe DevOps Ready
Be DevOps Ready
 
Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.
 
Technical guidance in SaaS Startups
Technical guidance in SaaS StartupsTechnical guidance in SaaS Startups
Technical guidance in SaaS Startups
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
 
Devops - why, what and how?
Devops - why, what and how?Devops - why, what and how?
Devops - why, what and how?
 
SaaS startups - Software Engineering Challenges
SaaS startups - Software Engineering ChallengesSaaS startups - Software Engineering Challenges
SaaS startups - Software Engineering Challenges
 
Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...
 
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
 
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
 
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

CAiSE 2013 - Roadside Assistance as a Service Model

  • 1. 1 CAiSE 2013 - Valencia, Spain
  • 2. 2 Service Oriented Architecture (SOA) is a software construction model Software-as-a-Service is a software delivery model • Two models complement each other [Laplante et al., 2008] • SOA principles are used to design and develop SaaS applications. • SaaS provides components for SOA. • In SaaS model, a vendor maintains the software and its infrastructure whilst tenants pay for use, i.e., rent the software.
  • 3. 3 • Demand for services can fluctuate and might be difficult to predict • Tenants may join or leave • Demand of an individual tenant may fluctuate (elasticity guarantee) • The application need to scale-out/in depending on the demand. Let us use an example scenario...
  • 4. 4 • RoSAS : Roadside Assistance as a Service. Tow Trucks Call Center Garages Paramedics Taxis Tenants SaaS vendor 3rd party business services
  • 5. 5
  • 6. 6 • Demand fluctuations • Tenants (e.g., Travel agency) may join or leave during the runtime. • A tenant may add / remove its own customers (e.g., travellers). • More third party services (e.g., Repair stations, Tow trucks) need to be bound, when the demand is high. • Affiliating with unnecessarily large number of services could be not economical, so services need to be released when the demand is low. This sounds similar to the classical scalability issue in computational or data services ! A business-service bound to a composition could be treated as a computational or data storage unit ??? • Well.. there are additional considerations associated with business services.
  • 7. 7 1. Typically, the business services are not homogenous like data storages or computational service instances. There are varying business requirements. Not even among the same type of services. E.g., Garage service A: Need a bonus payment upon every 10th request. Garage service B: No bonus payment required but need an advance payment. 2. Typically, the business services are autonomous and managed by third party business organizations. In certain cases, the composite need to be adapted to accommodate changes of these business services. E.g., Garage service A (earlier): Need a bonus payment upon every 10th request. Garage service A (now) : Need a bonus payment upon every 5th request.
  • 8. 8 1. Design should be extensible to increase and decrease the number of services that could be accommodated. 2. Commonalities and variations needs to be captured in the design and managed at runtime. 3. Middleware needs to ensure there is minimal disruptions during adaptations. ROAD4SaaS...
  • 9. 9 • SaaS application is viewed as a hierarchy of organizations. • Organization hierarchy can grow or shrink to accommodate more or less partner services. • Relationships between services (Service Relationships) are explicit in the design of the organization.
  • 10. 10 Let us consider the RoSAS example scenario. WeCall.com FastRepairs.com JimsTow.com Mr. John Doe A contract A player A role
  • 11. 11 • Root Organization is the initial design of the composite. Root Organization (The initial design) Player Role Interface
  • 12. 12 • A contract representing a service-relationship consists of • Facts: A set of parameters to capture the contract state, e.g., total repair count, Allowed repair types. • Interaction terms: A set of well-defined interactions between two roles, e.g., orderRepair(), payRepair(), noMoreCapacity(). • Rules: A set of evaluation rules to evaluate ongoing interactions against contract state [Kapuruge et al., 2012]. The contract CC-GR
  • 13. 13 • Increased demand –> more players need to be bound -> scale-out the organization. Root Organization FastRepairs.com AceRepairs.com BestRepairs.com Expansion Organization, GR_ExpOrg Role Interaction Description is a projection of interaction terms of adjoining contracts of the expansion role. Expansion Role
  • 15. 15
  • 16. 16
  • 17. 17 F1, F2 R1, R2, R3 F3 F4,F5 F5 R4 R5 R6,R7 • In an organization hierarchy, • Contracts of higher level organization capture commonalities. • Contracts of lower level organizations capture variations. Facts= F1, F2, F3, F4, F5 Rules = R1, R2, R3, R4, R5, R6, R7
  • 18. 18 • Extend Apache Axis2 [Kapuruge, EDOC-2011]. • Messages in XML/SOAP, Interface in WSDL 2.0 • Seamless access to WS-* , e.g., WS-Security. • ROAD Framework [Colman, 2008]. • Role Oriented Adaptive Design • Scale-out/in operations – on top of basic ROAD operations, e.g., addRole(), removeRole(), addOperation(), removeOperation(). • Contracts • Drools 5.0 StatefulKnowledgeSessions • Scale-out/in operations can be scheduled via Adaptation Scripts. [Kapuruge, 2012]
  • 19. 19
  • 20. 20 • Scale-out operation is slower than Scale-in. • Rule deployments and contract population etc.
  • 21. 21 • GridSaaS: Grid-enabled, SOA-based SaaS application platform. • Lack of support for integrating business services with varying capabilities. • Component references of SCA (Service Component Architecture) • Lack of support for explicitly capture the complex and heterogeneous business service relationships. • Cloud Service Bus: An ESB-enabled • Lack of support for capturing commonalities and variations. • Proxy-based: E.g., TRAP/BPEL. • Helps to Scale-out/in, but lack of support for capturing commonalities and variations. Approach [16] [17] [6] [8] [18] [19] [7] [20] [21] ROAD4SaaS Req1 - - ~ + + + + + - + Req2 - - - - - - - - ~ + Req3 - - ~ + + ~ - + + +
  • 22. 22 • [Laplante, 2008] : What's in a Name? Distinguishing between SaaS and SOA. IT Professional. Vol. 10,pp. 46-50 (2008) • [Kapuruge, 2012]: Representing Service-Relationships as First Class Entities in Service Orchestrations. WISE 2012, Paphos, Cyprus. Springer LNCS, pp 257-270 (2012). • [Kapuruge, EDOC-2011]: ROAD4WS – Extending Apache Axis2 for Adaptive Service Compositions. In: IEEE International Conference on Enterprise Distributed Object Computing (EDOC) pp. 183-192. IEEE Pres, (2011).
  • 23. 23