+ All Categories
Home > Documents > Overview

Overview

Date post: 21-Jan-2016
Category:
Upload: rimona
View: 23 times
Download: 0 times
Share this document with a friend
Description:
Grid Services and Microsoft .NET The MS.NETGrid Project Dr. Mike Jackson EPCC www.epcc.ed.ac.uk/~ogsanet [email protected] All Hands Meeting 2003 Nottingham September 2 nd -4 th 2003. Overview. MS.NETGrid Project: Goals Partners Related Projects Activities MS.NETGrid-OGSI: - PowerPoint PPT Presentation
Popular Tags:
23
Grid Services and Microsoft .NET The MS.NETGrid Project Dr. Mike Jackson EPCC www.epcc.ed.ac.uk/~ogsanet [email protected] All Hands Meeting 2003 Nottingham September 2 nd -4 th 2003
Transcript
Page 1: Overview

Grid Services and Microsoft .NET

The MS.NETGrid Project

Dr. Mike JacksonEPCC

www.epcc.ed.ac.uk/[email protected]

All Hands Meeting 2003 Nottingham September 2nd-4th 2003

Page 2: Overview

Overview

MS.NETGrid Project:GoalsPartnersRelated ProjectsActivities

MS.NETGrid-OGSI:High-level DesignProgramming Model

MS.NETGrid Demonstrators Training Courses

Page 3: Overview

Project Goals

Goals:Engaging and training the e-Science community in OGSI and .NETFacilitate uptake of .NET for developing Grid services

Achieve via delivery of:Free-source OGSI implementation on .NETFree-source Grid service demonstratorsTraining materialsTraining courses

Page 4: Overview

Project Partners

EPCC:Project managementDesign, development and implementationAuthoring training materialsDelivering training courses

Microsoft Research Limited (Cambridge):Technical consultancy and expertiseProvision of training materials

NeSC – UK National e-Science Centre:Production and negotiation of collaboration agreementHosting training coursesTechnical consultancy and expertise

Page 5: Overview

Related Projects

Globus:Design and implementation of product-quality version of OGSI in Javahttp://www.globus.org

University of Virginia:Design and implementation of OGSI on .NEThttp://www.cs.virginia.edu/~humphrey/GCG/ogsi.net.html

GRASP Project / University of Salerno:Grid for Application Service Provision using commodity technologieshttp://eu-grasp.net

Page 6: Overview

Project Activities

Microsoft .NET

OGSI

OGSA-DAI

e-Science Application

e-Science Application

OGSI andMicrosoft .NET

Course…

… … … …

OGSI andMicrosoft .NET

Course…

… … … …

OGSI andMicrosoft .NET

Course…

… … … …

OGSI andMicrosoft .NET

Course…

… … … …

Page 7: Overview

Project Activities

Development of OGSI implementation – MS.NETGrid-OGSI:

Design and implementation of OGSI on .NETLeverage research from Globus and University of VirginiaContribute experiences to development of OGSI .NET community

Development of Grid service demonstrators:Practical demonstration of the utility of OGSI on .NET

Production of training materials:Courses and supporting materials on OGSI and .NET

Delivery of training courses:Four training courses held at the e-Science Institute in Edinburgh

Page 8: Overview

MS.NETGrid-OGSI

Implementation of OGSI on Microsoft .NETLeverages ASP.NET functionalityProvides support for:

Grid service hosting in ASP.NET Web Services containerGridService portType-related functionalityFactory portType-related functionalityService data managementManagement of persistent and transient services

Page 9: Overview

C#Implementation

ASP.NET

High-level Design

C#Implementation Client

ProxyProxy8. C# method return

1. C# method call

HTTP

2. SOAP request 7. SOAP response

OGSI Container

Grid ServiceGrid

Service

Grid ServiceGrid

Service

Grid ServiceGrid

Service

Web Service Proxy (.asmx)Web Service Proxy (.asmx)

4. Grid Service Object

Reference3. Grid Service

ID

5. Operation

Call

6. Operation

Return

Page 10: Overview

Persistent and Transient Services

ASP.NET

OGSI Container

SampleInstanceObject

SampleInstanceObject

SampleInstanceObject

SampleInstanceObject

SampleFactoryObject

SampleFactoryObject

http://host/Ogsi.Container/services/persistent/SampleFactory.asmx

http://host/Ogsi.Container/services/transient/Sample.asmx?instanceId=sampleInstance1

ExampleInstanceObject

ExampleInstanceObject

ExampleFactoryObject

ExampleFactoryObject

ogsicontainer/services/persistent

SampleFactory.asmxSampleFactory.asmx ExampleFactory.asmxExampleFactory.asmx

ogsicontainer/services/transient

Sample.asmxSample.asmx Example.asmxExample.asmx

