CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE

Slides:



Advertisements
Similar presentations
Siebel Web Services Siebel Web Services March, From
Advertisements

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
Chapter 19 – Service-oriented Architecture
An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
SOA and Web Services. SOA Architecture Explaination Transport protocols - communicate between a service and a requester. Messaging layer - enables the.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Business Process Orchestration
CS 522 WebServices -Sujeeth Narayan -Ankur Patwa.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Department of Biomedical Informatics Service Oriented Bioscience Cluster at OSC Umit V. Catalyurek Associate Professor Dept. of Biomedical Informatics.
Web Services Description Language CS409 Application Services Even Semester 2007.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
Enabling Grids for E-sciencE Astronomical data processing workflows on a service-oriented Grid architecture Valeria Manna INAF - SI The.
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
Kemal Baykal Rasim Ismayilov
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
1 WSDL Web Services Description Language. 2 Goals of WSDL Describes the formats and protocols of a Web Service in a standard way –The operations the service.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Service-Oriented Software Engineering
.NET Omid Darroudi.
Chapter 1: Introduction to Systems Analysis and Design
Sabri Kızanlık Ural Emekçi
Chapter 5 Remote Procedure Call
WEB SERVICES.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
SOFTWARE DESIGN AND ARCHITECTURE
Systems Analysis and Design With UML 2
Unit – 5 JAVA Web Services
Introduction to Web Services
Service Oriented Architecture
Distribution and components
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts and Web services
مدیریت فرایندهای کسب و کار و معماری سرویس گرا
Service-centric Software Engineering
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Service-centric Software Engineering 1
Service Oriented Architecture (SOA)
An Introduction to Software Architecture
Distributed Systems through Web Services
Chapter 1: Introduction to Systems Analysis and Design
Introduction to Web Services
Distributed System using Web Services
Introduction to SOA and Web Services
WEB SERVICES From Chapter 19, Distributed Systems
SOA Strategies for Enterprise X
Introduction to Web Services and SOA
Chapter 5 Architectural Design.
Design Yaodong Bi.
Distributed System using Web Services
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
From Use Cases to Implementation
Presentation transcript:

CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE SOFTWARE INTEGRATION CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE <<professor>>

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

Problems Addressed by a Service Oriented Architecture Computer Science Department

DIRECTIONS OF SYSTEM ARCHITECTURE 1960 - 1980 1990 - 2000 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

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.

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

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

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

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

A WSDL DESCRIPTION FRAGMENT Computer Science Department

A WSDL DESCRIPTION FRAGMENT Computer Science Department

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

HOTEL BOOKING WORKFLOW Computer Science Department

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

ORCHESTRATION VS. CHOREOGRAPHY Defines Interaction. ORCHESTRATION A Single Director In Control. Computer Science Department

ORCHESTRATION VS. CHOREOGRAPHY Orchestration within services Choreography between services Computer Science Department

Example: Purchase order

CHOREOGRAPHY PERSPECTIVE

ORCHESTRATION PERSPECTIVE

ORCHESTRATION AND CHOREOGRAPHY

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, 2006 Software Engineering, 8th Edition, Chapter 31 Computer Science Department

STEPS TO RECOVERING WEB SERVICES Identify reusable blocks. Evaluate for reusability. Extract from the legacy code. Wrap with a WSDL interface. Computer Science Department

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

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

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

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

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

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