The Layers Above
description
Transcript of The Layers Above
The Layers Above
Dr. Vishal Sikka
Chief Technology Officer
SAP
Next programming models for enterprise software
SAP AG 2007, Vishal Sikka / 2
The primary business we are in
2005
Industry SolutionsCRM, SRMSCM, PLM
Industry SolutionsCRM, SRMSCM, PLM
#1 ERP
~$32bn
2010E
~$75bn
Business UserSolutions
SME Solutions
Business ProcessPlatform
Industry Solutions
SAP Business Suite
Industry Solutions
SAP Business Suite
30 Industries, 120 Countries, 44k Customers: VL, L, M, S, VS
SAP AG 2007, Vishal Sikka / 3
Frontend Characteristics Highly Distributed, anywhere
anytime usage User-centric, Collaborative Implicit, Unstructured Exception Driven, Ad hoc,
Dynamic
Services
Events
Broad coverage means serving many different app characteristics
HIGHLY SCALABLE RELIABLE BACK ENDS
Business Users
Wireless Mobile End Points
Line of BusinessServers
eCommerce
eBilling
Shop floor systems Warehouse systems
HIGHLY AGILE AND INTELLIGENT FRONT ENDS
Devices/SensorsRFID
Sales, Distribution,Order Mgmt
Service/Call Center
EnterpriseCRM, SRM
EnterpriseCore ERPSCM, PLM
Manufacturing
Master Data
Financials
Office users
Backend Characteristics Structured, well-defined flows Process-driven, Transactional Reliable, Efficient, Scalable Mature, slower rate of change Centralized Core, ERP based
SAP AG 2007, Vishal Sikka / 4
The Web and Business Software
A new architecture for business software is once again emerging SOA seemed like APIs revisited; SaaS covers many more aspects
– Ubiquity of access and flattening
– Pervasive Read & Write on the public web; only early signs in the private web
– New deployment and economic dynamics
New Hardware dynamics– Multi-core, power, Network latency/throughput, Memory latency/throughput
– Petascale data centers, power, highly optimized operations and distribution
But how does this impact the fundamental underlying issues? Building for a wide range of business activities
Ability to change, extend and integrate software systems
Better automation and intelligence
Partitioning for optimal execution
– Local ↔ Global access; Change ↔ Share
– 1000 users on an ec2 blade vs. large multi-tenant databases
What are the governing dynamics of how we program next?
SAP AG 2007, Vishal Sikka / 5
The Web’s influence on Programming Models
The way we program is largely unchanged from the past
Applications still lag hardware by 7 years or so (Patterson)
Programming languages evolve routinely– Roughly a major language every 10 years (Kay)
– Several minor ones in the interim
Programming models evolve a little faster– As domain-specific libraries, APIs, or language extensions
UI technologies evolve frequently
And Applications often outlive all this– Legacy and change management become islands of (expensive) expertise
Only early signs of nextgen models
SAP AG 2007, Vishal Sikka / 6
The Current Situation: Layers and Islands
Many different languages/models, Many different run times– Disparate languages and models that are not designed to work together
– Each language/model and run-time is a silo e.g., SQL, Flex, …
– Each layer brings benefits of isolation/separation of concerns, but
– Also often costs in performance
“Design Time” Inefficiency– Different tools and models for different parts of the application suite
– Developers often serve as the glue between these languages and models
– Much code and effort spent on translating between layers/models- E.g., read SQL into BO, build Business Process, construct UI from BO, write report
“Run-time” Lack of Optimization– Different containers to run different models and languages
- SQL databases to execute SQL, Process integration servers for bpm, etc.
– Each container optimized for specialized language/model; missing run-time interoperability
– Missing cross-level optimization leads to landscape complexity
How do we get over this false divide? i.e. design for both flexibility and optimization?
SAP AG 2007, Vishal Sikka / 7
Desiderata for the next enterprise programming model
Design Time– As simple as possible; wide variety of developer types
– Match highest level of abstraction for audience and each layer
– A family of integrated (specialized) domain-specific languages and tooling conveniences
– A powerful GLUE that binds these languages together
Run-Time– Specialized run-times that work in concert (based on GLUE)
– Run in specialized containers or consolidated containers, as needed
– As optimized as possible
– Match lowest level of delivery available in the stack
Integration with Legacy– Ensure NGPM subsumes existing legacy models and languages
– Build legacy programming models natively into the GLUE
– Build legacy programming languages, e.g. Java, ABAP into the GLUE
SAP AG 2007, Vishal Sikka / 8
So…
Who will build this?