Friday Jan 09, 2009

Starlight and DSC Relationship

Back in early December the docs.sun.com team released a major design overhaul for the docs.sun.com (DSC) site (technically v4.3.0). This provided a fresh new look and a number of useful enhancements for IA, Search Engine Optimisation, standards alignment and much more.

New DSC Homepage Design

Quick bit of background.... The docs.sun.com application is compiled as a WAR file... no surprises there... unfortunately the DSC Homepage has historically been embedded into the application. This means that even changing a single link on the Homepage required rebuilding the application and releasing an entire new codebase to the front end servers. Not ideal, the homepage was often out of date and when it was updated it required a lot of effort.

The new homepage solution... With the 4.3.0 redesign the DSC team wanted to take the opportunity to decouple the Homepage from the core DSC application. The question was where to host it? Starlight (the xx.sun.com CMS) seemed like the obvious choice but routing traffic between the two would be complex wouldn't it? NO! It's so very very easy with Web Server 7...

The beauty of WebServer 7... Routing traffic between the DSC servers (there are 3 of them) and the Starlight appservers (there are 6 of them) becomes very simple indeed. A simple edit to obj.conf redirects all traffic to a VIP that sits infront of the Starlight appservers.

The following is in the "default" object:

# Identify all Starlight assets and send to the passthrough
<If $uri eq '/' or $uri eq '/index.html' or $uri eq '/app/docs/index.jsp'
  or $uri eq '/index.jsp' or $uri = '/css/*' or $uri = '/images/*'
  or $uri = '/im/*' or $uri = '/js/*' or $uri eq  '/language-select.jsp'
  or $uri eq '/change-language.jsp' or $uri = '/_service/*'
  or $uri eq '/language-select.html' or $uri='/share/*'>
    NameTrans fn="map" from="/" name="passthrough-starlight" to="http:/"
</If>

And a passthrough object is defined:

<Object name="passthrough-starlight">
 ObjectType fn="force-type" type="text/html"
 ObjectType fn="forward-ip" hdr="Proxy-ip"
 Route fn="set-origin-server" server="starlight-preview-server.sun.com"
</Object>

Simple!

The additional benefits to DSC... Over the past 5 years Starlight has continued to evolve to meet the latest needs of publishing, business and design teams within Sun. By passing the DSC Homepage traffic through to Starlight it is now possible for DSC to leverage all of the Starlight functionality.

Translation

The Starlight system has built in workflow translation: Select files, select languages that you want to translate into, files get sent for translation, vendor returns translations, approval/correction workflow, publish live. Done.

Global Fallback

In mid 2008 a powerful addition came online for Starlight named 'Global Language Fallback' (GLF). This provides publishing teams with a way to say "This file/directory is global, make it available on all sites." [1] For assets such as /css/*, /im/*, /js/* this means that there is only 1 copy of each file on the filesystem, but they are shared across *every* site. By using GLF, DSC automatically stays upto date with all css/im/js assets thereby freeing up DSC resources and allowing automated compliance with the WebDesign team's best practices.

Templated Authoring

The DSC team could have opted for hosting a static HTML Homepage on their own WebServer. It would have worked. But one of the huge publishing wins for Starlight is templated authoring. A publisher with no HTML experience can edit all of the Homepage content via a GUI form, preview the result and then publish the content at a desired point in teim. This is quick, simple to learn and reliable. Classic separation of data from presentation thereby enforcing Sun's Web Standards.

 

There are of course a whole raft of other benefits that DSC can piggy back upon that you would expect to find in any Enterprise CMS; Versioning, rich metadata, tagging, ssh/scp access, scheduled content, bulk updates, content search, approval workflows, language fallback, access control etc... etc.. the list goes on....

So far only the Homepage, language selector and all /css/*, /im/*, /js/* assets for DSC are served from Starlight (just a few hundred thousand HTTP requests per week) but there are great opportunities (and plans) for further content in the future.


Well done the DSC team!


[1] GLF can be tuned more than this to provide site, language and content-type filtering as well. Look for a future more detailed blog on GLF in the future.


Comments:

Hi Nice blog, I added it to my favorites. This will serve as good reference for me.

Posted by Linear Actuators on January 15, 2009 at 09:13 AM GMT #

Post a Comment:
Comments are closed for this entry.