SlideShare a Scribd company logo
1 of 2
Download to read offline
WWW 2008 / Poster Paper                                                                                 April 21-25, 2008 · Beijing, China



Towards a Programming Language for Services Computing

                              Arun Kumar                                                       D Janakiram
                  IBM India Research Laboratory                                   Dept. of Comp. Sc. & Engg.
                   4, Block C, Institutional Area,                           Indian Institute of Technology Madras,
               Vasant Kunj, New Delhi 110070, India                            Chennai-600036, Tamil Nadu, India
                        kkarun@in.ibm.com                                      d.janakiram@cs.iitm.ernet.in



ABSTRACT                                                                 model [2] that applies the abstraction principle of classifica-
Services Computing is emerging as a new discipline. The                  tion to services and defines the concepts of service types and
acceptance of web services technology stems from the fact                service instances [2, 1]. Service types capture the semantic
that services enable easy integration and interoperation of              description of the service primarily in terms of its interface
enterprise level distributed systems. However, currently                 description. A service instance, on the other hand, provides
software developers are forced to translate business level ser-          an operational description of a service and represents an
vice requirements and encode them into programs using low                actual running instance.
level abstractions such as objects. We propose to introduce                                      Web Service S/w Development
language constructs for Service Oriented Programming that                                               Environment
                                                                                                                           Registry of
would enable raising programming abstractions from objects                                             Other
                                                                                                      Libraries
                                                                                                                          ServiceType
                                                                                                                           Definitions
                                                                                                                                               Compile Time
                                                                                                                                               Phase
to services.                                                                       Developer


Categories and Subject Descriptors: D.3.3 [Program-                                                    Deployable Program
ming Languages]: Language Constructs and Features [data                                         (Program with Service Type variables
                                                                                                and unbound ServiceInstance Variables)

types and structures, inheritance]
General Terms: Languages, Design
                                                                                                             Binding
                                                                                                            Component      Limited Registry
                                                                                                                           Search of Service
                                                                                               Executable
1.    INTRODUCTION                                                                             Program                             Instances

                                                                                                                                               Available
   Interoperability and manageability in the presence of                                               Execution Engine
                                                                                                                                               Services

heterogeneity are two very important concerns for enterprise                                        Web Service Runtime Execution                  Run Time
                                                                                                                                                   Phase
                                                                                                            Environment
IT system managers. Services computing promises to ease
these problems by creating an infrastructure of loosely cou-                  Figure 1: Programming Model for Services
pled components residing in an heterogeneous framework.
This has lead to several research efforts that explore ways
                                                                            Figure 1 shows the resulting programming model for
of increasing the level of automation in service discovery,
                                                                         service oriented software development that enables to split
invocation, composition and interoperation [1, 4].
                                                                         the development process across design time and runtime
   However, the current services based software development
                                                                         phases. This is essential to shield the developers from the
model suffers from several drawbacks. The developers
                                                                         dynamics of runtime environment.
are forced to take into consideration dynamics of the
                                                                            As shown in the figure, the development environment
runtime environment since services are actively running
                                                                         provides a service types registry using which the developers
components rather than passive function/class libraries.
                                                                         could program to service interfaces without worrying about
Further, the developers are required to map high level
                                                                         live instances. These service oriented programs could then
service requirements to programming constructs available
                                                                         be deployed by binding the service variables to actual
in current OO languages such as Java and C#. There is
                                                                         running instances available at that time. The runtime
a clear mismatch between the needs of services software
                                                                         execution environment provides access to instances registry.
developer and the programming models available today. In
                                                                            To utilize this programming model, we introduce two new
this paper, we propose new language constructs that enable
                                                                         language constructs namely ServiceType and ServiceIn-
programming with services and discuss some benefits arising
                                                                         stance. ServiceTypes and ServiceInstances are analogous
from such an approach.
                                                                         to Classes and Objects, respectively, yet different. While
                                                                         ServiceTypes refer to definition of a service just like a class
2.    PROGRAMMING WITH SERVICES                                          defines an entity and ServiceInstance refers to a live service
  In this section, we build upon our previous work [3] that              similar to objects, the difference lies in the fact that both
