Tuesday, May 31, 2011

Introduction to WCF (Windows Communication Foundation)

WCF combines many previous Microsoft messaging technologies together into a standard coding framework. A service is written as a logical piece of work and is then exposed using whichever method is most appropriate. This keeps the service logic and the technical transportation pieces of the service separate and reduces the complexity.

Why WCF
Interoperability & Integration:
It allows you to connect to other technologies such as Message Queues and other technologies to connect to it.
Whole bunch of WS-* protocols are supported
Unified Programming model:
Whether you use TCP or Http or Pipes. Or transmitting using Messaging Queues, programmers need to learn just one way to program.
Previously you had .NET remoting, MSMQ, Web services, COM+ and they were all done differently
Productive Programming model:
Do not have to worry about all the plumbing work.
You want to add logging, no problem. You want to add transaction, no problem. You want to add reliable messaging – no problem.
Three ways of doing it – Declarative using Attributes, Imperative using the Object model in code and via Configuration to do it at run time

The EndPoint Anology

If we think about WCF services with a real world analogy. The address of the service is where it is located, this is unique to it just like the address of a house. Just as there can be many houses with unique addresses the same goes with WCF, each address can only be used for one service. Addresses must be unique.
Now that you know where you are going, the next question is how are you going to get there? How are you going to travel there? You could go by truck or train or walking, each has its own advantage/disadvantage.
The same question needs to be asked of the messages sent with WCF, how will they travel to where they are going? This could be via HTTP or TCP, or could be guarded with extra security as it travels.
Contracts are the menu of available functions the service provides.

Bindings

There are numerous ways that a message can be formatted/sent/secured, this allows you to tailor your service for the compatibility/performance you require for your solution.
Because there is such a large number of choices that can be made these have been packaged into ‘standard binding’ sets for easy use.
A service can support multiple sets of bindings, however each must be on a separate address. The Client must use exactly the same binding as service otherwise they will not be able to communicate properly.

Thursday, May 26, 2011

Workshop Report: Web Tracking and User Privacy

W3C published the report from the W3C Workshop on Web Tracking and User Privacy held at Princeton University in April. The large and diverse group of participants had an engaging discussion yielding consensus on the importance, time-sensitivity and complexity of the issue and revealing promising areas for standards work. They encourage interested parties to continue discussion on the public mailing list, including on the possibility of W3C forming new groups in this area. Workshop sponsors: Adobe, Yahoo!, Google, Mozilla and Microsoft.

Wednesday, May 25, 2011

First Draft of Resource Timing Published

The Web Performance Working Group has published the First Public Working Draft of Resource Timing. This specification defines an interface for web applications to access timing information related to HTML elements. User latency is an important quality benchmark for Web Applications. While JavaScript-based mechanisms can provide comprehensive instrumentation for user latency measurements within an application, in many cases, they are unable to provide a complete end-to-end latency picture. While the Navigation Timing specification address part of the problem by providing timing information associated with a navigation, this document introduces the ResourceTiming interface to allow Javascript mechanisms to collect complete timing information related to resources on a document. Learn more about the Rich Web Client Activity.

CSS Lists and Counters Module Level 3 Draft Published

The Cascading Style Sheets (CSS) Working Group has published a Working Draft of CSS Lists and Counters Module Level 3. This draft contains the features of CSS level 3 relating to list styling. The main extensions compared to CSS Level 2 are a pseudo-element representing the list marker, a new hanging value for list-style-position, and a method for authors to define their own list-styles. Learn more about the Style Activity.

Tuesday, May 17, 2011

RIF In RDF Note Published

The Rule Interchange Format Working Group has published a Group Note of RIF In RDF. This document specifies a reversible mapping (or transformation) from Rule Interchange Format (RIF) XML documents to Resource Description Framework (RDF) graphs. This mapping allows the contents of RIF documents to be interoperably stored and processed as RDF triples, using existing serializations and tools for RDF. When used with the standard mapping from RDF triples to RIF frames, this also provides a "reflection" or "introspection" mechanism, an interoperable way for RIF rules to operate on RIF documents. Learn more about the Semantic Web Activity.

First Draft of Points of Interest Core Published

The Points of Interest Working Group has published the First Public Working Draft of Points of Interest Core. In general terms, a "point of interest" is a location about which information is available. A POI can be as simple as a set of coordinates and an identifier, or more complex such as a three dimensional model of a building with names in various languages, information about open and closed hours, and a civic address. POI data has many uses including augmented reality browsers, location-based social networking games, geocaching, mapping, and navigation systems. This document describes a generic data model and one normative format. This format is based on XML and is likely insufficient to cover all POI use cases, therefore, it is expected that the data model will be mapped to other formats, such as JSON, GML, RDF, GeoRSS, or HTML. Learn more about the Ubiquitous Web Applications Activity.

Tuesday, May 10, 2011

W3C Publishes First Draft of RDF Interfaces

The RDF Web Applications Working Group has published the First Public Working Draft of the RDF Interfaces specification. The goal of the RDF Interfaces specification is to provide a common development environment for Web Applications that utilize structured data and RDF. It provides interfaces for creating and managing RDF Triples, Graphs, and Parsers. It also provides the basic building blocks for the upcoming RDF API and the recently published RDFa API. While RDF support is a priority, support for Microdata and Microformats are also provided through extensible-by-design interfaces for parsers and Graph storage. Since this is a First Public Working Draft, the document is expected to change over the coming months. For more information about the Semantic Web, please see the Semantic Web Activity.

Saturday, May 7, 2011

W3C Launches Web Real-Time Communications Working Group

W3C today launched a new Web Real-Time Communications Working Group to define client-side APIs to enable Real-Time Communications in Web browsers. These APIs should enable building applications that can be run inside a browser, requiring no extra downloads or plugins, that allow communication between parties using audio, video and supplementary real-time communication, without having to use intervening servers. Read the full charter and learn more about W3C's Ubiquitous Web Applications Activity.

First Draft of Touch Events Specification Draft Published

The Web Events Working Group has published the First Public Working Draft of Touch Events Specification. The Touch Interface specification defines a set of low-level events that represent one or more points of contact with a touch-sensitive surface, and changes of those points with respect to the surface and any DOM elements displayed upon it (e.g., for touch screens) or associated with it (e.g., for drawing tablets without displays). It also addresses pen-tablet devices, such as drawing tablets, with consideration toward stylus capabilities. Learn more about the Rich Web Client Activity.

Wednesday, May 4, 2011

New W3C Online Course: Introduction to Mobile Web and Application Best Practices

W3C is pleased to announce its latest online training course: Introduction to Mobile Web and Application Best Practices. This course includes a lot of new material concerning Web applications. Delivered over 8 weeks, the course will help Web designers and content producers to become familiar with the Web as delivered on mobile devices. It is based entirely on W3C standards, particularly the Mobile Web Best Practices and Mobile Web Application Best Practices. Participants will learn in particular about which versions of HTML and CSS to use for mobile today, client-side and server-side content adaptation techniques, and exciting new APIs available on modern mobile platforms. The full price for the new course is €195 but there are two early bird periods. From now until Friday 6 May you can enroll for just €95. The second early bird period runs until Friday 27th May at €145. See full details of the course and register now.