Salesforce.com 2004 Annual Report Download - page 12

Download and view the complete annual report

Please find page 12 of the 2004 Salesforce.com annual report below. You can navigate through the pages in the report by either clicking on the pages listed below, or by using the keyword search tool below to find specific information within the annual report.

Page out of 125

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125

Table of Contents
written to different hardware, operating system and database platforms, or that depends upon a customer's unique systems environment. Rather, we have
optimized our service to run on a specific database and operating system using the tools and platforms best suited to serve our customers. Performance,
functional depth and usability of our service drive our technology decisions and product direction.
We built our service as a highly scalable, multi-tenant application written in Java and Oracle PL/SQL. We use commercially available hardware and a
combination of proprietary and commercially available software, including database software from Oracle Corporation, to provide our service. The
application server is custom-built and runs on a lightweight Java Servlet and Java Server Pages engine. We have custom-built core services such as database
connection pooling and user session management tuned to our specific architecture and environment, allowing us to continue to scale our service. We have
combined a stateless environment, in which a user is not bound to a single server but can be routed in the most optimal way to any number of servers, with an
advanced data caching layer. Our customers can access the service through any Web browser without installing any software or downloading Java applets or
Microsoft ActiveX or .NET controls.
Our service treats all customers as logically separate tenants in central applications and databases. As a result, we are able to spread the cost of
delivering our service across our user base. In addition, because we do not have to manage thousands of distinct applications with their own business logic and
database schemas, we believe that we can scale our business faster than traditional software vendors, even those that have modified their products to be
accessible over the Internet. Moreover, we can focus our resources on building new functionality to deliver to our customer base as a whole rather than on
maintaining an infrastructure to support each of their distinct applications.
Our service is also flexible. Every page is dynamically rendered for each specific user, including a choice of 11 languages and a number of currencies
with dynamic currency conversion support. In addition, our service can display different views of the data based upon a number of factors, including user,
department and area of responsibility in the company. Our service also allows customers to create multiple subtypes or subclasses of our business objects and
tie views to each record type. This customization extends to the data model of our service, as our service allows customers to extend existing tables in our
database as well as create new tables without actually modifying the underlying physical database schema.
We have also developed extensive reporting and analytics functionality in our service that operates on the online transaction processing, or OLTP,
database system to provide real-time analysis of the user's data. While users can customize any report or dashboard in the service, we dynamically tune the
database based upon specific attributes of the user, the data model, the data security layer and the specific customizations to each report or dashboard.
We have built a service-oriented architecture, or SOA, which allows our service to be addressable by other applications on the Internet and by
applications behind customers' firewalls. Through our sforce platform, we allow customers and partners to insert, update, delete and query any of their
information in our service. Our full-text search engine, which allows users to perform natural language queries on all the data through a browser, is also
exposed as a Web service. In addition, we have mechanisms to protect our service not only from malicious abuse, but also from poorly written applications
that put undue strain on the service. Each user session is encrypted, and we actively monitor our system to detect intrusion by unauthorized users.
Development
Our research and development efforts are focused on improving and enhancing our existing service offerings as well as developing new proprietary
services. In addition, from time to time we supplement our internal research and development activities with outside development resources. Because of our
common, multi-tenant application architecture, we are able to provide all of our customers with a service based on a single version of our application. As a
result, we do not have to maintain multiple versions of our application and are
9