Вы находитесь на странице: 1из 20

Workday’s Technology Platform and

Development Processes
Workday’s Technology Platform and
Development Processes
Executive Summary Easier to Use
Enterprise applications need to be easy to use and Traditionally, enterprise applications have not been
even easier to own. Workday approaches enterprise- widely used throughout the enterprise. Back-office
application design with that guiding principle in mind. professionals were trained to use the application to
update and access data. The rest of the enterprise was
The path to developing new enterprise applications
not active on these systems and depended on these
is a revolutionary leap, not an evolutionary process.
trained professionals and the reports and spreadsheets
New enterprise applications require fresh thinking on
they generated.
several levels.
Workday believes that everyone in the organization must
• Delivery model
be able to use enterprise applications, rather than having
• Technology platform to engage IT to perform tasks and generate reports. This
• Development processes self-service approach for employees and managers should
• Application design not require training or come as add-on modules. We
benchmark the overall user experience of an enterprise
Workday began as an enterprise-software company
application against the consumer-Internet applications
that made a clean start in all these areas. We adopted
that most workers in any company are accustomed to
SaaS as the best delivery model for enterprise
using today.
applications and applied innovative design to our
Financial and HCM applications. Mobile access must be delivered as a native part of the
user experience, not as an add-on platform or module or
This white paper focuses on Workday’s technology
as multiple standalone applications. As user-engagement
platform and development processes. It addresses the
patterns change, the user experience must constantly
demands of today’s workforce for enterprise applications.
improve to take advantage of new usage patterns.
We discuss why a new architectural approach is
necessary for enterprise-application platforms and why
traditional development processes for building and
delivering enterprise applications must change. Finally,
we describe the components of the technology platform
and development processes that are the basis for
Workday’s products.

New Requirements
Workday was created with the idea that core enterprise
applications can be easier to use and own than they have
been historically.

Figure 1

2
Enterprise applications that focus exclusively on Workday has created a new model that allows
transactions usually fail to meet business-user customers to customize the application without risking
expectations. The business user wants to be able to the integrity of the system. The traditional way of
analyze current transactional data in the context of applying customizations through data-model changes
the transaction, and take action based on that analysis. and programming hundreds of lines of code has been
Because traditional systems were built to collect replaced with the ability to configure the application
transactions, analysis can only happen in a separate through guided interfaces. This model enables customers
system with separate security, and the user is unable to to continue functioning from release to release because
act on the analysis. the underlying data model and application code is
not modified.
Workday believes that the divides between transactions,
analysis, and actionability can be closed with systems Managing the infrastructure to run an enterprise
that support these three activities natively over a single application is a highly specialized task and requires a
copy of the data and with a single approach to security. team of experts in security, hardware and software
scaling, disaster recovery, performance management,

Easier to Own system administration, and networking. Assembling,

Enterprise applications must change when the business training, and managing such a team should not be required

changes. Businesses have evolved, but enterprise of customers that deploy an enterprise application.

applications have struggled to keep up. Traditional


Finally, building and maintaining integrations between
architectures included customization tools with the
enterprise applications and other applications that
application so that customers could make ongoing
a customer owns should not be a large part of the
changes to their implementations. Unfortunately, making
overall cost of ownership. Workday believes that it is
changes to the applications has become more difficult and
cost-effective to include integration tooling as a part
expensive. Customers often neglect to update to the latest
of the application and offer more resilient application-
version because of the complexity involved with many
programming interfaces for integrating systems. If the
customizations. So, customers cannot take advantage of
integration platform is a native part of the underlying
new innovations and best practices, and they fall behind
application platform, then integrations can surface
the pace of the market.
through the application for easier customer consumption

Workday believes that customers must be able to and tighter alignment to the application.

continuously adopt new vendor features without


expensive upgrades. For customers to be able to
seamlessly apply new system capabilities without
costly re-implementation for customizations and data
conversion, the vendor must take care of data migration
to new releases and updates. When the vendor adopts
a continuous-development model where new features
are rolled out daily or weekly, vendor responsibility for
updates is critical.

3
The Need for a New Approach 1. Complexity: Complex applications require complex

