IBM Software Group Aspect Oriented Software Development from
® IBM Software Group Aspect Oriented Software Development from Promise to Reality § Dr. Daniel Sabbah § Vice President, § IBM Software Group Strategy and Technology
IBM Software Group Outline § Industry trend toward on demand Business 4 IBM’s Customers and their Changing Requirements 4 IBM’s Own Transformation § Aspect Oriented Software Development § Driving AOSD Technology within IBM § Future Activities around AOSD § Challenges § Conclusion & Questions
IBM Software Group Deepening Integration of IT with Business Emerging On Demand Computing Model Traditional The Internet On Demand Structured Calculations Data Processing Transactions Open Standards Connectivity Flexibility Simplicity Modular Components easily defined and manipulated Dynamic definition and operations
IBM Software Group On Demand Business… is Not Just About Getting Better… An (inter)enterprise whose business processes integrated end-to-end across the company and with key partners, suppliers and customers—can respond with speed to any customer demand, market opportunity or external threat.
IBM Software Group The Need to Become More Horizontal Business Processes Product Lifecycle Management Procurement Category Management/ Merchandising SCM / Retail Operations Partner Relationship Mgmt. Bridging the gap between business transformation and IT. IT Sophistication
IBM Software Group Evolution towards Middleware Process Layer (modeling, execution, management) Collaborative Engineering Inventory Control, Sourcing, Supply Chain visibility Direct and Indirect Procurement Sequencing, Order Management Dealer Integration, Warranty Claims Management Application Integration Layer Connectors/Collaboration/Flows Business efficiency BPM BAM Business Process Integration Evolution Application Environment Middleware Platform Human Interaction and Collaboration Transactions Information & Messaging Management Systems Management & Security Software Development Distributed OS Evolution Autonomic IT Efficiency Resource optimization Linux Unix Servers Windows OS/400 Storage z/OS Systems Environment
IBM Software Group Reuse Across the Web. Sphere Platform: Web. Sphere Application Server (WAS) and UDB • Executing strategy to repurpose WAS as the kernel for IBM’s On Demand offerings • Leveraging a very large investment in WAS • WAS technology has been reused and/or bundled by 129 product offerings across IBM Software Group: • Web. Sphere • Commerce • WSAD • WSSD • … • Tivoli • Policy Director • Privacy Manager • … • • Lotus • Portal • Domino • Workplace Messaging • Learning Management System • Pervasive • Voice Systems • Data Management • UDB Universal Developers Edition • … technology Growing reuse of Application Server • GRID computing • On Demand • Additional SWG and Server Group products • Leveraging another very large investment in UDB • UDB technology has been reused and/or bundled by 90+ product offerings across IBM Software Group: • Web. Sphere • WAS • Commerce • WSAD, WSADIE • WSSD • MQ Series Extended Security Edition • MQ Workflow • Business Integration Connect, Message Broker, Server • Everyplace Access • Tivoli • Lotus • Policy Director • Portal • Configuration Manager • Domino • … • Current approach gives reuse value, but is: • too expensive because components are too large, monolithic; • and results in high service and support expenses • A more cost-effective solution is needed
IBM Software Group Reuse Across the Web. Sphere Platform: Portal Server WEA WVAA IBM Content Mgr Commerce Lotus Workplace Portal Server (V 4 and V 5) WSSD WAS EE Site Analyzer UDB 3 rd party: LDAP Directories, Security Subsystems, Databases Transcoding Sametime Publisher IBM Directory TAM and CM Quick. Place WPCP Server (V 4 only) Machine Translation Domino Key Pressures on Development/Test: • Marketplace demands for achieving aggressive release cycles • Currency with versions of O/S, Application Servers, Web Servers, Databases, Directory Servers, Browsers, Security, etc. • Breadth of O/S platforms: Windows, AIX, Solaris, z. Linux, Linux/Intel, i. Series, z. OS and OS 390, etc. • Version currency of WAS, Domino, HTTP Server, DB 2, Oracle, Informix, SQL, i. Planet, Active Directory, etc. • Integration with Tivoli Access Manager, Site Analyzer, Site. Minder, Lotus Sametime, Lotus Quick. Place • Supporting multiple, concurrent service streams for Portal Server V 4. 1. x, V 4. 2. x, V 5. 0. x • Increased customer support involvement for service, and Q&A
IBM Software Group Case Study of a Cross-Platform Offering: Portal Server § Re-use of Platform products enabled faster delivery of function § But encountered some inconsistencies and lack of interoperability of the parts 4 Development / technical hurdles • • Smooth installation procedure very difficult due to complex pre-reqs Complex interactions between Portal, Application Server, Tivoli Access Manager, Lotus / Domino and IBM Directory all part of the integrated offering No full binary compatibility for runtime APIs Product testing vs. Platform solution testing 4 Platform hurdles • • • Plan prioritization of requirements in other products’ plans (Application Server, Tivoli, Lotus, etc. ) End of Support mismatches between all dependencies Support measurements: number of PMRs rises in base products due to additional usage as a bundled component 4 Sales and Marketing hurdles • • Lag between availability dates of Portal and base products causes sales conflict Need to cross-sell to address total solution needs, which compounds our current complexities
IBM Software Group We know intuitively that AOSD can help § Changes the Software Industry must make to facilitate customer transformation to on demand: 4 Products must become more flexible, more modular, more adaptive, higher quality, and simpler for the customer 4 The way the software industry creates, extends and services software must undergo a similar transformation. § AOSD enables both of these transformations 4 Introducing on demand characteristics into IBM’s software • E. g. , quality, reuse, componentization, reengineering 4 Accelerating IBM as an on demand company. • E. g. , organization matches architecture § The rest of the talk will describe our initial steps.
IBM Software Group AOSD is the next step in the series of advances in Software Engineering modularity Aspect Oriented Software Development Object Oriented Programming Data Abstraction Modular Programming Structured Programming Compiled Programming Languages
IBM Software Group Gartner Hype Cycle for Application Development, 2003 “Hype Cycle for Application Development”, J. Duggan, M. Blechar, M. Driver, J. Feiman, M. Light, T. Lanowitz, J. Sinur, D. Vecchio, D. Stang, J. Fenn, A. Linden, Y. Natis, W. Andrews. 30 May 2003 © Copyright Gartner Research 2003. Used by permission.
IBM Software Group It took a while to get here Visibility There have been many years of incubation and innovation Aspect-Oriented Software Development As of May 2003 Insight Trigger Peak Trough Slope Plateau Incubation Maturity
IBM Software Group AOSD within IBM Tech Focus Group, Toronto lab IBM Somers, NY, SWG Strategy TJ Watson Research, NY. Core Technology Research Hursley SW Laboratory, UK. Core Tech. Dev. China Research Lab, Business AO Approximately 75 people Focused on AOSD across IBM Raleigh, NC. Web. Sphere Development Software Group System House. Serviceability Team AOSD is a core IBM Software Architectural Activity
IBM Software Group IBM Roadmap … 2003 2004 2005 2006 … New Services Offerings NOW Reengineering Software Engineering Reengineering Software Enhancing the quality of software Driving Organizational Acceptance/Adoption Core Technology
IBM Software Group Core Technology Investment § Investing in core technologies 4 Aspect. J™ • • AO technology for the Java™ language Aspect. J 1. 1 recently awarded a Software Development Magazine Jolt Productivity Award 4 AJDT • Development environment for Aspect. J 4 CME • Cross-artefact, cross life-cycle capability § To provide the underpinning capability for internal, and external exploitation § All are Eclipse based, Open Source projects
IBM Software Group Core Technology Investment Core Technology Application within IBM, and with the community Improvements Performance Weaving flexibility Load Time weaving Scalability Robustness Removal of adoption barriers … JDT Restructure Cross-artefact capability … more
IBM Software Group Enhancing the quality and serviceability of software Delivering new Qualities of Service (Qo. S) into a Web. Sphere product § Adding problem diagnostic support into large software stack (a Web. Sphere component – WSIF (web services invocation framework) 4 110 source files 4 17, 210 lines of code § FFDC = First Failure Data Capture. 4 Captures contextual information within exception catch blocks 4 Used for post-failure diagnosis 4 FFDC is a cross cutting concern § A key proof-point for broader application across IBM Software products
IBM Software Group Enhancing the quality and serviceability of software Delivering new Qualities of Service (Qo. S) into a Web. Sphere product Modularizing Cross Cutting Concerns First-failure data capture in a Web. Sphere component. Each bar is a. java file. A red bar indicates an explicit catch block and FFDC site. Only a subset of the 110 source files shown
IBM Software Group Enhancing the quality and serviceability of software Delivering new Qualities of Service (Qo. S) into a Web. Sphere product Modularizing Cross Cutting Concerns The AOSD solution. The FFDC policy and logic have been modularized into an aspect. The new FFDC aspect applies to 241 exception catch blocks.
IBM Software Group Enhancing the quality and serviceability of software Re-engineering of existing Qo. S solutions to improve on manual/automated techniques § Intuition, and now, experience, tells us that logging and FFDC can be more reliably applied with AO technology § But – perhaps it is worth re-engineering existing solutions? § Using a custom Eclipse plugin, we did some analysis 4 SM (admin) Component of Web. Sphere • Total of 355 errors found − missing trace points − 33% FFDC entries are incorrect 4 Runtime component of Web. Sphere • • missing trace points 17% FFDC entries are incorrect § None of these errors would have occurred with an AO approach
IBM Software Group Enhancing the quality and serviceability of software Exploring Re-Use and Product Line Implications: The WSIF Story WSIF for Open Source Community org. apache. wsif + Web. Sphere RAS Web. Sphere FFDC Web. Sphere PMI Composition WSIF for Web. Sphere
IBM Software Group Enhancing the quality and serviceability of software Exploring Re-Use and Product Line Implications: The WSIF Story 241 1060 46 FFDC join points RAS (Log 4 j) join points PMI join points
IBM Software Group Enhancing the quality and serviceability of software Delivering Technologies to enhance problem diagnosis and serviceability § Hyper. Probe: 4 Java instrumentation technology based on Hyper/J 4 Effective at enhancing IBM J 2 EE field service situations, e. g. , • • • HTTP Session state data ballooning in production systems JDBC connection deadlock due to mismanagement in application code Misuse of Finalize() to free system resources § Next Steps 4 Developing robust/reusable diagnostics around Aspect. J 4 Developing new AOSD-based Serviceability technologies coupled with FFDC to enhance service processing. • Targeting multi-component interactions and problem isolation
IBM Software Group Enhancing the quality and serviceability of software Delivering higher quality code through capturing and enforcing architectural standards and best practices: API Scanner Application Deployed Application Unit (EAR) Deployer / System Administrator Scanner Report 210 deprecation warnings 5 obsoletion errors 3 contraventions Application Developer Contravention Data -in human-readable form -for development tools API Contravention Scanner legend Web. Sphere Platformsupplied Productsupplied Scanner rules database (Deprecated, Deleted, Illegal Interfaces) Aspects Package/Class Map Rules & Filters Messages Conversion scripts Product Deployment Tools (version N)
IBM Software Group Enhancing the quality and serviceability of software Delivering higher quality code through capturing and enforcing architectural standards and best practices: API Scanner Application § Results 4 Scanner being used with products under development, e. g. , • • • Web. Sphere Portal Web. Sphere Commerce Tivoli products 4 Goal: identify use of private APIs by products that run on top of the Web. Sphere Application Server 4 Result: 50, 000+ violations found 4 Application was very easily constructed 4 Positive contribution to goals of clean separation for: componentization
IBM Software Group Driving Organizational Change Business Investment – IBM Software Group System House § Focused on platform integration challenges – Cross Cutting Concerns: 4 Capability: integration & interoperability 4 Usability: enhancing ease of learning & understanding 4 Reliability: addressing high customer Problem rates 4 Installability: better out-of-box experience 4 Maintainability: improving problem determination 4 Documentation: improving documentation 4 Service: support and maintenance challenges – consistency and effectiveness § Across all IBM Software brands – Rational/Tivoli/DB 2/Lotus and Web. Sphere § AOSD delivers tools/technology that facilitates Business goals
IBM Software Group Driving Organizational Change Technology Enablement and buy-in § Enabled use of Aspect. J in a newly-unified Web. Sphere product build environment 4 All IBM Middleware Developers will be able to create, integrate and deploy AO-based solutions. § Products will be able to leverage AOSD in their construction 4 4 4 Web. Sphere Application Server Web. Sphere Portal Server Lotus Workplace Web. Sphere Business Integration Web. Sphere Messaging § Developers, and Customers, will be able to use AO technology with IBM Middleware, e. g. , 4 Create Aspect. J aspects that add value to J 2 EE artefacts created by IBM Rational tools 4 Deploy these composed J 2 EE artefacts (e. g. , Servlets, EJBs)
IBM Software Group Reengineering software – IBM’s and IBM’s customers Componentization Investigation: Refactoring the Web. Sphere Container § Concern Modelling § Visualization § Concern-based Run Query Analyse Query Report Alter EJB Support definition? Refactor a component queries 4 At one point, Query capability reported > 1000 links to resolve § Refactoring using OO and Aspect. J
IBM Software Group Reengineering software – IBM’s and IBM’s customers Componentization Investigation: Refactoring the Web. Sphere Container § Scale of the exercise 4 15000 java source files. Around 1500 packages. 90 components, largest components around 250 kloc. 4 Substantial entanglement complexity § The tools stood up to the test 4 compiled > 20, 000 files with Aspect. J 4 build time ok 4 queries ran fast 4 Was an early use of CME query capabilities § Success!!
IBM Software Group Reengineering software – IBM’s and IBM’s customers Componentization – Realizing the Shared Capabilities of IBM’s Software Portfolio Product Offerings Product Specific Investment Tivoli New or Enhanced Capabilities Web. Sphere DB 2 Lotus New or Enhanced Capabilities Shared Components Re-factor to SWG Product Offerings Shared Capabilities Componentization Tivoli Initial Base Product Web. Sphere DB 2 Lotus New or Enhanced Capabilities
IBM Software Group Re-engineering Software Engineering Solution Level Aspects § Programming-level aspects (such as Aspect. J) are now becoming more common, and are easier to develop and use § Benefits of AOSD can be applied to entire solutions: 4 A solution may have elements in multiple programming languages (such as Java or C), or in XML (such as BPEL) § Considering entire solutions is becoming technologically easier (SMD, EAR etc. ) § Applying aspects can be ‘taken up a level’ from direct coding
IBM Software Group Re-engineering Software Engineering Solution Level Aspects Consider this Insurance Broker application dependent on Insurance company Web Services. Many distinct artefacts, e. g. , Web Service can be called from BPEL and EJB. Examples of Solution Level Monitoring and Measurement Aspects: “Generate a business event every time a customer requests a price quote over $500” “Measure how long it takes to update customer details in the database” CME will provide the underpinning cross-artefact capability
IBM Software Group Re-engineering Software Engineering CME – Concern Manipulation Environment § Broad View of Software Engineering 4 There's more to software engineering than just writing code • There are more artefact types than just code (descriptors, UML designs, …) 4 There are many phases in the engineering lifecycle • • § Cross-cutting concerns also apply at these phases, and Integration needs are just as profound at design time, or deployment time, as development CME 4 Is an open source IDE, integrated with Eclipse • Novel capabilities, tools to aid in full-lifecycle engineering 4 Enables consistent manipulation across multiple artefact types in an integrating platform: • With control over everything that goes into a product - e. g. end user docs, build scripts, deployment descriptors, WSDL files, … • Supporting multiple AOSD approaches (e. g. , Aspect. J, Hyper/J) • With components, frameworks for tool builders • With integration points on many levels 4 A unifying (meta-)model based on concerns • Integrating different AO approaches
IBM Software Group IBM Roadmap … 2003 2004 2005 2006 … New Services Offerings FUTURE Reengineering Software Engineering Reengineering Software Enhancing the quality of software Driving Organizational Acceptance/Adoption Core Technology
IBM Software Group Future § Continuous improvement in core technologies 4 Focus on extending cross artefact capability • Through CME 4 Drive use up the software stack • With Solution Aspects; with integration into Rational Tools § Broader technology exploitation across and within the products 4 For critical Qualities of Service 4 To enable componentization needed for customer (and IBM) flexibility
IBM Software Group Future § Bringing the next level of AO value and capability to customers requires: 4 first class support in design and development tools • E. g. , Rational Development tools 4 first class support in the core runtime servers • E. g. , Web. Sphere Application Server, Portal Server, BI Server, etc. 4 first class representation in the programming model. • E. g. , Rational XDE Developer § And – bringing value to the level of Business Modelling
IBM Software Group Challenges for the AOSD Research Community § Scalability through ‘complexity reduction’ 4 Commercial software is large and complex • • § Experience with Container refactoring, and with legacy reengineering provide some experience and challenges in tool scaling But future (and legacy) applications may well be even larger Cross Artefact Querying and Composition 4 Essential for robust, full-solution integration 4 CME is an important start § Organizational Flexibility 4 “Organizational aspects” (e. g. , Problem Determination, or Serviceability, organizations) are assisted with AOSD technology • It is a transformational technology 4 What is the right organizational structure? 4 Who owns cross-cutting code?
IBM Software Group Challenges for the AOSD Research Community § Standards: Do we need them? 4 For commercial adoption at the end-user level – Yes. 4 Standards will be important to allow customers, ISV’s to have flexibility and to preserve investment § Complexity versus Simplification. 4 Does AOSD really help reduce complexity? • • Need work toward gaining understanding of this question But clearly WE think it DOES 4 AOSD introduces its own learning curve • • Consequences for industrial adoption? Who will be the practitioners?
IBM Software Group Our Conclusions § AOSD’s time has come. 4 The Software Industry needs it, and IBM is using it now. 4 Our customers stand to benefit significantly. § IBM is taking AOSD very seriously 4 From a technical and business perspective 4 AOSD has development impact today across all major IBM brands – • Tivoli, Web. Sphere, DB 2, Lotus, Rational 4 Takeup in IBM is growing – no longer a “push”; there is now a lot of pull from across IBM’s development teams 4 Future impact will become more visible in IBM’s runtimes and in development tools
IBM Software Group Trademarks § Aspect. J is a trademark of Palo Alto Research Center Incorporated § Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. § Microsoft, Windows NT, Biz. Talk, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. § Gartner is a registered trademark of Gartner, inc. , or its Affiliates § Solaris is a trademark of Sun Microsystems, Inc. in the United States, other countries, or both. § UNIX is a registered trademark of The Open Group in the United States and other countries. § Intel, Pentium Pro, Pentium III are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the US and other countries. § HP-UX is a registered trademark of Hewlett Packard Company. § Linux is a registered trademark of William R. Della Croce, Jr. (last listed previous owner was Linus Torvalds) § "SAP is the trademark of SAP AG in Germany and in several other countries. § AIX, AS/400, Blue Gene, Blue. Drekar, Lotus, Tivoli, Rational, XDE, Z/OS, DB 2, Deep Blue, Deskstar, Discoverylink, IBM, Microdrive, OS/390, Scrollpoint, Serve. RAID, Thinkpad, Trans. Note, Travelstar, Ultrastar, Websphere, Workpad, are all trademarks and registered trademarks of International Business Machines Corporation in the United States and/or other countries.
IBM Software Group Thank You! § Questions?
- Slides: 42