Download presentation
Presentation is loading. Please wait.
Published byAshley Copeland Modified over 9 years ago
1
Designing Architected SOA Solutions using the IBM Software Delivery Platform Ameeta Roy Technical Sales Manager – Rational India/SA
2
Topics The Importance of the “A” in SOA Keys to Success –Successful Alignment of IT and Business –Understanding and Enforcing your Best Practices and Architecture –Taking Advantage of "heritage"/Mainframe/Core Assets –Keep Design Assets and Code in sync/aligned/coordinated –Capture and Reuse of Architectural IC –Early Focus on Quality and Testing –Govern and Manage Effectively across E2E Assets Q&A
3
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 organization –an architectural style which requires a service provider, requestor and a service description –a set of architectural principles, patterns and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composability –a programming model complete with standards, tools and technologies such as Web Services –A middleware solution optimized for service assembly, orchestration, monitoring, an management Business Executive, Analyst Architect Developer IT Architect Software and System Developer
4
Why Does a Service Architecture Matter? You have a lot of inter-related business processes You manage 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
5
Implementation Service Modelling Process Modelling Service Specification Service Analysis Legacy System Service Harvesting Identify Project Scope Service Implementation Orchestration Implementation Interface Implementation Identify Business Process Scope Identify Service Candidates Legacy System Interface Mapping A Simplified SOA Development Cycle Process Analysis Process Specification Generate Mapping
6
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?” AssembleDeployManage Model Integration Developer IT Service Manager Application Developer Service 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 and implement services based on my existing systems?” “What are the business objectives and how would I know when I meet them?” “Which business services do I optimize? What impact will that have on my IT systems?” Business Analyst “How do I test a composite solution when many of the pieces are external to me?” LotusDB2RationalWebSphere
7
The IBM Rational Software Delivery Platform Governance & Lifecycle Management Architecture & Construction Process & Portfolio Management Integrated Requirements Management Change & Release Management Quality Management Enterprise Modernization
8
Keys to Success Successful Alignment of IT and Business Understanding and Enforcing your Best Practices and Architecture Taking Advantage of "heritage"/Mainframe/Core Assets Keep Design Assets and Code in- sync/aligned/coordinated Capture and Reuse of Architectural IC Early Focus on Quality and Testing Govern and Manage Effectively across E2E Assets
9
Keys to Success Successful Alignment of IT and Business Understanding and Enforcing your Best Practices and Architecture Taking Advantage of "heritage"/Mainframe/Core Assets Keep Design Assets and Code in- sync/aligned/coordinated Capture and Reuse of Architectural IC Early Focus on Quality and Testing Govern and Manage Effectively across E2E Assets
10
Business/IT Challenges “ Today’s IT architectures, arcane as they may be, are the biggest roadblocks most companies face when making strategic moves.” The McKinsey Quarterly Special to CNET News.com,McKinsey Quarterly “Flexible IT, Better Strategy”, January 24, 2004 Actual application architecture for a consumer electronics company Lack of flexibility Architectural policy limited Infrastructure built with no roadmap Inability to manage change and risks Lack of traceability
11
services atomic and composite operational systems service components consumers business composition process choreography, business state machines Service Provider Service Consumer Integration (Enterprise Service Bus approach) QoS, Security, Management & Monitoring Infrastructure Services Data Architecture and Business Intelligence Governance Packaged Application Custom Application OO Application Approaches to SOA Solutions Application Renovation for Service Exposure Top Down Modeling to Identify Business Services Legacy Componentization for Service Exposure Model Driven Development with Intent of Top-down Service Exposure Wrapping Legacy or Packaged Applications for Service Exposure Top-down Bottom-up Meet-in-the-middle Vision and Portfolio Analysis to Create a Desired Future State
12
Process Implementation Service Assembler Examine Business Process & Establish Traceability Implement Business Rules & Orchestrate the Process Obtain Business Process Approval Search for Reusable Services Assets Deploy Business Process & Unit Test Service Development Service Developer Import Service Assets Unit Test Web Service, Generate EAR & Add to Source Control Create and Update Service Assets & Publish to Registry Refine Service Implementation Deploy New Service Service Modeling & Design SOA Architect Service Designer Review Business Process, Requirements, and SOA Development Process Create Eligibility Service Spec & Identify Architecture Submit New Service Assets to Asset Management Generate Initial Implementation Obtain Design Review and Approval Business Service Analysis Business Service Analyst Review & Analyze Account Verification Business Requirements & Process Discover and Re-Use Existing Service Asset Establish Traceability & Update Business Process Asset Simulate, Analyze & Compare Business Process Models Request Funding & Obtain Approvals 12 Business Driven Service Lifecycle Management (Top-down) Service & Business Process Validation Testing CQ CC WSRR WID WBM RAM RP RAD RSA RUP Validation Point
13
Enterprise transformation –Discover and gain intellectual control of application relationships and structures –Document your applications from the code itself –Find assets required for test cases –Accelerate transformation projects IT Governance –Improve quality and speed of change analysis –Make visible dependencies across applications and application teams –Gain transparency into outsourced development SOA –Discover assets for reuse in a SOA Understand what you have: WebSphere Studio Asset Analyzer Discover & understand assets to improve governance, reuse, and application change For customers seeking to understand, maintain and transform enterprise applications, WSAA provides a mainframe and Java EE solution
14
Keys to Success Successful Alignment of IT and Business Understanding and Enforcing your Best Practices and Best Architecture Taking Advantage of "heritage"/Mainframe/Core Assets Keep Design Assets and Code in- sync/aligned/coordinated Capture and Reuse of Architectural IC Early Focus on Quality and Testing Govern and Manage Effectively across E2E Assets
15
Transforming Business Needs to SOA solutions Requires a Systematic, Repeatable Best Practices based Approach Realization Decisions on sourcing of services Specification of Services, Components, Flows Identification of candidate Services, Components, and Flows A number of techniques have been defined to design good service architectures –Delivered through methods, tools, domain models, and service offerings –Examples include IBM’s RUP SOMA method –Rational Method Composer
16
A Service Specification defines the dependencies, composition, exposure decisions, messages, quality of service constraints and decisions regarding the management of state within a service. Identify Quality of Service Requirements Use non-functional requirements to specify the desired quality of service Quality Of Service Identify Services Composition and Flow Review of functional areas and business processes will elaborate the composition of services from other services and their flow to enable the business function. (Service) Flow Specification describes the choreography between services. Service Composition Apply Service Litmus Tests & Document Exposure Decisions Use Service Litmus Tests to make service exposure decisions – “From my candidate services, which ones I choose to expose?” Service Exposure Decisions Service Messages Specification Identify and specify the format and content of input and output messages of a service. Service Messages Document State Management Decisions Sometimes the composition of services requires management of state. Document these decisions such as the answer to “What kind of persistence will be used and how will to be enabled?” Service Model State Management Decisions Identify Service Dependencies Service Dependencies Detailed review of the service may expose service dependencies on other services or applications that will be used to realize the functionality of the service. Example: Candidate Service Definition using SOMA Service Specification
17
SOA Architecture - Tools and Guidance RUP-SOMA UML Profile for Software Services –Allows for architectural modeling views Rational Software Architect integration –Tool Automation for Service Artifact Visualization Automated Integration with RAD service implementation Tooling Service-oriented Business Applications (SOBAs) –Industry frameworks and solutions Guidance and Expertise –Proven SOA methods –SOA assessment techniques –SOA Center of Excellence Education and Training «ServiceCollaboration» «Service» «ServiceGateway» «ServiceChannel» «ServiceSpecification» «Message» «Message Attachment» «ServicePartition» «ServiceModel» «ServiceConsumer» «ServiceProvider» Analysis Design [Early Elaboration Iteration] [Inception Iteration (Optional)] Define a Candidate Architecture Perform Architectural Synthesis Analyze Behavior Refine the Architecture Design Components Design the Database (Optional) Design Services
18
Rational Software Architect: Service Modeling & Design Design the Services Architecture 18 Service Modeling & Design SOA Architect Service Designer Review Business Process, Requirements, and SOA Development Process Create Eligibility Service Specification Submit New Service Assets to Asset Management Identify Architecture & Generate Initial Implementation Obtain Design Review and Approval
19
Rational Application Developer: Web Services Development and Testing Discover, create, build, test, deploy & publish Web services Build new Web services or enable existing apps for WS-I compliance Discover & consume existing Web services Little to no coding to enable existing assets Low learning curve High productivity
20
Keys to Success Successful Alignment of IT and Business Understanding and Enforcing your Best Practices and Architecture Taking Advantage of "heritage"/Mainframe/Core Assets Keep Design Assets and Code in- sync/aligned/coordinated Capture and Reuse of Architectural IC Early Focus on Quality and Testing Govern and Manage Effectively across E2E Assets
21
SOA for Business Developers with EGL IBM Rational Business Developer Extension External Web Service WSDLWSDL EGL Records EGL Service EGL Service WSDL EGL Interface EGL Interface EGL SOA for WAS, CICS, System i EGL interfaces… Represent external web services Are created via import from WSDL Allow the EGL developer to use external services while staying within the context of the EGL programming model At development time… Focus on the business logic Implement SOA design elements: services and interfaces Leverage existing business developers for new SOA development Ignore deployment targets/technology while coding/testing Deploy EGL services… To any platform Java to WAS/Tomcat/etc. COBOL to CICS, iSeries (1Q 2007) COBOL to IMS (2H 2007) As… A Web service (uses SOAP) A private service (uses CICS ECI or TCP) Other SOA runtimes when they reach critical mass
22
Keys to Success Successful Alignment of IT and Business Understanding and Enforcing your Best Practices and Architecture Taking Advantage of "heritage"/Mainframe/Core Assets Keep Design Assets and Code in- sync/aligned/coordinated Capture and Reuse of Architectural IC Early Focus on Quality and Testing Govern and Manage Effectively across E2E Assets
23
Challenges to Understanding and Enforcing Architecture Achieve Architecture Consistency Enforce Architectural Decisions Ensure consistent use of best practices for re-occurring problems –Apply best practices for functional and non-functional requirements Harness existing Architectural specifications often gathered only in mindshare or text Alleviate issues related to completely hand coded solutions (unnecessary time consumed, lack of consistency, etc)
24
Various ways to drive architecture - Classic MDD Create the domain model Create the analysis model Create the design model Complete the implementation using UML visualization JET2 based Transformation Model 2 Model Transformation Model 2 Model Transformation Transformation “trail” created as a byproduct of patterns and transformations
25
One of many alternatives using RSA - (PIM 2 Code) Create the domain model Create the model at higher level of abstraction Complete the implementation using UML visualization JET2 based Transformation Model 2 Model Transformation Transformation “trail” created as a byproduct of patterns and transformations Reverse engineering also supported in RSA v7 Architectural intellectual capital infused into the Transformation
26
High level business benefits Improve time to market –Automatically generate infrastructure (CRUD, Transactional Logic, etc) Automatically infuse best practices into applications –Functional –Non-Functional Minimize risk and increase productivity around Globally Distributed Development (GDD) Automatic traceability from requirements, thru model, into code (Compliance) Automatic generation of J-Unit and other test code
27
Governing Architecture in RSA v7 Architecture v1.0 Architecture v1.0 Implementation v1.0 Implementation v1.0 Architecture v1.1 Architecture v1.1 Implementation v1.1 Implementation v1.1 Iterate UML Model of Implementation v1.1 UML Model of Implementation v1.1 Reconcile Conformance restored Architecture v1.1+ Architecture v1.1+ Accepted change Implementation v1.1+ Implementation v1.1+ Forward Transformation (omit rejected change) Architectural deviation introduced Reverse Code 2 UML Transformation Dialog
28
Keys to Success Successful Alignment of IT and Business Understanding and Enforcing your Best Practices and Architecture Taking Advantage of "heritage"/Mainframe/Core Assets Keep Design Assets and Code in- sync/aligned/coordinated Capture and Reuse of Architectural IC Early Focus on Quality and Testing Govern and Manage Effectively across E2E Assets
29
Rational Tester for SOA Quality Code free test of GUI-less web services Test creation WS-BPEL Test log details Targeted at developers and the QA Team Simplify testing of GUI-less services –Automated generation of web service test client Eliminate need for manual coding –Automated data correlation and data driven testing through a code-free test environment –Supporting wide variety of users on a broad range of platforms Simplify service integration testing –Automated test creation from Web Services BPEL resources (from WBM) Create, comprehend, modify, and execute a functional or performance test –Graphical test editor enables both high-level and deeper detail views –Supports Web services standards (e.g. SOAP, HTTP(S), JMS, WS-Security, UDDI) –Supports testing secure web services by means of using XML Signatures.
30
Rational Tester for SOA Quality Products target higher service reuse and improved business flexibility Ensure compliance and customer satisfaction through predictability and high quality SOA implementations A common, integrated platform for building, managing, deploying and testing projects across the entire delivery and deployment team Reduce cost and improve credibility with early detection of defects and an integrated lifecycle approach Functional and performance testing of SOA applications complimented with automated workflows and services best practices Improve return on investment of software delivery by streamlining business processes across the lifecycle Ensure business flexibility Enhance organizational efficiencies Enable quality management throughout the lifecycle Integrations between operations and pre-production. Ability to manage and automate quality across business processes Connecting software results to business objectives
31
Rational Performance Tester Extension for SOA Quality Web service performance testing and problem analysis Server response time of Web service User action throughput All the capabilities of Rational Tester for SOA Quality plus: Validate system scalability –Flexible workload modeling enables automated generation of web service test client –Automated generation of web service performance tests –Real-time reporting of server response time and throughput Find performance bottlenecks and enable problem determination –Broad platform monitoring support for deployed web services –Collection and visualization of server resource data – root cause analysis Advanced data analysis and parsing –Flexible test customization through java code insertion Targeted at performance engineers
32
Keys to Success Successful Alignment of IT and Business Understanding and Enforcing your Best Practices and Architecture Taking Advantage of "heritage"/Mainframe/Core Assets Keep Design Assets and Code in- sync/aligned/coordinated Capture and Reuse of Architectural IC Early Focus on Quality and Testing Govern and Manage Effectively across E2E Assets
33
3.LoB’s increase use of service / quality suffers Why Governance is So Important to SOA 1. Provide a currency service that fills a specific LoB need Currency Conversion Service Accounting Dept. App. 1App. 2 5. Fix works temporarily but problem reappears 1. Provide a currency service that fills a specific LoB need Currency Conversion Service Accounting Dept. App. 1App. 2 2. Other LoB’s start using the service Sales Order FulfillmentPurchasing Legal 4. Service is fixed at provider’s expense x x x x x x 6. Maintenance costs soar / provider ends service X X X X X X * Scenario from “Introduction to SOA Governance” by Bobby Woolf
34
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 Governance: Intersection of Business and IT governance focused on the lifecycle of services to ensure the business value of SOA Business Governance SOA Governance IT Governance Governance: Establishing chains of responsibility, authority and communication to empower people (decision rights) Establishing measurement, policy and control mechanisms to enable people to carry out their roles and responsibilities SOA Governance is a catalyst for improving overall IT governance What is SOA Governance?
35
SOA Governance with Rational Method Composer IBM SOA Governance & Management Method –Defines Roles, Responsibilities, Tasks, and –Policies for SOA governance based on best practices and real-world experience Tools can be used to help automate the governance process –Method content can be customized content based customer requirements Manage SOA projects –Build project plans and allocate resources SOA Governance & Management Method Best Practices Customize process templates based on company requirements Roles, responsibilities, tasks, policies Project Planning Process templates Detailed project plan Resource allocation Skills & Experience Project Manager Process Engineer Domain Experts
36
Service Development Provide visibility of and access to services assets for reuse Manage asset lifecycle Service Deployment Manage promotion of service Manage description of record for deployed services Manage metadata to support SOA runtimes Manage service relationships and interactions Enable impact analysis Service Management Monitor service performance Manage and enforce policies Model Construct Assemble Discover Test Deploy Manage Managing the Service Lifecycle Maximizes the Business Value of SOA
37
Service Development Service Deployment Service Management Service Development Lifecycle Other Service Endpoint Registries / Repositories Runtime Repository Change & Release Management Operational Efficiency & Resilience Asset Manager Service Registry & Repository CMDB Composite Application Manager UDDI Registries Info based Services Other External Reg / Rep A Federated Set of Capabilities For Service Lifecycle Management
38
Rational Asset Manager Helps Drive the SOA Lifecycle Enhance Traceability Enables linkages between deployed service and related assets Enable Service Asset Governance Asset review boards Workflow, customizable via ClearQuest Access controls based on groups, roles, users, asset types Quantify Asset Reuse Metrics and reporting Simplify development & collaboration Change and version assets and artifacts via ClearCase and ClearQuest integrations Discussions, Email and RSS Define Search/ Retrieve Create/ Modify Govern Measure Software Development Assets Ensure reusable services Asset types and relationships Categorization Attributes Define Encourage Reuse Flexible search Reuse WSRR deployed services Search/ Retrieve Govern Create/ Modify Measure
39
Rational Asset Manager works seamlessly with the IBM Software Delivery Platform Develop code in a team environment Create and package assets Search for and reuse assets Track and fix problems Seamlessly! All in the same IDE! ClearCase ClearQuest Store or reference Assets Integrated asset level defects and Review process Develop and share code Package and consume assets Track and fix problems CVS File System Eclipse based Rational Software Delivery Platform Rational Asset Manager (RAM) Rational Software Architect Websphere Business Modeler
40
Development-time Deployed / Run-time Rational Asset Manager WebSphere Service Registry and Repository Publish Find Enrich Govern Manage Used for developing, re-using and managing all types of reusable assets Define asset types Creates and manage all types of assets Provide asset traceability and details Collaborate on asset development Used for runtime operation, management and development use of services Dynamic service endpoints selection Govern runtime changes Runtime policies for service execution Get deployed service details like endpoints, relationships and service definitions Classifier.doc,.uml.ppt,.doc.xml Artifact Reusable Asset Specification (RAS) Asset.wsdl.xsd Port Classifier Type Classification Metadata Lifecycle Service Federated Search And Publish.wsdl.xsd Classifier RAM and WSRR Functionality
41
Summary Focus of Enterprise Solutions Today –Service-oriented architecture –Model driven development – Business, domain, system, application….. –Business innovation and optimization Keys to Successful SOA –Successful Alignment of IT and Business –Understanding and Enforcing your Architecture –Taking Advantage of "heritage"/Mainframe/Core Assets –Keep Design Assets and Code in-sync/aligned/coordinated –Capture and Reuse of Architectural IC –Early Focus on Quality and Testing –Govern and Manage Effectively across E2E Assets
42
Thank you
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.