business driven development - files.ifi.uzh.ch · business driven development: architecting soa...
TRANSCRIPT
®
IBM Software Group
© 2007 IBM Corporation
Business Driven Development:Architecting SOA Solutions to Meet the Needs of Your Business
Alan W. BrownDistinguished EngineerIBM Rational
IBM Software Group
2© 2007 IBM Corporation
Agenda
Services and Service Oriented Architecture (SOA)
The IBM Rational Software Delivery Platform
Putting it All Together – An Illustration
Summary
IBM Software Group
3© 2007 IBM Corporation
Issues forcing changeIncreasing strength and diversity of distribution channels
Increased regulatory and reporting requirements
Competitive pressures driving faster time to market for new products
Increased availability of sourcing options
Continuing merger and acquisition activity
“The world is becoming turbulentfaster than organizations
are becoming resilient.”
Gary Hamel and Lisa Valikangas“The Quest for Resilience”Harvard Business Review
Business Challenge – Delivering Enterprise Solutions
IBM Software Group
4© 2007 IBM Corporation
Technical Challenge – Balancing Opposing Forces
Ability to react to changing needs
Ability to react to changing technology opportunities
Treat change as an opportunity be competitive
Flexible sourcing and resources
Ziff Davis: Over 40% of CIO’s report they are unable to react as rapidly as business needs change
AgilityBeing Compliant
Auditable processes
Conforming to complex and changing mandates
High governance and control
Transparency
Wall Street Tech: $5.1 Billion is the amount companies will spend in
compliance-related projects in 2005
The need for a governed approach to systems development
IBM Software Group
5© 2007 IBM Corporation
The Central Role of Software & System Architecture
Improving Productivity of Deployed Resources
Innovating Businessto Capture New Value
ITBusiness
• Complexity Management• Respond to dynamic change• Modularity• Encapsulation• Separation of concerns• Deferred commitment• Composition• Adaptability• Reuse
IBM Software Group
6© 2007 IBM Corporation
Component Based Development Moved Us Forward:
Separates component specification from realizationClients only depend on the specification (interfaces)Can substitute evolving realizations to fix bugs or add new featuresSpecification captures one set of concernsRealization addresses those concerns while handling others
Adds ports for better encapsulation and isolationBetter decoupling between requestors and providersComponent client only depends on what they need not the whole component
Provides a better unit of reuseComponent is an autonomous entitySpecifies what it provides and what is necessary for its useMore formal support for commonality and variability
IBM Software Group
7© 2007 IBM Corporation
Service Oriented Architectures Were Introduced to:
Addresses the effect of application integration across ownershipboundaries
Use Service Level Agreements to capture contracts
Extend CBD with distributed computing and deployment concerns
Provide more reflective and dynamic systemsBehavior can come and goClients query for service with acceptable Quality of Service (QoS)Exceptions raised if none found
Include concepts for publishing, finding, and dynamic binding to services
Manage the practical implications of delivering heterogeneous enterprise solution through the Web and across existing middleware platforms
Integration across different technologies, protocols, and paradigms
IBM Software Group
8© 2007 IBM Corporation
What is Service-Oriented Architecture (SOA) ?
SOA is different things to different people:
a set of services that a business wants to expose to their customers and partners, or other portions of the organizationan architectural style which requires a service provider, requestor and a service descriptiona set of architectural principles, patterns and criteriawhich address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composabilitya programming model complete with standards, tools and technologies such as Web ServicesA middleware solution optimized for service assembly, orchestration, monitoring, an management
BusinessExecutive,
Analyst
Architect
Developer
ITArchitect
Software andSystem
Developer
IBM Software Group
9© 2007 IBM Corporation
Why isn’t an Executable Business Process Enough?
Good Business processes aren’t necessarily good SOA solutions
SOA models are not Business Process models
Decouple business analysis from IT SOA solution
Primary value proposition for SOA is flexibility achieved through separation of concerns, loose coupling and late binding
Services modeling is about designing this service architecture – it is different than process modeling
SOA modeling for solution, not just functional decomposition foraddressing both business and IT requirements
May result in significant refactoring of business processes thatexpress SOA requirements
IBM Software Group
10© 2007 IBM Corporation
What are the Key Issues for a Service Architecture?
You have a lot of inter-related business processes
Roles are responsible for a large number of tasks
You have to rely on many services provided by others
You need to support complex, automated business logic
You need to address complex IT concerns such as distribution, persistence, integrity, security
You need to build services that can be reused in workflow applications
And there’s a lot of variability in the processes and tasks because of different market segments and channels
You need high performance, high security, high availability
IBM Software Group
11© 2007 IBM Corporation
Moving to Services-Oriented Solutions – Vision
Servicesatomic and composite
Operational Systems
Service Components
Consumers
Business ProcessComposition; choreography; business state machines
Service ProviderService C
onsumer
Integration (Enterprise Service Bus)
QoS
Layer (Security, Managem
ent &M
onitoring Infrastructure Services)
Data A
rchitecture (meta-data) &
Business Intelligence
Governance
PackagedApplication
CustomApplication
OOApplication
Channel B2B
IBM Software Group
12© 2007 IBM Corporation
Moving to Services-Oriented Solutions – Challenges
Servicesatomic and composite
Operational Systems
Service Components
Consumers
Business ProcessComposition; choreography; business state machines
Service ProviderService C
onsumer
Integration (Enterprise Service Bus)
QoS
Layer (Security, Managem
ent &M
onitoring Infrastructure Services)
Data A
rchitecture (meta-data) &
Business Intelligence
Governance
PackagedApplication
CustomApplication
OOApplication
Channel B2B
Hosting
Bind Resource
Mediation
Transformation
Orchestration
Transport
Reliability
Security
Identity
Permissions
Firewall
Policy Management
Contract Management
Registry
RepositoryReuse
QoS
Flexibility
IBM Software Group
13© 2007 IBM Corporation
SOA Impacts the Whole Application Lifecycle
“Before I deploy it in production, how can I be sure that the service flow matches the design?”
“How can I debug my production application without reproducing the problem.”
“Which part of the SOA infrastructure is causing this service problem? The app server or the messaging connections?”
Assemble Deploy ManageModel
IntegrationDeveloper IT Service ManagerApplication
DeveloperService and
Solution Tester IT Operations
“How do I make sure it works reliably and securely with other services I’m dependent on?”
“What’s the root-cause of this service problem – the requirement, the service flow or the application?”
“Some of our services are used by our partners? How can I be sure they are meeting their SLAs?”
“Does my new SOA application meet it performance goals?”
“How do I design andimplement services basedon my existing systems?”
“What are the businessobjectives and how wouldI know when I meet them?”
“Which business services do I optimize? What impact will that have on my IT systems?”
BusinessAnalyst
“How do I test a composite solution when many of the pieces are external to me?”
IBM Software Group
14© 2007 IBM Corporation
Agenda
Services and Service Oriented Architecture (SOA)
The IBM Rational Software Delivery Platform
Putting it All Together – An Illustration
Summary
IBM Software Group
15© 2007 IBM Corporation
Construct the services
Assemble& deploy
the composite application
Test the individual services
& composite application
Model the business& identify
the business services
Designthe
services architecture
Analyze assets for reuse
Follow a service-oriented process
Manage requirements
Manage SOA assets
Manage quality
Align business strategy with IT execution
Govern SOA – align, execute and control investments
Provision, configure, tune
and troubleshoot composite
applications
Analyst Architect Developer Tester Deployment Manager
Project Manager
IT Executive
The IBM Rational Software Delivery Platform
IBM Software Group
16© 2007 IBM Corporation
Four Keys to Success with SOA
SOA Governance
Service-based Architectural Design Guidance
Design, Implementation, and Testing of Services
Management of the Service Life-cycle
IBM Software Group
17© 2007 IBM Corporation
SOA Governance is a catalyst for improving overall IT Governance
Establishing decision making rights associated with IT Establishing mechanisms and policies used to measure and control the way IT decisions are made and carried out
SOA GovernanceExtension of IT governance focused on the lifecycle of services to ensure the business value of SOA
What is Governance?
IT Governance
IBM Software Group
18© 2007 IBM Corporation
Define the Governance ApproachDefine/modify governance processesDesign policies and enforcement mechanismsIdentify success factors, metricsIdentify owners and funding modelCharter/refine SOA Center of ExcellenceDesign governance IT infrastructure
Monitor and Manage the Governance Processes
Monitor compliance with policiesMonitor compliance with governance arrangementsMonitor IT effectiveness metrics
Enable the Governance Model Incrementally
Deploy governance mechanisms Deploy governance IT infrastructureEducate and deploy on expected behaviors and practicesDeploy policies
Plan the Governance NeedDocument and validate business strategy for SOA and ITAssess current IT and SOA capabilitiesDefine/Refine SOA vision and strategyReview current Governance capabilities and arrangementsLayout governance plan
SOA Governance Lifecycle
IBM Software Group
19© 2007 IBM Corporation
SOA Governance – How IBM Can Help
Methods and skills for refining governance process
IBM SOA Governance & Management MethodSOA Center of Excellence
Visibility to business and project metrics to track execution and costs
Rational Portfolio ManagerWorkplace Business Strategy ExecutionWebSphere Business Monitor
IBM Software Group
20© 2007 IBM Corporation
SOA Solutions Need to be Architected and Evolved
Model Processes & Specify Services
Model Service Logic
Implement Service Logic
Decompose Business & Identify Services
Integrate Processes & Services
Capture Business Goals, Define use cases
Define Topology & Deployment
IBM Software Group
21© 2007 IBM Corporation
Transforming Business Needs to SOA solutions Requires a Systematic, Repeatable Approach
RealizationDecisions on sourcing of services
Specificationof Services, Components, Flows
Identificationof candidate Services, Components, and Flows
A number of techniques have been defined to design good service architecturesDelivered through methods, tools, domain models, and service offeringsExamples include IBM’s Service-Oriented Modeling and Architecture (SOMA) method
IBM Software Group
22© 2007 IBM Corporation
E X A M
P L E For illustration only
Servicesatomicand composite
Operational Systems(Applications & Data)
ServiceComponents
Consumers
Business ProcessComposition; choreography; business state machines
Service ProviderService C
onsumer
Integration (Enterprise Service Bus)
Quality of Service
Data A
rchitecture & B
usiness Intelligence
Governance
SCA
Customer(CICS 2.x)
AddressVerification
AccountActivation
AccountInquiry
DetermineEligibility
CreateAccount
EJB
Determine ApplicantEligibility
OpenAccount
AccountActivation
AccountVerification
EJB
GL(SAP)
Sales ApplicationCentral Office
Sales ApplicationRegional Office
AddressVerification
create from scratch
indirect exposure
third-party reuse
AccountSetup
ARSetup
connectivity
indirect exposure
MessageFlow
Billing(CICS 3.1)
direct exposure
Illustrative Example: Account Opening
IBM Software Group
23© 2007 IBM Corporation
RUP for SOA The Rational Unified Process (RUP) describes many useful service specification and design techniques
A good place to start understanding RUP for SOA is the Developing Service-Oriented Solutions conceptual road map
RUP for SOA concentrates on the Analysis and Design discipline
IBM Software Group
24© 2007 IBM Corporation
What we do?
How we do it?
RealizationDecisions
Specificationof Services, Components, and Flows
Identification of Candidate Services and Flows
Domain Decomposition
SubsystemAnalysis
ServiceSpecification
message & event
specification
component flowspecification
service flowspecification
Realization Decisions
Goal-ServiceModeling
Existing AssetAnalysis
Component Specificationinformation
specification
service allocation
to componentscomponent
layeringtechnical feasibility
exploration
SOMA activities are grouped into three major steps: Identification, Specification, and Realization Decisions.
At the heart of SOMA is the identification and specification of services, components, and flows.
Each step is carried out by applying one or more complementary techniques.
Service-Oriented Modeling and Analysis (SOMA) Method
IBM Software Group
25© 2007 IBM Corporation
■ Service Specification- Elaborates the Service Model,
for example, service dependencies, composition, non-functional requirements, service message specifications, design decisions, and so on
- Includes Service Litmus Testthat “gate” service exposure decisions
■ Subsystem Analysis- Partitioning into service
components that will be responsible for service realization
■ Component Specification- Detailed component modeling,
flow, information architecture, and messages
SOMA Specifies Services, Service Components, and Flows
Domain Decomposition
SubsystemAnalysis
ServiceSpecification
message & event
specification
component flowspecification
service flowspecification
Realization Decisions
Goal-ServiceModeling
Existing AssetAnalysis
Component Specificationinformation
specification
service allocation
to componentscomponent
layeringtechnical feasibility
exploration
Identification
Specification
Realization
IBM Software Group
26© 2007 IBM Corporation
SOA Architecture – How IBM Can HelpRUP Update for SOAUML Profile for Software Services
Allows for architectural modeling views
Rational Software Architect integrationTool Automation for Service Artifact Visualization
Automated Integration with RAD service implementation Tooling
SOMA Method and TechniquesComposite Business Services (CBS)
Industry frameworks and solutions
Guidance and ExpertiseProven SOA methodsSOA assessment techniquesSOA Center of Excellence
Education and Training
«ServiceCollaboration»«Service»«ServiceGateway»
«ServiceChannel»«ServiceSpecification»«Message»«MessageAttachment»
«ServicePartition»
«ServiceModel»
«ServiceConsumer»«ServiceProvider» Analysis
Design
[Early Elaboration Iteration]
[Inception Iteration (Optional)]
Define a CandidateArchitecture
Perform ArchitecturalSynthesis
Analyze Behavior
Refine theArchitecture
DesignComponents
Design theDatabase
(Optional)
DesignServices
IBM Software Group
27© 2007 IBM Corporation
Services May be Implemented in Many Ways
Transform Integrate
Subscribe
Build Buy
OutsourceIntegrate: Wrapping a legacy system’s function
Build New Component Functionality (“Roll your own”)
Transform legacy to enable functionality exposure for this service to reuse
Buy: Integrate with third party product
Subscribe
IBM Software Group
28© 2007 IBM Corporation
Design, Implement and Test of Services
Many implementation choices for servicesMost commonly services are implemented as web services
Consume web serviceUDDI Explorer can browse UDDI registry to locate existing web servicesWSDL Explorer can test Web ServicesGenerate Java Proxy for existing web services
Produce web serviceWizard to create new Web Services from JavaBeans, EJBs, databases, etc.Publish Web Services to UDDI registryVisual WSDL Editor
Test and Deploy web serviceDeploy Web Service to WebSphere for testingBuilt-in test client for immediately testing local/remote Web ServicesUDDI Test Registry can be created locally
Validate and deploy web serviceWAS Web Services Engine supporting JAX-RPC JSR 101 & JSR 109WS-I Basic Support – validate a Web Services against WS-I Basic ProfileWS-Security support (XML Digital Signature, XML Encryption)
IBM Software Group
29© 2007 IBM Corporation
Service Implementation – How IBM Can Help
Harvest Services from Existing Systems WebSphere Studio Asset AnalyzerAsset Transformation Workbench
Wrap Systems with Service InterfacesRational Application DeveloperRational Software ArchitectWebSphere Integration Developer
Construct New Web ServicesWSDL generation from UML modelsWeb services wizards and WSDL editorHarvesting and use of SOA patternsValidate conformance to WS-* standards
End-to-end functional and performance testing of composite applications
Rational Functional TesterRational Performance Tester
IBM Software Group
30© 2007 IBM Corporation
SOA Life-cycle Asset Management
Project repositories(requirements, code, tests, test results, work-
items/tasks, build results, defects, defect history, …)
Reusable Asset repository(design, code, anything)
Promote
Consume
Service Repository(descriptions of deployed services)
Run-time
Deploy
Portfolio data warehouse(project summary data, financial
data, resource data, …)
Configuration Management Database (CMDB)
(Machines, operating systems, DBs, applications, …)
Discover
Discover/deploy
Analyze
Monitor
Manage
IBM Software Group
31© 2007 IBM Corporation
SOA Life-cycle Management – How IBM can Help
Tools to manage assets and control access
Rational ClearCaseWebSphere Registry and RepositoryTivoli Change & Configuration ManagementTivoli Federated Identity ManagerTivoli Access Manager
Best practices and tools to manage change
Rational ClearQuestRUP for SOATivoli Unified Process
WebSphere Registry and Repository
Development Development Asset RepositoryAsset Repository
Service DevelopmentLifecycle
Service Endpoint Registries / Repositories
SAP, CICS, .NET, BEA, Oracle, Partners
Change and Release Management
Operational Efficiency and Resilience
CMDBCMDB
Discovery Utilities and Integration
ITSM Processes
ITCAM / Service Management
IBM Software Group
32© 2007 IBM Corporation
Agenda
Services and Service Oriented Architecture (SOA)
The IBM Rational Software Delivery Platform
Putting it All Together – An Illustration
Summary
IBM Software Group
33© 2007 IBM Corporation
Industry Models for Governing Software Architecture
Business Models
IT Models
LINK BETWEEN BUSINESS AND IT WORLDS
EASE OF CUSTOMIZATION
TRACEABILITY
DEPLOYABILITY
ACCELERATION
STRUCTURE
EXTERNALVALIDATION
Business DriversBusiness Drivers
••Risk and complianceRisk and compliance••Cost controlCost control••OutsourcingOutsourcing••Business flexibilityBusiness flexibility••DifferentiationDifferentiation••Time to marketTime to market••ChannelsChannels••Customer focusCustomer focus
IT DriversIT Drivers
••Application rationalizationApplication rationalization••Architecture flexibilityArchitecture flexibility••IntegrationIntegration••MaintainabilityMaintainability••Data consistencyData consistency••ComponentizationComponentization
IBM Software Group
34© 2007 IBM Corporation
An Example High-Level Process from Analysis to Implementation
Shared AssetsCommon Process Team Collaboration
Websphere Business Modeler
4. PROCESS DESIGN
Rational Software Architect
3. SERVICE DESIGN
Rational Software Architect
2. SERVICE ANALYSISWebsphere
Business Modeler
1. PROCESS ANALYSIS
Websphere Integration Developer
SOLUTION ARCHITECT
INTEGRATION DEVELOPER
BUSINESS ANALYST
BUSINESS ANALYST
INTEGRATION DEVELOPER
5. PROCESS IMPL.
Rational Application Developer
6. SERVICE IMPL.
JAVA DEVELOPER
IBM Software Group
35© 2007 IBM Corporation
Creating a Solution-specific SOA Workbench
IBM RationalSoftware Development
Platform
Platform for many styles of development•Role-based tools integrated via Eclipse 3.0 and EMF•Includes WebSphere, Tivoli and Rational tools
Solution-Specific ContentValue-added Solution content & assets•Industry-specific domain models and processes•Delivery-specific service design content and techniques•Industry-specific patterns and transforms
Available in IBM product offerings
Available via service engagements and additional licensed content
IBM SWGSOA Technologies
Enhancements to support SOA style of development•Profiles for Software Services•Method Guidance for SOA•Profile for Business Modeling•SOA patterns and assets
Solution-Specific Tools
Custom tools to support SOA engagements•Domain-specific tool editors•SOA design pattern tooling support•UML profile updates•Recipes, patterns, cheat sheets, transforms, etc
Extending the platform with tools and assets that greatly speed service-based Solution delivery
IBM Software Group
36© 2007 IBM Corporation
Agenda
Services and Service Oriented Architecture (SOA)
The IBM Rational Software Delivery Platform
Putting it All Together – An Illustration
Summary
IBM Software Group
37© 2007 IBM Corporation
Summary
Business Driven Development Break down the walls between business, operations and ITMake the right systems decisions from the right business decisionsClose the loop between business strategy and the implemented system
Focus of Enterprise Solutions TodayService-oriented architectureModel driven development – Business, domain, system, application…..Business innovation and optimization
Keys to Successful SOASOA GovernanceService-based Architectural Design GuidanceDesign, Implementation, and Testing of ServicesManagement of the Service Life-cycle
IBM Software Group
38© 2007 IBM Corporation
Please send comments or questions
Alan W. [email protected]