1 / 32

WSRF.NET

WSRF.NET. Presented By: Fernando Trigoso. Based On: Architectural Foundations of WSRF.NET by M. Humphrey and G. Wason. Outline. WSRF.NET Architecture Attribute-based programming Compatibility with GT4 WSRF Issues. Background. WSRF WS-Resource WS-ResourceProperties

keisha
Download Presentation

WSRF.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WSRF.NET Presented By: Fernando Trigoso Based On: Architectural Foundations of WSRF.NET by M. Humphrey and G. Wason

  2. Outline • WSRF.NET Architecture • Attribute-based programming • Compatibility with GT4 • WSRF Issues

  3. Background • WSRF • WS-Resource • WS-ResourceProperties • WS-ResourceLifetime • WS-Notification

  4. 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

  5. WSRF.NET Architecture • Internet Information Services (IIS) • Internet Server Application Programming Interface (ISAPI) Humphrey, M., & Wasson, G. (2004). Architectural Foundation of WSRF.NET.

  6. 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.

  7. WSRF.NET Architecture • WS-Resource implemented with ADO.NET • Serialized result returned to client Humphrey, M., & Wasson, G. (2004). Architectural Foundation of WSRF.NET.

  8. WS-Resource • WS-Resource implementation • Ability to query complex states • Ease to access multiple resources • Lookup based on key and state contents

  9. WS-Resource • Portability, scalability and flexibility • No single-point of failure • Efficient expiration check • Provides an interface for customization

  10. Outline • WSRF.NET Architecture • Attribute-based programming • Compatibility with GT4 • WSRF Issues

  11. 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 [WebMethod] public string Hello() {return “Hello World”;} Wagner, B. (2005). Effective C#.

  12. WSRF.NET Attribute Usage • Attributes easily define: • Resources • Resource Properties • Port Types • Aids development of grid services

  13. [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 Attributes for Web Service

  14. 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 Attributes for Stateful Resource Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.

  15. 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: <Address> + <ReferenceProperties> Resource loaded from database Values placed in web service’s members Attributes for Stateful Resource Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.

  16. 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 Attributes for Stateful Resource Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.

  17. 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 Attributes for Resource Properties Wasson, G. (2006). WSRF.NET 3.0 Programmer’s Reference.

  18. 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.

  19. Outline • WSRF.NET Architecture • Attribute-based programming • Compatibility with GT4 • WSRF Issues

  20. 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

  21. WSRF.NET & GT4 B. Sotomayor and L. Childers. Globus Toolkit 4, Programming Java Services. 2006.

  22. Outline • WSRF.NET Architecture • Attribute-based programming • Compatibility with GT4 • WSRF Issues

  23. 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

  24. 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.

  25. Conclusion • WSRF.NET architecture • Complex application logic requires complex infrastructure • WSRF potential is strong • Decoupling will be difficult • WSRF.NET helps WSRF

  26. Agnostic 1 • OGSI and WSRF: • WSRF introduced to comply with new extensions to Web Services • From WSE 2 to WSE 3 • OGSI based on Web Services standards that changed • WSRF emerged as the new standard

  27. Agnostic 2 • Why .NET? • Java platform was already taken • .NET aids in rapid development • Windows OS is extremely popular • Multi-language support

  28. Agnostic 3 • What is “projection of state”? • View of the state of a Resource • State is handled internally • Promotes encapsulation • Similar to properties in a class

  29. Agnostic 4 • Compatibility with Globus? • WSRF.NET can interact with GT4 • They both expose grid services • University of Virginia is establishing a Campus Grid with both GT4 and WSRF.NET

  30. Agnostic 5 • WSRF.NET WS-Addressing (WSA)? • Uses WSA form WSE 3.0 • Uses the namespace of the request in a response • Setting needs to be changed to send requests to non-WSE 3.0 services

  31. Agnostic 6 • Concurrency issues in database? • Different services have different URLs • WSRF.NET uses the URL as part of the key to store a resource • Client is responsible for managing EPRs • Databases can handle concurrency issues

  32. Agnostic 7 • Is the identity of a WS-Resource exposed? • Identity is not exposed • Means for the service to load WS-Resource • Client provides EPR

More Related