Service Variability Meta Modeling for Service Oriented - - PowerPoint PPT Presentation

service variability meta modeling for service oriented
SMART_READER_LITE
LIVE PREVIEW

Service Variability Meta Modeling for Service Oriented - - PowerPoint PPT Presentation

Service Variability Meta Modeling for Service Oriented Architectures Mohammad Abu Matar and Hassan Gomaa Department of Computer Science George Mason University Fairfax, VA, USA mabumata@gmu.edu hgomaa@gmu.edu Software Variability


slide-1
SLIDE 1

Service Variability Meta‐Modeling for Service‐ Oriented Architectures

Mohammad Abu‐Matar and Hassan Gomaa Department of Computer Science George Mason University Fairfax, VA, USA mabumata@gmu.edu hgomaa@gmu.edu Software Variability Modeling Workshop (VARY11), MODELS Conference, Wellington, New Zealand g , October 2011

slide-2
SLIDE 2

THE PROBLEM

Service Oriented Architecture (SOA) – Architectural style for distributed computing – Service providers offer services – Application development by assembling services Problem – Services need to support requirements of different clients SOA Variability is ad hoc and platform specific – SOA Variability is ad‐hoc and platform specific – No systematic way to effectively model variability in SOA

  • In unified and platform independent manner

In unified and platform independent manner

2

slide-3
SLIDE 3

Overview of Approach

  • Integrate software product line concepts with SOA
  • Multiple view modeling and meta‐modeling of SOA

– Service Views and Meta‐Views

  • Service Contract
  • Business Process
  • Service Interface
  • Service Coordination
  • Service Coordination
  • Integrate with Software Product Line (SPL) concepts

– Based on PLUS method [Gomaa05, GomaaShin08] Based on PLUS method [Gomaa05, GomaaShin08] – Variability modeling in each service view and meta‐view – Feature Modeling

  • Running example: E‐Commerce service oriented SPL

3

slide-4
SLIDE 4

APPLYING SOFTWARE PRODUCT LINE CONCEPTS

Service Service Domain Requirements Service Domain Models, Service Domain Architecture, Reusable Services Domain Engineering Service Domain Reuse Library Service Application Engineering Service Application Service Application Requirements g g Unsatisfied Requirements, Errors, Adaptations

4

  • Service oriented systems are modeled as service families
slide-5
SLIDE 5

Modeling Service Oriented SPL

  • Integrate SPL concepts with multiple service views

– Using UML and SoaML S ML i UML t i f OMG

  • SoaML is a UML extension from OMG

– Model SOA concepts based on existing UML elements

  • E.g., Service Contract, participant
  • Categorize each modeling element using UML stereotype

– By SOA concept

  • e.g., «ServiceContract», «participant», «service»

– By SPL commonality/variability concept E k l ti l i t

  • E.g., «kernel», «optional», «variant»

5

slide-6
SLIDE 6

Multiple View Modeling of Service Oriented SPL

Static M d li Dynamic M d li Service Views Modeling Modeling Requirements Modeling Service Contract View Business Process View Modeling Contract View Process View Architecture Modeling Service Interface View Service Coordination View Variability Modeling All Service views y g Unifying View Feature View SPL Concepts

6

p

slide-7
SLIDE 7

SERVICE CONTRACT VIEW

  • Models Service Contracts and Participants

S ML <<S i C t t>>

  • SoaML <<ServiceContract>>
  • Based on UML’s Collaboration element
  • SoaML <<Participant>> e.g., providers, consumers

V i bilit M d li

  • Variability Modeling
  • Kernel, Optional, and Alternative
  • Service Contracts & Participants

7

slide-8
SLIDE 8

BUSINESS PROCESS VIEW

  • Models workflow of business processes
  • UML Activity Diagram
  • D fi

d b ti i t S ll

  • Defined by participant, e.g., Seller
  • Model variability in activities
  • Kernel, Optional, Default, Alternative activities

8

