Why are Sitefinity 4.0 Web Services good?

Why are Sitefinity 4.0 Web Services good?

Posted on September 17, 2010 0 Comments

The content you're reading is getting on in years
This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.

In past webinars & videos we’ve talked a lot about Sitefinity 4.0 being AJAXy.  Without becoming embroiled in a technical conversation, this simply means that Sitefinity’s Administrative UI can respond to many of your requests without loading a brand new web page. 

Instead of loading a new web page, Sitefinity only updates the part of the web page that needs changed.  This results in better performance and reduces the load on the web server.  Sitefinity is doing the minimum amount of work needed to respond to your request.

Behind the scenes, this is being handled through Sitefinity’s Web Services.  Web Services, just like web pages, are accessed using a URL.  However, instead of displaying human-readable HTML, these web services return raw data (typically represented with XML or JSON).  This data is retrieved by the web browser and then acted upon (locally) using client-side Javascript. 

This gives the illusion of a self-contained client-side web application although, in reality, there are lots of micro-transactions going back & forth between the web browser and the Sitefinity web site.  (If you don’t believe me, use Fiddler to watch the conversation between your web browser & Sitefinity.)

From a usability perspective all of this is a big win.  This makes Sitefinity feel a lot more responsive.

Can you type a URL?  Then you can access a Web Service

As I mentioned, Sitefinity’s web services can be accessed using a traditional URL.  Furthermore, Sitefinity’s web services will respond to any properly formed (and authenticated) web request.   If you’re interested in testing this, create a local Sitefinity 4.0 BETA web site and access the following URL:

http://localhost:4000/sitefinity/services/pages/PagesService.svc/

JSON data being returned from a Sitefinity 4.0 web service

The service URL shown above simply returns a list of Sitefinity pages using JSON.  If you don’t have any pages created, then you’ll get 0 results.  Firefox & IE will download (as a file) these JSON results.  Chrome, however, displays this data in the browser.

There are tons of Sitefinity 4.0 web services available for Sitefinity’s various content types.  For any of these web service you can append “help” to the end of the URL to see usage instructions:

http://localhost:4000/sitefinity/services/pages/PagesService.svc/help

Help for Sitefinity 4.0 Web Services

IE appears to be the only web browser that displays the help pages in an easily readable format.

The client is irrelevant

Upon first glance, this may not seem very useful.  However, this opens a limitless number of possibilities.  Sitefinity’s Administrate UI is simply a client that accesses these web service URLs to manage the web site.  This means Sitefinity’s Administrative UI is irrelevant.  We don’t need it.  All the real work is being done through the web services.  Furthermore, if a device can hit a URL, then it can also manage a Sitefinity web site.

This means we could create new administrative interfaces for…

  • Windows
  • Linux
  • Mac
  • iPhone
  • iPad
  • Windows Phone 7
  • Android
  • Silverlight
  • Flash
  • Etc, etc, etc.


Each of these clients (just like Sitefinity’s official web-based UI) will make small requests to Sitefinity’s web services to fetch & manage data.  Once this data is retrieved, it can be displayed in whatever format developers deem best for the device.

Free your data

Creating new administrative user-interfaces is interesting, but this raw data can also be exchanged between computers.  This makes it easier than ever for Sitefinity to work alongside other systems.  This includes:

  • Other CMS’s
  • Business applications
  • SharePoint
  • Customer Relationship Management (CRM) applications
  • Document Management Systems (DMS)
  • Etc, etc, etc.


The reality of many CMS deployments is that the CMS sits in the midst of a diverse heterogeneous environment.  These other systems may not be .NET or Windows based.  Web Services, because they are utilized through URLs, are platform agnostic.  This makes Sitefinity data more accessible than ever.  Data can be migrated into or out of the CMS at any time.

Samples Coming…

In this blog post, I simply wanted to introduce the concepts and explore some of the advantages of Sitefinity’s web services.  In future blog posts I’ll explore the technical details.  In the meantime, checkout the Client-Side documentation in the Sitefinity 4.0 developer manual.

progress-logo

The Progress Team

View all posts from The Progress Team on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.

Comments

Comments are disabled in preview mode.
Topics

Sitefinity Training and Certification Now Available.

Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.

Learn More
Latest Stories
in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

Loading animation