Professional Documents
Culture Documents
Contents
n Introduction n Challenges & motivation n Service-Oriented Computing paradigm n Characteristics of Service-Oriented Software
eCommerce
Target areas: - Consumer sales Technologies: - Web Shops - portals
Time
Collaborative
n n n
From technological integration to federation From tightly coupled to loosely coupled From centralised to distributed control
n Collaborative systems n Autonomous participants, heterogenenous resources, dynamic environments n B2B, P2P, MAS, n Maturation of communication technology n Can now consider semantic & pragmatic interoperability
Collaboration contract (business network model, delivery order selller partners, order Technical details, contract customer order receipt invoice breach recovery logistics bank mechanisms) Copyright 2006 by Lea Kutvonen
docket
Challenges
n Establishing interoperability in collaborative systems n Autonomy, heterogeneity, dynamism n Bridging the semantic gap between domain concepts
n Providing agility n Agile development methodologies n On-the-fly collaboration establishment n Flexibility of software systems
Outsourcing, globalisation Emphasizes agility and low time-to-market Provide meaningful abstractions for SE Separation of concerns
n
Model-driven engineering: productivity, agility, fail-safety From monolithic systems to more flexible service-oriented systems Increase ROI Fertilizes / enhances new kinds of business models? SMEs role and possibilities
n n
discipline n Considers services as the primary elements of design and production n Utilisation of Service-Oriented Computing paradigm throughout the development process n Emphasizes the role of meta-information n Development through service discovery & composition n SOSE = SOC paradigm + SE process / methodology + SOAbased tool-chain
Service-Oriented Computing
SOSE
Software Engineering process
Service-Oriented Computing
n n
(SOC) is the computing paradigm that utilizes services as fundamental elements for developing applications Concepts
n n n
Service descriptions Service composition Service-Oriented Architecture Loose coupling Description-centricity Autonomy Collaborative computing Define, describe, find, bind
Characteristics
n n n n
Service life-cycle
n
Service Descriptions
n Two kinds of descriptions n Service types n Service offers n Service type characterises common properties for a
kind of services
n n
n Service offer advertises a service implementation n Published by service provider n Conforms to a service type
Service Composition
n Based on service descriptions n Results in a composite service
n n n n
Added value (e.g. Travel company) Composition synthesis Composition execution Process-based composition (Enterprise computing, workflow systems)
n n
n Prevalent types of service composition Orchestration, choreography WS-BPEL, WS-CDL FSM-based automaton synthesis Pre-/post-condititions, planning Components & connectors
n n n
Service-Oriented Architecture
n An architectural style
Analysis Design Validation and verification Implementation Maintenance What methods / techniques are feasible in each phase? What are the methods and techiques of a SOSEprocess?
Service-oriented analysis
n Identify the conceptual services and collaboration patterns
Define service requirements n Services are coarse-grained objects / components n Technology driven: wrapping legacy systems behind uniform service interfaces n Bottom-up approach n Providing new services n Identifying existing services n Service as a concept n Ideology driven: bridging the gap between business and technology n Top-down approach
n
n
n Meet-in-the-middle n
Service-oriented analysis
n Example activities
Functionality NFA
Identifying collaborations (or service-oriented system architectures) n Identifying pre-existing service types
n
Service-oriented design
n Use domain specific vocabulary to define and describe concepts
Vocabulary to be used
Modelling behaviour
n n
Service interface behaviour Business processes Service interfaces Service compositions If pre-existing services are available
Validating conformance
n n
n Verification of designs
n n n n n
Interoperability with prescribed collaborations and services Formal verification of properties Correctness of service compositions Need of service monitoring Need of contract-driven collaboration
statically?
n Implementation technologies
Monitoring
n Evolution support
NFA Models
Architecture style
PSM
WS specific platform models
PSM
EJB specific platform models
PSM
.NET specific platform models
Execution infrastructures
WS EJB/J2EE .NET/COM Others
Hierachy of models
n MDE considers models as primary
engineering artifacts n Models are representations of reality for a given purpose n Models conform to a meta-model n Provides a typing scheme for model elements n Formal specification of an abstraction n Metamodels are described with metametamodels n A language for defining metamodels n E.g. OMGs MOF (UML is based on MOF)
MDE principles
n Three principles of MDE n Direct representation n Automation n Standards
Direct representation
MDE
Standards Automation
Adapted from David Frankel: An MDA Manifesto MDA Journal, May 2004 http://www.bptrends.com
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 MOF are applicable
MDE: Automation
n Automation
Facets of DSLs are intended to be automatically processed n Transformations n Model-to-Model (M2M) n Transformation languages
n
n
CIM M2M PDM Model weaving MODELS PLATFORMS PSM M2T Text (code) PIM M2M
n Code generation
n n n
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 interoperability n Middleware infra (CORBA, WS) n Messaging (XML-standards, SOAP, GIOP/IIOP) n Communication platforms (TCP/IP)
MOF
Web Services
MDE buzzwords
n MDD = Model-Driven Development n Use of (prescribed) models and transformations during software 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-based techniques with product-line principles
Supporting viewpoints and modeling aspects n E.g. ODP viewpoints n Validation & verification tools n Preferably weaved to design and implementation tools transparently n A SOC programming language n Native support (type system) at least for messaging and XML-handling n A software-engineering tool-chain natively paired with SOC infrastructure n Discovery of available service types / offers n Publication of new service types / offers n Deployment & configuration of service implementations
n
ModelBus
MODELWARE (MODELing solution for softWARE systems) EU Information Society Technology (IST) Project http://www.modelware-ist.org
Trends in research
n Concepts of SOSE n SOC concepts
n
Service composition
n Service & collaboration modelling languages n Application of formal methods n Model-Driven Engineering n Model-weaving, transformation semantics n Technology for SOC n Web Services
What would a service-oriented analysis method look like? n What are the quality attributes for services?
n
n
Low coupling & high cohesing; How should these be interpreted in the context of service-oriented computing?
What kind of meta-information repositories? Support for different composition frameworks Implementation models (MDE) Programming languages for SOC SOC is inherently dynamic environment What can be done before / during maintenance phase? How to identify ths distinction during the engineering process? How to address dynamic aspects?
Are they modeled explicitly? Left implicit and dealt in the platform level?
MDE challenges
n n n
Viewpoint modelling & correspondences / relationships between views Aspect languages & model weaving (esp. NFA) Static & dynamic use of meta-information
What kind of configuration mechanisms are needed? n Establishment and maintenance of service-oriented collaborations 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)
n
Conclusion
n SOSE is still an open field
n n n n
Results stemming primarily from OOSE & CBSE There is no complete SOSE process available, yet? Strong role of industry in Web Services standardisation The role of SOC infrastructure in the software engineering process has been left quite vague Both emphasize the role of meta-information Quite easy to generate (at least simple) skeleton code for serviceinterfaces In infancy: model (aspect) weaving, compositionality, separation of concerns (viewpoints)
infrastructure
n
Practicalities
n Contact: Toni.Ruokolainen@cs.Helsinki.FI 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 for more information) n 26.09.2006 No session n 03.10.2006 First presentation n Reservation of time-slots n Now.. n Opponents(?)