480 likes | 786 Views
“Using the right tool for the job”. Session 27 (IT) Choosing Application Tools. Presented by Rob DiMurro VP, Research and Development Harris Computer Systems. Introduction. Robert DiMurro Currently VP of R&D for Harris Computer Systems Prior experience
E N D
“Using the right tool for the job” Session 27 (IT) Choosing Application Tools Presented by Rob DiMurro VP, Research and Development Harris Computer Systems
Introduction • Robert DiMurro • Currently VP of R&D for Harris Computer Systems • Prior experience • Director of R&D for Geac Computers, LTD • Director of R&D for Software Shop Systems • 17 years of R&D management experience • Directed the design and development of numerous business applications • Experienced with in-house & outsourced application development
Introduction • Servicing public power and local government since 1976 • Leading provider of Utility Billing, Customer Information Systems (CIS) and Financial Management software solutions • 30 years, 3000 Customers, 350 Employees • Endorsed by
Background • In 2002 Harris committed to rewriting a core utility utility billing product in use by over 150 customers • Business requirements were established and diligence was undertaken to select an application tool set • Harris selected Java technologies utilizing J2EE • Review business idea, criteria and decision factors that lead to J2EE selection
“Use the right tool for the job” A common sense expression, but how do you determine what the right tool is? Start by answering this question: What are the business requirements?
Business Requirements • Business requirements are essential to “project success” • The technical approach revolves around the business requirements • The application tools are governed by the technical approach and the business requirements
Technology must support business requirements • Choosing application tool is as much a business decision as it is a technical decision • Tool selection must incorporate and support business objectives • “no longer one size fits all” • “no application is an island, the need to interoperate is common”
What are the Business requirements? Questions? “Business requirements specify what the business wants” “Usually expressed in terms of broad outcomes the business requires, rather than specific functions the system may perform.” Is this core development or core business offering? Is the scope large or enterprise wide? Is there a high level of integration? Is the a high level of security? Is this customer facing? Is this web facing? (examples) requirements drive technical approach / tool selection
Project Considerations Overall Costs Resource Requirements Current Platforms & Tools Speed to Market Future Plans for Growth
Overall Costs • Development costs • Internal • Development Tools / Infrastructure • Developer Training • Documentation • Project Management • Implementation costs • Hardware • Servers / Clients • 3rd Party Licenses • Operating System • Database • Other • Ongoing costs • Maintenance • Support Total Cost of Ownership (TCO)
Resource Requirements • Skill sets of current staff • R&D / IT staff • Implementation staff • Maintenance staff • Long-term Support staff • External resources • Local skilled workforce availability • Local skilled contractor availability • Vendor qualification / reputation • Training availability & requirements Resource Requirements
Current Platforms & Tools • Existing Hardware • Internal Servers • External - Client systems • Existing Software • Operating systems • Databases • Reporting Tools • Interoperability • Existing internal applications • Existing 3rd Party application integration and B2B • Data Current Platforms & Tools
Speed to Market • Scope of system • Timeline requirements • Dependencies • Developer training • Ongoing operations • Data conversions • Integration with 3rd party systems • Integration with internal systems • Quality Assurance testing • Implementation • Data conversion/Entry • End-user training • Go Live Speed to Market
Future Plans for Growth • Growth • Business • Product/Service offerings • Data needs • User needs • Management needs / preference • IT Strategy & Investment • OS & DB platforms • Hardware / Network • Software / Security • Industry trends Future Plans For Growth
What tools are available? “Java and Microsoft have become the only two mainstream IT platforms” “80% of medium to large enterprises will be using Java or .Net” Gartner, Strategic Analysis Report September 2002
Java 2 Enterprise Edition (J2EE) • Standards based - Open, community defined (JCP) • Various vendor implementations available (Commercial and Open source) • Various 3rd part support products available (components, API extensions, etc.) • Developer environment: Various IDE’s available (Commercial and Open source) • Platform Independence • Database Independence • Supports web browser and GUI interfaces • Designed for business systems • Interoperability J2EE is an open standard supported and developed by several industry leaders under the Java Community Process (JCP). The J2EE specification is available on the net as JSR-244 Java Community Process (JCP) Expert Group members: SAP, INRIA, Novell, TmaxSoft, BEA, SeeBeyond Technology Corporation, Hewlett-Packard, Sybase, Inc., Orcale Corporation, IBM, The Apache Software Foundation, Borland Software Corp, E.piphany, Intel Corporation, Cap Gemini, Sun Microsystems, Inc., Pramati Technologies, JBoss, Inc, Ironflare AB, Trifork “Write once, run anywhere” (WORA)
Microsoft .NET Technology • Standards based – Partially open, some standards controlled by Microsoft • Single vendor implementation (Currently Microsoft has the only complete implementation – Open Source developments coming) • Various 3rd party support products available (components, API extensions, etc.) • Developer environment: Visual Studio • Platform dependant, Windows based (an open source project in development for Linux - Mono) • Database independent • Supports web browser and GUI interfaces • Designed for business systems • Interoperability
Harris Case Study • In 2002 Harris committed to redeveloping our core CIS/Utility Billing software. • We determined our business requirements and evaluated tools based on those requirements. • We concluded, that for our needs, J2EE and Open source software offered the best fit for redeveloping our CIS/Utility Billing software.
New Product / Existing Customers New Product / New Customers Existing Product / New Customers Existing Product / Existing Customers Original Business Idea ““redevelopment of Flag Ship CIS product to address technology and user interface issues to improve new name sales and protect customer investment”
High Level Technical Description Technology Assessment and Development Leading Technology but Lagging Functionality Leading Technology and Functionality NorthStar v6.0 v5.2 Lagging Technology and Lagging Functionality Lagging Technology Leading Functionality
Drivers for Business Requirements KEY ASSESSMENT AREAS • Functional Fit • Technical Fit • Ease of Use • Business Metrics
100% 95% 90% Compliance with RFP 85% 80% v5.2 Direct Comp. 75% 1998 1999 2000 2001 2002 2003 Functional Fit Decision Point
100% 95% 90% 85% 80% v5.2 Direct Comp. 75% 1998 1999 2000 2001 2002 2003 Technical Fit Windows / SQL preference Compliance with RFP
100% 95% 90% 85% 80% PUBS v5.2 Direct Comp. 75% 1998 1999 2000 2001 2002 2003 Ease of Use
High-level Business Requirements • Major CIS Rewrite • New User Interface • Platform independent • Strong Interoperability • Minimize TCO for clients • Foundation for R&D
J2EE and Open Source vs .NETOverall Costs No clear winner for these items • Development Infrastructure (Servers, developer PC’s) • Documentation • Project Management • Implementation Hardware • 3rd Party licenses • Database licenses • Maintenance costs
J2EE and Open Source vs .NETOverall Costs Winner - J2EE and Open source • Development tools (Open source, free) • Developer training (knowledge in house) Total Cost of Ownership (TCO) • Development Shop • Developer licensing
J2EE and Open Source vs .NETResource Requirements No winner for these items • Skill sets of current staff • IT Staff • Implementation staff • Maintenance staff • Long-term Support staff Resource Requirements
J2EE and Open Source vs .NETResource Requirements Clear Winner – J2EE and Open Source • Skill sets of current staff • R&D staff • External Resources • Local skilled workforce availability • Local skilled contractor availability • Training Availability Resource Requirements Note: In today's job market, there would be no clear winner
J2EE and Open Source vs .NETCurrent Platforms & Tools No winner for these items • Existing Hardware • Internal Servers • Existing Software • Databases • Reporting Tools • Interoperability • Existing internal applications • Existing 3rd Party application integration and B2B • Data Current Platforms & Tools
J2EE and Open Source vs .NETCurrent Platforms & Tools Winner – J2EE and Open Source • Existing Hardware • External – Client Systems • Switching costs • Many customers using non-Intel based servers) • Existing Software • External – Client Operating systems • Switching costs • Customer base using Unix/Linux for servers • Trend moving to move to Windows / SQL Current Platforms & Tools Note: .NET would not have incurred any additional cost to Harris in terms of Hardware or Software
J2EE and Open Source vs .NETSpeed to Market No clear winner in this category No measurable advantage for any technologies evaluated • Scope of system • Development timeline • Dependencies • Developer training • Ongoing operations • Data conversions • Integration with 3rd party systems • Integration with internal systems • Quality Assurance testing • Implementation • Data conversion/Entry • End-user training • Go Live Speed to Market
J2EE and Open Source vs .NETFuture Plans for Growth No clear winner in this category • Growth • Business • Product/Service offerings • Data needs • User needs • Management needs / preference • IT Strategy & Investment • OS & DB platforms • Hardware / Network • Software / Security • Industry trends Future Plans For Growth Note: J2EE’s ability to run on any OS platform was viewed positively for future sales, but not a defined requirement.
Technology Platform • Java 2 Enterprise Edition (J2EE) J2EE provides the framework and infrastructure for enterprise solutions “Java and Microsoft have become the only two mainstream IT platforms” “80% of medium to large enterprises will be using Java or .Net” Gartner, Strategic Analysis Report September 2002
Old Before
Tools and Platform Overview • Developer Tools • Java programming language (free) • Integrated Development Environments (IDE’s) • Eclipse IDE (Open Source) • NetBeans IDE (Open Source) • Internally developed code generators • Version Control • CVS (Open source) • Documentation • MS Office – user documentation, system documentation • JavaDoc – code documentation (part of Java language tools, free) • Robohelp – online-help documentation • J2EE Application Server • JBoss v3.12 and v4 (Open source) • Web Servers • Apache Tomcat (Open source) • Internet Information Server (IIS) – add on products (eCARE, mCARE, EIS, OMS) • Databases • Informix, Oracle, MS SQL Server • Operating Systems • Windows XP Pro, Linux, Unix
J2EE and Open Source software reduce costs for NorthStar customers NorthStar v6 (external software costs**) • J2EE Application Server • JBoss 3.2.3 and JBoss 4.0 Cost: $0 • Java Run-time • Java 1.4.2 and Java 1.5 Cost: $0 • Web Server • Apache Tomcat Cost: $0 • Server Operating Systems: • Linux (open source and commercial) Cost: $0 - $100*+ • Unix Cost: $100*+ • MS Windows XP Pro Cost: $150*+ *- Actual costs will vary - bulk purchase pricing may be available, external vendors responsible for pricing, chosen platform, number of licenses required, etc. **- External software costs are costs incurred due to the chosen development platform, not the cost of the product itself, its services or its support.
Sample Configuration25 users NorthStar v6 Minimum cost (external software costs**): NorthStar Required Software licensing: • J2EE App Server: • JBoss 4.0 $0 • Web Server: • Apache Tomcat $0 • Java Run-time: • Java 1.5 $0 • Operating System: • Linux (Open-source, net d/l) $0 --- $0 (costincurred by customer due to dev tools) NorthStar Required Hardware and Database software: • 1 Server (hosting JBoss, Tomcat and Database): • Dual 3.0Ghz, 4 GB RAM $3000* • Database: • Informix SE (25 licenses) $6250* Minimum customer cost of ownership : $9250* *- Actual costs will vary - bulk purchase pricing may be available, external vendors responsible for pricing, chosen platform, number of licenses required, etc. **- External software costs are costs incurred due to the chosen development platform, not the cost of the product itself, its services or its support.
Summary • Business requirements drive application tool selection • .NET & Java are only two mainstream IT platforms for application development – both are strong solutions and widely utilized • Many considerations for application tool selection – business drivers, technical drivers, existing components • Diligence should be based on scope of project and impact to overall business • Harris’ selection to utilize Java (J2EE) was based largely on multi-platform support, TCO for our clients, and availability of a local skilled workforce