Experience in software design
During this course, we give an overview of SOA and SOA Governance. You will gain insight into the added value of using service contracts as part of your development process.
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
United Arab Emirates - SOA and SOA Governance
Qatar - SOA and SOA Governance
Egypt - SOA and SOA Governance
Saudi Arabia - SOA and SOA Governance
South Africa - SOA and SOA Governance
Brasil - SOA and SOA Governance
Canada - SOA and SOA Governance
Österreich - SOA and SOA Governance
Schweiz - SOA and SOA Governance
Deutschland - SOA and SOA Governance
Czech Republic - SOA and SOA Governance
Denmark - SOA and SOA Governance
Estonia - SOA and SOA Governance
Finland - SOA and SOA Governance
Greece - SOA and SOA Governance
Magyarország - SOA and SOA Governance
Ireland - SOA and SOA Governance
Luxembourg - SOA and SOA Governance
Latvia - SOA and SOA Governance
Italia - SOA and SOA Governance
Lithuania - SOA and SOA Governance
Nederland - SOA and SOA Governance
Norway - SOA and SOA Governance
Portugal - SOA and SOA Governance
România - SOA and SOA Governance
Sverige - SOA and SOA Governance
Türkiye - SOA and SOA Governance
Malta - SOA and SOA Governance
Belgique - SOA and SOA Governance
France - SOA and SOA Governance
Australia - SOA and SOA Governance
Malaysia - SOA and SOA Governance
New Zealand - SOA and SOA Governance
Philippines - SOA and SOA Governance
Singapore - SOA and SOA Governance
Thailand - SOA and SOA Governance
Vietnam - SOA and SOA Governance
India - SOA and SOA Governance
Polska - SOA and SOA Governance
United Kingdom - SOA and SOA Governance
South Korea - SOA and SOA Governance
Pakistan - SOA and SOA Governance
Sri Lanka - SOA and SOA Governance
Bulgaria - SOA and SOA Governance
Indonesia - SOA and SOA Governance
Kazakhstan - SOA and SOA Governance
Moldova - SOA and SOA Governance
Morocco - SOA and SOA Governance
Tunisia - SOA and SOA Governance
Kuwait - SOA and SOA Governance
Slovakia - SOA and SOA Governance
Kenya - SOA and SOA Governance
Nigeria - SOA and SOA Governance
Botswana - SOA and SOA Governance
Slovenia - SOA and SOA Governance
Croatia - SOA and SOA Governance
Serbia - SOA and SOA Governance
Bhutan - SOA and SOA Governance