Enterprise Software Asset Management Avi Yaeli Joint work with: Alex Akilov, Sara Porat, Iftach Ragoler, Shlomit Shachor-Ifergan, Gabi Zodik The Israeli Workshop on Programming Languages and Development Environments July 2002 Outline Introduction H The ESAM paradigm R What is Asset Locator? L Architecture Using Asset Locator for reuse and impact analysis Summary copyright (C) 2002, IBM Haifa Research Lab Software Assets in the Enterprise H R Source code Process and Workflow documents Compiled and Generated code L Deployed applications Test suites Enterprise Software Assets Design documents Traces Profiles Components Documentation copyright (C) 2002, IBM Haifa Research Lab Objectives Management of software assets to provide developers, architects H analysts with: and R Search and reuse Impact analysis L Sharing and collaboration Component management Knowledge management Introduce a comprehensive automated solution Easily integrated with existing development processes and systems Scalable Low-cost, low-maintenance copyright (C) 2002, IBM Haifa Research Lab ESAM Enterprise Software Asset Management H Enterprise Repositories CM Systems File Systems Runtime Servers Discovery Dependency Analysis Information Source Analysis L Information Source Discovery R User Input Statistics Sharing & Collaboration Categorization Discovery ... Repository Analysis Portals Metrics & Statistics Navigation Impact Analysis Central Repository Analysis Search & Reuse IDEs KM & Skill Location ... Service Implementation copyright (C) 2002, IBM Haifa Research Lab KM Systems Reuse Systems Service Integration What is Asset Locator A low cost, low maintenance, extensible, scaleable solution for H management of software assets in the enterprise Automatically discovers and analyzes software assets R Provides developers with tools/services in the following areas L Reuse, collaboration, impact analysis Facilitates reuse via the following services Semantic search engine Navigation taxonomies (e.g. project topology, category, dependency) Designed as an open framework Customers and third party vendors can plugin additional functionality using Asset Locator SDK copyright (C) 2002, IBM Haifa Research Lab Asset Locator Architecture User Input Enterprise Repositories H R Analyzers scheduler C++ COBOL HTML XML JSP Text ClearCase L Crawlers 11 12 1 10 2 3 9 8 4 7 6 5 WebDAV Team Connection Dependency Analysis JAVA ClearCase WebDAV File System PVCS PVCS WAS Repository Analysis EAR WAR EJB JSP Tag Lib WAS Topology Java Methods Discovery WAS Analysis off-line ... Search Team Connection Taxonomies Dependencies Navigation WEB Browser Statistics JAVA ClassFile TC File System Categorization Semantic & Free-text Impact Analysis Eclipse IDE DB2 database & Index Server XML HTML SVG Portlet WebSphere Portal Server Result Formatters Central Repository Services run-time copyright (C) 2002, IBM Haifa Research Lab Integration A Java Source Code Example H R L package com.ibm.assetlocator.analyzer.java; import com.ibm.assetlocator.*; import java.io.*; /** * Analyzes a Java resource */ public class JavaAnalyzer extends Analyzer { Semantic information Textual information analyze java resource Package name Imported packages Class name Super class Defined/used methods ... copyright (C) 2002, IBM Haifa Research Lab Extensible Framework Provides extension points that enable customers and third party H vendors to extend and configure its functionality R Extension points are implemented via configuration setting and published APIs L Analyzers, crawlers, repository analysis, search service, result formatting, client integration The framework design proved effective and enabled Asset Locator to be successfully integrated in several IBM products/offering Shipped with VA TeamConnection v3.0.3, GA Sep 99 Used by IBM DeveloperWorks site to crawl/search for IBM RedBook content http://www.ibm.com/developerworks/code/search2.html Integrated with WebSphere Studio Asset Analyzer V2.1, GA June 02 http://www-3.ibm.com/software/ad/wsaa/ copyright (C) 2002, IBM Haifa Research Lab Using Asset Locator for Reuse Repository exploration HFinding potential reuse candidates R L Semantic search service Repository navigation views Reference and hierarchy graphs Categorization Resource inspection Much complex than inspecting documents in search engines Examining reuse candidates via a set of inspection views Resource integration / adaptation Incorporate the assets for new purposes Download, import and edit within the IDE copyright (C) 2002, IBM Haifa Research Lab Semantic Search Service Free text search engine style queries (keywords, phrases, linguistic processing, ...) H Across the entire repository R Search using language semantic constraints L Increases precision when knowing what to search for Combine free text and semantic based queries with boolean logic (AND, OR, NOT) Search for Java resources that "connects to a database" and extends "HttpServlet" Rank results according to relevance to search term DB2 Text Extender is used to provide information retrieval functions Inspect results using specialized details and navigational views copyright (C) 2002, IBM Haifa Research Lab Repository Exploration Views H R L Semantic Search View Inventory Distribution View Category Navigation View copyright (C) 2002, IBM Haifa Research Lab Impact Analysis Via Dependency Navigation H R L Java Hierarchy Navigation Navigating J2EE/Web assets copyright (C) 2002, IBM Haifa Research Lab Summary Asset Locator is a first attempt towards achieving ESAM HComplements/extends existing processes and conventional reuse R Win-Win solution L Low investment/maintenance cost Doesn't require change to organizational processes No overhead for users Global point of view Lays the technology foundations for building customized tools Via framework extension points Contact us at: [email protected] Visit our Web Page: http://www.haifa.il.ibm.com/projects/systems/ple/assetlocator/index.html copyright (C) 2002, IBM Haifa Research Lab H R L backup copyright (C) 2002, IBM Haifa Research Lab DeveloperWorks "Code Finder" H R L http://www-106.ibm.com/developerworks/code/search2.html copyright (C) 2002, IBM Haifa Research Lab Message Flow Locator -- Eclipse Client Using Asset Locator for Impact Analysis Dependency View H R L copyright (C) 2002, IBM Haifa Research Lab