Capability-driven development of a SOA platform:
a case study
FP 7 ICT Programme Collaborative Project no: 611351
International Workshop on Advances in Services DEsign based on the Notion of CApability ASDENCA 2014
S. España, T. González, J. Grabis, L. Jokste, R. Juanes and F. Valverde
Capability-driven development of a SOA platform:
a case study
FP 7 ICT Programme Collaborative Project no: 611351
International Workshop on Advances in Services DEsign based on the Notion of CApability ASDENCA 2014
Agenda
Introduction Research methodology Case study Lessons learned Conclusion
Introduction Capability-driven development of a SOA platform: a case study
This story has fictional elements!
What is a capability?
I want to sell ice creams in all Spain
Introduction Capability-driven development of a SOA platform: a case study
GoalCapability requires
Indicator
requires
influences
Context Set requires
Context Type
measured by
Pattern
requires
Process
motivates
Process Variant
Resource
Context Element
Measurable Property KPIContext
Indicator
requires
defines
supported by requires
related_to
Context Situation
has value
requires
has
Context Element Range
consists of
ContexElement
Value
consists of
Introduction Capability-driven development of a SOA platform: a case study
GoalCapability requires
Indicator
requires
influences
Context Set requires
Context Type
measured by
Pattern
requires
Process
motivates
Process Variant
Resource
Context Element
Measurable Property KPIContext
Indicator
requires
defines
supported by requires
related_to
Context Situation
has value
requires
has
Context Element Range
consists of
ContexElement
Value
consists of
Capability-‐driven development No empirical valida;ons We conduct a case study
Capability-driven development of a SOA platform:
a case study
FP 7 ICT Programme Collaborative Project no: 611351
International Workshop on Advances in Services DEsign based on the Notion of CApability ASDENCA 2014
Agenda
Introduction Research methodology Case study Lessons learned Conclusion
Practical problem investigation • Investigate the need for a capability-driven development methodology and tools (stakeholders, goals, criteria). • Phenomena, diagnosis.
Solution design • Explore available solutions by reviewing state of the art • Design a new solution; i.e. the CDD proposal under development in project CaaS: • Capability modelling (goals, context, enterprise). • Pattern-based solution (repository, rules). • Support tools (design and runtime environment).
Solution validation • Demonstrate feasibility with lab demos. • Evaluate the benefits, the trade-offs, and the sensitivity of the solution
Research problem investigation • Current knowledge (see Section 2). • Research questions (see Section 3). • Unit of study (see Section 4.1).
Research design • Select project (see Section 3). • Define research protocol and agree with company (see Section 3). • Define instruments
Research design validation • Ensure effectiveness of protocol and instruments • Validity threats trade-off (see Section 5).
Research execution • Conduct interviews, report project enactment (see Section 4.2).
Analysis of results • Collect lessons learned • Identify challenges (see Section 4.3).
Engineering cycle (performed in CaaS project) Research cycle (reported in this paper)
Research Capability-driven development of a SOA platform: a case study
This paper
Capability-driven development of a SOA platform:
a case study
FP 7 ICT Programme Collaborative Project no: 611351
International Workshop on Advances in Services DEsign based on the Notion of CApability ASDENCA 2014
Agenda
Introduction Research methodology Case study Lessons learned Conclusion
Company Project Capability modelling
Current situa;on
200 services 250 municipali;es 1.000.000 Spanish ci;zens Complex and dynamic context Customisa;on at code level
Main challenges
Model the desired capabili;es Model impact of context Towards context-‐aware, self-‐adap;ve plaIorm
Capability-driven development of a SOA platform: a case study Case study
People involved
Public Sector and R&D Manager Business Consultant Technological Consultant 4 researchers from UPV and RTU
Capability-driven development of a SOA platform: a case study Case study
Capacity: IT infrastructure, monitoring tool, developers, technicians. Ability: being able to deploy a maintenance portal. Enterprise: everis Goal: keep services available despite platform errors. Context: loss of connectivity w. other subsystems. Goal KPI: time service available / time error in platform
Capacity: swimming pool facilities, swimming coaches. Ability: offer the electronic service to request swimming course registration. Enterprise: municipality Goal: reduce cost of service provision. Context: amount of requests. Goal KPI: amount of money saved
Capability-driven development of a SOA platform: a case study Case study
everis staff originally created 8 distinct definitions
issues related to
Perspective Granularity
everis
municipality offer the electronic service
deploy a maintenance portal
Capability-driven development of a SOA platform: a case study Case study
LEG
END
ACTIVITYPRECEDENCE RELATIONSHIP
GOAL MODELLING KPI SPECIFICATION
STAKEHOLDER MODELLING
CONCEPT MODELLING
CAPABILITY MODELLING
IT ARCHITECTURE DESIGN DRAFT
CONTEXT MODELLING
BUSINESS PROCESS MODELING
PATTERNS MODELLING OR
SELECTION
Then researchers entered the scene and, together, we followed this process
Capability-driven development of a SOA platform: a case study Case study
G-13: TO IDENTIFY CHANGE PATTERNS
G-14: TO USE PATTERNS
G-15: TO MONITOR SERVICE DATA USAGE
IN THE PLATFORM
G-17: TO AUTOMATE RESPONSE CREATION
G-16: TO ENSURE INTEGRATION WITH OTHER SYSTEMS
G-12: TO KEEP SERVICES UP TO
CURRENT REQUIREMENTS
G-18: TO ENSURE CONTEXT AWARENESS DURING THE RUN TIME
G-11: TO ENSURE COMPLIANCE WITH
LEGAL FRAMEWORKG-10: PROVIDE ADEQUATE IT
INFRASTRUCTURE
G-1: TO IMPROVE THE USAGE OF SERVICES
G-2: TO PROVIDE SMART SERVICES
G-3: TO STREAMLINE SERVICE ACTIVATION
G-4: TO PROVIDE A CHIOCE BETWEEN AUTOMATED AND
FACE-TO-FACE SERVICES
G-5: TO PROMOTE SERVICE USAGE IN SERVICE CATALOG
G-6: TO BE ABLE TO IDENTIFY SERVICE
CHANGES IN ADVANCE
G-7: TO IDENTIFY REASONS FOR
CHANGES IN USAGE
G-8: TO SUPPORT THE CHANGE
MANAGEMENT PROCESS
G-9: TO USE EXTERNAL DATA SOURCES TO IDENTIFY THE NEED FOR THE SERVICES
SUPPORTS SUPPORTS SUPPORTS SUPPORTSSUPPORTS
SUPPORTS
SUPPORTS SUPPORTSSUPPORTS
SUPPORTS SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
Goal model
Strategic goals Business goals
Technical goals
Design-time goals Run-time goals
Capability-driven development of a SOA platform: a case study Case study
G-13: TO IDENTIFY CHANGE PATTERNS
G-14: TO USE PATTERNS
G-15: TO MONITOR SERVICE DATA USAGE
IN THE PLATFORM
G-17: TO AUTOMATE RESPONSE CREATION
G-16: TO ENSURE INTEGRATION WITH OTHER SYSTEMS
G-12: TO KEEP SERVICES UP TO
CURRENT REQUIREMENTS
G-18: TO ENSURE CONTEXT AWARENESS DURING THE RUN TIME
G-11: TO ENSURE COMPLIANCE WITH
LEGAL FRAMEWORKG-10: PROVIDE ADEQUATE IT
INFRASTRUCTURE
G-1: TO IMPROVE THE USAGE OF SERVICES
G-2: TO PROVIDE SMART SERVICES
G-3: TO STREAMLINE SERVICE ACTIVATION
G-4: TO PROVIDE A CHIOCE BETWEEN AUTOMATED AND
FACE-TO-FACE SERVICES
G-5: TO PROMOTE SERVICE USAGE IN SERVICE CATALOG
G-6: TO BE ABLE TO IDENTIFY SERVICE
CHANGES IN ADVANCE
G-7: TO IDENTIFY REASONS FOR
CHANGES IN USAGE
G-8: TO SUPPORT THE CHANGE
MANAGEMENT PROCESS
G-9: TO USE EXTERNAL DATA SOURCES TO IDENTIFY THE NEED FOR THE SERVICES
SUPPORTS SUPPORTS SUPPORTS SUPPORTSSUPPORTS
SUPPORTS
SUPPORTS SUPPORTSSUPPORTS
SUPPORTS SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
SUPPORTS
Goal model Goal templates
G-1. To improve the usage of the services Currently, EVR provides up to 200 services for 250 municipalities, but 100 are in active use and not in all municipalities. The goal is to improve the usage of the services. Category: Strategic goal Stakeholder: S-3. EVR KPIs: Percentage of users consuming the services (target=25%)
Percentage of completed service actions / submissions (target=90%)
G-5. To promote service usage in service catalog EVR provides a huge amount of services in SOA platform service catalog. Each service must contain sufficient up-to-date information to help to the end users find and use the services. Category: Strategic goal Stakeholder: S-3. EVR, S-4. Municipality KPIs: Frequency of catalog update
Number of services in catalog
Context model
Capability-driven development of a SOA platform: a case study Case study Context element specifica;on
Element Values Measur. prop. Mapping rules
Municipality size {Small, Medium, Large}
NC = Number of citizens
If NC <10000 then ‘small’ If 10000 <= NC < 30000 then ‘medium’ If NC >= 30000 then ‘large’
Service usage in other municipalities
{High, Medium, Low}
PMUS = Percentage of municipalities using the service
If PMUS < 20%, then ‘low’ If 20% <= PMUS < 50% then ‘medium’ If PMUS >= 50% then ‘high’
Type of highlighting
{Automatic, Manual}
NA NA (unknown at design time)
: CONTEXT INDICATOR SP : KPI TO PROMOTE THE USAGE OF THE
SERVICES : GOAL
SP : CONTEXT SET SERVICE PROMOTION (SP) : CAPABILITY
PROMOTION OF THE SERVICE : PROCESS
HIGHLIGHT THE SERVICE : PATTERN
HIGHLIGHT THE SERVICE : PROCESS
VARIANT
INFORM MUNICIPALITIES WITH
SIMILAR PROFILE ABOUT HIGHLY USED SERVICES : PATTERN
INFORM MUNICIPALITIES WITH
SIMILAR PROFILE ABOUT HIGHLY USED SERVICES : PROCESS
VARIANT
Capability-driven development of a SOA platform: a case study Case study
Capability model
Capability-driven development of a SOA platform: a case study Case study
Process model
"GROUP" PATTERN
"GROUP" COMPOSITE STRUCTURE PROCESS VARIANT
"GROUP" COMPOSITE STRUCTURE PROCESS VARIANT
"GROUP" PATTERN
USAGE OF THE SERVICE IN OTHER
MUNICIPALITIES: CONTEXT ELEMENT
AMOUNT OF ACTIONS / SUBMISSIONS PER
MONTH: CONTEXT ELEMENT
FEEDBACK IN SOCIAL NETWORKS:
CONTEXT ELEMENT
MASSIVE MAILING TO OTHER
MUNICIPALITIES WITH SIMILAR PROFILE
CONTACT PMO FOR SERVICE
DISSEMINATION
RUN HIGHLIGHTING PROCEDURE ONCE EVERY 72 HOURS
RUN HIGHLIGHTING PROCEDURE ONCE EVERY 24 HOURS
HIGHLIGHT THE SERVICE
CHECK THE AMOUNT OF AVAILABLE SERVICES IN
MUNICIPALITY'S HOMEPAGE
INFORM OTHER MUNICIPALITIES
ABOUT HIGHLY USED SERVICES
+
HIGHLIGHT SERVICE THAT IS HIGHLY
USED IN SIMILAR MUNICIPALITY
+
Capability-driven development of a SOA platform:
a case study
FP 7 ICT Programme Collaborative Project no: 611351
International Workshop on Advances in Services DEsign based on the Notion of CApability ASDENCA 2014
Agenda
Introduction Research methodology Case study Lessons learned Conclusion
Capability-driven development of a SOA platform: a case study Lessons learned
Motivation to adopt CDD everis is highly motivated due to: • Perception of current limitations in the platform. • Expectations of new features that the CDD methodology
and tools can enable (self-adaptation).
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
Difficulties with perspective and granularity.
CAPABILITY
PROBLEM
SOLUTION
GOAL CONTEXT
RESOURCES PROCESSES
INFORMATION TECHNOLOGY
Capacity: Ability: Enterprise: Goal: Context: Goal KPI:
Capability definition template
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
Difficulties with perspective and granularity.
We envision the need of relationships among capabilities:
C1MUNICIPALITY
OWNER
EVERISC2
OWNER
ENABLER
SOA1
SOA1.1 SOA1.2 SOA1.3
<
C_SLA1
C_SLA2
<
C_SLA3
Perspective Refinement Context or quality levels
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
How to start capability modelling.
LEG
END
ACTIVITYPRECEDENCE RELATIONSHIP
GOAL MODELLING KPI SPECIFICATION
STAKEHOLDER MODELLING
CONCEPT MODELLING
CAPABILITY MODELLING
IT ARCHITECTURE DESIGN DRAFT
CONTEXT MODELLING
BUSINESS PROCESS MODELING
PATTERNS MODELLING OR
SELECTION
Who should be involved in modelling.
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
What modelling notations to use. How to elicit and model relevant context elements.
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
What modelling notations to use. How to elicit and model relevant context elements.
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
How to identify and model variability
1
2 3
4
5
6
1
2 3
4
7
8
6
1
2 3
4
9
10 11
6
+
+
(A or B) and C D and E F and G and H
1
2 3
4
x
5 7
8
9
10 11
6
+
+x
(A or B) and C
D and E
F and G and H
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
How to identify and model variability
1
2 3
4
6
PRODUCT READY TO
BE 6-ED
PRODUCT JUST 4-ED
OPT
ION
1
INSERTSTART
5
END
START PRODUCT JUST 4-ED
OPT
ION
2
INSERT
START
7
END
START PRODUCT JUST 4-ED
8O
PTIO
N 3
INSERT
START
END
START PRODUCT JUST 4-ED
END PRODUCT JUST 4-ED
9
10 11
+
+
END PRODUCT JUST 4-ED
END PRODUCT JUST 4-ED
(A or B) and C
D and E
F and G and H
Capability-driven development of a SOA platform: a case study Lessons learned
Modelling issues
How to identify and model variability
END PRODUCT
JUST 4-ED
END PRODUCT JUST 4-ED
1
2 3
4
6
PLAC
EMEN
T
5 7
8
9
10 11
+
+
PLAC
EMEN
T
REPL
ACEM
ENT
1
REPL
ACEM
ENT
2
REPL
ACEM
ENT
3
(A or B) and C D and E F and G and H
Capability-driven development of a SOA platform:
a case study
FP 7 ICT Programme Collaborative Project no: 611351
International Workshop on Advances in Services DEsign based on the Notion of CApability ASDENCA 2014
Agenda
Introduction Research methodology Case study Lessons learned Conclusion
Capability-driven development of a SOA platform: a case study Conclusion
Summary
• Capability modelling is central to capability-driven ��� development (CDD).
• Case study research on the industrial application of CDD to ��� a SOA platform project
• CDD facilitates a systematic analysis of organisational needs ��� and designing a context-aware IT solution.
• The CDD methodology still needs improvement.
Future work
• Method: guidelines for goal-first capability modelling, variability modelling, context elicitation and modelling, ���run-time adjustment…
• Validation: controlled experiment, case studies
Thanks!
Top Related