Service-Oriented Software Engineering Lecture

download Service-Oriented Software Engineering Lecture

of 40

Transcript of Service-Oriented Software Engineering Lecture

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    1/40

    Service-Oriented

    Software Engineering

    An Introductory Lecture

    Toni Ruokolainen

    2006

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    2/40

    Contents

    n Introduction

    n Challenges & motivation

    n Service-Oriented Computing paradigm

    n Characteristics of Service-Oriented SoftwareEngineering

    n Model-Driven Engineering

    n Current state, trends, challenges

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    3/40

    Introduction Business networking

    perspective

    Introduction - Electronic Business Networking

    eCommerceTarget areas:

    - Consumer sales

    Technologies:

    - Web Shops- portals

    eBusinessTarget areas:

    - sales

    - procurement

    - distribution

    Technologies:

    - XML

    - EAI platforms

    - Web Services

    - Software Components

    eCollaborationTarget areas:

    - networked processes

    - network wide forecasting

    - collaborative planning

    - network wide product & production

    design

    Technologies:

    - eBusiness standards

    - Integration platforms

    - Semantic Web

    - SOA

    Time

    Development

    level

    Jyrki Haajanen, VTT

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    4/40

    Introduction - Development of

    distributed computing technology

    n Centralized Client-server Peer-to-peerCollaborative

    n From technological integration to federation

    n From tightly coupled to loosely coupled

    n

    From centralised to distributed controln Collaborative systems

    n Autonomous participants, heterogenenous resources,dynamic environments

    n B2B, P2P, MAS,

    n Maturation of communication technology

    n Can now consider semantic & pragmaticinteroperability

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    5/40

    Vision: Collaborative computing

    customer

    selllerwarehouse

    logisticsbank

    order

    invoice receipt

    delivery order

    order

    docket

    VISA

    LorryService IncPressH

    ouse X

    EnsoPaper IncPrimary storehouse

    Partner discovery

    interoperability

    Collaboration contract

    (business network model,partners,

    Technical details, contractbreach recoverymechanisms)

    Contract breachmanagement

    Copyright 2006 by Lea Kutvonen

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    6/40

    Challenges

    n Establishing interoperability in collaborative systems

    n Autonomy, heterogeneity, dynamism

    n Bridging the semantic gap between domain conceptsand technology

    nManaging the complexity of computing platformsn Maintainability of software

    n (Re)configuration

    n Platform evolution

    n Providing agility

    n

    Agile development methodologiesn On-the-fly collaboration establishment

    n Flexibility of software systems

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    7/40

    Motivation for research

    n Support for prevailing business modelsn Outsourcing, globalisation

    n Emphasizes agility and low time-to-market

    n Enhance modularity & reusability of systemsn Provide meaningful abstractions for SE

    n Separation of concernsn

    Functional & non-functional aspectsn Establish more robust & effective software development

    n Model-driven engineering: productivity, agility, fail-safety

    n Enhancing maintainability of EISn From monolithic systems to more flexible service-oriented systems

    n Increase ROI

    n Open service marketsn Fertilizes / enhances new kinds of business models?

    n SMEs role and possibilitiesn Virtual enterprisesn Clustering

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    8/40

    Service-Oriented Software

    Engineeringn Emerging software-engineering

    discipline

    n Considers services as theprimary elements of design andproduction

    n Utilisation of Service-Oriented

    Computing paradigm throughoutthe development process

    n Emphasizes the role ofmeta-information

    n Development throughservice discovery &composition

    n SOSE = SOC paradigm + SEprocess / methodology + SOA-based tool-chain

    Service-Oriented

    Computing

    Software

    Engineering

    process

    SOA based

    Tool-

    chain

    SOSE

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    9/40

    Service-Oriented Computing

    n (SOC) is the computingparadigm that utilizes servicesas fundamental elements fordeveloping applications

    n Conceptsn Service descriptionsn Service compositionn Service-Oriented Architecture

    n Characteristicsn Loose couplingn Description-centricityn Autonomyn Collaborative computing

    n Service life-cyclen Define, describe, find, bind

    Copyright 2003 by M. Papazoglou &

    D. Georgakopoulos

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    10/40

    Service Descriptions

    n Two kinds of descriptions

    n Service types

    n Service offers

    n Service type characterises common properties for a

    kind of servicesn Defines syntax and semantics of a service interface

    n Ontologies, common vocabularies

    n Service offer advertises a service implementation

    n Published by service provider

    n Conforms to a service type

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    11/40

    Service Composition

    n Based on service descriptions

    n Results in a composite servicen Added value (e.g. Travel company)

    n Composition synthesis

    n Composition execution

    n Prevalent types of service compositionn

    Process-based composition (Enterprise computing, workflow systems)n Orchestration, choreography

    n WS-BPEL, WS-CDL

    n Ad-hoc composition (Roman model)n FSM-based automaton synthesis

    n Logic-based composition (AI, Semantic Web)n Pre-/post-condititions, planning

    n Architectural composition (ADL:s, CBSE)n Components & connectors

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    12/40

    Service-Oriented Architecture

    n An architectural style

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    13/40

    Service-Oriented Software

    Engineering process

    n Traditional software engineering process

    1. Analysis

    2. Design

    3. Validation and verification

    4. Implementation5. Maintenance

    n Is this applicable for SOSE?

    n What methods / techniques are feasible in eachphase?

    n What are the methods and techiques of a SOSE-process?

    n Is a SOSE process different wrt. CBSE?

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    14/40

    Service-oriented analysis

    n Identify the conceptual services and collaboration patterns

    n Define service requirements

    n Services are coarse-grained objects / components

    n Technology driven: wrapping legacy systems behind uniformservice interfaces

    n Bottom-up approachn Providing new servicesn Identifying existing services

    n Service as a conceptn Ideology driven: bridging the gap between business and

    technology

    n Top-down approach

    n Start from business values and modelsn Meet-in-the-middle

    n Impact of legacy systems

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    15/40

    Service-oriented analysis

    n Example activities

    n Identifying roles

    n Identifying interactions

    n

    Identifying service capabilitiesn Functionality

    n NFA

    n Identifying collaborations (or service-oriented

    system architectures)

    n Identifying pre-existing service types

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    16/40

    Service-oriented design

    n Use domain specific vocabulary to define and describe conceptsgiven by preceeding analysis phase

    n Example activities

    n Creating / selecting ontologies

    n Vocabulary to be used

    n Modelling service interfacesn Modelling behaviour

    n Service interface behaviour

    n Business processes

    n Modelling business roles

    n Service interfaces

    n Service compositionsn Discovery & Selection of services

    n If pre-existing services are available

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    17/40

    Validation and verification of service-

    oriented software systemsn Validation

    n Testing service designs against design requirementsn Simulating

    n Test generation

    n Validating conformancen NFA

    n Composite properties

    n Verification of designsn Interoperability with prescribed collaborations and services

    n Formal verification of properties

    n Correctness of service compositions

    n Most of the standard validation procedures only applicable at runtimen Need of service monitoring

    n Need of contract-driven collaboration

    n To which extent is validation of service-oriented systems possiblestatically?

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    18/40

    Implementing service-oriented systems

    n Model-Driven Development

    n Both SOC and MDE emphasize to role of

    models as first-class entities

    n

    Needed: A SOC-programming languagen Native XML-based messaging primitives

    nA few research prototypes exist

    n Implementation technologies

    n Web Servicesn Local deployment target (J2EE, BPEL,)

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    19/40

    Maintenance of service-oriented

    software systems

    n Deployment of services

    n Configuration of services

    n Establishment of collaborations

    n Runtime managementn Monitoring

    n Evolution support

    n Platform / service evolution

    n Evolution at different levels of abstraction

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    20/40

    PSMWS specific

    platform models

    PSMEJB specific

    platform models

    PSM.NET specific

    platform models

    Execution infrastructures

    .NET/COMEJB/J2EEWS Others

    PSMother specific

    platform models

    Model to code

    Transformation

    NFA ModelsDomain Models PIM PIM

    Model Transformation

    Architecture style

    Platform Description

    Model (PDM)

    Architecture

    model

    Model Transformation

    UML profiles for : CCM, EJB, .NET,

    SOA

    Copyright 2004 by Philippe Millot (slightly edited by TR)

    Overview of Model-Driven Engineering

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    21/40

    Hierachy of models

    n MDE considers models as primaryengineering artifacts

    n Models are representations ofreality for a given purpose

    n Models conform to a meta-model

    n Provides a typing scheme for

    model elementsn Formal specification of an

    abstraction

    n Metamodels are described withmetametamodels

    n A language for definingmetamodels

    n E.g. OMGs MOF (UML is basedon MOF)

    Metamodel

    Model

    System

    conformsTo

    representedBy

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    22/40

    MDE principles

    n Three principles of MDE

    n Direct representation

    n Automation

    n Standards

    MDE

    Direct

    representation

    Standards Automation

    Adapted from David Frankel: An MDA Manifesto

    MDA Journal, May 2004

    http://www.bptrends.com

    http://www.bptrends.com/http://www.bptrends.com/
  • 7/27/2019 Service-Oriented Software Engineering Lecture

    23/40

    MDE: Direct representation

    n Direct representationn Direct coupling of problems to solutions

    n Domain-Specific (Modeling) Languages (DSML, DSL)

    n DSML defines for a particular domainn Primary concepts and vocabulary

    n Relationships between conceptsn Precise semantics for concepts and relationships

    n E.g. specific languages for avionics, online financialservices, inter-enterprise computing,

    n Big players in DSML fieldn

    UML (2.x) & UML Profiles (OMG)n Software Factories (Microsoft)

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    24/40

    UML as a DSML

    n Lightweight extension with profiles

    n Extends the elements of the UML meta-model

    n Profile = Set of stereotypes & Tagged values

    n Does not provide means for precisely defining

    semantics associated with extensions!France, Ghosth, Dinh-Trong: MDD Using UML 2.0:

    Premises and Pitfalls, Computer, February 2006, IEEE

    n Heavyweight extension via MOF

    n Extends the UML-meta-model itself

    n All the modeling mechanisms and semantics of MOFare applicable

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    25/40

    MDE: Automation

    n Automation

    n Facets of DSLs areintended to be automaticallyprocessed

    n Transformations

    n Model-to-Model (M2M)

    n Transformation languagesn QVT, ATL, YATL, MTL,

    GReAT,

    n Code generation

    n Model-to-Text (M2T)

    n E.g. PSM-to-Java, EDOC-to-EJB,

    n QVT M2T RFP, MOFScript

    CIM

    PIM

    PSM

    M2M

    M2M

    PDM

    Model

    weaving

    Text (code)

    M2T

    MODELS

    PLATFORMS

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    26/40

    MDE: Standards

    n Use of open standards to establish interoperability

    n Model interoperability

    n MOF, XMI

    n Meta-model bridging through unified meta-metamodel

    n Infrastructure interoperabilityn Middleware infra (CORBA, WS)

    n Messaging (XML-standards, SOAP, GIOP/IIOP)

    n Communication platforms (TCP/IP)

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    27/40

    MOF

    Picture taken from http://de.wikipedia.org/wiki/Meta-Object_Facility

    http://de.wikipedia.org/wiki/Meta-Object_Facilityhttp://de.wikipedia.org/wiki/Meta-Object_Facility
  • 7/27/2019 Service-Oriented Software Engineering Lecture

    28/40

    Web Services

    Copyright 2004 by Lawrence Wilkes

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    29/40

    MDE buzzwords

    n MDD = Model-Driven Development

    n Use of (prescribed) models and transformations duringsoftware development

    n Also used commonly as a synonym for MDE

    n MDA = Model-Driven Architecture

    n OMG initiative

    n UML + MOF + QVT + few other standards..

    n Software factories

    n Microsoft Domain-Specific Language Tools

    n Software factory = model-driven product line

    n Combines model-driven & component-basedtechniques with product-line principles

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    30/40

    SOC & Model-Driven Engineering

    n SOC provides feasible abstractions

    n SOC complements the MDA approach by providing a

    template for structuring business systems and

    integration solutions, the service paradigm(Piccinelli

    and Skene, SOSE-book, 2005)

    n Both emphasize the role of meta-information

    n The MDA complements SOC by promoting the early

    modeling of systems to understand their operation, a

    necessary prerequisite when wrapping a system with a

    service interface(Piccinelli and Skene, SOSE-book,

    2005)

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    31/40

    Tools needed for SOSE

    n Service-oriented analysis techniques

    n Domain-specific modeling language (family)

    n Supporting viewpoints and modeling aspects

    n E.g. ODP viewpoints

    n Validation & verification tools

    n Preferably weaved to design and implementation toolstransparently

    n A SOC programming language

    n Native support (type system) at least for messaging andXML-handling

    n A software-engineering tool-chain natively paired with SOCinfrastructure

    n

    Discovery of available service types / offersn Publication of new service types / offers

    n Deployment & configuration of service implementations

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    32/40

    A SOA tool chain

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    33/40

    ModelBus

    Copyright 2004 by Philippe Millot

    MODELWARE (MODELing solution for softWARE systems)

    EU Information Society Technology (IST) Project

    http://www.modelware-ist.org

    http://www.modelware-ist.org/http://www.modelware-ist.org/
  • 7/27/2019 Service-Oriented Software Engineering Lecture

    34/40

    Trends in research

    n Concepts of SOSE

    n SOC concepts

    n Service composition

    n SOSE specific SE processes / phases

    n Service & collaboration modelling languagesnApplication of formal methods

    n Model-Driven Engineering

    n Model-weaving, transformation semantics

    n Technology for SOCn Web Services

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    35/40

    Research questions (1/4)

    nAnalysis & design

    n What are the concepts and methods to beused?

    nAre component-based analysis and design

    methods adequate?n What would a service-oriented analysis

    method look like?

    n What are the quality attributes for services?

    n Low coupling & high cohesing; How should these

    be interpreted in the context of service-orientedcomputing?

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    36/40

    Research questions (2/4)

    n Validation & verification

    n How can service-oriented designs be validated forconformance against the requirements?!

    n What kind of testing methods are applicable?

    n Simulation is quite natural choice..

    n What kind of verification methods should be used?

    n Role of verification during different phases of SOSEprocess?

    n Verification methods before / during / afterimplementation Design verification

    SOC programming language type systems

    Dynamic model checking / conformance validation

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    37/40

    Research questions (3/4)

    n Implementation

    n What kind of facilities are needed?

    n What kind of meta-information repositories?

    n Support for different composition frameworks

    n Implementation models (MDE)

    n Programming languages for SOC

    n Static / dynamic aspects of service developmentn SOC is inherently dynamic environment

    n What can be done before / during maintenance phase?

    n How to identify ths distinction during the engineering process?

    n How to address dynamic aspects? Are they modeled explicitly? Left implicit and dealt in the platform level?

    n MDE challenges

    n Viewpoint modelling & correspondences / relationships between viewsn Aspect languages & model weaving (esp. NFA)

    n Static & dynamic use of meta-information

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    38/40

    Research questions (4/4)

    n Maintenance

    n Deployment of service-oriented systems

    n Deployment of complex systems is painfull Especially if configurations are to be changed often

    n What kind of configuration mechanisms are needed?

    n Establishment and maintenance of service-orientedcollaborations

    n Facilities for establishing and upholding contracts

    n Evolution management

    n What kind of changes can be tolerated?

    n How? At which points of time?n At which level? (implementation, model, meta-model)

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    39/40

    Conclusion

    n SOSE is still an open fieldn Results stemming primarily from OOSE & CBSE

    n There is no complete SOSE process available, yet?

    n SOC has been quite techonology drivenn Strong role of industry in Web Services standardisation

    n The role of SOC infrastructure in the software engineering process hasbeen left quite vague

    n MDE is a good fit for SOSEn Both emphasize the role of meta-information

    n Quite easy to generate (at least simple) skeleton code for service-interfaces

    n In infancy: model (aspect) weaving, compositionality, separation ofconcerns (viewpoints)

    n SOC & SOSE emphasize convergence between business &infrastructuren There is no strict phasing of a SOSE process but inter-dependecies

    instead?

  • 7/27/2019 Service-Oriented Software Engineering Lecture

    40/40

    Practicalities

    n Contact: [email protected]

    n Room: D219

    n Timetable for the next few weeks

    n 12.09.2006 No session

    n 19.09.2006 Abstracts due!

    n PDF-format, 1-2 pages (look at the seminar page formore information)

    n 26.09.2006 No session

    n 03.10.2006 First presentation

    n Reservation of time-slots

    n Now..

    n Opponents(?)

    mailto:[email protected]:[email protected]