section_text

DT offers a core set of courses aimed at covering the Application Lifecycle, from requirements gathering, analysis and design to development, testing, process and project management.

section_grafx
  

SOA Services Oriented Software Design


Course Overview
This course provides a solid overview of applying Component Based Development/Design using UML. The context is a Service Oriented Architecture (SOA) in which a Service Oriented Process (SOP) is applied.

What will I learn?
This course is targeted at Architects, IT managers, Analysts, Designers.

General knowledge and understanding of software development (processes) is assumed. No prior knowledge of UML is assumed, but is a benefit.
Detailed description

It is important to understand that this is not a Web Services course. This is more a Course on Service Orientation (SO) explaining the techniques involving:

* The SO Architecture
* The SO Software Development Process
* SO Technologies

The role of Web Services is explained in the SO Technologies section. This course will clearly explain that Web Services is merely one of the many technologies used to implement an SOA.

This course guides the student through the steps of using UML and BPMN to define a system that is comprised of service and components. The overall architecture of such a system is the Service Oriented Architecture. The student will learn how the use different UML and BPMN models and understand their semantics in an SOA. Furthermore students will learn techniques used in most Software Development Processes that deliver a system in terms of components and services, a so called Service Oriented Process (sometimes also referred to as a CBD process).

The course will illustrate the significance of Business Process Models and how they help the further development of the IT Model. Students will learn how BPM can aid in defining services, components, service operations and orchestrations.

* Explain the Service Oriented domain (Architecture, Process, Technology and Organisation)
* Explain the role of Component Based Development in an SOA
* Define Service Architecture Layers
* Define the process of service identification and specification
* Understand the importance of SOA policies and SOA governance
* Understand the relation between SOA and the Enterprise Architecture
* Define the Architecture and design of a system following a SOP using BPMN and UML
* Design the internals of a component (Service Realization)
* Various Service Oriented Technologies
* Technologies required to define the SOA (technology will be based Web Services)

Course Contents

Session: Service Oriented Architecture Overview

* Lesson: Introduction to Service Orientation
* Lesson: Describing a Service Oriented Process (SOP)

Session: Business Process Modelling

* Lesson: Business Process models (BPM)
* Lesson: IT Driven BPM

Session: UML Use Cases

* Lesson: Requirements Capture
* Lesson: Use Case Modelling
* Lesson: Documenting Use Cases with Scenarios
* Lesson: Elaborate the Use Case Model

Session: Design with UML

* Lesson: Structural Modelling
* Lesson: Dynamic Modelling
* Lesson: Implementation Models

Session: Consume-driven Service Specification

* Lesson: Process of Service Planning and Specification Overview
* Lesson: Service Portfolio Planning
* Lesson: Consume driven Service Operation Specification
* Lesson: Orchestration using BPMN and BPEL

Appendix: Web Services Technologies Introduced

* Lesson: Communication protocols (HTTP & SMTP)
* Lesson: Introduction to SOAP
* Lesson: Introduction to WSDL and UDDI

Appendix: Model Driven Architecture Overview

* Lesson: Overview of MDA
* Lesson: MDA Applied in an Actual Design

Detailed overview
Service Oriented Architecture Overview

Lesson: Introduction to Service Orientation

* Define the SOA
* List benefits of SOA
* Understand the move in IT which leads us to SOA and the business value it can bring
* Define Business Agility and explain the different aspects of agility
* Define a Service and a software service
* Discuss the possible role of Web Services in an SOA
* Understand the relation between SOA and CBD
* List benefits of using components for the Service implementation
* Describe the requirements of the Software Development Process that leads to services.

Lesson: Describing a Service Oriented Process (SOP)

* Examine the gap in Software Development between the model and the domain experts (the source).
* Examine the gap in Software Development between the model and the developers (the goal).
* Recognize the area of tension between these two gaps.
* Discuss the potential role SOA plays in managing that gap.
* Recap/Overview of UML 2.1
* Describe the requirements of the Software Development Process that leads to services.
* Discuss elements of a Service Oriented Process (SOP)
* Understand the different workflow in a SOP
* Discuss the cultural and organizational changes required for SOA and SOP
* Understand the concept of "Design by Contract"
* Understand that SOP requires an iterative and incremental approach.

