service-oriented software engineering · nservice-oriented computing paradigm ncharacteristics of...
Post on 21-May-2018
227 Views
Preview:
TRANSCRIPT
Service-OrientedSoftware Engineering
An Introductory LectureToni Ruokolainen
2006
Contents
n Introductionn Challenges & motivationn Service-Oriented Computing paradigmn Characteristics of Service-Oriented Software
Engineeringn Model-Driven Engineeringn Current state, trends, challenges
Introduction – Business networkingperspective
Introduction - Electronic Business Networking
eCommerceTarget areas:- Consumer salesTechnologies:- Web Shops- portals
eBusinessTarget areas:- sales- procurement- distributionTechnologies:- XML- EAI platforms- Web Services- Software Components
eCollaborationTarget areas:- networked processes- network wide forecasting- collaborative planning- network wide product & productiondesign
Technologies:- eBusiness standards- Integration platforms- Semantic Web- SOA
Time
Developmentlevel
© Jyrki Haajanen, VTT
Introduction - Development ofdistributed computing technologyn Centralizedà Client-serverà Peer-to-peerà
Collaborativen From technological integration to federationn From tightly coupled to loosely coupledn From centralised to distributed control
n Collaborative systemsn Autonomous participants, heterogenenous resources,
dynamic environmentsn B2B, P2P, MAS, …
n Maturation of communication technologyn Can now consider semantic & pragmatic
interoperability
Vision: Collaborative computing
customer
selllerwarehouse
logisticsbank
order
invoice receipt
delivery order
orderdocket
VISA
LorryService IncPressHouse X
EnsoPaper Inc
Primary storehouse
Partner discovery
interoperability
Collaboration contract(business network model,partners,Technical details, contractbreach recoverymechanisms)
Contract breachmanagement
Copyright © 2006 by Lea Kutvonen
Challengesn Establishing interoperability in collaborative systems
n Autonomy, heterogeneity, dynamismn Bridging the semantic gap between domain concepts
and technologyn Managing the complexity of computing platforms
n Maintainability of softwaren (Re)configuration
n Platform evolutionn Providing agility
n Agile development methodologiesn ”On-the-fly” collaboration establishmentn Flexibility of software systems
Motivation for researchn Support for prevailing business models
n Outsourcing, globalisationn Emphasizes agility and low time-to-market
n Enhance modularity & reusability of systemsn Provide ”meaningful” abstractions for SEn Separation of concerns
n Functional & non-functional aspectsn Establish more robust & effective software development
n Model-driven engineering: productivity, agility, ”fail-safety”n Enhancing maintainability of EIS
n From monolithic systems to more flexible service-oriented systemsn Increase ROI
n ”Open service markets”n Fertilizes / enhances new kinds of business models?n SME’s role and possibilities
n Virtual enterprisesn Clustering
Service-Oriented SoftwareEngineeringn Emerging software-engineering
disciplinen Considers services as the
primary elements of design andproduction
n Utilisation of Service-OrientedComputing paradigm throughoutthe development processn Emphasizes the role of
meta-informationn Development through
service discovery &composition
n SOSE = SOC paradigm + SEprocess / methodology + SOA-based tool-chain
Service-OrientedComputing
SoftwareEngineering
process
SOA basedTool-chain
SOSE
Service-Oriented Computingn ”… (SOC) is the computing
paradigm 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
Service Descriptions
n Two kinds of descriptionsn Service typesn Service offers
n Service type characterises common properties for akind of servicesn Defines syntax and semantics of a service interfacen Ontologies, common vocabularies
n Service offer advertises a service implementationn Published by service providern Conforms to a service type
Service Compositionn Based on service descriptionsn Results in a composite service
n Added value (e.g. Travel company)n Composition synthesisn Composition execution
n Prevalent types of service compositionn Process-based composition (Enterprise computing, workflow systems)
n Orchestration, choreographyn 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
Service-Oriented Architecture
n An architectural style
Service-Oriented SoftwareEngineering processn Traditional software engineering process
1. Analysis2. Design3. Validation and verification4. Implementation5. Maintenance
n Is this applicable for SOSE?n What methods / techniques are feasible in each
phase?n What are the methods and techiques of a SOSE-
process?n Is a SOSE process different wrt. CBSE?
Service-oriented analysisn Identify the conceptual services and collaboration patterns
n Define service requirementsn ”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 concept”n Ideology driven: bridging the gap between business and
technologyn Top-down approach
n Start from business values and modelsn Meet-in-the-middlen Impact of legacy systems
Service-oriented analysis
n Example activitiesn Identifying rolesn Identifying interactionsn Identifying service capabilities
n Functionalityn NFA
n Identifying collaborations (or service-orientedsystem architectures)
n Identifying pre-existing service types
Service-oriented designn Use domain specific vocabulary to define and describe concepts
given by preceeding analysis phasen Example activities
n Creating / selecting ontologiesn Vocabulary to be used
n Modelling service interfacesn Modelling behaviour
n Service interface behaviourn Business processes
n Modelling business rolesn Service interfacesn Service compositions
n Discovery & Selection of servicesn If pre-existing services are available
Validation and verification of service-oriented software systemsn Validation
n Testing service designs against design requirementsn Simulatingn Test generation
n Validating conformancen NFAn Composite properties
n Verification of designsn Interoperability with prescribed collaborations and servicesn Formal verification of propertiesn Correctness of service compositions
n Most of the standard validation procedures only applicable at runtimen Need of service monitoringn Need of contract-driven collaboration
n To which extent is validation of service-oriented systems possiblestatically?
Implementing service-oriented systems
n Model-Driven Developmentn Both SOC and MDE emphasize to role of
models as first-class entitiesn Needed: A ”SOC”-programming languagen Native XML-based messaging primitivesn A few research prototypes exist
n Implementation technologiesn Web Servicesn Local deployment target (J2EE, BPEL,…)
Maintenance of service-orientedsoftware systemsn Deployment of servicesn Configuration of servicesn Establishment of collaborationsn Runtime managementn Monitoring
n Evolution supportn Platform / service evolutionn Evolution at different levels of abstraction
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 codeTransformation
NFA ModelsDomain Models PIM PIM
Model Transformation
Architecture style
Platform DescriptionModel (PDM)
Architecturemodel
Model Transformation
UML profiles for : CCM, EJB, .NET,SOA…
Copyright © 2004 by Philippe Millot (slightly edited by TR)
Overview of Model-Driven Engineering
Hierachy of modelsn MDE considers models as primary
engineering artifactsn Models are representations of
reality for a given purposen Models conform to a meta-model
n Provides a typing scheme formodel elements
n Formal specification of anabstraction
n Metamodels are described withmetametamodelsn A language for defining
metamodelsn E.g. OMG’s MOF (UML is based
on MOF)
Metamodel
Model
System
conformsTo
representedBy
MDE principles
n Three principles of MDEn Direct representationn Automationn Standards
MDE
Directrepresentation
Standards Automation
Adapted from David Frankel: ”An MDA Manifesto”MDA Journal, May 2004http://www.bptrends.com
MDE: Direct representationn Direct representation
n Direct coupling of problems to solutionsn Domain-Specific (Modeling) Languages (DSML, DSL)
n DSML defines for a particular domainn Primary concepts and vocabularyn 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)
UML as a DSML
n Lightweight extension with profilesn Extends the elements of the UML meta-modeln Profile = Set of stereotypes & Tagged valuesn ”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 MOFn Extends the UML-meta-model itselfn All the modeling mechanisms and semantics of MOF
are applicable
MDE: Automationn Automation
n Facets of DSL’s areintended to be automaticallyprocessed
n Transformationsn Model-to-Model (M2M)n Transformation languages
n QVT, ATL, YATL, MTL,GReAT,…
n Code generationn Model-to-Text (M2T)n E.g. PSM-to-Java, EDOC-
to-EJB,…n QVT M2T RFP, MOFScript
CIM
PIM
PSM
M2M
M2M
PDM
Modelweaving
Text (code)
M2T
MODELS
PLATFORMS
MDE: Standards
n Use of open standards to establish interoperabilityn Model interoperability
n MOF, XMIn 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)
MOF
Picture taken from http://de.wikipedia.org/wiki/Meta-Object_Facility
Web Services
Copyright © 2004 by Lawrence Wilkes
”MDE buzzwords”n MDD = Model-Driven Development
n Use of (prescribed) models and transformations duringsoftware development
n Also used commonly as a synonym for MDEn MDA = Model-Driven Architecture
n OMG initiativen UML + MOF + QVT + few other standards..
n Software factoriesn Microsoft Domain-Specific Language Toolsn Software factory = model-driven product linen Combines model-driven & component-based
techniques with product-line principles
SOC & Model-Driven Engineering
n SOC provides feasible abstractionsn ”SOC complements the MDA approach by providing a
template for structuring business systems andintegration solutions, the service paradigm” (Piccinelliand Skene, SOSE-book, 2005)
n Both emphasize the role of meta-informationn ”The MDA complements SOC by promoting the early
modeling of systems to understand their operation, anecessary prerequisite when wrapping a system with aservice interface” (Piccinelli and Skene, SOSE-book,2005)
Tools needed for SOSEn Service-oriented analysis techniquesn Domain-specific modeling language (family)
n Supporting viewpoints and modeling aspectsn E.g. ODP viewpoints
n Validation & verification toolsn Preferably weaved to design and implementation tools
”transparently”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 SOCinfrastructuren Discovery of available service types / offersn Publication of new service types / offersn Deployment & configuration of service implementations
A SOA tool chain
ModelBus
Copyright © 2004 by Philippe Millot
MODELWARE (MODELing solution for softWARE systems)EU Information Society Technology (IST) Projecthttp://www.modelware-ist.org
Trends in research
n Concepts of SOSEn SOC concepts
n Service compositionn SOSE specific SE processes / phases
n Service & collaboration modelling languagesn Application of formal methods
n Model-Driven Engineeringn Model-weaving, transformation semantics
n Technology for SOCn Web Services
Research questions (1/4)
n Analysis & designn What are the concepts and methods to be
used?n Are 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 thesebe interpreted in the context of service-orientedcomputing?
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 SOSE
process?n Verification methods before / during / after
implementation§ Design verification§ SOC programming language type systems§ Dynamic model checking / conformance validation
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 frameworksn Implementation models (MDE)n Programming languages for SOC
n Static / dynamic aspects of service developmentn SOC is inherently dynamic environmentn What can be done before / during maintenance phase?n How to identify thìs 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
Research questions (4/4)n Maintenance
n Deployment of service-oriented systemsn 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-oriented
collaborationsn Facilities for establishing and upholding contracts
n Evolution managementn What kind of changes can be tolerated?n How? At which points of time?n At which level? (implementation, model, meta-model)
Conclusionn SOSE is still an open field
n Results stemming primarily from OOSE & CBSEn There is no complete SOSE process available, yet?
n SOC has been quite techonology drivenn Strong role of industry in Web Services standardisationn The role of SOC infrastructure in the software engineering process has
been left quite vaguen MDE is a good fit for SOSE
n Both emphasize the role of meta-informationn Quite easy to generate (at least simple) skeleton code for service-
interfacesn In infancy: model (aspect) weaving, compositionality, separation of
concerns (viewpoints)n SOC & SOSE emphasize convergence between ”business” &
infrastructuren There is no strict phasing of a SOSE process but inter-dependecies
instead?
Practicalitiesn Contact: Toni.Ruokolainen@cs.Helsinki.FI
n Room: D219n Timetable for the next few weeks
n 12.09.2006 No sessionn 19.09.2006 Abstracts due!
n PDF-format, 1-2 pages (look at the seminar page formore information)
n 26.09.2006 No sessionn 03.10.2006 First presentation
n Reservation of time-slotsn Now..n Opponents(?)
top related