slide-9
SLIDE 9

SERVICE INTERFACE VIEW

  • Services expose capabilities through service interfaces
  • Models ser ice interface
  • Models service interface
  • << service interface>> stereotype
  • Variability stereotypes

Variability stereotypes

  • Kernel, optional, variant interfaces

9

slide-10
SLIDE 10

SERVICE COORDINATION VIEW

  • Services should be self-contained and loosely coupled
  • Use client/coordinator/service pattern

Use client/coordinator/service pattern

  • Models sequencing of service invocations
  • Coordinator objects are modeled as <<ServiceCoordinator>>
  • Variability stereotypes: kernel, optional, variant
  • Depicted on UML interaction diagrams

10

slide-11
SLIDE 11

MULTIPLE VIEWS OF SERVICE VARIABILITY

  • Four views to model service requirements and architecture

– Variability is defined in each view – Variability dispersed among multiple views

  • Difficult to get a complete understanding of SOA variability
  • Need ONE view that focuses entirely on variability

– Feature View

  • Feature View
  • Feature View

– Serves as the Unifying View for multiple Service Views – Similar to 4+ 1 Architecture [Kruchten95] Similar to 4 1 Architecture [Kruchten95]

11

slide-12
SLIDE 12

Feature Modeling with UML

  • Use static modeling meta‐class notation [Gomaa05]

– Meta‐classes depict features and feature groups Meta classes depict features and feature groups

  • Features are categorized using UML stereotypes

– «common feature» – «optional feature» – «alternative feature» – «default feature» – «parameterized feature»

  • Model Feature Dependencies
  • Model Feature Dependencies

– Requires – Mutually includes

12

Mutually includes

slide-13
SLIDE 13

Features and Feature Groups in UML

Feature Group places constraints on using features together E.g., «exactly-one-of feature group», t l t f f t «at-least-one-of feature group», «zero-or-one-of feature group»

13

slide-14
SLIDE 14

FEATURE VIEW FOR E‐COMMERCE SPL

14

slide-15
SLIDE 15

MULTIPLE VIEW SERVICE VARIABILITY META‐MODEL

  • Formalizes the Multiple View Variability Model
  • Each view is described by

y – Corresponding meta‐view in Service Variability meta‐model

  • Meta‐Views

– Service Contract Meta‐View – Business Process Meta‐View S i I f M Vi – Service Interface Meta‐View – Service Coordination Meta‐View – Feature Meta View – Feature Meta‐View

  • Meta‐model Relationships

– Describe Intra‐View and Inter‐View Relationships. p

15

slide-16
SLIDE 16

MULTIPLE VIEW SERVICE VARIABILITY META‐MODEL (HIGH LEVEL VIEW)

16

slide-17
SLIDE 17

MULTIPLE VIEW SERVICE VARIABILITY META‐MODEL

17

slide-18
SLIDE 18

GOALS OF MULTIPLE‐VIEW VARIABILITY META‐MODEL

  • Describe intra‐view and inter‐view relationships of multiple

p p views

  • Specify variability of SOA systems in a platform‐independent

manner

  • Formulate consistency checking rules in OCL

– Specify explicit constraints on relationships between meta‐ Specify explicit constraints on relationships between meta classes of multiple‐view variability meta‐model

18

slide-19
SLIDE 19

Feature to Service Meta‐View Relationships

A Kernel ServiceContract can only support a kernel Feature context Feature inv: reuseStereotype = ‘kernel’ implies servicecontract->size() >= 1 and servicecontract >size() > 1 and servicecontract.reuseStereotype = ‘kernel’ An optional Activity can only support an optional Feature p y y pp p context Feature inv: reuseStereoType = ‘optional’ implies activity->size() >=1 and activity.reuseStereoType = ‘optional’ A variant ServiceInterface can only support an alternative Feature context Feature inv: reuseStereoType = ‘alternative’ implies serviceinterface->size() >= 1 and serviceinterface.reuseStereoType = ‘variant’

