Service-Oriented Software Engineering Lecture
-
Upload
raviram-naidu -
Category
Documents
-
view
219 -
download
0
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]