proposed granting a first class status to services. The                   ServiceTypes and ServiceInstances are first class entities.
proposal used a semantic web services based representation               Classes are typically not first class entities such as in C++.
                                                                         The ServiceType variables can be used to encode logic
                                                                         applicable at compile time while ServiceInstance variables
Copyright is held by the author/owner(s).
WWW 2008, April 21–25, 2008, Beijing, China.                             allow encoding of logic applicable at runtime.
ACM 978-1-60558-085-2/08/04.                                                They could be declaratively defined as partially shown in



                                                                  1153
WWW 2008 / Poster Paper                                                                            April 21-25, 2008 · Beijing, China

 ServiceType{
   functionalSpec{
                                    ServiceInstance{
                                      serviceTypeRef;
                                                                            instance and verifying the health of the instance by invoking
        interfaceTypeA{               operationalSpec{                      their management interfaces.       The functional methods
            inputTypes { .. };
            outputTypes { .. };
                                          interfaceA{
                                            inputs {..};
                                                                            are invoked by referring to the interface names (such as
            preconditions { .. };           outputs{..};                    interfaceA in Fig. 2) through the ServiceInstance variable.
        };
            effects { .. };               }
                                          ….
                                                                            Queries for interface descriptions are supported by invoking
        ….                            }                                     an appropriate operation on the associated ServiceType.
   };
   modelDescription{ .. };
                                      state{                                Such operations on instances would help automatic agents
                                        <list of data variables>
   stateDescription {                 }                                     to programmatically interpret and subsequently invoke the
     <List of types of data           nonFunctionalCapability{              interface of new services. The management commands and
      members>                            <QoS guarantees>
   };                                 }                                     health check operations are dependent upon the manage-
   nonFunctionalReqmts{               binding{                              ment interfaces implemented by the instances.
         <QoS and other reqmts.>         <list of protocols,ports>
   };                                 }
 }                                  }
                                                                            3. RELATED WORK
      Figure 2: ServiceType and ServiceInstance                                ServiceJ [4] proposes extensions to Java to enable support
                                                                            for service oriented computing in OO languages. Declarative
                                                                            language constructs are proposed to transparently deal
Fig. 2. Alternatively, ServiceType could be defined with                     with service selection at runtime as well as for applying
the help of service type descriptions available in the types                a filtering and ranking criteria. However, their exten-
registry. The definition in such a case would take the form:                 sions deal primarily with non-functional aspects and it is
  new ServiceType(XMLFileRef FS, XMLFileRef MD, XMLFileRef                  not clear how their compiler works without having access
SD, XMLFileRef NFR)                                                         to functional description of services available at compile
   ServiceType construct is composed of four elements - a                   time. The ServiceType and ServiceInstance constructs
functional specification containing various interface descrip-               proposed in this paper address the functional as well as
tions, a model description, description of State in terms                   non-functional aspects of services in a unifying development
of a list of data types, and constraints on non-functional                  framework. Zimmermann et al. [6] motivate the need for
capabilities of service instances. Similarly, ServiceInstance               a Service Oriented Analysis and Design (SOAD) approach
could also be defined with the help of service instance                      that leverages and builds upon existing approaches of
descriptions in instances registry as given below:                          Object Oriented Analysis and Design (OOAD), Enterprise
  new ServiceInstance(serviceTypeRef, XMLFileRef OS,                        Architecture frameworks and Business Process Modeling
  XMLFileRef State, XMLFileRef NFC, XMLFileRef binding)                     concepts. Papazoglou [5] provides a detailed comparison
   The ’new’ operation here creates a new ServiceInstance                   between services in SOA and objects in OOAD. However,
entity and binds it to an actual running service instance,                  they felt that concepts like polymorphism etc. are not
in the services registry, whose service details are provided                applicable to SOA. The language constructs proposed by
through the XMLFile references in the parameters.                           us enable such OO features by raising the programming
   The functional specification in the ServiceType definition                 abstraction from objects to services.
enables the software developers to write logic that reasons
upon the functionality of the service they are dealing with.                4. CONCLUSION
The operational specification in ServiceInstances allows logic
                                                                              We have proposed programming language constructs to
that invokes the service’s functionality.
                                                                            enable programming with services. The constructs incorpo-
   Operations on Service Types are defined based upon
                                                                            rate well established object oriented software development
