SOA and Service Oriented Software Development
Kurs Dili: İngilizce
Süre: 4 gün
Kurs İçeriği (Trivera kurs kataloğu)
Session 1: 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.
- Examine the gap in Software Development between the model and the developers .
- 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 workflows 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.
Session 2: Business Process Modeling
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, and BPMN)
- Introduce Catalyst as a BPM process
- Role of BPM in Software development
- Understand BPM's role in use case modeling
- Understand BPM's role in Service Identification
- Understand BPM's role in modeling / implementing Orchestration
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 Modeling Notation (BPMN)
- Understand BPMN's Pools and Lanes
- Understand BPMN's Events , Tasks , and the other BPMN elements
Lesson: Introduction to WS-BPEL
Session 3: 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 Modeling
- 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 modeling
- 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: extends and 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 Modeling
- Understand the Objective of the Conceptual Modeling
- Create a conceptual model
- Learn to distinguish good and bad attributes
Session 4: 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 modeling
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, modeling 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
Appendix 1: Design with UML
Lesson: Structural Modeling
- 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 Modeling
- 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 modeling and Object Behavior
- Appreciate the iterative behavior between interaction and structural modeling
- 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 modeling
Appendix 2: Introduction to Web Services in SOA
Lesson: Introduction to Web Services
- Define Web Services
- Look at Web Service from a Business and Architectural perspective
- Look at Web Service from a Technical Architectural perspective
- List benefits of using Web Services for an SOA
- Discuss the maturity of Web Services
- List criteria if, when and where to use Web Services in your Architecture
Lesson: Web Services technologies
- List different types of applications of Web Services
- Layout the Web Services technologies: technologies for meta data, messaging, transactions and process, presentation, security and management
- List important organizations, companies and bodies involved with Web Services
- Understand the role of XML, XML Schema and XML namespaces
- Introduce SOAP
- Understand the role of WSDL
- Understand the significance of a WSDL document
- Understand the role of UDDI
- Understand different ways of using UDDI is used
- Introduce WS-Addressing, WS-Security, WS-RM, BPEL
Appendix 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 a MDA process
- Demonstrate creation of the CIM, PIM and PSM models
- Demonstrate round trip code generation
- Demonstrate how models stay synchronized