web business platforms on the cloud
DESCRIPTION
WEB BUSINESS PLATFORMS ON THE ‘CLOUD’ – AN ENGINEERING PERSPECTIVE Harshavardhan “Harsh” Jegadeesan Business Suite Core SAPLabs, India As part of cloud symposium, at ACM Bangalore Compute 2009TRANSCRIPT
WEB BUSINESS PLATFORMS ON
THE ‘CLOUD’ – AN ENGINEERING
PERSPECTIVE
1
Harshavardhan “Harsh” Jegadeesan
Business Suite Core
SAP Labs, India
CONTEXT
Web-Business Platforms
Platform Strategy
“Opening-up” of the platforms using SOA-based webAPIs
Platform Adoption and Creation of an ecosystem – ofdevelopers, partners and entrepreneurs – around theplatform
2
So what are the Engineering Challengesfaced by platform owners while adoptinga Platform Strategy?
Multi-tenancy
…
Handling heterogeneity in the serviceecosystem
Evolving Standards Problem#1
XML / JSON
OASIS / W3C …
5
Issues with automated service consumption
Inadequate service descriptions
Lean Service MetadataProblem
#2
Service Differentiationin a Services marketplace
#3
“Unintrusive” Service Differentiation
Service
Capability on-offer
Terms of Offer
Creation and Maintenance ofConsumption APIs
#4
Catering to heterogeneous service consumers
Browsers
Mash-ups
Support for Customizing and ExtendingService Offerings
#5
How can customers extend the services?
Support for Visual Syntax forService Specification
#6
Business users prefer visualparadigms for specifying service artifacts
How can platform owners address thesechallenges?
How would a solution approach looklike?
What criteria would any solution satisfy?
CRITERIA FOR SOLUTION (1)
Criterion #1: A solution must support ServiceRepresentation at a conceptual and technologyagnostic level
Criterion #2: The Service Representation must beeasily convertible to executable servicespecifications
Criterion #3: The Service Representation musthave minimal concepts supporting maximalexpressiveness
11
CRITERIA FOR SOLUTION (2)
Criterion #4: The Service Representation mustsupport different roles involved in thedevelopment of the service
Criterion #5: The Service Representation musthave strong underpinnings in the applicationdomain
Criterion #6: The Service Representation must beopen-standards compliant and must leverageexisting tools
12
CRITERIA FOR SOLUTION (3)
Criterion #7: The solution must supportunintrusive changes to commissioned services tosupport differentiation
Criterion #8: The solution must support creationof language-specific Web APIs to support aheterogeneous platform audience
13
WHAT DOES A ‘SERVICE’ REPRESENT?
A Service represents:
Capability on-offer Represents the underlying business function or capability
Terms of Offer Represent the terms at which this capability is offered.
E.g. SHIPPINGSERVICE
Capability on-offer: to ship an item from one place toanother
Terms of Offer: Cost, Delivery time, Payment Options
14
SOLUTION CONTEXT
- REFERENCE ARCHITECTURE
15
OUR SOLUTION APPROACH
16
Our solution approach is based on Model-Drivendevelopment.
Metamodels
Six Model Views
We have developed Six Model Views to addressdifferent facets of coarse services development
Domain-DrivenDesign Metamodel
ResourcesMetamodel
ServicesMetamodel
MODEL VIEWS & VIEW POINTS
17
Model View Viewpoint addresses
ServiceDescription View
Description and classification ofServices based on ownership domain
ServiceCapability View
Defines the capability on-offer. Description of Service,Service Properties, Interfaces, Operations, Messages andmessage-exchange pattern.
Service PolicyView
Defines the term of offer of a service. Definition of ServicePolicies.
ServiceRealization View
Defining the service provisioning approach, either serviceimplementation from underlying IT assets or throughcomposition of constituent services
ServiceMediation View
Defining how existing services could be re-purposed toaddress different consumer goals using process or datamediation.
ServiceDeploymentView
Describes service interaction points and serviceinvocation mechanisms
METAMODELS, MODELS & TRANSFORMATIONS
18
(MOF 2) UMLInfrastructure
DDDMetamodel
ResourcesMetamodel
ServicesMetamodel
Metamodels
DomainModel
ResourceModel
ServiceDescription Model
ServiceCapability Model
ServicePolicy Model
ServiceRealization Model
ServiceMediation Model Service
Deployment Model
Model-to-ModelTransformation
Models
ExecutableSpecifications
ProvisioningCode
(Java, .NET)
SOAP /REST
Interfaces
ServiceDescriptions
(WSDL / WADL)
PolicyDescription(WS-Policy)
Model-to-TextTransformation Consumption
APIs
USING THE MODEL TO CREATE SERVICE
CONSUMPTION APIS
19
Models
Technology Platforms(Programming Languages)
Domain Model ResourcesModel
Services Model(Service Capability
Model)
UML2 ModelClasses Diagram)
Model-to-ModelTransformation
Model-to-ModelTransformation Model-to-Model
Transformation
Model-to-TextTransformation
DLL Client-Library
.NET Platform
JAR FilesJava Platform
PHP, Ruby, Pearl,Python
CONCLUDING REMARKS
By abstracting service representations usingconceptual models we support:
Increased longevity of the solution
address the evolving standards problem, lean servicemetadata problem
By defining “terms of offer” as policies, wesupport unintrusive change of terms of offer tomake service offering attractive
Using model-to-model and model-to-texttransformations we support easy creation andevolution of service consumption APIs
20
21
QUESTIONS
&DISCUSSIONS
ABSTRACT
Web businesses such as eBay®, Amazon® and a whole lot of others havelong seized to be mere websites; they have morphed into web businessplatforms on the "cloud". By adopting a platform strategy, they arebuilding an ecosystem of developers, partners and entrepreneurs to buildinnovative applications for customers. As platform owners, catering to hisheterogeneous ecosystem is a huge engineering challenge in itself. Thissession, we would discuss some of these challenges along with somerecipes to overcome them.
22
Harsh currently works as a Project Manager in the SOA teamwithin the Business Suite organization in SAP Labs, India. Priorto this, he was working with the Research & BreakthroughInnovation group on SAP® ByDesign®. He follows his passion forteaching, as an adjunct faculty with BITS, Pilani, teachinggraduate courses is software engineering. He actively contributesto JournalServer.Org, a free library of scholarly articles. His areasof interest include service-oriented architectures, enterprisesystems and business process platforms. He can be reached at:[email protected]
SPEAKER BIO