|
|
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 |
|
Recommended reading & follow on courses
Service-Oriented Architecture: Concepts, Technology & Design Testimonials
Who has been on this course before
|
