Applying Aspect Oriented Modelling to Service Orchestration - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Applying Aspect Oriented Modelling to Service Orchestration

Description:

... Transformation for weaving & deployment. PointCut. JoinPoint ... Weaving and aspect deployment. Process of manipulating the meta data of the. process schema ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 21
Provided by: BAO75
Category:

less

Transcript and Presenter's Notes

Title: Applying Aspect Oriented Modelling to Service Orchestration


1
Applying Aspect Oriented Modelling to Service
Orchestration
  • Crest Centre, Kings College London

2
Agenda
  • Service Workflow Orchestration
  • Cross Cutting Concerns in Workflow
  • Applying Aspect Oriented Modelling Design
  • Testing Service Orchestration

3
Motivation of Research
  • Business models shift from products to services
  • Software as Services (SaaS) model of development
    - Components are not owned
  • Service Oriented Architecture Integrated
    modular architecture
  • Mechanisms that allow well integrated services
    are difficult to provide Service Workflows in
    WS- BPEL standard
  • Cross-cutting concerns Tangled workflow problem
  • Aspect-Oriented Software Development (AOSD)
    offers means to disentangle cross-cutting
    concerns

4
Service Workflows BPEL
  • Mechanisms that allow well integrated services
    are difficult to provide Service Workflows in
    WS- BPEL standard
  • Processes could only be decomposed according to
    the control flow

5
Service Workflows Tangled Cross Cutting Concern
Problem
  • Concerns that do not align with this
    decomposition become scattered across the process
    description, making it difficult to manage
  • Need a means to manage complexity
  • To disentangle cross-cutting concerns

6
Aspect Oriented Modelling Design
  • AOP emerged to complement O.O.Programming
  • Models Cross cutting concerns modularised
    concerns, making development, maintenance and
    reuse easier.
  • Enable non-invasive addition of concerns
    support software evolution
  • Web service to meet post-deployment requirements

Update
aspect Update pointcut change()
execution(void point.setX(int))
execution(void point.setX(int))
execution(void shape.moveBy(int,int)) after()
returning change() Display.update()

7
Opportunities for AOSD in (SOA)
  • Service Monitoring detect conditions or
    violation of properties at run-time.
  • or a particular sequence of events has occurred.
  • Design by Contract
  • Service Verification - testing
  • Service Adaptation e.g. QoS Requirements

8
Current AOSD Approaches
  • Domain Specific Aspect Language Extensions
  • Doxpects, AO4BPEL
  • Aspects Aware Execution Environment
  • AO4BPEL, Small Talk Implementation
  • WSFL implemented in JAsCO
  • Limitations
  • Proprietary solution
  • Portability

9
Problems Identified
  • The Proprietary Technology Problem
  • Standard Workflow Engines need to be modified
    substantially
  • In Aspect Deployment
  • The Fragile PointCut Problem
  • Joinpoint Detection Problem
  • Modularisation Problem in Service Middleware
  • Address Infrastructural Concerns as
    AOP-WS-Middleware

10
Proposed Solution
  • A framework of A.O. design that provides WS
    composition support
  • XQuery as the PointCut language
  • Aspect Representation in XML
  • Model Based Transformation for weaving
    deployment

PointCut
Advice
JoinPoint
Aspects Representation
11
Aspect Weaving Deployment
  • Weaving the process that coordinates aspects
    and non-aspects code
  • Static Weaving
  • Weaving Before Run-time
  • Dynamic Weaving
  • Allows for dynamically add, remove or refine
    aspects
  • Difficulties are
  • Performance overhead
  • Dedicated execution platform

12
Static Weaving
BPEL Process
Aspect Definition
Aspect Deployment Description
Static Aspect Weaver
  • Extract xsd from .bpel
  • ltaspectgt.xml xsd
  • Transformation Rules
  • Locate pointcut
  • Joint point merge
  • Composing new .bpel

New BPEL Process Description
Standard BPEL Execution Environment
13
Aspect Definition in XML
1 ltaspect name"Billing"gt 2 ltusinggt 3
ltnamespace name"xmlnsbill" uri"my.billing.uri"
/gt 4 ltpartnerLink name"billing"
partnerLinkType"billbillingLT" /gt 5
ltvariable name"billingMsg" type"billbillingMsg"
/gt 6 lt/usinggt 7 ltpointcut name"CallStarts(Jp)" 8
pointcut"invoking(Jp, CallService,
confCallPT, createConfCall)" /gt 9 ltpointcut
name"CallEnds(Jp)" 10 pointcut"invoking(Jp,
CallService, confCallPT, closeConfCall)"
/gt 11 ltadvice name"billService"gt 12 ltinvoke
partnerLink"billing" portType"billbillingPT" 13
operation"billService" inputVariable"billing
Msg" /gt 14 lt/advicegt 15 lt/aspectgt
14
Service Implemented Aspect
  • Definition of Service Implemented Aspects in
    WSDL

ltcomplexType name"EPmessage"gt ltallgt
ltelementname"opName" type"string"/gt ltelement
name"serviceType" type"string"/gt ltelement
name"serviceEndpoint type"EndpointReference"/gt
ltelement name"value" type"Serializable"/gt lt/a
llgt lt/complexTypegt ltmessage name"MessageReceived
"gt ltpart name"MsgReceived
type"tnsEPmessage"/gt lt/messagegt ltportType
name"EndPointMonitorPT"gt ltoperation
name"SendRequest"gt ltinput message"MessageSen
t"/gt lt/operationgt
15
Model Based Transformation
  • Weaving and aspect deployment
  • Process of manipulating the meta data of the
  • process schema
  • MDA model based transformation
  • General purpose languages no overhead
  • Generic transformation tools Graph
    transformation
  • Case tools UML based
  • Dedicated Tools QVT
  • Complexity
  • Kermeta Eclipse EMF

Aspect Logic
16
Case Studies
17
Testing Service Workflows
  • Service Orchestration - BPELs claim v.s. BPMN
  • Translation between the two processes
  • Aspect-Oriented Testing Techniques
  • Testing Woven Apects

18
Evaluation Metrics
  • AOSD Evaluation
  • Multi-Dimensional Separation of Concerns
  • Good Design vs. Good Coding
  • Performance Bottleneck
  • AOSD decomposition
  • Units of aspects
  • Well-defined interfaces
  • SOA Evaluation
  • Comparable with component based software
  • SOA is an example of Distributed Computing
  • Decomposition of systems into functional or
    logical components with well-defined interfaces
    used for communication

19
AOSD in WS Processes Infrastructural Concerns
choreography
. . .
Transformation
Aspect Interface
Transformation
orchestration
Presentation of Data
Aspect View Customised view of the System
Data
Internal service/API
20
Future Directions
  • Dynamic AOP, uses wrapper technologies, offers a
    way of allowing components to be individually
    customized and extended.
  • Dynamic aspect-oriented programming is relatively
    straightforward in a trusted environment, where
    (with the exception of bugs) aspects can be
    assumed to be safe. In an untrusted public
    computing environment, new aspects cannot be
    assumed to come from a benign source.
  • Modularising Web Services Management with AOP
  • Relationship between Aspects
  • Unraveling Crosscutting Concerns in Web Services
    Middleware
  • Monitoring
  • PSL representation of service enactments has
    natural representation as a relational database
  • Can use relational queries to perform run-time
    monitoring
  • Can use queries to do data mining on execution
    logs
  • Transactions
  • Providing transactional guarantees remains
    largely open
  • What are the building blocks within services? In
    choreography?
  • Verifying transactional correctness?
Write a Comment
User Comments (0)
About PowerShow.com