Business Process Modelling
Lesson: Business Process models (BPM)

* Understand the role of BPM
* Appreciate the usage of BPM
* Discuss BPMS
* Position BPEL and WfMC's XPDL
* Pragmatic BPM (IT driven BPM)
* Understand how BPM can simplify and guide further analysis
* List different BPM notations (e.g., UML, Catalyst, BPMN)
* Introduce Catalyst as a BPM process
* Role of BPM is Software development
* Understand BPM's role in use case Modelling
* Understand BPM's role in SO Component and Orchestration Identification and Modelling

Lesson: IT Driven BPM

* Decomposing an organization into process groups
* Introduce the Process Hierarchy Diagram (Catalyst)
* Define an Identifiable Business Process
* Define the process flow for an Identifiable process
* Define a Elementary Business Process
* Introduce the Business Process Modelling Notation (BPMN)
* Understand BPMN's Pools and Lanes
* Understand BPMN's Events , Tasks, and the other BPMN elements

UML Use Cases
Lesson: Requirements Capture

* Understand the process of requirements capture
* Understand how to model requirements
* List different types of requirements
* Understand the relation between UML and requirements
* Understand how to model functional and non-functional requirements
* Understand the relation with the business model
* Understand the role of Use cases

Lesson: Use Case Modelling

* Introduce use cases in more detail.
* Understand the Use case Diagram
* Introduce the concept of a Use case, Actor and their Relationships
* Explain a technique of Use case Modelling
* Introduce techniques of identifying Actors
* Introduce techniques of identifying Use cases
* Understand the characteristics of a "good" Use case
* List guidelines
* Understand Use case relationships: extendsand includes
* understand how Use cases complement the Requirements

Lesson: Documenting Use Cases with Scenarios

* Understand scenarios
* Understand the difference between primary and secondary scenarios
* Understand what scenarios describe

Lesson: Elaborate the Use Case Model

* Briefly introduce the technique of Conceptual Modelling
* Understand the Objective of the Conceptual Modelling
* Create a conceptual model
* Learn to distinguish good and bad attributes

Design with UML
Lesson: Structural Modelling

* Recap Classes and Objects
* Explain techniques for identifying Classes
* Understand the relation between concepts, objects and classes
* Use "viewpoints" to enforce good abstractions
* Understand cohesion and coupling
* Understand how to use and model a Class Diagram
* Understand the concepts of packages
* Understand the UML concepts of a port (including the UML ball-and-socket notations)
* Appreciate the Composite Structure Diagram
* Understand the different relationships classes can have
* Understand the different attributes an association has (roles, cardinality, name, etc)
* Understand more attributes to make a association qualified
* Understand when a association needs an association class
* Understand the difference between aggregates and composites.

Lesson: Dynamic Modelling

* Understand the role of the different dynamic UML models
* Understand the different interaction diagrams
* Understand how to use and model the UML Sequence Diagrams(SD)
* Understand the elements that make-up a SD
* Understand the role of interaction Modelling and Object Behavior
* Appreciate the iterative behavior between interaction and structural Modelling
* Understand how to use and model the Communication Diagram (formally know as Collaboration Diagram)
* Appreciate the UML Timing Diagram
* Appreciate the UML Interaction Overview Diagram

Lesson: Implementation Models

* Understand the role of the implementation Models
* Understand the Component Diagram
* Understand the Deployment Diagram
* Understand their relation
* Discuss Database Modelling

Consume-driven Service Specification
Lesson: Process of Service Planning and Specification Overview