Delivering against new requirements demands fresh database schemas with many tables to describe

thinking about enterprise-application architecture application structure and many lines of code to

development processes. describe the application behavior. Typical


enterprise applications end up being millions of
A brief review of legacy architectures is helpful.
lines of code talking to thousands of tables. Any
Traditional enterprise applications have employed
significant change to the application requires making
an architectural approach that can be described as
and coordinating changes at both of these levels.
“relational client-server.” Developers create a relational
model in the database layer to describe the structure of 2. Integration: Integration to other systems is

the application. Then, they write code in the business- accomplished either by getting exports and

logic layer to store and retrieve data from the database, imports of transactional data (typically in files) or

and to present data and transactional pages in the by interacting with an application programming

presentation layer (typically an Internet browser). interface (API) at the business-logic level. While
it is easy to get data out of a relational database,
doing this directly circumvents the security and
business logic built into the application. Using APIs
Users Internet Browser
to interact with the application can be complicated
because APIs are typically built after the fact and
have to interact with business logic that assumes
that it’s talking with a user, not another system.
Systems Business Logic Security

1 1 3. Business Intelligence (BI): These architectures


01 INPUT NAME “JOHN”
0 1 02 INPUT TITLE
“PROJECT MANAGER” feature detailed transactional reporting, but
0 0 03 PRINT “INPUT NAME”
“INPUT TITLE”
they do not report in a way that business users
care about. Most applications built on these
Systems Data in RDBMS Cube architectures transfer data to separate BI tools to

1 1 get acceptable reporting and analytics for business


0 1
users. Once a copy of the data is made, you have
0 0
to secure access to it and worry about how out-of-
Users sync it is with the live data in the application.

Workday also had concerns with traditional development


Figure 2 processes. Traditional development was designed to
support large and infrequent releases. Development is
done on a separate code-line from production. Programs
This type of traditional architecture allows you to reliably
to convert existing customers to the new release are
capture transactions at scale and to produce reports of
typically built after the release is built. The infrastructure
transactional history.
to run the application is either the responsibility of

We had three concerns with this architectural approach the customer (for on-premise deployments) or an

when we started Workday: infrastructure team that is not part of development.

4
These concerns led us to adopt a different architectural Workday Applications
approach for Workday’s development and runtime platform. Workday’s foundation is built on Java. We also created
We decided to pursue development processes that would a metadata abstraction layer to simplify development.
support frequent updates and continuous change. This language is called “XpressO.” It allows application
developers to abstract themselves from implementation-
specific details that prevent unnecessary technical
New Platform and Development Process
dependencies and it facilitates Workday’s architecture
Because of concerns with traditional relational client-
evolution over time.
server architectures, Workday decided to take a
new approach at every level of its architecture. This Workday application developers can focus on the

approach would fully support the Software-as-a-Service functional aspects of the applications without worrying

deployment model. about technical and implementation details such as


persistence, transactions, scalability, and datacenter
Workday’s mission is to deliver superior enterprise-
locations. We can focus instead on delivering functional
application user experience. Workday applications are
apps with great user experience.
the center of gravity for everything that is done through
Workday’s platform and architecture.

The following diagram features a high-level look at


Workday’s platform architecture.

Users Systems
Workday Cloud
A P P LI C AT I O N S

Financial Human Capital Professional Payroll Student Insight


Management Management Services Applications
Automation

T EC H NOLOGY

Mobile | Web | Transactions | Reporting | Analytics | Integration | Machine Learning | Collaboration | Jobs | Printing

P L AT FOR M

Messaging | Content Storage | Service Discovery | Authentication | Statistics | Logging | Monitoring

P E R S IST E NC E

Durable Storage | Encryption at Rest | Replication | Disaster Recovery

INF R A ST RUC T UR E

Data Centers | Availability Zones | Compute | Storage | Networking | Key Management

Figure 3

5
Users Systems

Applications

AP P L I C AT I O NS

Financial Human Capital Professional Payroll Student Insight


Management Management Services Applications
Automation

Figure 4

