CS On-Premise Development and Customization David Leonard Director, Solution Optimization © 2012 Ariba, Inc. All rights reserved. Our Speakers • Phani Appajodu • Doug Bruce 2 Hewlett-Packard Enterprise Application Architect for Global Procurement IT Ariba Commerce Services Manager, Architect Many, many customers represented © 2012 Ariba, Inc. All rights reserved. CS On-Premise Development and Customization Phani Appajodu Enterprise Application Architect Global Procurement © 2012 Ariba, Inc. All rights reserved. Agenda • • • 4 Corporate Overview Ariba Modules Development and Customization © 2012 Ariba, Inc. All rights reserved. Hewlett-Packard Corporate Overview 5 • HP is a technology company that operates in more than 170 countries on six continents. • • HP has approximately 304,000 employees worldwide. • • • HP's 2010 Fortune 500 ranking: No. 11 HP is among the world's largest IT companies, with revenue totaling $126.0 billion for fiscal 2010. HP was founded in 1939. Corporate headquarters are in Palo Alto, California. © 2010 Ariba, Inc. All rights reserved. Hewlett-Packard Corporate Overview 6 • • Our Partnership with Ariba started in 1999 with the Ariba Buyer application. • Ariba Upstream delivers an integrated set of tools and processes that enable procurement professionals to identify savings opportunities, utilize advanced sourcing strategies, manage contracts and monitor compliance to achieve HP business goals. We have customized heavily on Contracts Management, Sourcing, Supplier Performance Manager, and Analysis (Reporting). Ariba Downstream is HP’s standard procurement application for ordering non-production goods and services. It automates the requisition, approval, purchase and payment processes and enables employees to easily purchase the items they need through an intuitive and efficient user interface. It is one component of the Global Procurement Requisition-to-Payment (R2P) platform which strengthens compliance and controls, thereby decreasing procurement costs. © 2012 Ariba, Inc. All rights reserved. Hewlett-Packard - Ariba Modules Procurement • Automates the requisition, approval, purchase and payment processes and enables employees to easily purchase the items they need through an intuitive and efficient user interface Invoice • Automated PO Flip process with Ariba Network. Contract Compliance • Enforce rates and commodities and capture spend E-Forms • Automated form to handle our need for decision making on the spend. Ariba Network • Automates Punch Out and Order Management and pcard transactions. Invoice and Contract Compliance - We have implemented the module but not deployed. 7 © 2012 Ariba, Inc. All rights reserved. Hewlett-Packard - Ariba Modules Contract Management • • • • Master contract data that is easily accessible and available for contracting resource planning Historical data available to analyze and include in sourcing strategy planning Use of standard legal contract terms and conditions Improved operational controls, visibility and audit trail Supplier Performance Management • • • Automated Scorecards Collaborative workspace for SPM processes Performance tracking over time Sourcing • • • • Multi-line and multi-attribute negotiations providing greater visibility & sourcing leverage Faster cycle times to complete negotiations and contracts More accurate award selection based on total cost considerations Robust audit trail through online supplier collaboration/communication Analysis • 8 Provides procurement professionals with the following assets visibility to all HP spend for identifying and prioritizing savings opportunities. © 2012 Ariba, Inc. All rights reserved. Current Ariba Footprint Identify Opportunity Develop Strategy Source and Negotiate Contract and Procure Invoice and Pay Monitor and Manage Dashboard Ariba Analysis Ariba Category Management Ariba Data Enrichment Ariba SPM Ariba Sourcing Ariba Contract Workbench Ariba Category Procurement Ariba Contract Compliance eForms Planned 9 © 2012 Ariba, Inc. All rights reserved. ERP ERP Ariba Invoice Ariba Network Ariba Platform Currently deployed Ariba Buyer 9r1 ERP Supplier Supplier Development and Customization HP in partnership with Ariba has designed and customized the downstream and upstream modules. • Why Customizations? • Where Customizations? • 10 Internal process Legal and audit regulations Usability and ease of use Supportability and maintenance User interface Back end logic, validations and triggers Interface with master and transactional data systems Order management Catalog management Approval engine PCard transactions Custom authentication of suppliers Complexity of Customizations – Medium to High © 2012 Ariba, Inc. All rights reserved. Development and Customization 11 • • We are on Ariba Spend Management 9r1 SP 18 • • Code and Data promotion flows – DEV, TEST, ITG and Production Instances. • In the past we had core code customizations which made it difficult to adapt new Service pack upgrades. • With 9r1 upgrade we made a conscious effort to remove all the core code customization which is helping us to align and upgrade to latest Service Packs. • It is always usability vs performance tradeoff, IT and Business had to work together and agree on this trade off so we provide a good and stable instance for end users. All custom code is maintained in a Source control repository and we use build scripts for deployment. We have designed and developed functionality using Ariba customization frame work and APIs. © 2012 Ariba, Inc. All rights reserved. Development and Customization Infrastructure 12 • • • • • Site-to-Site Setup with Failover and Disaster Recovery • • • Upstream has 10 Nodes with 8 user nodes and 2 Task runner nodes • Disaster Recovery – We have a standby database and Application server which comes up in the event of both Sites going down. Application Server – HP UNIX OS with Web logic 10mp1 and 2 Domains Database Server – HP UNIX OS with dedicated Oracle 11gR1 database Web Server – Windows 2008 OS with IIS 7.5 in a pharm setup Downstream has 16 Nodes with 7 user nodes, 2 Catalog Nodes, 7 Task Runner Nodes, 1 Upstream Integration Node Web Server Farm does a round robin to direct user requests Failover – We have 2 Physical Servers setup as Active/Passive for Failover, when one server goes down, other server brings up the Instance with minimal downtime © 2012 Ariba, Inc. All rights reserved. CS On-Premise Development and Customization Douglas Bruce Ariba Manager, Architect © 2012 Ariba, Inc. All rights reserved. Agenda • • • • 14 Introduction Development Management Approach Application Standards Field Releases © 2012 Ariba, Inc. All rights reserved. Ariba Introduction 15 • • Joined Ariba 20 March 2000 – 12 Years • • • • Manage technical teams of up to 12 developers • Lead role in developing Ariba’s development methodology and application standards Over 15 large scale implementations covering Pharmaceutical, Finance, Government, Retail Industries Experience in all products but primarily Ariba Buyer Extensive P2P and eForm development Integration to numerous systems, inbound and outbound transactions through flat file and/or web service © 2010 Ariba, Inc. All rights reserved. Development Management Approach Central Repository for all Software • • • Ariba uses Perforce as it Source Control Configuration Management system for its implementations All developers code on the same code base Release Management – Full or incremental packaging on main line or branch, depending on complexity of account Tools • • Eclipse/ANT based Ariba-specific toolset deployed to all technical consultants Provides consistency and helps reinforce standards Technical Project is broken down into Functional Areas • • 16 Build components, application standards, code structure, and custom logging all broken down by functional area There is 1-to-1, self-describing relationship between functional and technical areas © 2012 Ariba, Inc. All rights reserved. Development Management Approach Config Build Matrix • • Key documentation is an xls matrix by functional area identifying the tasks and estimate to completion for each requirement Allows visibility into the build progress to report status and request resources if needed Developer Handbook • • Internal document of best practices and guidelines for new developers joining the project Technical resources can be situated around the world Field Releases • • 17 A re-useable code component built in the field (i.e. build once use many times) We always look for either the opportunity to leverage a field release or a situation that would cause us to build a new one © 2012 Ariba, Inc. All rights reserved. Development Management Approach Build for Flexibility and Scalability • • • Structure the design so it’s more on-demand-like where functionality provides for more configuration then customization. Be forward thinking! Prefer table-driven designs, for example rolling out a new Business Unit or Company Code should consist of entries in a table, not net new coding Example build in Company Code preferences allowing for Global, Regional and Company-Specific values Allow for company growth and scalability especially for global customers Centralized Local Data Set • • • • 18 Local data set is a collection of customer-specific sample csv data to support all custom requirements that fall outside the OOTB data set Critical for development and unit testing The code is useless without the supporting data Required for role playing and replicating issues © 2012 Ariba, Inc. All rights reserved. Development Management Approach • Developer Handbook Document best practices and guidelines for developers joining the project • Technical resources can be situated around the world • 19 © 2012 Ariba, Inc. All rights reserved. Development Management Approach Config Build Matrix Functional Area 20 % of Build Hours % Complete Weeks Months Overall Status Data Migration 6% 420 252 0 100% 10.50 0.00 2.63 0.00 Complete Miscellaneous 15% 1082 501.5 125 80% 27.05 3.13 6.76 0.78 In Progress ACW 3% 244 243.5 0 100% 6.10 0.00 1.53 0.00 Complete Core 7% 519 420 16 96% 12.98 0.40 3.24 0.10 In Progress UserProfile 1% 48 34 0 100% 1.20 0.00 0.30 0.00 Complete Contract Compliance 2% 133 136 0 100% 3.33 0.00 0.83 0.00 Complete Catalogue 6% 406 434 5 99% 10.15 0.13 2.54 0.03 In Progress Procure 7% 524 410 35 92% 13.10 0.88 3.28 0.22 In Progress Electronic Order Execution (EOE) 4% 284 238 4 98% 7.10 0.10 1.78 0.03 In Progress Requisition 8% 614 521 122 81% 15.35 3.05 3.84 0.76 In Progress Order 5% 342 147 0 100% 8.55 0.00 2.14 0.00 Complete Receive 0% 12 9 0 100% 0.30 0.00 0.08 0.00 Complete Beeline 6% 440 300 0 100% 11.00 0.00 2.75 0.00 In Progress Invoice 7% 495.5 577 34 94% 12.39 0.85 3.10 0.21 In Progress eForms 8% 617 456 0 100% 15.43 0.00 3.86 0.00 In Progress Payment 6% 420 218 94 70% 10.50 2.35 2.63 0.59 In Progress Reporting 8% 575 219 356 38% 14.38 8.90 3.59 2.23 In Progress Ariba Buyer Administrator 0% 1 1 0 100% 0.03 0.00 0.01 0.00 Complete MyApprovals 1% 88 103 0 100% 2.20 0.00 0.55 0.00 Complete Supplier Rationalization 1% 57 35 0 100% 1.43 0.00 0.36 0.00 Complete Total 100% 7321.5 5255 791 72% 183.04 19.78 45.76 4.94 © 2012 Ariba, Inc. All rights reserved. Application Standards Goals • • • • A standard for structuring custom code by functional area Self-Documenting. Organized, Manageable, and Maintainable Every developer is speaking the same language Provide this robust structure to accommodate developer turnover, as well as facilitate future projects/efforts (potentially by entirely different teams) Customer naming and customer prefix • • Customer prefix (2 to 3 chars) and customer descriptions for all code components to clearly identify what is custom and what is OOTB AML fields and objects are prefixed with customer prefix No commenting out code • We have a source control system use it (Diff) Custom logging by functional area • No more customer.debug logging! 21 Customerprefix.Core, Customerprefix.Accounting,Customerprefix.Requisition, Customerprefix.Contract Customerprefix.EOE.Scout, Customerprefix.EOE.Altas © 2012 Ariba, Inc. All rights reserved. Application Standards Java Extensions • Broken into sub-technical areas: action, condition, task, featureprovider,util, Path name config.”customer name”.requisition.task., Path name config.fieldrelease.receipt.task.SAPReceiptimport Object definitions • Broken down by functional area and customer prefix config.”customer name”.procure.<cust>IncoTerms config.fieldrelease.procure.FRIncoTerms AML extensions • Broken down by functional area: config.”customer name”.requisition.RequisitionExt.aml • Objects and field extensions in <cust>Ext.aml • Groups in <cust>GroupExt.xml <cust>GroupExt.aml imports <cust>Ext.aml • Integration in <cust>IntegrationExt.aml imports <cust>Ext.aml Field Definitions • Customer prefix example AZBillTo Example of reusability • <cust>ItemType – Classify an item for certain functionality and or reporting 22 isTaxable, isInventory, isAsset, isNonTaxable, isSystemGenerated, isCentralReceiving, isTaxExempt © 2012 Ariba, Inc. All rights reserved. Application Standards Custom Parameters • • • 23 All custom parameters are pulled into a separate FieldReleaseParameters.table Do not like to clutter the core Parameters.table Custom parameters structured by functional area © 2012 Ariba, Inc. All rights reserved. Field Releases A reusable code component developed by Ariba Consulting based on recurring demand of a requirement across our customer base • • • Build once, use many times Potential to become best practice and/or core product Already proven in the field coupled with enhancements along the way Examples • Receipt, Invoice and Contract Imports • Feature Provider • Robot Workflow 24 An extension framework that allows for self containment of Action, Condition, Approvable Hooks, Visibility, Validity, Editability into a single Java file Hooks are initially defined in the AML, then this “plumbing” routes to the custom feature defined by the developer Speed of implementation is very developer friendly, streamlines reuse, and scales to multiple customers Easily manageable and maintainable Cool feature is to turn on/off customizations via a table file, and then simply reload cache and execute A “robot” approver that allows you to define the workflow within the robot. This is used for Budget Validation, Inventory Management, Accounting Validation, etc. © 2012 Ariba, Inc. All rights reserved. Don’t Miss the General Session Panel Today at 5:15 p.m. • Sustainable Supply Chains through Vested Trading Partner Relationships 25 Long-term, mutually beneficial partnerships between buyers and suppliers are increasingly being described as vested relationships, defined by a shared vision, agreed-upon desired outcomes, transparency, trust, and win-win. Developing such trading partner relationships pays dividends in many ways, particularly when your goal is ensuring a sustainable supply chain. Join Tim Minahan, chief marketing officer for Ariba, as he explores the concept with Kate Vitasek, author of Vested Outsourcing, and Tim McBride, general manager for global finance shared services at Microsoft. Mr. Minahan and his guests will engage with Ariba customers who will talk about such investments at their companies, and the impact they have on their comprehensive sustainability programs. 5:15 p.m. – 6:00 p.m. – Florentine III and IV © 2012 Ariba, Inc. All rights reserved.