WEB BUSINESS PLATFORMS ON THE ‘CLOUD’ – AN ENGINEERING PERSPECTIVE Harshavardhan “Harsh” Jegadeesan SAP Labs, India
CONTEXT Web-Business Platforms Platform Strategy “ Opening-up” of the platforms using SOA-based web APIs Platform Adoption and Creation of an ecosystem – of developers, partners and entrepreneurs – around the platform
So what are the Engineering Challenges faced by platform owners while adopting a Platform Strategy? Granularity Elastic Infrastructure Multi-tenancy Integration Customization …
Handling heterogeneity in the service ecosystem SOAP vs. REST WS-* XML / JSON OASIS / W3C … Evolving Standards Problem #1
Issues with automated service consumption Inadequate service descriptions  developerKey merchantID Lean Service Metadata  Problem #2
Service Differentiation  in a Services marketplace #3 “ Unintrusive” Service Differentiation Service Capability on-offer Terms of Offer
Catering to heterogeneous service consumers Language-specific APIs Transport Protocols Data Standards Browsers Mash-ups Applications Creation and Maintenance of  Consumption APIs #4
How can customers extend the services? Support for Customizing and Extending  Service Offerings #5
Business users prefer visual  paradigms for specifying service artifacts Support for Visual Syntax for  Service Specification #6
How can platform owners address these challenges?  How would a solution approach look like? What criteria would any solution satisfy?
CRITERIA FOR SOLUTION (1) Criterion #1: A solution must support Service Representation at a conceptual and technology agnostic level Criterion #2: The Service Representation must be easily convertible to executable service specifications Criterion #3: The Service Representation must have minimal concepts supporting maximal expressiveness
CRITERIA FOR SOLUTION (2) Criterion #4: The Service Representation must support different roles involved in the development of the service Criterion #5: The Service Representation must have strong underpinnings in the application domain Criterion #6: The Service Representation must be open-standards compliant and must leverage existing tools
CRITERIA FOR SOLUTION (3) Criterion #7: The solution must support unintrusive changes to commissioned services to support differentiation Criterion #8: The solution must support creation of language-specific Web APIs to support a heterogeneous platform audience
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 to another Terms of Offer: Cost, Delivery time, Payment Options
SOLUTION CONTEXT  - REFERENCE ARCHITECTURE
OUR SOLUTION APPROACH Our solution approach is based on Model-Driven development. Metamodels Six Model Views We have developed Six Model Views to address different facets of coarse services development Domain-Driven  Design Metamodel Resources  Metamodel Services Metamodel
MODEL VIEWS & VIEW POINTS Model View Viewpoint addresses Service Description View Description and classification of  Services based on ownership domain Service Capability View Defines the capability on-offer. Description of Service, Service Properties, Interfaces, Operations, Messages and message-exchange pattern.  Service Policy View Defines the term of offer of a service. Definition of Service Policies.  Service Realization View Defining the service provisioning approach, either service implementation from underlying IT assets or through composition of constituent services Service Mediation View Defining how existing services could be re-purposed to address different consumer goals using process or data mediation. Service Deployment View Describes service interaction points and service invocation mechanisms
METAMODELS, MODELS & TRANSFORMATIONS Metamodels Model-to-Model  Transformation Models Executable  Specifications Provisioning Code (Java, .NET) SOAP / REST Interfaces Service Descriptions (WSDL / WADL) Policy Description (WS-Policy) Model-to-Text Transformation Consumption APIs (MOF 2)  UML  Infrastructure DDD  Metamodel Resources  Metamodel Services  Metamodel Domain  Model Resource  Model Service  Description Model Service  Capability Model Service  Policy  Model Service  Realization Model Service  Mediation Model Service  Deployment Model
USING THE MODEL TO CREATE SERVICE CONSUMPTION APIS Models Technology Platforms (Programming Languages) Domain Model Resources Model Services Model  (Service Capability   Model) UML2 Model Classes Diagram) Model-to-Model Transformation Model-to-Model Transformation Model-to-Model Transformation Model-to-Text Transformation DLL Client-Library .NET Platform JAR Files Java Platform PHP, Ruby, Pearl, Python
CONCLUDING REMARKS By abstracting service representations using conceptual models we support: Increased longevity of the solution address the evolving standards problem, lean service metadata problem By defining “terms of offer” as policies, we support unintrusive change of terms of offer to make service offering attractive Using model-to-model and model-to-text transformations we support easy creation and evolution of service consumption APIs
QUESTIONS & DISCUSSIONS
ABSTRACT Web businesses such as eBay®, Amazon® and a whole lot of others have long seized to be mere websites; they have morphed into web business platforms on the "cloud". By adopting a platform strategy, they are building an ecosystem of developers, partners and entrepreneurs to build innovative applications for customers. As platform owners, catering to his heterogeneous ecosystem is a huge engineering challenge in itself. This session, we would discuss some of these challenges along with some recipes to overcome them. Harsh currently works as a Project Lead in the SOA team within the Business Suite organization in SAP Labs, India. Prior to this, he was working with the Research & Breakthrough Innovation group on SAP® ByDesign®. He follows his passion for teaching, as an adjunct faculty with BITS, Pilani, teaching graduate courses is software engineering. He actively contributes to JournalServer.Org, a free library of scholarly articles. His areas of interest include service-oriented architectures, enterprise systems and business process platforms. He can be reached at:  [email_address] SPEAKER BIO