* Understand the steps involved in specifying and populating the service architecture.
* Project (Consume) driven Service Harvesting
* Discuss other means of identifying services
* Define Service Portfolio Planning
* Discuss Strategic, Tactical and On Demand Service
* Discuss other methods for planning the service portfolio
* Describe the role of Service Management (governance)
* Understand what comprises the Specification of Service (SoS)
* Understand the possible role of WSDL
* Introduce WS-Policy as a means of augmenting the service specification

Lesson: Service Portfolio Planning

* Understand the objectives of Service Portfolio Planning (SSP)
* Describe techniques for identifying Service/Business/Architectural domains
* Describe possible contents of the SOA Policies and Guidelines
* Defining Services using the Business Architecture (using the BPM)
* Illustrate a consume driven (IT Model) approach for identifying Services using a Conceptual Model.
* Illustrate another top-down approach using the Services Process Model.
* (IT Model) Understand the process of Conceptual Modelling

Lesson: Consume driven Service Operation Specification

* Define a process of Service Operation Specification
* Identify Process operation using BPMN or the Use Cases Model
* Design Process as an Orchestration or Process Operations
* Decide between these two process implementation
* Identify business operations
* Specify operation signatures for procedure style services
* List two ways for specifying operation signatures for document style services
* Specifying, Modelling and managing the Service Data types
* Completing the Service Specification (services contract) using requirements
* Functional requirements and exceptions (Faults)
* Describe the services in a WSDL Document

Lesson: Orchestration using BPMN and BPEL

* Understand how to identify orchestrations using BPMN
* Understand what makes a BPMN model executable
* Model an Orchestration using BPMN
* Introduce BPEL and it's mapping with BPMN

Appendences
Web Services Technologies Introduced

Lesson: Communication protocols (HTTP & SMTP)

* Provide an overview of HTTP
* Introduce HTTPS
* Provide an overview of SMTP
* Show the use of HTTP/SMTP with Web Services

Lesson: Introduction to SOAP

* Provide an overview of SOAP
* Show the use of SOAP with Web Services
* Explain some of the differences between SOAP 1.1 and 1.2

Lesson: Introduction to WSDL and UDDI

* Show the use of WSDL with Web Services
* Provide an overview of WSDL
* Explain the UDDI specification
* Introduce UDDI registries
* Explain the differences between UDDI version 2 and version 3

Model Driven Architecture Overview
Lesson: Overview of MDA

* Understand why MDA is a logical step in software development.
* Understand the basic concepts of MDA.
* Understand how UML and MDA relate.
* Understand how model transformations can be realized.

Lesson: MDA Applied in an Actual Design

* Demonstrate how a tool can support an MDA process
* Demonstrate creation of the CIM, PIM and PSM models
* Demonstrate round trip code generation
* Demonstrate how models stay synchronized

Hands-on lab exercises

1. Model a Process using a BPD-Model the Business Process flow of a few selected elementary business processes (using BPMN)
2. Define the System Requirements (Creating the PIM)-The objective is not so much the use case Modelling, but the use case Modelling exercise is added so that you see all the steps. Furthermore, it will give you insight into the High View system.
3. Write a use case scenario-Learn how to write use case scenarios
4. Create a conceptual model-Create a conceptual model of the HighView domain based on the use-cases identified earlier. Reflecting the essential concepts in the problem domain.
5. Create a class diagram-Create a class diagram which reflects the information of the CRC session
6. Create a sequence diagram-Understand the details of creating a Sequence Diagram
7. Identify the Orchestration Services-Understand how to identify orchestration services
8. Identifying the Business Services-The objective is to understand ways of identifying services.
9. Identify Service operations-Understand how to identify Service Operations and verify completeness using a formal approach.
10. Graphically model an Orchestration using BPMN-Understand how to model an Orchestration using BPMN and understand how to invoke such a service.

Recommended Follow-On Courses
None

Duration
4 days

Cost
£1,500 plus VAT

Recommended reading & follow on courses

Service-Oriented Architecture: Concepts, Technology & Design
ISBN-10: 0131858580, ISBN-13: 978-0131858589


Testimonials

 


Who has been on this course before