DSLs for Application Development Tyler Hodgkins, YP Language Tooling - - PowerPoint PPT Presentation

dsls for application development
SMART_READER_LITE
LIVE PREVIEW

DSLs for Application Development Tyler Hodgkins, YP Language Tooling - - PowerPoint PPT Presentation

DSLs for Application Development Tyler Hodgkins, YP Language Tooling Safe Harbor Statement This presentation may contain forward-looking statements for which there are risks, uncertainties, and assumptions. If the risks materialize or


slide-1
SLIDE 1

DSLs for Application Development

Tyler Hodgkins, YP Language Tooling

slide-2
SLIDE 2

This presentation may contain forward-looking statements for which there are risks, uncertainties, and

  • assumptions. If the risks materialize or assumptions prove incorrect, Workday’s business results and directions

could differ materially from results implied by the forward-looking statements. Forward-looking statements include any statements regarding strategies or plans for future operations; any statements concerning new features, enhancements or upgrades to our existing applications or plans for future applications; and any statements of belief. Further information on risks that could affect Workday’s results is included in our filings with the Securities and Exchange Commission which are available on the Workday investor relations webpage: www.workday.com/company/investor_relations.php Workday assumes no obligation for and does not intend to update any forward-looking statements. Any unreleased services, features, functionality or enhancements referenced in any Workday document, roadmap, blog, our website, press release or public statement that are not currently available are subject to change at Workday’s discretion and may not be delivered as planned or at all. Customers who purchase Workday, Inc. services should make their purchase decisions upon services, features, and functions that are currently available.

Safe Harbor Statement

slide-3
SLIDE 3
  • Est. 2005
  • ~7000 employees

About Us

Workday Confidential

  • HR
  • Financial
  • Payroll
  • Student Services
  • Recruiting
  • Analytics
  • Developer Platform
slide-4
SLIDE 4
  • Object-Oriented
  • Functional
  • Reflective
  • Metadata
  • Dynamic

XpressO

Workday Confidential

  • Compensation
  • Consolidations
  • Payroll
  • Allocations
  • Revaluation
  • Planning
  • Budgeting
  • Reporting
  • Recruiting
  • Data Science
  • Settlements
  • Tax
  • Revaluation
  • Procurement
  • Business Intelligence
  • Student services
  • Employee management
  • Organizations
  • Projects
  • Awards
slide-5
SLIDE 5
  • UI: Tasks and Elements
  • APIs: REST and High-volume web services
  • Condition Rules
  • Business Process Definitions
  • Reporting
  • … and plenty more

XpressO DSLs

Workday Confidential

slide-6
SLIDE 6

DEMO

XpressO

slide-7
SLIDE 7
  • Slow functional development
  • 10 years of haphazard DSL development
  • 2000 active developers

Issues

Workday Confidential

slide-8
SLIDE 8
  • Building from scratch takes a long time
  • Massive existing codebase mandates interoperability
  • Existing tooling likely won’t be compatible
  • Where to start?

Challenges

Workday Confidential

slide-9
SLIDE 9

Execution

Workday Confidential

XpressO Interpreter (XO)

slide-10
SLIDE 10

Execution

Workday Confidential

XpressO Interpreter (XO) XpressO Interpreter (YP) Compiler

slide-11
SLIDE 11

Execution

Workday Confidential

XpressO Interpreter (XO) XpressO Interpreter (YP) Compiler ???

slide-12
SLIDE 12

DEMO

YP Language

slide-13
SLIDE 13
  • Compiler transforms to common artifact (.yar)
  • Loader handles many artifacts

‒ Resolves references ‒ Generates necessary runtime information

  • How can we handle many teams building different DSLs?

Code Lifecycle

Workday Confidential

YP Language

Environment

Compiler

Artifact

Loader

slide-14
SLIDE 14

Language Platform

Workday Confidential

Env

Compiler

Artifact

Loader

Languages

Core YP UI & Task Rest API Business Process Reporting Impl. Format Impl. etc…

slide-15
SLIDE 15
  • DSLs are excellent in practice
  • Useful for large-scale

development

  • Particularly hard to maintain if

not designed for flexibility

  • Modern tools are extremely

powerful, facilitating even fundamental, large-scale migrations

Conclusions

Workday Confidential

“Research Questions” (Tasks)

  • Will a language platform scale?
  • Versioning
  • Can we do this in the cloud?
slide-16
SLIDE 16

Q&A