Course Outline
Key concepts and themes
- What is SOA?
- What kind of architectural style to choose?
- The "pipe and filter" style
- Constraints on data types
- The development lifecycle
- Providing an appropriate level of abstraction
- Key themes addressed within RUP for SOA
Service identification and specification
- Constructing a model of a service
- WSDL-defined services
- Developing service specifications
- Defining service providers
- Determining the granularity of a service
- A behavioural specification
- Policy specification
- Defining candidate services
- Refactoring services
Managing a service portfolio
- Applications as dynamic entities
- A portfolio of available capabilities
- Process time-binding
- Run-time binding
- WSDL, XSD and WS-Policy
- The service portfolio management process
- Configuring an SLA for a web service
Partitioning service-oriented solutions
- Managing the models
- Categorizing the elements
- Different stakeholders reviewing the model
- Using packages
- Representing views into the model
- Composite structure from UML 2.0
- Using "parts" and "connectors"
- Partitioning the managed services
New and updated guidelines
- Managing message attachments
- Designing messages
- Assuring consistency of message schema
- Service data encapsulation
- Relationship data schema - service boundaries
- Service mediation
- State management
- The merits of stateful and stateless services
- Managing resource state
- Going from services to service components
- The traditional design/implementation model
Message-centric design
- Focus on the service domain
- Domain engineering
- Applying object-oriented analysis and design
- Producing highly reusable models
- The traditional business-to-business arena
- EDI standardization
- Hybrid message and service-centric approach
- Use case analysis
- Documenting requirements
- Using business process models
- Non-functional requirements
- The requirements database
Service-centric design
- Exposing functions expected of the business
- Exposing operations of service providers
- Making intuitive service interfaces
- Service-centric modelling
- Use-case driven approach
- Understanding the needs of the actors
- The project goals -from a business standpoint
- Involvement of the software architect
- Policy information, required by service consumers
- The business executive role
- Interaction with the back-end system
- Connecting service to implementation model
- Refining the service model
- Addressing performance concerns
Collaboration-centric design
- Collaborating services
- Process view of the services
- Traditional business modelling
- Fulfilling roles in the collaboration
- Partner Interchange processes (PIPs)
- OAGIS standards
- Process-centric mindset
- The "business vs. IT gap"
- "Black box" activities
- Defining key performance indicators (KPIs)
- Versioning and publishing a model
- Producing metrics for monitoring
- Choreography language
- Business process execution language (BPEL)
- Monitoring the services
What is SOA Governance?
- Compliance to standards or laws
- Change management
- Ensuring quality of services
- Managing the portfolio of services
- Managing the service lifecycle
- Uing policies to restrict behavior
- Monitoring performance of services
The SOA Governance issue
- Governance appearing as SOA initiatives
- A dynamic environment for services to interact
- Encouraging the reuse of services
- Controlling how services interact with each other
SOA Governance Stages
- First: realization that governance is needed
- Second: governance improving business execution
- Third: mixing technology & changes in behavior
- Fourth: technology selection & implementation
Service Management
- Design-time perspective
- Run-time perspective
- Repository of service for reuse
- Services contained in heterogeneous platforms
- Service-virtualization for run-time management of services
Critical governance components
- Service registry service and an asset repository
- Creating a "SOA Centre of Excellence”
- Focusing on establishing SOA organizational guidelines
- The organizational maturity
- Agreed governance policies
SOA Governance tools
- Real time monitoring of events
- Failures in a BSM framework
- Service-level instrumentation
- Hooking into operational management systems
- Virtualization as enabler to separate governance/service logic
- Service virtualization managed by operational staff
Developing core SOA governance
- Why SOA technology stack has grown complex
- Mixing between COTS & in-house
- Justifying external consultants to help out
- Figuring out which business we are really in
Roles and responsibilities involved in SOA Governance
- Establishing a SOA Centre of Excellence
- Enterprise-wide planning and assistance in execution
- The roles of the SOA architect/governance architect
- Solving potential conflicting interests
- Ensure that governance guidelines are followed
Barriers to SOA governance
- Not realizing the need for governance
- Lack of Governance technologies
- Lack of Service virtualizations
State of good governance
- Interaction with external parties
- Managing the business rules and BRE mgmt
- Regulations for good governance
- The agreements repository
- Proactively embedding governance in the business
- Governance by action rather than by statement
- SLA monitoring to establish premium prices
Critical success factors
- Start thinking about governance early
- View governance as a moving target
- Manage policies as entities with their own lifecycles
- Choose a technology platform
- The platform should address immediate governance needs
- Future support as SOA infrastructure scales
- Enforce service level agreements
Requirements
Experience in software design
Testimonials (7)
Bardzo dobry kontakt z grupą, mimo niezwykle nieciekawego tematu.
Michał Gorzelany
Course - SOA 2.0 i EDA
Całość wiedzy merytorycznej nt. web service'ów, z którymi ma się kontakt niemal na co dzień.
Kamil Piotrowski - Metapack Poland Sp. z o.o.
Course - Web Services Basics for Non-Programmers
I like the training methodology that the hands-on happen on the second day after the conceptual discussion.
Rolando Jr. Erot - Seabrook Research Ltd.
Course - Mule: Integrating Your Applications
It's a hands-on session.
Vorraluck Sarechuer - Total Access Communication Public Company Limited (dtac)
Course - Talend Open Studio for ESB
The exercise and the trainer is very helpful in the coding.
Paul Andrew - IT
Course - REST API - a pattern of exchange of information between sites
extensive knowledge cover many things.
metab alanazi - Saudi Arabian Monetary Authority
Course - Enabling SOA with BPM and BPMN
Drawing on a whiteboard in real time as he explained, top experience. He knew to explain every topic.