the notion of classification, composition and inheritance
                                                                            principles such as classification, composition and inheritance
defined for services in [2],
                                                                            into a service oriented programming model. We are cur-
   -Classification: isEquivalentTo(ST) returns a degree of
                                                                            rently in the process of developing a compiler for introducing
match between the current service type and the service
                                                                            these constructs as extensions to Java.
type supplied as parameter; isBound() returns true if a
service type has been instantiated or bound to at least
one instance; getInstance(ST) returns an existing bound                     5. REFERENCES
ServiceInstance or creates a new binding to an actual                        [1] V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar, A. Kundu,
                                                                                 S. Mittal, and B. Srivastava. A Service Creation Environment
running service instance and returns it as a ServiceInstance;                    based on End to End Composition of Web Services. In
isServiceTypeOf(SI) returns a value indicating a degree of                       Proceedings of WWW, May 2005.
match i.e. direct type of the service instance vs a super                    [2] A. Kumar, A. Neogi, and D. J. Ram. An OO Based Semantic
type in chain.                                                                   Model for Service Oriented Computing. In Proc. of IEEE
                                                                                 SCC, USA, Sept. 2006.
   - Composition: isComposedOf(ListofSTs) and isCompo-                       [3] A. Kumar, S. Pragalapati, A. Neogi, and D. Janakiram.
nentOf(CompositeST) return a true if the current service                         Raising Programming Abstraction from Objects to Services. In
type is composed of the supplied list of service types and if                    Proceedings of ICWS, July 2007.
it is a component of the supplied service type respectively.                 [4] S. D. Labey, M. van Dooren, and E. Steegmans. ServiceJ: - A
                                                                                 Java Extension for Programming Web Service Interaction. In
   - Inheritance: isSuperTypeOf(ST) and isSubTypeOf(ST)                          Proc. of IEEE ICWS, Jul 2007.
return true if the current service type is a supertype and if                [5] M. P. Papazoglou. Service-Oriented Computing: Concepts,
it is a subtype of the specified service type respectively.                       Characteristics and Directions. In Proc. of WISE, Dec 2003.
   Operations on Service Instance variables include the                      [6] O. Zimmermann, P. Krogdahl, and C. Gee. Elements of
                                                                                 Service-Oriented Analysis and Design: An interdisciplinary
functional methods (i.e. actual functionality offered by the                      modeling approach for SOA project.
instance) and others operations that are related to querying                     http://www.ibm.com/developerworks/webservices/
the interface descriptions or sending commands to the                            library/ws-soad1/, June 2004.




                                                                     1154

More Related Content

What's hot

Manage Agility through Manage-ability – Introducing Design Time at Run Time ...
Manage Agility through Manage-ability – Introducing Design Time at Run Time ...Manage Agility through Manage-ability – Introducing Design Time at Run Time ...
Manage Agility through Manage-ability – Introducing Design Time at Run Time ...Lucas Jellema
 
Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...
Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...
Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...Lucas Jellema
 
Effektivisering af Cloud Serviceleverancer (IBM Tivoli)
Effektivisering af Cloud Serviceleverancer (IBM Tivoli)Effektivisering af Cloud Serviceleverancer (IBM Tivoli)
Effektivisering af Cloud Serviceleverancer (IBM Tivoli)IBM Danmark
 
New aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityNew aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityCisco Canada
 
IntrospeQt iCapture Connect for Alfresco
IntrospeQt iCapture Connect for AlfrescoIntrospeQt iCapture Connect for Alfresco
IntrospeQt iCapture Connect for AlfrescoSrikant Tallapragada
 
Viestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / ExchangeViestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / ExchangeSalcom Group
 
Ibm Java在企业级开发中的应用
Ibm Java在企业级开发中的应用Ibm Java在企业级开发中的应用
Ibm Java在企业级开发中的应用George Ang
 
Cloud services slides 6 18 2012
Cloud services slides 6 18  2012Cloud services slides 6 18  2012
Cloud services slides 6 18 2012bcarr1010
 
Disaster Recovery Coupled with High Exchange Availability
Disaster Recovery Coupled with High Exchange AvailabilityDisaster Recovery Coupled with High Exchange Availability
Disaster Recovery Coupled with High Exchange Availabilityxmeteorite
 
