Download presentation
Presentation is loading. Please wait.
Published byLinda Hardy Modified over 8 years ago
1
10 th Lecture COP 4991 Component-Based Software Development Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/Teaching/WSRF.NET
2
10 th LectureCOP-4991: Component-Based Software Development 2 Acknowledgement Fernando Trigoso
3
10 th LectureCOP-4991: Component-Based Software Development 3 Outline WSRF.NET Architecture Attribute-based programming Compatibility with GT4 WSRF Issues
4
10 th LectureCOP-4991: Component-Based Software Development 4 Background WSRF –WS-Resource WS-ResourceProperties WS-ResourceLifetime WS-Notification
5
10 th LectureCOP-4991: Component-Based Software Development 5 WSRF.NET Open source implementation of WSRF and WS-Notification Implements full set of specifications Useful to evaluate the WSRF approach To make programming WSRF.NET services as easy as programming Web Services
6
10 th LectureCOP-4991: Component-Based Software Development 6 WSRF.NET Architecture Internet Information Services (IIS) Internet Server Application Programming Interface (ISAPI) Humphrey, M., & Wasson, G. (2004). Architectural Foundation of WSRF.NET.
7
10 th LectureCOP-4991: Component-Based Software Development 7 WSRF.NET Architecture ASP.NET with Web Services Extensions (WSE) Wrapper Web Service automatically created by WSRF.NET Humphrey, M., & Wasson, G. (2004). Architectural Foundation of WSRF.NET.
8
10 th LectureCOP-4991: Component-Based Software Development 8 WSRF.NET Architecture WS-Resource implemented with ADO.NET Serialized result returned to client Humphrey, M., & Wasson, G. (2004). Architectural Foundation of WSRF.NET.
9
10 th LectureCOP-4991: Component-Based Software Development 9WS-Resource WS-Resource implementation Ability to query complex states Ease to access multiple resources Lookup based on key and state contents
10
10 th LectureCOP-4991: Component-Based Software Development 10WS-Resource Portability, scalability and flexibility No single-point of failure Efficient expiration check Provides an interface for customization
11
10 th LectureCOP-4991: Component-Based Software Development 11 Outline WSRF.NET Architecture Attribute-based programming Compatibility with GT4 WSRF Issues
12
10 th LectureCOP-4991: Component-Based Software Development 12 Declarative & Imperative Imperative programming –Most common –Methods define behavior of programs Declarative programming –Declarations define behavior –No need to write instructions –Attributes are used to define behavior Wagner, B. (2005). Effective C#. [WebMethod] public string Hello() {return “Hello World”;}
13
10 th LectureCOP-4991: Component-Based Software Development 13 WSRF.NET Attribute Usage Attributes easily define: –Resources –Resource Properties –Port Types Aids development of grid services
14
10 th LectureCOP-4991: Component-Based Software Development 14 Attributes for Web Service [WebMethod] public string Hello() { return “Hello World”; } [WebMethod] public DateTime GetDate() { return DateTime.Now; } Used to create the service logic ASP.NET creates: –WSDL document –Support to route SOAP requests –HTML pages to test web service Security provided by WSE
15
10 th LectureCOP-4991: Component-Based Software Development 15 Attributes for Stateful Resource class PackageService { [Resource] Package pkg; [Resource] PkgRoute route; [Resource] PkgLocation location; … WS-Resource is an abstraction for a collection of state WS-Resource addressed by EPR Resource is the collection of members with [Resource] attribute Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.
16
10 th LectureCOP-4991: Component-Based Software Development 16 Attributes for Stateful Resource class PackageService { [Resource] Package pkg; [Resource] PkgRoute route; [Resource] PkgLocation location; … Resource stored in the database with key: –URL + Resource Unique ID EPR in SOAP message contains: – + Resource loaded from database Values placed in web service’s members Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.
17
10 th LectureCOP-4991: Component-Based Software Development 17 Attributes for Stateful Resource class PackageService { [Resource] Package pkg; [Resource] PkgRoute route; [Resource] PkgLocation location; … WSRF.NET allows customization Just implement IResource Not all web methods require all values Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.
18
10 th LectureCOP-4991: Component-Based Software Development 18 Attributes for Resource Properties class PackageService { [Resource] Package pkg; [ResourceProperty] public string Sender { get { return pkg.Sender; } … Resources described in Resource Property Document (RPD) RPD is composed of ResourceProperties All members with [ResourceProperty] define RPD Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.
19
10 th LectureCOP-4991: Component-Based Software Development 19 Adding Port Types to the Service [WSRFPortType(typeof(GetResourcePropertyPortType))] [WSRFPortType(typeof(ImmediateResourceTerminationPortType))] public class PackageService { [Resource] Package pkg; … WSRF defines functions that may be supported WSRF.NET implements all current specifications Author’s can reuse them by declaring attributes Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.
20
10 th LectureCOP-4991: Component-Based Software Development 20 Outline WSRF.NET Architecture Attribute-based programming Compatibility with GT4 WSRF Issues
21
10 th LectureCOP-4991: Component-Based Software Development 21 Compatibility with GT4 GT4 uses a different version of WS-Addressing than WSE 3.0 WSRF.NET makes process transparent GT4 clients can interact with WSRF.NET services and vice versa (being tested) WSRF.NET cannot send Notifications to both GT4 and WSE 3 services at the same time
22
10 th LectureCOP-4991: Component-Based Software Development 22 WSRF.NET & GT4 B. Sotomayor and L. Childers. Globus Toolkit 4, Programming Java Services. 2006.
23
10 th LectureCOP-4991: Component-Based Software Development 23 Outline WSRF.NET Architecture Attribute-based programming Compatibility with GT4 WSRF Issues
24
10 th LectureCOP-4991: Component-Based Software Development 24 Stateful vs. Stateless Service Oriented Architecture –Combines loosely coupled and interoperable services State clashes with Services Architecture Bond between client and service –Loose coupling with stateless services –Tighter coupling with stateful services Proxies mask services as objects
25
10 th LectureCOP-4991: Component-Based Software Development 25 Complexity of Service-Side Code Importing port types may raise issues –Port types have their own resources The state and its Resource Property –If one changes the other one has to change Unintuitive interface: // No WSRF: CheckPackageIn(Package pkg, string location) // WSRF: CheckPackageIn(string location) Humphrey, M., & Wasson, G. (2004). Architectural Foundation of WSRF.NET.
26
10 th LectureCOP-4991: Component-Based Software Development 26 Conclusion WSRF.NET architecture Complex application logic requires complex infrastructure WSRF potential is strong Decoupling will be difficult WSRF.NET helps WSRF
27
10 th LectureCOP-4991: Component-Based Software Development 27 References Architectural Foundations of WSRF.NET by M. Humphrey and G. Wason. The Open Grid Services Architecture, Version 1.0. I. Foster, H. Kishimoto, A. Savva, D. Berry, A. Djaoui, A. Grimshaw, B. Horn, F. Maciel, F. Siebenlist, R. Subramaniam, J. Treadwell, J. Von Reich. Informational Document, Global Grid Forum (GGF), January 29, 2005.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.