Different services in Workday’s architecture and platform One of the important design principles is Workday’s
collaborate to interpret the application metadata approach to data storage. Workday uses a relational
that Xpresso creates when it processes application database to store transactional data, but we do not use a
transactions and manual or automated requests. By relational database to model the core of our applications.
clearly separating how applications are defined from its All application transactions are persisted in a MySQL
implementation-platform details, new applications can database, but the schema for that database bears no
be brought online quickly, as Workday has demonstrated resemblance to any of our applications (for example there
since its early days. is no Account or Worker table). The schema consists of
just a few tables optimized for storing application data
To make applications easy to author and maintain,
and metadata.
Workday built its architecture following a core set of
design principles that primarily address the challenges To maximize security, all access to the database comes
outlined in our previous section. These design principles through Workday’s application services. This setup means
have had a radical positive effect on how Workday that no customer employees have direct access to the
delivers applications and our ability to evolve continuously. database (not even IT). Using a simplified schema to store
transactional data means that we do not have to worry
about schema changes for all of our customers when we
release new features and perform weekly upgrades.

6
A second very important design principle is the use of a Based on these two design principles, Workday decided
metadata-object model to describe the structure and to maintain core-application data in-memory, along
behavior of the application. Here is where XpressO comes with all of the metadata definitions of the application.
into play. There is no code-based procedural logic in a Having the data in-memory means that most Workday
Workday application. Instead, Workday developers define reports are produced without having to access the
the structure of our applications by defining classes for the database. Having the in-memory data organized in an
key business objects in the application. Classes can have object model that features a rich network of relationships
relationships to other classes, attributes, and methods. between classes means that Workday reports can offer
Methods define the behavior of the application, and the multidimensional analysis along with data presentation.
business logic is defined by declarative relationships
A simple example of this capability is a headcount
without the need to write any procedural code.
report. To display the headcount for an organization, the
All of these parts of the object model (classes, relationships, application collects and counts all instances of all workers
attributes, and methods) are created through a forms- in that organization. The result is an in-memory cube
based set of tasks. The resulting application is a collection where you can further explore all the dimensions of data
of metadata definitions for each part of the application- relating to the worker object.
object model. These definitions are stored as collections
of simple Java objects in the memory of the Java virtual
machine (VM) that is the runtime for all Workday
applications. The Java runtime knows how to interpret
the metadata definitions into the transactions (tasks and
reports) that make up the application.

Figure 5

7
This approach to defining and running applications has • Configurability of applications: Workday supports
many benefits. configurability and extensibility of its applications.
Customers create their own metadata for assets like
• Developer productivity: You can think of relational
business processes and custom reports, and they
client-server applications as millions of lines of code
add their own custom fields to existing Workday
interacting with thousands of relational tables. The
objects. It is difficult to make sure that code-based
definitional approach that Workday uses results in
extensions to an application are “upgrade-safe,” so
applications that are millions of cross-referenced
this configuration is done without coding. The result
metadata definitions. While there is nothing simple
is a tenant-specific version of application metadata
about huge numbers of metadata definitions,
that Workday’s runtime knows how to process
organizing the application this way enables our
and update, even for a new release. Workday’s
developers to continuously enhance and re-factor
customers can configure with confidence knowing
our applications and to deliver these changes into
that they will not have to revisit and repair their
existing customer implementations in an upgrade-
work on successive updates to the product.
safe manner.

• Single-transaction-processing model for requests Technology


from users and systems: All requests coming into The Technology services involve the most innovations
Workday are processed the same way. The request and evolution over time. Each tenant’s application
must come from a valid and authenticated user requests are processed via a collection of specialized
ID. All requests are put into the same queue for services that execute the requested transaction in a
processing and are processed and audited the same secure and scalable manner that guarantees optimum
way. There is no separate processing approach performance. This capability evolved from a unique
or language for “batch” processing vs. online central-processing service to a collection of well-
processing, and there is no direct read or write coordinated distributed services.
access to the relational database.
The Technology services can be subsumed into three main
• Single-security model for all data access: sets: Transactions, Data Management, and Compute services.
Role-based security is used for all transactional
access to data in Workday applications. Complex The Transactions service is primarily responsible for

systems often have different ways of securing processing requests coming from user-triggered actions,