TechEd 2012 NA - MGT332 - fighting fire to the cloud!
TechEd 2012 NA - MGT332 - fighting fire to the cloud!TechEd 2012 NA - MGT332 - fighting fire to the cloud!
TechEd 2012 NA - MGT332 - fighting fire to the cloud!wwwally
 
Beyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldBeyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldNishant Kaushik
 
EAIESB Oracle Fusion SOA Poster BPEL 1.1
EAIESB Oracle Fusion SOA Poster BPEL 1.1EAIESB Oracle Fusion SOA Poster BPEL 1.1
EAIESB Oracle Fusion SOA Poster BPEL 1.1Vijay Reddy
 
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Carolyn Crowe
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecturesuks_87
 
Cloud panorama évolution des solutions d'infrastructure
Cloud   panorama évolution des solutions d'infrastructureCloud   panorama évolution des solutions d'infrastructure
Cloud panorama évolution des solutions d'infrastructureClaude Riousset
 
20120620 moving to windows azure
20120620 moving to windows azure20120620 moving to windows azure
20120620 moving to windows azureLuis Martins
 

What's hot (19)

Manage Agility through Manage-ability – Introducing Design Time at Run Time ...
Manage Agility through Manage-ability – Introducing Design Time at Run Time ...Manage Agility through Manage-ability – Introducing Design Time at Run Time ...
Manage Agility through Manage-ability – Introducing Design Time at Run Time ...
 
Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...
Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...
Instant Agility in Oracle Fusion Middleware through Design Time @ Run Time (O...
 
Effektivisering af Cloud Serviceleverancer (IBM Tivoli)
Effektivisering af Cloud Serviceleverancer (IBM Tivoli)Effektivisering af Cloud Serviceleverancer (IBM Tivoli)
Effektivisering af Cloud Serviceleverancer (IBM Tivoli)
 
New aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityNew aspects of Cisco UC Interoperability
New aspects of Cisco UC Interoperability
 
IntrospeQt iCapture Connect for Alfresco
IntrospeQt iCapture Connect for AlfrescoIntrospeQt iCapture Connect for Alfresco
IntrospeQt iCapture Connect for Alfresco
 
Windows Azure Scalability
Windows Azure ScalabilityWindows Azure Scalability
Windows Azure Scalability
 
VISIT2008 Weatherforecast For IT
VISIT2008  Weatherforecast For ITVISIT2008  Weatherforecast For IT
VISIT2008 Weatherforecast For IT
 
Viestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / ExchangeViestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / Exchange
 
Ibm Java在企业级开发中的应用
Ibm Java在企业级开发中的应用Ibm Java在企业级开发中的应用
Ibm Java在企业级开发中的应用
 
Cloud services slides 6 18 2012
Cloud services slides 6 18  2012Cloud services slides 6 18  2012
Cloud services slides 6 18 2012
 
A guiding light for the processes in your private cloud
A guiding light for the processes in your private cloudA guiding light for the processes in your private cloud
A guiding light for the processes in your private cloud
 
Disaster Recovery Coupled with High Exchange Availability
Disaster Recovery Coupled with High Exchange AvailabilityDisaster Recovery Coupled with High Exchange Availability
Disaster Recovery Coupled with High Exchange Availability
 
TechEd 2012 NA - MGT332 - fighting fire to the cloud!
TechEd 2012 NA - MGT332 - fighting fire to the cloud!TechEd 2012 NA - MGT332 - fighting fire to the cloud!
TechEd 2012 NA - MGT332 - fighting fire to the cloud!
 
Beyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldBeyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services World
 
EAIESB Oracle Fusion SOA Poster BPEL 1.1
EAIESB Oracle Fusion SOA Poster BPEL 1.1EAIESB Oracle Fusion SOA Poster BPEL 1.1
EAIESB Oracle Fusion SOA Poster BPEL 1.1
 
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Cloud panorama évolution des solutions d'infrastructure
Cloud   panorama évolution des solutions d'infrastructureCloud   panorama évolution des solutions d'infrastructure
Cloud panorama évolution des solutions d'infrastructure
 
20120620 moving to windows azure
20120620 moving to windows azure20120620 moving to windows azure
20120620 moving to windows azure
 

Similar to P1153 kumar a

An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsMohammed Misbhauddin
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
 
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...IJDKP
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
 
Lockheed Martin Deployment Cloud Design Patterns
Lockheed Martin Deployment Cloud Design PatternsLockheed Martin Deployment Cloud Design Patterns
Lockheed Martin Deployment Cloud Design PatternsGovCloud Network
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackbuildacloud
 
Orchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service managementOrchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service managementAlan McSweeney
 
SOA & BPM in Cloud Readiness
SOA & BPM in Cloud ReadinessSOA & BPM in Cloud Readiness
SOA & BPM in Cloud ReadinessJainendra Kumar
 
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationIcws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationFreddy Lecue
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Oguzhan Ozavar
 
Virtualisation with service management as enabler for cloud computing - Kingd...
Virtualisation with service management as enabler for cloud computing - Kingd...Virtualisation with service management as enabler for cloud computing - Kingd...
Virtualisation with service management as enabler for cloud computing - Kingd...Ciro Puglisi
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsSanjeev Sharma
 
Maintenance Best Practices for Service Oriented
Maintenance Best Practices for Service OrientedMaintenance Best Practices for Service Oriented
Maintenance Best Practices for Service Orientedaliraza786
 
Cloud Computing Why, What, How
Cloud Computing   Why, What, HowCloud Computing   Why, What, How
Cloud Computing Why, What, HowKennisportal
 
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...WSO2
 
Tivoli Development Cloud Pennock Final Web
Tivoli Development Cloud Pennock Final WebTivoli Development Cloud Pennock Final Web
Tivoli Development Cloud Pennock Final WebKennisportal
 
Enabling agility with continuous integration testing
Enabling agility with continuous integration testingEnabling agility with continuous integration testing
Enabling agility with continuous integration testingIBM Rational software
 

Similar to P1153 kumar a (20)

An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
 
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
 
Lockheed Martin Deployment Cloud Design Patterns
Lockheed Martin Deployment Cloud Design PatternsLockheed Martin Deployment Cloud Design Patterns
Lockheed Martin Deployment Cloud Design Patterns
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stack
 
Orchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service managementOrchestration and provisioning architecture for effective service management
Orchestration and provisioning architecture for effective service management
 
SOA & BPM in Cloud Readiness
SOA & BPM in Cloud ReadinessSOA & BPM in Cloud Readiness
SOA & BPM in Cloud Readiness
 
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationIcws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012
 
Virtualisation with service management as enabler for cloud computing - Kingd...
Virtualisation with service management as enabler for cloud computing - Kingd...Virtualisation with service management as enabler for cloud computing - Kingd...
Virtualisation with service management as enabler for cloud computing - Kingd...
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
Maintenance Best Practices for Service Oriented
Maintenance Best Practices for Service OrientedMaintenance Best Practices for Service Oriented
Maintenance Best Practices for Service Oriented
 
Final Academic Project
Final Academic ProjectFinal Academic Project
Final Academic Project
 
Cloud Computing Why, What, How
Cloud Computing   Why, What, HowCloud Computing   Why, What, How
Cloud Computing Why, What, How
 
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
 
Tivoli Development Cloud Pennock Final Web
Tivoli Development Cloud Pennock Final WebTivoli Development Cloud Pennock Final Web
Tivoli Development Cloud Pennock Final Web
 
Enabling agility with continuous integration testing
Enabling agility with continuous integration testingEnabling agility with continuous integration testing
Enabling agility with continuous integration testing
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

P1153 kumar a

  • 1. WWW 2008 / Poster Paper April 21-25, 2008 · Beijing, China Towards a Programming Language for Services Computing Arun Kumar D Janakiram IBM India Research Laboratory Dept. of Comp. Sc. & Engg. 4, Block C, Institutional Area, Indian Institute of Technology Madras, Vasant Kunj, New Delhi 110070, India Chennai-600036, Tamil Nadu, India kkarun@in.ibm.com d.janakiram@cs.iitm.ernet.in ABSTRACT model [2] that applies the abstraction principle of classifica- Services Computing is emerging as a new discipline. The tion to services and defines the concepts of service types and acceptance of web services technology stems from the fact service instances [2, 1]. Service types capture the semantic that services enable easy integration and interoperation of description of the service primarily in terms of its interface enterprise level distributed systems. However, currently description. A service instance, on the other hand, provides software developers are forced to translate business level ser- an operational description of a service and represents an vice requirements and encode them into programs using low actual running instance. level abstractions such as objects. We propose to introduce Web Service S/w Development language constructs for Service Oriented Programming that Environment Registry of would enable raising programming abstractions from objects Other Libraries ServiceType Definitions Compile Time Phase to services. Developer Categories and Subject Descriptors: D.3.3 [Program- Deployable Program ming Languages]: Language Constructs and Features [data (Program with Service Type variables and unbound ServiceInstance Variables) types and structures, inheritance] General Terms: Languages, Design Binding Component Limited Registry Search of Service Executable 1. INTRODUCTION Program Instances Available Interoperability and manageability in the presence of Execution Engine Services heterogeneity are two very important concerns for enterprise Web Service Runtime Execution Run Time Phase Environment IT system managers. Services computing promises to ease these problems by creating an infrastructure of loosely cou- Figure 1: Programming Model for Services pled components residing in an heterogeneous framework. This has lead to several research efforts that explore ways Figure 1 shows the resulting programming model for of increasing the level of automation in service discovery, service oriented software development that enables to split invocation, composition and interoperation [1, 4]. the development process across design time and runtime However, the current services based software development phases. This is essential to shield the developers from the model suffers from several drawbacks. The developers dynamics of runtime environment. are forced to take into consideration dynamics of the As shown in the figure, the development environment runtime environment since services are actively running provides a service types registry using which the developers components rather than passive function/class libraries. could program to service interfaces without worrying about Further, the developers are required to map high level live instances. These service oriented programs could then service requirements to programming constructs available be deployed by binding the service variables to actual in current OO languages such as Java and C#. There is running instances available at that time. The runtime a clear mismatch between the needs of services software execution environment provides access to instances registry. developer and the programming models available today. In To utilize this programming model, we introduce two new this paper, we propose new language constructs that enable language constructs namely ServiceType and ServiceIn- programming with services and discuss some benefits arising stance. ServiceTypes and ServiceInstances are analogous from such an approach. to Classes and Objects, respectively, yet different. While ServiceTypes refer to definition of a service just like a class 2. PROGRAMMING WITH SERVICES defines an entity and ServiceInstance refers to a live service In this section, we build upon our previous work [3] that similar to objects, the difference lies in the fact that both proposed granting a first class status to services. The ServiceTypes and ServiceInstances are first class entities. proposal used a semantic web services based representation Classes are typically not first class entities such as in C++. The ServiceType variables can be used to encode logic applicable at compile time while ServiceInstance variables Copyright is held by the author/owner(s). WWW 2008, April 21–25, 2008, Beijing, China. allow encoding of logic applicable at runtime. ACM 978-1-60558-085-2/08/04. They could be declaratively defined as partially shown in 1153
  • 2. WWW 2008 / Poster Paper April 21-25, 2008 · Beijing, China ServiceType{ functionalSpec{ ServiceInstance{ serviceTypeRef; instance and verifying the health of the instance by invoking interfaceTypeA{ operationalSpec{ their management interfaces. The functional methods inputTypes { .. }; outputTypes { .. }; interfaceA{ inputs {..}; are invoked by referring to the interface names (such as preconditions { .. }; outputs{..}; interfaceA in Fig. 2) through the ServiceInstance variable. }; effects { .. }; } …. Queries for interface descriptions are supported by invoking …. } an appropriate operation on the associated ServiceType. }; modelDescription{ .. }; state{ Such operations on instances would help automatic agents <list of data variables> stateDescription { } to programmatically interpret and subsequently invoke the <List of types of data nonFunctionalCapability{ interface of new services. The management commands and members> <QoS guarantees> }; } health check operations are dependent upon the manage- nonFunctionalReqmts{ binding{ ment interfaces implemented by the instances. <QoS and other reqmts.> <list of protocols,ports> }; } } } 3. RELATED WORK Figure 2: ServiceType and ServiceInstance ServiceJ [4] proposes extensions to Java to enable support for service oriented computing in OO languages. Declarative language constructs are proposed to transparently deal Fig. 2. Alternatively, ServiceType could be defined with with service selection at runtime as well as for applying the help of service type descriptions available in the types a filtering and ranking criteria. However, their exten- registry. The definition in such a case would take the form: sions deal primarily with non-functional aspects and it is new ServiceType(XMLFileRef FS, XMLFileRef MD, XMLFileRef not clear how their compiler works without having access SD, XMLFileRef NFR) to functional description of services available at compile ServiceType construct is composed of four elements - a time. The ServiceType and ServiceInstance constructs functional specification containing various interface descrip- proposed in this paper address the functional as well as tions, a model description, description of State in terms non-functional aspects of services in a unifying development of a list of data types, and constraints on non-functional framework. Zimmermann et al. [6] motivate the need for capabilities of service instances. Similarly, ServiceInstance a Service Oriented Analysis and Design (SOAD) approach could also be defined with the help of service instance that leverages and builds upon existing approaches of descriptions in instances registry as given below: Object Oriented Analysis and Design (OOAD), Enterprise new ServiceInstance(serviceTypeRef, XMLFileRef OS, Architecture frameworks and Business Process Modeling XMLFileRef State, XMLFileRef NFC, XMLFileRef binding) concepts. Papazoglou [5] provides a detailed comparison The ’new’ operation here creates a new ServiceInstance between services in SOA and objects in OOAD. However, entity and binds it to an actual running service instance, they felt that concepts like polymorphism etc. are not in the services registry, whose service details are provided applicable to SOA. The language constructs proposed by through the XMLFile references in the parameters. us enable such OO features by raising the programming The functional specification in the ServiceType definition abstraction from objects to services. enables the software developers to write logic that reasons upon the functionality of the service they are dealing with. 4. CONCLUSION The operational specification in ServiceInstances allows logic We have proposed programming language constructs to that invokes the service’s functionality. enable programming with services. The constructs incorpo- Operations on Service Types are defined based upon rate well established object oriented software development the notion of classification, composition and inheritance principles such as classification, composition and inheritance defined for services in [2], into a service oriented programming model. We are cur- -Classification: isEquivalentTo(ST) returns a degree of rently in the process of developing a compiler for introducing match between the current service type and the service these constructs as extensions to Java. type supplied as parameter; isBound() returns true if a service type has been instantiated or bound to at least one instance; getInstance(ST) returns an existing bound 5. REFERENCES ServiceInstance or creates a new binding to an actual [1] V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar, A. Kundu, S. Mittal, and B. Srivastava. A Service Creation Environment running service instance and returns it as a ServiceInstance; based on End to End Composition of Web Services. In isServiceTypeOf(SI) returns a value indicating a degree of Proceedings of WWW, May 2005. match i.e. direct type of the service instance vs a super [2] A. Kumar, A. Neogi, and D. J. Ram. An OO Based Semantic type in chain. Model for Service Oriented Computing. In Proc. of IEEE SCC, USA, Sept. 2006. - Composition: isComposedOf(ListofSTs) and isCompo- [3] A. Kumar, S. Pragalapati, A. Neogi, and D. Janakiram. nentOf(CompositeST) return a true if the current service Raising Programming Abstraction from Objects to Services. In type is composed of the supplied list of service types and if Proceedings of ICWS, July 2007. it is a component of the supplied service type respectively. [4] S. D. Labey, M. van Dooren, and E. Steegmans. ServiceJ: - A Java Extension for Programming Web Service Interaction. In - Inheritance: isSuperTypeOf(ST) and isSubTypeOf(ST) Proc. of IEEE ICWS, Jul 2007. return true if the current service type is a supertype and if [5] M. P. Papazoglou. Service-Oriented Computing: Concepts, it is a subtype of the specified service type respectively. Characteristics and Directions. In Proc. of WISE, Dec 2003. Operations on Service Instance variables include the [6] O. Zimmermann, P. Krogdahl, and C. Gee. Elements of Service-Oriented Analysis and Design: An interdisciplinary functional methods (i.e. actual functionality offered by the modeling approach for SOA project. instance) and others operations that are related to querying http://www.ibm.com/developerworks/webservices/ the interface descriptions or sending commands to the library/ws-soad1/, June 2004. 1154