Logo
programming4us
programming4us
programming4us
programming4us
Home
programming4us
XP
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server
programming4us
Windows Phone
 
Windows Azure

Service-Orientation with .NET : Service Discoverability

5/19/2011 11:40:42 AM
- How To Install Windows Server 2012 On VirtualBox
- How To Bypass Torrent Connection Blocking By Your ISP
- How To Install Actual Facebook App On Kindle Fire
Service discoverability is primarily about answering one question: Is the functionality that we need already available or do we need to create or purchase it? In order to answer this question properly we need to know a number of things, including:
  • where to search for existing functionality

  • the purpose, capabilities, and functional boundary of any known service

  • sufficient information about service availability and service-level guarantees

For this information (Figure 1) to be available and understandable to a range of project team members, we need to take the time to ensure that it is sufficiently discoverable and interpretable. This is what the Service Discoverability principle is concerned with.

Figure 1. When revisiting the meta abstraction types established by the Service Abstraction principle, the application of Service Discoverability  is focused on the functional and quality-of-service types.


In-line Documentation

Service Discoverability  is not just about documenting the service, its capabilities, and messages, it is about ensuring that whatever documentation is produced has a high level of communications quality.

Another aspect to consider is how to organize the documentation and to where it should be published. Inline annotations can be added to XML schemas and WSDL definitions using the xsd:annotation and wsdl:documentation elements, respectively:

Example 1.
<xsd:annotation>
<xsd:documentation>
this data model is...
</xsd:documentation>
</xsd:annotation>

<wsdl:documentation>
this service is...
</wsdl:documentation>

If you choose to write you contracts in code using WCF, there is no built-in mechanism for doing this. The extensibility features of .NET and WCF make it possible to create custom Documentation and Annotation attributes that can export documentation from your .NET code into generated XML Schema and WSDL definition files.

Note

If the documentation is placed within XML Schema and WSDL definitions, it is possible to generate slightly more human readable documents based upon those files using third-party tools (such as XSDdoc and WSDLdoc) that output the documentation in HTML format.


REST and Hypermedia

Documenting the resources and related capabilities for REST services is something that you can consider doing with WADL or even WSDL 2.0. However, it is generally expected that REST services be effectively discovered via human-readable links.

HATEOAS (Hypermedia as the Engine of Application State) can be used to establish links used by the service in order to guide service consumers through the process of making multiple related service invocations. The service adds links to its response messages to identify a number of suitable subsequent actions. Service consumers can then traverse these links and dynamically choose what to do next.

Service Profiles

Throughout its lifespan, information about a service will generally be recorded in a service profile document (Figure 2). Although the service profile is owned by the service custodian and, due to requirements raised by Service Abstraction, is not typically published in its entirety, there can be opportunities to make portions of the service profile available as part of the service SLA or any other form of publicly accessible information.

Figure 2. All of the information published for discoverability and interpretability purposes is usually also found within the service profile, in addition to many more details that are kept private by the service custodian.

Other -----------------
- Service-Orientation with .NET : Exception Shielding
- Service-Orientation with .NET : Service Abstraction & Validation Abstraction
- Service-Orientation with .NET : Service Loose Coupling and Service Capability Granularity
- Service-Orientation with .NET : Service Façade
- Service-Orientation with .NET : Decoupled Contract
- Service-Orientation with .NET : Service Loose Coupling
- Service-Orientation with .NET : Service Contracts and Interoperability - Canonical Protocol
- Service-Orientation with .NET : Service Contracts and Interoperability - Data Model Transformation
- Service-Orientation with .NET : Service Contracts and Interoperability - Canonical Schema
- Service-Orientation with .NET : Standardized Service Contract
 
 
Top 10
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
- First look: Apple Watch

- 3 Tips for Maintaining Your Cell Phone Battery (part 1)

- 3 Tips for Maintaining Your Cell Phone Battery (part 2)
programming4us programming4us
Popular tags
Microsoft Access Microsoft Excel Microsoft OneNote Microsoft PowerPoint Microsoft Project Microsoft Visio Microsoft Word Active Directory Biztalk Exchange Server Microsoft LynC Server Microsoft Dynamic Sharepoint Sql Server Windows Server 2008 Windows Server 2012 Windows 7 Windows 8 windows Phone 7 windows Phone 8
programming4us programming4us
 
programming4us
Natural Miscarriage
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server
programming4us
Game Trailer