access to data. This is especially true of access from such as tasks or reports. The Transactions services use

custom reports and analytical tools. In Workday, the an in-memory representation of the tenant’s data and

custom-report writer applies role-based security at execute the needed request logic. Each tenant has a

a granular level of data for all reports that a single “update transaction service” (object transaction

customer creates. The same role-based authorization service or OTS) that manages all transactions that update

applies to mobile access, analytical tools, any information.

dashboards, the Insight Service, access through our


web services API, and workflow processed in our
Business Process Framework.

8
Users Systems

Technology Services-
Transaction Systems

TECH NOLOGY

TR A NSAC TIONS DATA MA NAG E ME NT CO M P U T E S E RVICE S

Data Cache Query Doc Elastic Jobs Integration


Service Store Grid
Object
Transaction Object Read
Service (ORS) Insight Search Printing SYMAN
Service (OTS)
Service

Figure 6

When a task request comes in to Workday, it’s handed off The Data Management Service is at the core of Workday’s
to the appropriate class in the object model that knows scalability approach. One of the primary components of
how to process that update. The appropriate methods the Data Management Service is the “data cache” that
are called to process validations on the updated data. If maintains a compressed copy of all core-application
the validations pass, the updates are made to in-memory data and metadata (or “instance cache”) comprising the
data and are recorded in the database via the Persistence Workday application. Workday uses the instance cache to
services. The application must receive a commit from the quickly make snapshots of customer data when starting
database update for the new values of the in-memory up one of the report or calculation-compute services
data to be visible to other transactions in all active mentioned earlier, and to reconstruct data in the memory
tenant-compute services. of the customer’s Update Transaction Service or other
Compute services to a specific time. This allows the
The database is always the system-of-record for all
instance cache to be selective about which instances must
application data, even though it is rarely used for
be in the “main” Update Transaction Service memory
reporting and querying, thanks to the in-memory copy of
without having to pay the price of going to disk if we
the data. The particular aspects of synchronizing and
need to access a less-frequently used instance.
managing data in the Transactions Service and Compute
Services are performed by the Data Management services. However, not all processing happens in the customer’s
Update Transaction Service. Workday’s Compute services
allow us to offload requests for reports, searches,

9
printing, integration logic, and large calculations (such Workday has always been an in-memory application.
as Payroll) to dedicated services running on separate From day one, Workday has kept core customer data
Java virtual machines on separate hardware to scale in the memory space of our Java-based OTS. However,
appropriately. This process enables Workday to distribute over the years, Workday has evolved its single OTS
processing more efficiently and effectively when greater into a separate layer of services (Transactions, Data
compute cycles are needed for longer-running requests or Management, and Compute services) to take advantage of
increased capacity. the benefits of in-memory data in order to bring higher
levels of performance and scalability to our applications.
A set of Big Data services also analyzes third-party
data loaded by customers into Workday’s cloud. These Workday believes that continuously enhanced in-
services return the results of MapReduce operations memory data management is the path to continuous
over the customer’s data, which is stored in Hadoop) scale for our applications. It is no longer a problem to be
to the customer’s Data Management services for use solely addressed by databases on disk-serving data to
in Workday reports via the Insight Service. The Insight applications via SQL. Our in-memory data services are an
Service also provides scores such as retention risk, essential part of a highly optimized multilevel-caching
which are the result of machine-learning models that approach to managing application data.
access data through Workday’s SYMAN service. SYMAN’s
The figure below illustrates how the Update Transaction
service manages the collection and analysis of data and it
service interacts with the Data Management service to
normalizes terminology and applies machine learning to
retrieve data for processing on the Update Transaction
generate predictions and recommendations for the Insight
service and other tenant live-compute services.
Compute service.

Users Systems

Technology Services-
Transaction Systems
T EC H N O LO GY

T R A N SAC T I O N S DATA MA NAG E ME NT COMPUTE S E RV ICE S

Object Transaction 1 Data Cache Elastic Grid


Service (OTS) 4
Compressed
Data Instance Cache Jobs
4 Compressed Printing
Object Read Data
Service (ORS)
Integration
Compressed
Data SYMAN
3 2