Web Business Platforms On The Cloud An Engineering Perspective

  • 1.
    WEB BUSINESS PLATFORMSON THE ‘CLOUD’ – AN ENGINEERING PERSPECTIVE Harshavardhan “Harsh” Jegadeesan SAP Labs, India
  • 2.
    CONTEXT Web-Business PlatformsPlatform Strategy “ Opening-up” of the platforms using SOA-based web APIs Platform Adoption and Creation of an ecosystem – of developers, partners and entrepreneurs – around the platform
  • 3.
    So what arethe Engineering Challenges faced by platform owners while adopting a Platform Strategy? Granularity Elastic Infrastructure Multi-tenancy Integration Customization …
  • 4.
    Handling heterogeneity inthe service ecosystem SOAP vs. REST WS-* XML / JSON OASIS / W3C … Evolving Standards Problem #1
  • 5.
    Issues with automatedservice consumption Inadequate service descriptions developerKey merchantID Lean Service Metadata Problem #2
  • 6.
    Service Differentiation in a Services marketplace #3 “ Unintrusive” Service Differentiation Service Capability on-offer Terms of Offer
  • 7.
    Catering to heterogeneousservice consumers Language-specific APIs Transport Protocols Data Standards Browsers Mash-ups Applications Creation and Maintenance of Consumption APIs #4
  • 8.
    How can customersextend the services? Support for Customizing and Extending Service Offerings #5
  • 9.
    Business users prefervisual paradigms for specifying service artifacts Support for Visual Syntax for Service Specification #6
  • 10.
    How can platformowners address these challenges? How would a solution approach look like? What criteria would any solution satisfy?
  • 11.
    CRITERIA FOR SOLUTION(1) Criterion #1: A solution must support Service Representation at a conceptual and technology agnostic level Criterion #2: The Service Representation must be easily convertible to executable service specifications Criterion #3: The Service Representation must have minimal concepts supporting maximal expressiveness
  • 12.
    CRITERIA FOR SOLUTION(2) Criterion #4: The Service Representation must support different roles involved in the development of the service Criterion #5: The Service Representation must have strong underpinnings in the application domain Criterion #6: The Service Representation must be open-standards compliant and must leverage existing tools
  • 13.
    CRITERIA FOR SOLUTION(3) Criterion #7: The solution must support unintrusive changes to commissioned services to support differentiation Criterion #8: The solution must support creation of language-specific Web APIs to support a heterogeneous platform audience
  • 14.
    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 to another Terms of Offer: Cost, Delivery time, Payment Options
  • 15.
    SOLUTION CONTEXT - REFERENCE ARCHITECTURE
  • 16.
    OUR SOLUTION APPROACHOur solution approach is based on Model-Driven development. Metamodels Six Model Views We have developed Six Model Views to address different facets of coarse services development Domain-Driven Design Metamodel Resources Metamodel Services Metamodel
  • 17.
    MODEL VIEWS &VIEW POINTS Model View Viewpoint addresses Service Description View Description and classification of Services based on ownership domain Service Capability View Defines the capability on-offer. Description of Service, Service Properties, Interfaces, Operations, Messages and message-exchange pattern. Service Policy View Defines the term of offer of a service. Definition of Service Policies. Service Realization View Defining the service provisioning approach, either service implementation from underlying IT assets or through composition of constituent services Service Mediation View Defining how existing services could be re-purposed to address different consumer goals using process or data mediation. Service Deployment View Describes service interaction points and service invocation mechanisms
  • 18.
    METAMODELS, MODELS &TRANSFORMATIONS Metamodels Model-to-Model Transformation Models Executable Specifications Provisioning Code (Java, .NET) SOAP / REST Interfaces Service Descriptions (WSDL / WADL) Policy Description (WS-Policy) Model-to-Text Transformation Consumption APIs (MOF 2) UML Infrastructure DDD Metamodel Resources Metamodel Services Metamodel Domain Model Resource Model Service Description Model Service Capability Model Service Policy Model Service Realization Model Service Mediation Model Service Deployment Model
  • 19.
    USING THE MODELTO CREATE SERVICE CONSUMPTION APIS Models Technology Platforms (Programming Languages) Domain Model Resources Model Services Model (Service Capability Model) UML2 Model Classes Diagram) Model-to-Model Transformation Model-to-Model Transformation Model-to-Model Transformation Model-to-Text Transformation DLL Client-Library .NET Platform JAR Files Java Platform PHP, Ruby, Pearl, Python
  • 20.
    CONCLUDING REMARKS Byabstracting service representations using conceptual models we support: Increased longevity of the solution address the evolving standards problem, lean service metadata problem By defining “terms of offer” as policies, we support unintrusive change of terms of offer to make service offering attractive Using model-to-model and model-to-text transformations we support easy creation and evolution of service consumption APIs
  • 21.
  • 22.
    ABSTRACT Web businessessuch as eBay®, Amazon® and a whole lot of others have long seized to be mere websites; they have morphed into web business platforms on the "cloud". By adopting a platform strategy, they are building an ecosystem of developers, partners and entrepreneurs to build innovative applications for customers. As platform owners, catering to his heterogeneous ecosystem is a huge engineering challenge in itself. This session, we would discuss some of these challenges along with some recipes to overcome them. Harsh currently works as a Project Lead in the SOA team within the Business Suite organization in SAP Labs, India. Prior to this, he was working with the Research & Breakthrough Innovation group on SAP® ByDesign®. He follows his passion for teaching, as an adjunct faculty with BITS, Pilani, teaching graduate courses is software engineering. He actively contributes to JournalServer.Org, a free library of scholarly articles. His areas of interest include service-oriented architectures, enterprise systems and business process platforms. He can be reached at: [email_address] SPEAKER BIO