Sessions at WWW2007 about Web

Thursday 10th May 2007

BT is undergoing a transformation at the heart of which is a £10 billion IP based multi-service 21st century network (21CN). Web21C is an initiative to put useful capabilities into the hands of developers by providing .NET, Java, Python and PHP Software Development Kits (SDK) behind which lie open Web services.

This presentation will demonstrate the use of Web21C services in a series of Web applications, discuss the importance of trust on the Web, in particular when exchanging presence information and locating mobile devices, and highlight the benefits of providing a Web friendly exposure.

Expect phones to ring, text messages be exchanged with the audience and mobile devices will be tracked and placed upon a map, so please Leave Your Mobile Phone ON for the duration of this presentation!

Detail
------

BT is exposing a series of interesting capabilities. To assist developers, each capability is being accompanied by a Software Development Kit (SDK) in the form of code, sample applications, test data and documentation.

These capabilities include:

SMS enables a developer to exchange short text messages with mobile devices.

* Voice allows a programmer to initiate and control a voice telephone call
between two individuals. From within your program a developer may setup a phone
call between two parties using a combination of traditional land lines (PSTN),
cellular devices or softphones (SIP), anywhere in the world. The service calls the
first person's device which after being aswered calls the second. The developer may then
access information about the call and end the call from within his program.

* Conference call offers a convenient way for two or more people to talk with each
other at the same time. The Web21C Conference Call Service enables calls from
landline telephones or softphones. A developer initiates the conference, brings
people into the conference by calling their device, and may remove people from
the conference programmatically.

* Presence Service stores the availability of an application's users and manages
the visibility of the status across a user's roster of contacts.

* Information About Me (IAM) provides an access-controlled, persistent store for
information about a user. Access control, can be managed by the user themselves.

* Location allows the user of an application track the geographical location of a
device owned by an individual. The Location Service enforces a permission model
based upon the agreed industry code of conduct for passive location services.

* White Label Authentication is a generalised service through which an application
can manage its users, and the users may be authenticated without being aware that
BT is powering the application.

During the beta period, and at the time of writing limited access is provided free
of charge to a developer and their users:

Many developers may consider these services to be intrinsically a function
call, and the BT SDKs enable developers to quickly use the services from
within a number of programming environments. Under the covers the current
SDK sends digitally signed SOAP messages described in WSDL. In some cases
the messages contain a SAML token to provide a user context.

What does it mean to make such an API "Web friendly"?
What are the risks and benefits of doing so?
How do you establish identity and maintain trust
without signing messages, something not currently
easily achieved in a browser based application?

Notes
-----

Demonstrations currently planned include:

- building an ad-hoc SMS/Jabber message board with the audience
- breaking out to phone conversations between members of the audience
- recording the availability of audience members in presence
- establishing a conference call with available audience members
- putting the location of mobiles onto a mapping service
- presenting the record of the conversations as XHTML containing
Microformats, JSON and RSS/Atom
- combining information from the above using Yahoo! pipes

This presentation is in part based upon a lightning talk on
how the best Web APIs are just Web sites:

Paul acts as Chief Web Services Architect for BT,
defines the exposure of the Web21C services, chairs the
W3C XML Schema Patterns for Databinding Working Group
and has participated in the W3C Web Services Addressing,
W3C Web Services Description and WS-I Basic Profile Working Groups.

Uros Rapajic (BT)

Uros leads the effort to define and build the Call Control and SMS services
for BT's Web21C initiative. He boasts nine years' worth of battle scars
from leading-edge software development, covering three industries,
two continents and a failed startup. His interests include software and
services for communication and collaboration, agile software development,
lightweight frameworks and the developer experience. He holds a Masters
degree in Information Systems Engineering from Imperial College, London.