©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
Advertisements

Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Figures – Chapter 19. Figure 19.1 Service-oriented architecture.
Software Engineering 6/e, Chapter 8
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 19 Slide 1 Component-based software engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
7M701 1 Software Engineering Systems Models Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 7 (some items)
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Overview of Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 19 – Service-oriented Architecture
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
©Ian Sommerville 2006MSc module: Advanced Software Engineering Slide 1 Service-centric Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
©Ian Sommerville 2000 Software Engineering. Chapters 12/31Slide 1 Chapters 12/31 Distributed Systems Architectures & Service-Oriented Software Engineering.
Chapter 19 – Service-oriented Architecture 1Chapter 19 Service-oriented architecture CS 425 November 17, 2010 Ian Sommerville, Software Engineering, 9.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Packets.
Chapter 18 – Service-oriented Software Engineering 26/11/2014 Chapter 18 Service-oriented software engineering 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 18 – Service-oriented Software Engineering 26/11/2014 Chapter 18 Service-oriented software engineering 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 9 Web Services.
Chapter 18 – Service-oriented Software Engineering
Chapter 17 - Component-based software engineering
Chapter 18 – Service-oriented Software Engineering
Service-centric Software Engineering
Service-centric Software Engineering 1
Chapter 17 - Component-based software engineering
Presentation transcript:

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 2 Service identification l Is the service associated with a single logical entity used in different business processes? l Is the task one that is carried out by different people in the organisation? l Is the service independent? l Does the service have to maintain state? Is a database required? l Could the service be used by clients outside the organisation? l Are different users of the service likely to have different non-functional requirements?

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 3 Catalogue services l Created by a supplier to show which good can be ordered from them by other companies l Service requirements Specific version of catalogue should be created for each client Catalogue shall be downloadable The specification and prices of up to 6 items may be compared Browsing and searching facilities shall be provided A function shall be provided that allows the delivery date for ordered items to be predicted Virtual orders shall be supported which reserve the goods for 48 hours to allow a company order to be placed

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 4 Catalogue - Non-functional requirements l Access shall be restricted to employees of accredited organisations l Prices and configurations offered to each organisation shall be confidential l The catalogue shall be available from 0700 to 1100 l The catalogue shall be able to process up to 10 requests per second

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 5 Catalogue service operations

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 6 Service interface design l Involves thinking about the operations associated with the service and the messages exchanged l The number of messages exchanged to complete a service request should normally be minimised. l Service state information may have to be included in messages

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 7 Interface design stages l Logical interface design Starts with the service requirements and defines the operation names and parameters associated with the service. Exceptions should also be defined l Message design Design the structure and organisation of the input and output messages. Notations such as the UML are a more abstract representation than XML l WSDL description The logical specification is converted to a WSDL description

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 8 Catalogue interface design

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 9 Input and output message structure

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 10 Service implementation and deployment l Programming services using a standard programming language or a workflow language l Services then have to be tested by creating input messages and checking that the output messages produced are as expected l Deployment involves publicising the service using UDDI and installing it on a web server. Current servers provide support for service installation

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 11 A UDDI description l Details of the business providing the service l An informal description of the functionality provided by the service l Information where to find the service’s WSDL specification l Subscription information that allows users to register for service updates

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 12 Legacy system services l An important application of services is to provide access to functionality embedded in legacy systems l Legacy systems offer extensive functionality and this can reduce the cost of service implementation l External applications can access this functionality through the service interfaces

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 13 Legacy system access

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 14 Software development with services l Existing services are composed and configured to create new composite services and applications l The basis for service composition is often a workflow Workflows are logical sequences of activities that, together, model a coherent business process For example, provide a travel reservation services which allows flights, car hire and hotel bookings to be coordinated

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 15 Vacation package workflow

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 16 Construction by composition

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 17 Hotel booking workflow

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 18 Workflow design and implementation l WS-BPEL is an XML-standard for workflow specification. However, WS-BPEL descriptions are long and unreadable l Graphical workflow notations, such as BPMN, are more readable and WS-BPEL can be generated from them l In inter-organisational systems, separate workflows are created for each organisation and linked through message exchange

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 19 Interacting workflows

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 20 Service testing l Testing is intended to find defects and demonstrate that a system meets its functional and non-functional requirements l Service testing is difficult as (external) services are ‘black-boxes’. Testing techniques that rely on the program source code cannot be used

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 21 Service testing problems l External services may be modified by the service provider thus invalidating tests which have been completed l Dynamic binding means that the service used in an application may vary - the application tests are not, therefore, reliable l The non-functional behaviour of the service is unpredictable because it depends on load l If services have to be paid for as used, testing a service may be expensive l It may be difficult to invoke compensating actions in external services as these may rely on the failure of other services which cannot be simulated

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 22 Key points Service interfaces may be defined for legacy software systems which may then be reused in other applications. Software development using services involves creating programs by composing and configuring services to create new composite services. Business process models define the activities and information exchange in business processes. Activities in the business process may be implemented by services so the business process model represents a service composition. Techniques of software testing based on source-code analysis cannot be used in service-oriented systems that rely on externally provided services.