19

slide-20
SLIDE 20

Service Application Engineering

Service Domain Models, Service Domain Engineering Service Domain Requirements Service Domain Architecture, Reusable Services Engineering Service Domain Reuse Library Service Application Service Application Engineering Service Application pp Requirements

20

Unsatisfied Requirements, Errors, Adaptations

slide-21
SLIDE 21

SERVICE APPLICATION ENGINEERING

  • Service Oriented Application

pp – Member of service oriented SPL

  • Tailor domain architecture to derive

– A given service oriented application

  • Select features required for service oriented application

subject to: subject to: – Feature dependencies – Feature relationships Feature relationships

  • Configure, instantiate, and deploy service oriented application

21

slide-22
SLIDE 22

FEATURE BASED SERVICE APPLICATION DERIVATION FEATURE SELECTION

22

slide-23
SLIDE 23

FEATURE BASED SERVICE APPLICATION DERIVATION SERVICE CONTRACT VIEW

23

slide-24
SLIDE 24

FEATURE BASED SERVICE APPLICATION DERIVATION BUSINESS PROCESS VIEW

24

slide-25
SLIDE 25

FEATURE BASED SERVICE APPLICATION DERIVATION SERVICE INTERFACE VIEW

25

slide-26
SLIDE 26

FEATURE BASED SERVICE APPLICATION DERIVATION SERVICE COORDINATION VIEW

26

slide-27
SLIDE 27

VALIDATION OF RESEARCH

  • Two case studies

– E‐Commerce and Hotel Reservation service‐oriented SPLs

  • Validate the following properties:

– Multiple views of service oriented product line are consistent with each other Multiple view service variability model is compliant with – Multiple‐view service variability model is compliant with the underlying multiple‐view variability meta‐model – Derived service oriented member applications are pp consistent with service oriented SPL requirements and architectural models

slide-28
SLIDE 28

PROOF‐OF‐CONCEPT PROTOTYPE

  • Based on open‐source Eclipse Modeling Framework (EMF)

– EMF core modeling facilities. EMF core modeling facilities. – Apache ODE

  • Open source BPEL engine
  • Generated BPEL code compiled and deployed to ODE
  • BPEL code invokes services based on WSDL files

– Apache CXF

  • Open‐source web‐services framework

S t t d d API h JAX WS d JAX RS

  • Supports standard APIs such as JAX‐WS and JAX‐RS
  • Supports WS standards including SOAP and WSDL

– Eclipse Swordfish Eclipse Swordfish

  • Open‐source extensible Enterprise Service Bus (ESB)

28

slide-29
SLIDE 29

CONCLUSIONS

  • Multiple‐view modeling and meta‐modeling approach
  • Addresses variability in service oriented architectures
  • Integrates feature modeling and variability modeling with SOA
  • Contributions
  • Model SOA variability in unified, systematic, multiple‐view

Model SOA variability in unified, systematic, multiple view service variability model

  • Multiple view meta‐model for service oriented product lines
  • Consistency Checking Rules (OCL) for multiple view meta model
  • Consistency Checking Rules (OCL) for multiple‐view meta‐model
  • Facilitates variability modeling of service families in a platform

independent way I t t SPL t f f t d li d

  • Integrates SPL concepts of feature modeling and

commonality/variability analysis with service modeling approaches E t d S ML ith i bilit d li t ti

  • Extends SoaML with variability modeling notation

29

slide-30
SLIDE 30

CURRENT/FUTURE RESEARCH

  • Current research

– Develop prototype MDE execution environment for Develop prototype MDE execution environment for service‐oriented SPL – Develop automated feature‐based derivation of SOA member applications – Complete validation of approach

  • Future research
  • Future research

– Address dynamic runtime adaptation – Integrate non‐functional requirements into approach Integrate non functional requirements into approach – Address evolution of service oriented SPL

30

slide-31
SLIDE 31

QUESTIONS?

31