Download presentation
Presentation is loading. Please wait.
Published byUrsula Melsbach Modified over 6 years ago
1
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
SOFTWARE INTEGRATION CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE <<professor>>
2
SERVICE-ORIENTED ARCHITECTURES
A means of developing distributed systems where the components are stand-alone services. Services may execute on different computers from different service providers. Standard protocols have been developed to support service communication and information exchange. Computer Science Department
3
Problems Addressed by a Service Oriented Architecture
Computer Science Department
4
DIRECTIONS OF SYSTEM ARCHITECTURE
2010 – 2050 Organization Focus Mainframe Centric Internal Use Unique Data Process Focus Client Server Partial Connectivity EDI File Transfer Distributed Functions Data Centric Universal Interoperability Real-time Connectivity
5
KEY CHARACTERISTICS OF SOA
Quality of service, security and performance are specified. Software infrastructure is responsible for managing. Services are cataloged and discoverable. Data are cataloged and discoverable. Protocols use only industry standards.
6
Computer Science Department
WHAT IS A “SERVICE”? A Service is a reusable component. A Service changes business data from one state to another. A Service is the only way how data is accessed. If you can describe a component in WSDL, it is a Service. Computer Science Department
7
Computer Science Department
SOA AND WEB SERVICES SERVICE-ORIENTED ARCHITECTURE IS AN ARCHITECTURAL STYLE Derived from the client-server architectural style. Clients (service consumers or requesters) and servers (service providers) connected by a service “bus”. Services defined using formal interfaces (contracts). Service bus supports point-to-point and messaging styles of communication. Support for system qualities, e.g., security and transaction management. WEB SERVICES Services provided in a SOA deployed over the web. Open source software for SOA, IONA Technologies A-Trenaman-SOA.pdf Computer Science Department
8
WEB SERVICE DESCRIPTION LANGUAGE
The service interface is defined in a service description expressed in WSDL. The WSDL specification defines: What operations the service supports and the format of the messages that are sent and received by the service. How the service is accessed - that is, the binding maps the abstract interface onto a concrete set of protocols. Where the service is located. This is usually expressed as a URI (Universal Resource Identifier). Computer Science Department
9
STRUCTURE OF A WSDL SPECIFICATION
Intro Abstract interface Concrete implementation WSDL service definition XM L namespace declarations Type declarations Interface declarations Message declarations Binding declarations Endpoint declarations Computer Science Department
10
A WSDL DESCRIPTION FRAGMENT
Computer Science Department
11
A WSDL DESCRIPTION FRAGMENT
Computer Science Department
12
SERVICE IMPLEMENTATION AND DEPLOYMENT
Programming services using a standard programming language or a workflow language. Services then have to be tested by creating input messages and checking that the output messages produced are as expected. Deployment involves publicizing the service using UDDI and installing it on a web server. Current servers provide support for service installation. Computer Science Department
13
HOTEL BOOKING WORKFLOW
Computer Science Department
14
STANDARDS FOR WEB SERVICE COMPOSITION
SERVICE ORCHESTRATION WS-BPEL is an XML-based language for workflow specification. WS-BPEL is an “orchestration” language. Service orchestration defines the sequence and conditions in which one Web service invokes other Web services. Can be used to create a composite service out of other services. SERVICE CHOREOGRAPHY WS-CDL is an XML-based language for describing service “choreography”. Choreography defines the allowable message exchanges between services. Computer Science Department
15
ORCHESTRATION VS. CHOREOGRAPHY
Defines Interaction. ORCHESTRATION A Single Director In Control. Computer Science Department
16
ORCHESTRATION VS. CHOREOGRAPHY
Orchestration within services Choreography between services Computer Science Department
17
Example: Purchase order
18
CHOREOGRAPHY PERSPECTIVE
19
ORCHESTRATION PERSPECTIVE
20
ORCHESTRATION AND CHOREOGRAPHY
21
LEGACY SYSTEM SERVICES
An important application of services is to provide access to functionality embedded in legacy systems. Legacy systems offer extensive functionality and this can reduce the cost of service implementation. External applications can access this functionality through the service interfaces. © Ian Sommerville, Software Engineering, 8th Edition, Chapter 31 Computer Science Department
22
STEPS TO RECOVERING WEB SERVICES
Identify reusable blocks. Evaluate for reusability. Extract from the legacy code. Wrap with a WSDL interface. Computer Science Department
23
Identifying reusable code blocks
Process Arguments Slicing Technique y = f (x) Result = Processing Rule (Arguments); Processing_Rule = Allocation (Path_Expression); Path_Expression = [<Conditions>]n; Program Procedure Condition Condition Path Expression n Assign Or Compute Result Computer Science Department
24
Evaluating the reusability of a software building block
REUSABILITY METRIC SYSTEM PROGRAM Reusability of potential procedures or classes should be > 50% . MODULE ENTRY Few Dependencies No I/O EXIT Computer Science Department
25
Salvaging components from legacy code Computer Science Department
Business Rule Legacy Code Input Parameters Relocatable Self-controlled Internal Data Output Code statements traversed to implement rule Data Used by Source effected Results Computer Science Department
26
Generated Wrapper Routines
Service Request Wrapping salvaged components WSDL Interfaces Generate from Inputs Generate from Outputs Generated Wrapper Routines Input Parameters Output Parameters Procedural Code (section, Procedure or Function Computer Science Department
27
MAJOR PITFALLS WITH SYSTEM INTEGRATION Computer Science Department
DESCRIPTION What is expected has delay The experience shows that the implemented elements always do not arrive in the expected order and the tests never proceed or result as foreseen; therefore, the integration strategy should allow a great flexibility. Big-bang not appropriate The "big-bang" integration technique is not appropriate for a fast detection of faults. It is thus preferable to verify the interfaces progressively all along the integration. Integration plan too late The preparation of the integration activities is planned too late in the project schedule, typically when first implemented elements are delivered. Computer Science Department
28
PROVEN PRACTICES WITH SYSTEM INTEGRATION Computer Science Department
DESCRIPTION Start earlier development of means The development of assembly tools and verification and validation tools can be as long as the system itself. It should be started as early as possible as soon as the preliminary design is nearly frozen. Integration means seen as enabling systems The development of integration means (assembly tools, verification, and validation tools) can be seen as enabling systems, using system definition and system realization processes . These projects can be led by the project of the corresponding system-of-interest, but assigned to specific system blocks, or can be subcontracted as separate projects. Use coupling matrix A good practice consists in gradually integrating aggregates in order to detect faults more easily. The use of the coupling matrix applies for all strategies and especially for the bottom up integration strategy. Integration and design teams The integration responsible should be part of the design team. Computer Science Department
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.