P E R S I ST ENCE

Figure 7

10
In Figure 7, the Update Transaction Service (the same stored in Basho Riak, a NoSQL data store. There is more
mechanism that works for the Compute services) started information on this process in the Persistence-layer
from the Instance Cache are kept up-to-date with “change section of this paper.
sets” corresponding to ongoing transactions issued
For classes with many millions of instances, Workday
from the tenant’s Update Transaction Service (Step 1 in
maintains a Query Service that works in combination
Figure 7). Once a transaction is updated to the database
with the Instance, which allows us to do reporting
(Step 2) a change set is queued for consumption by the
with drilldown to multiple dimensions over these large
Instance Cache and all other related live-tenant Compute
datasets. This service is used heavily for reporting over
Services (Step 3). Before performing a requested report
high-volume objects, such as financial journal lines. It
or calculation process, any of the live-tenant Compute
relies on an in-memory Search Index for performance.
services will check a version flag in the database to make
sure that it has the latest updates. If it is not up-to-date, Last, the Search service allows searching for terms
all queued change sets are applied before performing the contained within Workday data data and on a set of
report or calculation. This process guarantees that the normalized search terms in SYMAN (SYstematic MAss
information used by any of the services in the Compute Normalization) to enhance the relevance of results for a
services is current up to the most recent transaction (Step 4). given search request.. For instance, look up “Jon” to find
workers named “Jon, Jones.”
While the Instance Cache safeguards the access of
transactional data and metadata, the DocStore Service
manages the storage and retrieval of unstructured data

Users Systems

Platform Services

CO MMUNI C AT I O N & AUT H S E RV ICE DIS COV E RY LO GGING & MO NITO RING

Zookeeper

Figure 8

11
Platform service or if it needs to dynamically launch a new one.

Platform services introduce a set of unique reusable and This, in a nutshell, is how Workday’s infrastructure

generic components to be used within the Technology dynamically scales out as demand increases.

layer. Among the services found in this layer, we find


The Auth Service centrally manages security. This
functionality such as authentication and authorization,
service helps enforce and secure access to data across
communication, logging, monitoring, and customer-
all Workday applications. This process contrasts with
landscape information. Regardless of the request coming
systems that have been put together under a single
from a report, task in a browser or mobile client, or
sign-on umbrella but still require several authorization
integration, the same service is always relying on a single
frameworks for different modules in a business suite.
source of truth. This process enforces application-behavior
consistency and also lowers management efforts and costs. The logging and monitoring services record the action of
every transaction so that it is always possible to audit
Service Discovery allows Workday to understand each
“who did what and when.”
tenant’s available distributed compute services. As
described in the Technology section, each customer
Persistence
always has Update Transaction Services, and as more
computing power is needed, additional Compute Services The services in the persistence layer manage access to

are launched to respond to increased customer demand data used by Workday applications that requires a level

and provide an optimal performance. When a new tenant of persistence and time durability. Usually the data-

request comes in, Workday interacts with this service and management set of services in the technology layer directly

determine if it is possible to route it to an existing compute interacts with the services in this architecture layer.

Users Systems

Persistence Services

T ENANT DATA BLO BS BIG DATA

MySQL Server Basho Riak HDFS

Figure 9

12
Workday does not rely exclusively on a relational Not being tied to one standard also keeps Workday
technology for persistence as it once did. While MySQL options open for switching to emerging storage
is used for transactional data, unstructured data (such technologies without disrupting our customers or our
as resumes, business-process documentation, and application developers. With innovation in storage
photographs) are stored in Basho Riak. Workday selected technologies at an all-time high, this storage architecture
this technology for its capacity to scale to very large data ensures that Workday is continuously able to leverage
volumes and to replicate. the best current approaches to storage. Martin Fowler, an
industry thought leader on object-oriented design, refers
Workday’s platform also allows customers to upload
to this approach as “Polyglot Persistence.”
large external datasets to our cloud, which is stored in
a Hadoop file system. Workday selected Hadoop for its
Infrastructure
ability to accommodate large volumes of data and for its
The Infrastructure layer of Workday’s architecture
flexibility in handling data in any form. When external
deals with the typical aspects found on IaaS services.
data is correlated with data from Workday’s applications
To summarize its function in the overall architecture,
the customer gets superior analysis and reporting.
this layer is essentially Workday’s operating system.
There are several benefits to Workday’s approach Automation helps multiple services-provision servers
to storage: install the appropriate services on customer-specific
configurations, and make them available to a tenant as
1. Using a simplified schema to store transactional
part of instantiated compute services. Without a full end-
data means that we do not have to manage schema
to-end, automated infrastructure-provisioning systems, it
changes for all our customers when we release
would be impossible to scale dynamically at any time to
new features and perform weekly upgrades.
support current business demands.