http://host/Ogsi.Container/services/transient/Sample.asmx?instanceId=sampleInstance2

Page 11: Overview

Programming Model – Components

Service implementation class(es):GridServiceSkeleton-derived

Proxy class:Communications layer between outside-world and service implementation classesRepresents most-derived portTypeInherits from GridServiceInstanceAspProxy (which derives from ASP.NET class WebService)

ASP.NET Web service deployment descriptor:

Location of classes, proxiesService lifetime typeApplication-specific informationWeb.config

Page 12: Overview

Programming Model – Service Development

1. Develop service implementation classes

2. Develop service proxy• These could be generated from tooling –

when tooling exists!

3. Deploy service

Page 13: Overview

Developing a Service Implementation

Inherit from GridServiceSkeleton:PersistentGridServiceSkeleton for persistent services

Add service methods (operation providers):

public class MyHelloServiceImpl : PersistentGridServiceSkeleton {

int i = 1; public string SayHello(string name) { return String.Format(“Hello, {0} {1}”, name, i); } …}

Page 14: Overview

Developing a Service Proxy

An ASP.NET Web Service with a twist:

// HelloService.cspublic class HelloService : PersistentGridServiceInstanceAspProxy { [WebMethod] // Any other ASP.NET attributes public string SayHello(string name) { object [] args = { name }; return (string) CallMethod(“SayHello”, args); }} Constructor gives reference to service instance object via containerCallMethod invokes on service instance object

Write .asmx file:

<%@ WebService Class=“HelloService"%>

Page 15: Overview

Deploying the Grid Service

ASP.NET Web service configuration file: Web.config:

gridContainer.config/gridServiceDeployment elementAdd gridServiceDeploymentDescriptor:

<gridServiceDeploymentDescriptorasmxFileName=“HelloService.asmx”className=“HelloServiceImpl”assembly=“HelloAssembly”persistence=“persistent” />

Copy assembly to bin/ directory of web-appCopy .asmx file to services/persistent directoryProxy generation and deployment could be automated:

Use reflection on service class

Page 16: Overview

Operation Providers

IOperationProvider interface and OperationProviderBase class

public class HelloPortType : OperationProviderBase {

int i = 0;public string sayHello(string name) { return “Hello, “ + name + “ “ + (++i);}

}[OgsiPortType(typeof(HelloPortType), “someNamespaceUri”, “HelloPortType”]

public class HelloServiceImpl : GridServiceSkeleton {

}

Page 17: Overview

MS.NETGrid Demonstrators

Simple counter servicePrime factors serviceMock-up of a load monitoring service factoryOGSA-DAI Grid Data Service:

Stripped down from full OGSA-DAI functionalityExecute queries on a back-end SQL Server databaseService-database communication over ADO.NET

Page 18: Overview

OGSA-DAI Grid Data Service

Page 19: Overview

Training Courses

“OGSI on Microsoft .NET”Designed for UK e-ScientistsFour courses each for 25 attendees:

September 9th-10th 2003November 4th-5th 2003January 2004February 2004

e-Science Institute in Edinburghhttp://www.nesc.ac.uk

Page 20: Overview

Course Goals

Introduce / review:Grid ServicesMicrosoft .NET

Introduce OGSI on Microsoft .NETMS.NETGrid-OGSI

Use MS.NETGrid-OGSI:Develop a Grid ServiceDevelop a client

Introduce related OGSI on Microsoft.NET work

Page 21: Overview

Course Outline – Day 109:30 – Welcome and Workshop Overview09:45 – Grid Services

Web Services and XMLGrids, OGSA and OGSI

10:30 – BREAK11:00 – Essential Microsoft .NET Concepts

.NET Framework OverviewC# Recap, Assemblies and Using MetadataASP.NET

12:45 – LUNCH13:45 – OGSI and .NET

Why OGSI on .NET?EPCC’s MS.NETGrid-OGSIVirginia’s OGSI.NET

15:30 – BREAK16:00 – Obtaining, installing and testing MS.NETGrid-OGSI

Practical17:00 – END OF DAY 1

Page 22: Overview

Course Outline – Day 209:30 – Recap10:00 – Developing a Grid Service 1

Practical11:30 – BREAK12:00 – Developing a Grid Service 2

Practical13:00 – LUNCH14:00 – Developing a Grid Service 3

Practical15:00 – BREAK15:30 – Miscellaneous:

MS.NETGrid-OGSI DemonstratorsCourse FeedbackDiscussion

16:30 – END OF DAY 2 – CLOSE

Page 23: Overview

Near Future

Revision of OGSI on .NET containerFacilitating scalability and service persistence

Development of additional Grid service demonstrators:

Practical demonstration of the utility of OGSI on .NET

Revision of training materials:Courses and supporting materials on OGSI and .NET

Delivery of additional courses


Recommended