Where Customizations?

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.