2. Using Hadoop’s schema-less approach makes it


When we designed and built Workday’s infrastructure,
easier for customers to load their data into our
Workday adopted a “scale out” architectural philosophy.
cloud. By not tying ourselves too closely to any
We increase storage capacity and enhance performance
storage standard (such as SQL) we are able to
by adding additional servers, storage, and networking,
select the best storage technology for particular
rather than vertically upgrading to larger models or
storage needs.
appliances. Similarly, for our software architecture,
Workday scales application capacity through additional
As an example of these benefits, we changed the way
services running on our infrastructure.
all transactions are stored, from inserts of multiple rows
relating to business object changes to combining all Scaling horizontally provides a number of benefits as

changes in a BLOB data type stored with a single insert. they relate to service availability. First, the servers are

This optimization reduced the size on disk by more than redundant. Workday’s applications will not go offline

half. It also halved the time it takes to initially instantiate if one of our servers fails. Secondly, it is possible to

data from disk into memory. This optimization would not increase storage capacity without sacrificing performance.

have been possible if we were performing SQL updates Workday customers are assured that, as the infrastructure

against a complex schema. layer scales to handle more data, they will not have
application-performance issues.

13
Users Systems

Infrastructure Services

SE RV I CE S

AZ1

AZ2

Figure 10

Integration and User Experience Workday believes that web services are the best

Two other important aspects of Workday have direct approach for integrating applications. Workday

correlation to Workday’s architecture: Integration and applications are built to automatically generate web

User Experience. These have not come as an afterthought services for all tasks, allowing outbound and inbound

and have always been native components of the platform. communication with other systems. However, as there is
no single, agreed-upon standard for how web services are
designed, Workday embeds enterprise service bus (ESB)
Integration Services
technology in our platform. These integration services
Workday provides a lot of functionality with its business
flexibly transform inbound and outbound data payloads
applications, but customers often need to integrate with
and vary the delivery protocol to meet the technical
third-party applications. For example, a very common
specifications of third-party applications.
integration scenario in most of Workday implementations
is that Workday Human Capital Management integrates Integration services also enable our customers to build
with benefit providers. Integration with external systems their own integrations and to execute them in Workday’s
has never been easy. However, Workday provides multiple cloud. Workday accomplishes these integrations by
alternatives to simplify connectivity to other systems. offering two tools that interact with Workday Web
Services Application Programming Interface (API),
Enterprise Interface Builder (EIB) and Workday Studio.

14
Workday Cloud

Workday Applications

Public Web Service APIs Custom APIs

Workday Integration Cloud


Integration Cloud Platform

Connectors and Toolkits Management and Monitoring

Cloud On Premise Benefits Payroll


Applications Applications Providers Providers LDAP/AD

Figure 11

• Enterprise Interface Builder (EIB): EIB allows access to our business services. We provide three types
users to create simple, one-way in or one-way out of API documentation:
integrations using a forms-based user interface.
• Public web services API: Workday offers an open,
Once an “integration system” is built with this
standards-based API for programmatic access to
tool, the customer can schedule execution of the
business services within Workday.
integration in Workday’s cloud.

• Report-as-a-Service (RaaS): Workday enables


• Workday Studio: Workday Studio is a powerful tool
customers to build their own web services when
that allows customers to build complex integrations
they create custom reports through our Report
between Workday and one or more third-party
Writer. Custom reports can be web-service enabled,
systems. The end result of Workday Studio is the
exposing the report as both a SOAP and REST-based
same as with EIB: an integration system that can be
web service for integration.
scheduled to execute in Workday’s cloud.

