Attribute-based%20Programming%20for%20Grid%20Services - PowerPoint PPT Presentation

About This Presentation
Title:

Attribute-based%20Programming%20for%20Grid%20Services

Description:

Attributebased Programming for Grid Services – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 11
Provided by: glenn156
Learn more at: https://www.mcs.anl.gov
Category:

less

Transcript and Presenter's Notes

Title: Attribute-based%20Programming%20for%20Grid%20Services


1
Attribute-based Programming for Grid Services
  • Glenn Wasson and Marty Humphrey
  • Grid Computing Group
  • University of Virginia

2
Programming Grid Services
  • How do I write a grid service?
  • Do I need to understand the specifications (e.g.
    OGSI, WSDL, XSD)?
  • What about the grid plumbing?
  • What support does the container provide?
  • Goal Make it as easy as writing a
  • Web Service

3
Observation
  • Difference between a Grid Service and service
    logic is meta-data
  • Defines how methods and data are exposed
  • Conditions of exposure (policy)
  • Annotate service logic with meta-data
  • C attributes (can get at runtime)
  • Other languages (need pre-processing)

4
Programming Model
  • Write Code
  • Create service logic
  • Annotate Code
  • Provide meta-data the container needs to get this
    code running as a Grid Service
  • Run Tooling
  • e.g. Generate WSDL
  • Deploy Service

5
Example Exposing Methods
  • OGSIPortType
  • OGSIPortType(typeof(FactoryPortType))
  • OGSIPortType(typeof(NotificationSourcePortType)
    )
  • OGSIPortType(typeof(GridServicePortType))
  • public class MyService GridServiceSkeleton
  • SoapDocumentMethod
  • WebMethod
  • SoapDocumentMethod("http//gcg.cs.virginia.edu/
    samples/
  • countersubtract",
    Binding"CounterSOAPBinding")
  • return XmlElement("returnValue")
  • public int subtract(int value)

6
Design and Use of Attributes
  • How many attributes are there?
  • Tradeoff of attrs vs. of attr parameters
  • Try to keep of mandatory attributes low
  • Attribute scope
  • Class level, method level, member level
  • Auto-generation
  • E.g. SoapAction names from WebMethod

7
Exposing Data
  • SDE
  • SDE ("interface",
  • typeof(XmlQualifiedName), false,
  • MutabilityType.constant, false,
  • "1", "unbounded")
  • public class GridServicePortType
    GridServiceSkeleton

8
Other Ways to Expose Data
  • Get and Set handlers for SDEs
  • SDEGet(currentTime)
  • public ArrayList getTime(OGSIServiceData sde,
  • GridServiceWrapper gsw)
  • Member variables as SDEs
  • public class SomeServicePortType
    GridServiceSkeleton
  • SomeServicePortType()
  • SDE
  • public int foo

9
Service Policy
  • Initially security policy
  • Integrity(require, body, token1,
    token2)
  • Confidentiality(reject, header1,
    token3)
  • Message(require, agelt30)
  • Token(token1, x509v3, subjectBob Smith,
    CAUVA)
  • Token(token2, Kerberosv5ST)
  • Token(token3, SecurityContextToken,
  • issuerhttp//token.virginia.edu/ mytoken)
  • public class Service1 GridServiceSkeleton
  • Port type or method policy? SDE policy?
  • Deployers policy vs. Programmers policy

10
Future
  • Extend programming model
  • What functionality lends itself to
    attribute-based programming?
  • Refine attribute set
  • More intelligent defaults
  • More non-class level attributes?
  • OGSI.NET website
  • http//www.cs.virginia.edu/gsw2c/OGSIdotNet.htm
    l
Write a Comment
User Comments (0)
About PowerShow.com