• REST API: The Workday REST API is targeted for


These tools are included in the purchase of any Workday applications that do small, typically self-service,
application at no additional charge. Customers can always transactions initiated by users. Because a user
interact directly with Workday’s public web services API initiates the interaction, the REST API is designed
with the programming language of their choice. Workday to quickly return a small set of frequently used
offers an open, standards-based API for programmatic information for display or further action.

15
There are several benefits to including integration appears on a page. Instead, application developers define
services as part of an application platform. the fields involved in a transaction. They specify how
the fields are grouped and how they are ordered. User
• The use of ESB technology to transform data
Experience Services generates the presentation of the
payloads and select the appropriate delivery
transaction from this information.
protocol makes Workday look like a more flexible
endpoint to all of the applications it connects to. There are several user-experience benefits to this
approach. A generated UX provides consistency. Workday
• Including tools with Workday applications
does not have to teach and coordinate hundreds of
allows customers to decide which integrations
developers to lay out their pages in the same way.
they want to run in our cloud. When customers
Separation of the UX from the definition of the
leverage our cloud, they lower the cost of building
application allows Workday to change UX technologies
and maintaining integrations that run on their
without changing our application.
infrastructure.
Workday’s browser presentation layer is currently HTML
• Integrations can be surfaced within the application
5. This is the third browser UI technology that Workday
and seamlessly interact with a business process,
has embraced (after DHTML and Flash). Workday believes
making integrations context-aware and configurable.
that UI technology will continue to change faster than
applications change. So, our architecture allows us to
User Experience (UX) stay current by changing our presentation frequently.
Workday entirely separates the generation of its user The mobile experience has taught us that the UX gets
experience from the definition of its applications. stale if its design is not refreshed every other year, at a
Application developers do not do pixel-perfect screen minimum. The same is true for the browser.
layout, and they never specify where a given field

Figure 12

16
Mobile has designed its mobile clients to utilize the same single-

Mobile access is a foundational feature of modern security model that customers establish for browser

applications, not a separate product or platform. With access. This allows customers to easily implement

Workday, mobile access is simply another aspect of Workday’s mobile solutions. The only set up (other than

User Experience Services and is included as a part of downloading the app) is to grant all appropriate users the

every application. ability to use mobile devices to access Workday. 

Development Processes
Workday is committed to delivering frequent updates
while keeping our customers current on the latest
version. This commitment influenced many of Workday’s
design choices for our platform architecture. It also led
us to reconsider development processes as they relate to
both products and platform as well as an infrastructure.

Workday embraces continuous deployment of new


product and platform functionality on a single code
line. This approach is the only way to support ongoing
delivery of many new features to our growing customer
base. Workday developers work in small scrum teams.
These teams work in an agile manner. They own design,
Figure 13
development, and quality, and they iterate to create
features ready for production.

In addition to desktop-browser access, Workday Once a feature has passed through the test pipeline, it is
applications can be used on a native iPhone, iPad, or checked into the production code line. Software switches
Android client, or any modern mobile browser. Each called toggles are used to determine whether each feature
client’s user experience is optimized based on touch and is viewable only to development, to customers in a
form factors, so the user never has to pinch and zoom preview mode, or to customers in production. Supporting
to find fields or buttons meant for the real estate of a our ability to work on a single code line is a large,
desktop browser. Native mobile applications offer optimal automated test infrastructure.
usability. Workday passionately supports native clients
Workday has also developed a process for converting
in conjunction with making our HTML5-browser client
customer data in the background as new features are
completely responsive to the tablet and phone feature-set
checked in. This approach dramatically changes the work
and form factors.
our environments and infrastructure teams perform on
Because Workday’s mobile solution is simply an extension the day of an update. Instead of moving to a new code
of the application, mobile users are accessing the same line and running conversion processes for all customers
data, business logic, and functionality as they do on a on a single day, an update involves simply switching the
desktop. For example, a dashboard built on the desktop new features from preview mode to production.
can be accessed and modified on any mobile device, with
no data persisted on the device. What’s more, Workday

17
A second benefit of organizing around scrum teams a fresh approach to technology in response to unmet
is increased cradle-to-grave ownership of services. requirements for enterprise applications. The early
Our scrum teams own the development, deployment, decisions we embraced were:
and monitoring of identifiable runtime services. This
• Object-oriented (as opposed to relational) design of
enhances Workday’s overall service delivery and our
applications
responsiveness to our customers.
• Definitional, metadata development (as opposed to
Workday believes that our datacenter infrastructure coding)
is just another system that needs to be continuously
• Application data available in memory
enhanced as we expand our products and our customer
• Generated user experience
base. For that reason, infrastructure is a part of the
development organization and Dev-Ops projects are These guidelines have allowed Workday developers to
a part of every new Workday update. Increasingly, focus on business-logic development without having
technology makes it possible to treat the datacenter to be concerned about in-memory data management,
as another software resource. Workday makes an persistence, or UI technology. The business logic itself is
ongoing investment to increase automation of services not tied to a specific underlying technology (such as SQL,
and virtualization of compute and networking services HTML, or JavaScript). This cleanly separates the business
to more efficiently allocate and share infrastructure logic that defines our applications from the technology
resources for a growing set of customers. platform that runs them and allows us to develop the
applications and the technology platform independently,
without breaking one another.
Conclusion: Embracing Continuous Change
Workday took advantage of being able to start with a When Workday was launched, our architecture could be

“clean sheet of paper” at its founding in 2005. We took described with this simple picture:

Customer Site Workday Data Center

Workday Services Architecture

Users
XML
UI XML
Internet Server
Browser
Object
Internet

Management
Services
(OMS)
Systems
Integration
Data XML/Files XML
Services Server

Persistent Store

Figure 14

18
Over the years, Workday has stayed true to its early Our belief is that enterprise applications need to become
architectural decision while continuously evolving the more like consumer-Internet sites, such as Facebook,
implementation of our architecture. Today’s picture is a Amazon, or Netflix. These sites are sophisticated
bit more sophisticated. applications that are updated continuously. Customers of
these sites are not aware of the details of the infrastructure,
Workday firmly believes that to deliver applications that
but they expect a beautiful end product. Similarly,
are continuously relevant and modern for our customers,
customers do not need to know what version of the site
it must embrace continuous change at all levels.
they are on because there is only the current version.
Workday is able to support the ongoing configurations
and customizations that our customers make to their Workday’s architecture and development processes
implementations of our products. Workday is also able are designed to make the experience of using our
to continuously deliver new functionality that customers applications similar to using one of the big consumer-
can adopt without expensive upgrade projects. And, while internet applications. Workday is committed to being
all this is happening, Workday is able to continuously able to continuously change our applications and our
innovate, refreshing the implementations of our platform, to support our customers while they achieve
architecture the implementations of our architecture. their business goals.

Users Systems
Workday Cloud
R EQ U E STS

User Interface Integration


Gateway Gateway

TRAN SAC TI ON S DATA MA NAG E ME NT CO MP U T E SE RVI CE S

Update TS Update TS Data Cache Query Elastic


(T1, T2, T3 ) (Tm) Service Jobs
Grid

Doc Store Search


TS-Transaction Service SYMAN Printing
Read TS Read TS
Service
(Tx) (Tx)
Insight Integration

P E R S IST E N C E

T E N A NT DATA B LO B S B I G DATA

MySQL Server Basho Riak HDFS


T1 T2 Tn
...

P L AT FO R M S

EMS KMI Auth Zookeeper Chef MsgQ Stats Monitor

Figure 15

19
Workday, Inc. | 6230 Stoneridge Mall Road | Pleasanton, CA 94588 | United States
1.925.951.9000 | 1.877.WORKDAY (1.877.967.5329) | Fax: 1.925.951.9001 | www.workday.com

© 2015. Workday, Inc. All rights reserved. Workday and the Workday logo are registered trademarks of Workday, Inc. All other brand and product names are trademarks
or registered trademarks of their respective holders. 20150821TECHPLTFMDEVPRCSS-ENUS

Вам также может понравиться