After spending last week in LA for Microsoft PDC, this whole week I was in Redmond (Microsoft is Headquartered here). I didn’t have any meetings today as all Microsoft Managers were out to MS Company Meet today – Microsoft is 30 now.
My Cousin “Vijay” who lives here, suggested I drive down to Deception Pass. Deception Pass is a beautiful scenic place and a Washington State Park, which is about 80 miles from where I stayed (Bellevue, WA). In the past I have driven in the US only twice – first time with in Bellevue area itself and the second was last week for few miles on the way from LA to Sequoia. Though I have been driving in India for more than a decade, driving in the US is different especially the road rules. In the past whenever I came to US it has always been for short stays and I have avoided driving here.
Yesterday I called up Enterprise Rental, got myself picked up and rented out a Dodge Neon Car. I went with the full insurance package which covered risk upto a million dollars (enough even for US terms). Today morning started around 10:30AM and reached Deception Pass Bridge view point around 12:30PM (520 West, 405 North, I 5 North and finally on SR-20 West). Though I feared, driving was not difficult here; Equipped with a Direction Map from MSN site, I took the correct Exits and turns. I had gone with my colleagues, we spent next few hours at various scenic spots around Deception Pass Bridge and inside the State Park. On our way back to Bellevue, we stopped at Prime Outlet before joining I 5 South. Overall it was a day worth spent, enjoyed it most.
Web Content Management is now part of Microsoft Sharepoint Server (Office 12 System). MCMS is dead. Ryan Stocker from Microsoft in WCM session highlighted the new features of upcoming WCM product.
- Today there are two portal stories from Microsoft – Sharepoint is for Intranet and MCMS was for Internet. With Office 12, it will be an integrated story. You can create Internet Facing Sites and Intranet (as always) using Sharepoint technologies. Remove forced choice “CMS02″ vs Sharepoint Portal Server. Roadmap towards an integrated Enterprise Content Management (ECM) story.
- To achieve the last point all WCM services found in MCMS02 have been developed into the new Sharepoint server. This meant adding Internet readiness to Office “12″ Servers.
- New WCM features introduced
○ Consistent and Pixel Perfect Branding - which was extremely difficult today with Sharepoint
○ Page Authoring – Web based or Smart Client (Word)
○ Dynamic Site Navigation controls/webparts
○ Governance – Publishing Schedules, Approval workflow, Formatting restrictions
○ Site Management Tools
○ Performance – Internet Scale & powerful Caching to handle high traffic rather going to DB for every piece of content. Also cache buckets are based on user rights.
○ Content Deployment methods
○ Security – Forms Authentication, Anonymous
○ Multi-Lingual Sites (Basic site in English and then other sites depend on this)
- Customers will be provided powerful tools to migrate all content from existing MCMS02 sites to Office “12″ server.
- Make creation of dynamic, produced websites dramatically faster and easier.
- Provide great Out Of Box (OOB) Experience
- Lower amount of costly custom code
- Incremental migration is like a job that can move incremental content from CMS02 every night to the new site
- In the new system:
- Portals are a collection of webs
- The webs are arranged in a hierarchy
- Hierarchy controls navigation and security
- SPSv2 Area, CMS02 Channel are now all based on the WSS webs construct for containership
- Each web has a document library for pages. Pages are special document library items. So they inherit all WSS functions like versioning, Check-in/Check-out, workflow free
- Each web can have its own ASP.NET v2.0 master page. Then there is page layout that actually lays out the page
- WSS ships with standard field controls. There are additional CMS field controls like rich HTML
- Portal Navigation
- Includes Webs, Pages and Authored links
- Dynamic Navigation based on site hierarchy
- Navigation links trimmed based on security, workflow state and publishing schedule
- A new WSS authentication provider implemented on top ASP.NET Role provider
- Viewer role: Viewers can use the site, can view pages, documents, images. But they can’t use the Sharepoint application – Can’t call Remote APIs: SOAP, DAV & RPC. Can’t view application UI
- Policy: Can constrain maximum access per web application. Deny all write access via http://site:80
- Farms: Scale up and down as needed
- Multi-farm: Staging environments in different networks. Authoring in Intranet with AD Authentication. Production in live networks with forms authentication
- Site collections can be deployed between environments
- Paths and Job
- QuickDeploy job role allows news authors to deploy content immediately
- Normally there is path which is channel connecting authoring to the live environment
- Jobs control what content is copied when
- It doesn’t deploy security setting
Having worked on Portal Development for nearly a decade, I was quite skeptical when I heard Ryan talk about using Sharepoint as the basis for a High Traffic Internet site. So I went to Hands-On-Labs (HOL) and played around with this new technology. After an hour of getting my hands dirty I was convinced that this is very promising piece of work. Though the final release and performance will determine its success, the idea of using Sharepoint’s (ASP.NET v2.0) evolved WebPart technology as the basis, brings in hitherto unseen power to the WCM space.
You can download from here
slides for this and other Sharepoint sessions of PDC ’05. Thanks to Mark Harrison
for the link to this page.
Bob Muglia did the keynote on Day 3 and it was all about (as expected) Windows Server System. The highlights are:
- Microsoft Windows Server Cluster Beta 1 – www.microsoft.com/hpc. Today Linux dominates the high performance computing (HPC) market through ad-hoc custom clustering. Windows Server 2003 Cluster Edition hopes to bring a common platform to do this.
- Microsoft is introducing Infocard – a federated identity verification system. You remember .NET Hailstorm?. This time it is supposed to be different, let us wait and see
- Microsoft is introducing XPS (code named Metro) document delivery system as part of Avalon (WinFX WPC). XPS will be the default that applications speak to Printer for Printing, Printer are expected to have native XPS compilers in them around Windows Vista timeframe. XPS is based on Windows Presentation Framework XAML.
- Windows Server Longhorn to be released in 2007. Today first CTP with IIS 7.0 was handed out to all PDC attendees.
- Microsoft is introducing Transaction based file sytem (TxF) for NTFS. It will be an enhancement to NTFS released as part of Longhorn server, which makes every file operation as a transaction. Just like in Database you open Begin Trans, do file copy/move/delete/write/modify and commit trans. If you aren’t using it no overhead; usage also will add very little overhead. I think this is very cool.
- New Event Log model to be introduced in Longhorn server
- IIS 7.0 to be made Modular – modeled like Apache web server. (More details in a separate post). Will also have Windows Activation Service (WAS), ASP.NET Integration, Integrated Diagnostics and Tracing.
- Windows System Center Management, Windows Hypervisor, Virtualization and new enhanced VHD format to be introduced post longhorn server
- Today every piece of MS Server System is available in 64bit. MS Internal IT has seen huge performance benefits on running web servers in 64bit
Windows Workflow Foundation (which was announced today) is an extensible programming model and runtime components for building solutions on the Windows platform. Major highlights:
- Bundled part of WinFX runtime, should get released around Windows Vista timeframe
- First likely to get released as part of powers Office “12″ Server workflow. Windows Sharepoint Server “12” uses WWF workflow internally
- It is important to understand WWF is not a server product, but BizTalk is a server product. WWF can do both Human Workflow and EAI/B2B. There is no server or service component for WWF. It gets kicked off from your main function. You call a start function of WWF and the WWF runtime runs inside your application. User has to develop the host application that hosts the runtime and also has to develop failure (Restart) and multiserver setup. Persistence can be stored to a File or a SQL Database through appropriate connection string to any machine.
- Workflow models and definitions can be stored as a .CS (.VB) File or as .XOML file
- Dynamic changes can be made to the workflow of a running instance
For more details, refer to MSDN WWF Site or Windows Workflow Site
Eric Rudder did the the keynote on Wednesday. The highlights of the keynote were:
- Announcement of Windows Workflow Foundation (WWF), though a workflow engine from Microsoft has been rumored for several years, it finally was out of the bags today. A powerful Workflow framework as part of WinFX is a very compelling value proposition for .NET developers. Almost all business applications (Web or Windows) has some kind of Workflow custom build into them. Moving this to the underlying platform will certainly speed-up development and make it easier to debug, develop and maintain.
- Microsoft announced MS Expression, a suite of designer tool. Traditionally developers and designers used different tool sets to do their work, Expression aims to bridge the gap. Three SKUs were announced part of Expression family
- Microsoft Acrylic Graphics Designer – aimed at pure designers who can use it do powerful bitmap and vector graphics in the same design surface. Ability to generate XAML files.
- Microsoft Sparkle Interactive Designer – aimed at designers and developers to design Windows Forms Application using XAML.
- Microsoft Quartz Web Designer – aimed at designer and developers to design standards based Web Application. Everything the tool does XML, XSLT, CSS, HTML all conforms to standards. By default the tool generates XHTML 1.0 transitional – can be configured to generate based on any W3C Schema. Provides pretty cool two-way (Design and Coding) CSS and XSLT Design surface.
- The best part of both Sparkle and Quartz is that it uses the same project files as Visual Studio 2005 and preserves formatting of all source files. Thanks Microsoft for listening to us on preserving formatting and adopting standards!
- The folks from North Face adventure wares demoed an application that allowed sharing a 3D model designed in Autocad with people who had only Avalon was very compelling.
- So far applications to be customized by end-users with a scripting language, had to use only Visual Basic for Application (VBA). This is commonly used by apps like MS Word, Excel, Powerpoint, etc. Now Microsoft is introducing Visual Studio Tools for Applications (VSTA) which provides the entire set of .NET Runtime and Languages available for developers to customize apps. An early version of Autocad was demonstrated using VSTA as Proof of Concept.
- All PDC attendees to be given free copies of SQL Server 2005 once the product gets released. The final CTP of SQL Server ’05 was given to us on that day.
- Release Candidate of Visual Studio 2005 was also given to all attendees. Finally Whidbey seems to get out of the door.
With so many things that was announced today, I am lost on where to start. I will save myself much of laundry list reporting of features announced which I am sure press has done a great job – instead I will give links to these press coverages.
First Bill Gates and Jim Allchin Keynote (Read a quick detail here) - It was fabuluous stuff that were being presented, what were showcased today is sure to have an impact on the PC Users and Developers for next 10 years. You can read EWeek’s complete coverage here on Windows Vista & Office 12 with screenshots.
In the keynote while BillG or Jim were speaking they had Text rendered on real time (Closed Captions) on the side screens. I am sure this definitely helped non-native english speakers to follow on the speech.
BillG’s keynote (Official Speech Transcript is here) demo included all the great things that are coming in Windows Vista and IE 7.0. The Windows Vista SideBar and SideShow (This allows you to access Inbox/Calendar/Notes from a small screen in your Laptop Cover when your PC is switched off) were impressive work. The Sideshow is a real innovation coming in the laptop space after a long time. The other cool thing in Windows Vista with Avalon was true support for Open Fonts that allows amazing font displays like the picture below. Notice how a character changes its previous character appearance. This is real delight to watch when you are typing and watching in real time the changes.
BillG for the very first time showed the new Office “12″ interface and features. One of the little things in that I really liked was the ability for Outlook to take documents from Sharepoint Document lists offline with you.
Apart from this, BillG’s Keynote had a recruiting video featuring Bill Gates and a young lad, the story was about all that BillG had to undergo to get this guy work for him. Very funny!. You normally perceive BillG to be a geek, lacking fun but this proved that completely wrong.
Jim Alchin started his keynote with showing an original IBM PC/XT running Windows 1.0, which was cool to watch.
Windows 1.0 running MS-DOS Explorer
Windows 1.0 running Riviera game
In Jim Alchin’s keynote there were many Vista’s stuff demoed including:
- Windows Vista’s SuperFetch and its ability to use USB Memory stick as additional RAM for optimization. Using USB Memory this way was certainly a good idea
- Windows Presentation Framework Everywhere (WPF/F) that allows you run Avalon lite apps in Mobile devices
Then Jim invited the 4 Senior Platform Architects in Microsoft to show code of upcoming technologies. These were legends like Anders and Don, the way they typed the code flawlessly, the co-ordination and sync-up between them were awesome. All upcoming technical presenters had tons to learn from this act. When Anders presented on upcoming LinQ’s technology, Don typed the code in perfect timing; similarly when Don talked about Indigo (WCF) Chris typed the code. Awesome stuff!
The query language included new XLinQ technology, as you can see in the code below, it makes generating XML very easy. Good Stuff.
Finally Scott Guthrie (I love this guy, especially his works and more so his blog) showed the new Atlas ASP.NET Technology. Read here about what Scott’s got to say about the demo he made today.
Bill Staples, the IIS 7.0 PUM (Product Unit Manager) presented a very enjoyable session on Day 1 on what he aptly called “Roller Coaster Ride on IIS 7.0”.
These are the major points of his presentation:
- IIS 7.0 primary design goal was to maintain and exceed the rock-solid reliability, ease of management, secure design of IIS 6.0. As a matter of fact, Microsoft has released No Critical Security Patches for IIS 6.0 since its release two years back. No other web server in the same period has the same credibility story.
- IIS MMC console is dead. The present MMC interface has outlived. For example it has stretched the limits of number of rows of tabs you can have in one dialog. On its place, a brand new sleek console has been introduced. It features user interface elements like property windows that people are familiar from Visual Studio.
- ISAPI is deprecated for management. In present and previous versions IIS team used a private API to manage the core server components, but developers had to use ISAPI. Also ISAPI is nearly than 10 years old and the webserver scenario has changed from then. In its place, a brand new Win32 API is introduced for management. In fact, IIS 7.0 team also uses this same new API to manage. The new API is used by the graphical, console and scripting interfaces of IIS 7.0
- The IIS Metabase is dead – Both in Binary and in XML format. You can store for each web site and/or web application its configuration in the same Web.Config file as in ASP.NET. In fact, you can even have a web.config for each folder inside a web application. This will allow you to give the complete application and IIS configuration to operations for deployment through XCOPY. No separate instructions to be performed by operations is required
- Because of the last point, you don’t need to be a machine administrator to manage your individual web site. There are new roles called Site Administrator. New roles model is introduced, this is modeled on ASP.NET Roles engine
- The entire IIS architecture is being compartmentalized. Instead of being one monolithic block of all functionalities in one DLL file like today, IIS 7.0 has it has individual modules. This allows for convenient upgrade and patch story
- You can now write IIS extensions using the same ASP.NET httpmodule interface. In fact, you can mix and match native and managed httpmodules.
Since IIS uses HTTPModules, you can use ASP.NET Forms Authentication module to be effective even for non ASP.NET Pages like Perl/Phthon/CGI/ASP.
- Excellent trace and log features not only for ASP.NET but for the entire callstack
- IIS 7.0 will first ship with Windows Vista Client and then with Windows Longhorn server.
I have been using IIS from its 4.0 release, these new features no doubt, will go a long way in managing high traffic websites and web farms. The trace feature by itself is sure to save tons of time for all IIS 7.0 administrators and developers. I am dying to start deploying this. It is now being released with Longhorn Server CTP.
If you thought power outages are common in developing world, think again. Over the last few years power position has been extremely good in Chennai (South India) where I live and power outage have been almost history – other than scheduled maintenance works which too are very few and very far in between.
Unfortunately Power Outages are becoming more common in USA. Today while I am in Microsoft PDC ’05 happening in LA Convention Center, power was not available for almost half-an-hour from 1:10PM to 1:45PM (PST). Only after few minutes from the outage, did even the emergency lamps came live. Our sessions have to be stopped because of no AirConditioners and Audio Visual. And to think of it, a state of art Convention Center not having backup power was strange for me.
Read the full story here.
Your favourite is writting this post from Los Angeles, USA. Just arrived few hours back from Chennai by Malaysia Airlines, via Kuala Lumpur and Taipei. Had a 11 hour break in KL and got a stay at Pan Pacific KLIA Hotel. The Airport - KLIA never ceases to impress me with its Infrastructure and Greenery; But somehow I find the atmosphere and the shops to be exciting in Singapore Changi Airport.
I am here for Microsoft PDC ’05 that starts from tomorrow (local time) and I will be writing on what I find interesting here.
As of now, I am super excited about PDC ’05 – waiting to hear, see, learn more about IE 7, VISTA & Office 12.
View from the Pan Pacific KLIA Hotel Room I stayed
I started my programming way back in my 8th Standard (8th Grade) with GWBasic. Then during my high school moved to FoxBase+ and Clipper. I still remember the joy of my first Basic programs running – as a matter of fact my very first program was actually written in a paper, before I was permitted by my “Basic” tutor to key it in a PC.
My exposure to serious programming was with FoxBase+, while attempting to enhance a simple Invoicing application written to run in MS-DOS 4.0 (Do you remember this OS?). Then at my family business they bought a custom developed Inventory Management written in Clipper Summer 87. The consultant who developed it, abandoned us during a Virus attack (strangely he had the entire source code only on our machine and we lost it) and I had to reverse engineer the application and develop it afresh in FoxPro. Thanks to my Uncle Mr.T.N.C.Veeraraghavan who actually pushed me into doing this project. If not for him I was merrily playing Games and experimenting with PCTools. PCTools was a suite of power tools for MS-DOS that allowed you to extend beyond limits of DOS – the good thing about using it was that it allowed me to understand the PC Architecture and File System very well. PCTools was eventually bought and amalgamated into Symantec’s Norton Utilities.
My first attempt at doing the application with FoxPro was disastrous. Though I got the DB Schema, Screen and Reports working reasonably well; the application will run out of memory (remember the 640KB and 1MB Memory) after few screens. It turned out that when the user closes a screen and wants to go back to the main screen, I was doing things totally wrong. Instead of calling “EXIT” function to get out of the current function and return to the callee, I was basically calling again the main function. So within few calls, the stack was getting overflowed. Though I am explaining what happened then very well now, I was clueless at that time and had to go to an expert – Mr.Shivraj of Sysreader Magazine, who asked me “Venkat, why is that your functions don’t end!”.
After that I immersed myself in FoxPro books and manuals (no Internet was available those days) and finally got the application working correctly. And it did work correctly for next 10 years. Moving from one machine to another over the years and on the way seeing various versions of OS – MS-DOS 4/6, Windows 3.x, Windows 95, Windows 2000 and finally Windows XP. The remarkable thing was during these 10 years, no one had ever (almost) touched the source code or took more than 10 minutes in backing/restoring/setting it up in a new machine. Around 2002, I was fed up with this MS-DOS application, so replaced it with a Visual Basic Application. The new VB application did pretty much the same functionality of the old FoxPro application, expect this time it was a Windows Application.
After my stint with FoxPro, I graduated to Nantucket Clipper Summer ‘87 for a short while and then to CA Clipper 5.x. CA Clipper 5.x was my stint on Object Oriented Programming (OOPS) and I still cherish my first full fledged OOPS application for a fleet management system – but that story and details are for a different day!.
Coming back to the reason on why started this post is that I got reminded about my Foxpro experiences after reading this blog posting by Drew Speedie. Drew has written his comments about a recent interview by Anders Hejlsberg (The Father of C#) where Anders has talked about his aim of bringing FoxPro like Data handling capabilities to next version of Visual Studio called “Orcas”.
Reading this post I couldn’t help recollecting my views of FoxPro and xBase. For many years, especially during the days I was programming and then designing Windows Client/Server Applications – I always wondered on why it was not as easy doing common DB tasks in Visual Basic like it was in good ‘ol xBase. For example, even FoxBase+ had very powerful input controls out of box through its Picture clause, that allowed fine control over what users can type – whether it be a phone number, a numeric value or text (today we call this as mask edit controls). Another example could be that in FoxPro/Clipper days we had the ever powerful Browse Command which allowed rich data editing capabilities that will envy today’s sophisticated Data Edit controls. In CA Clipper 5.x with its TBrowse Class (Am I not good for remembering all this after so many years) , you got absolute control over how it appearance on screen and behaviour. You could wire up 100’s of events in TBrowse to Code-Blocks – which were flexible and powerful Macro’s that gets compiled during runtime and can do almost everything that was possible in design time coding.
Over the last two decades VB, C# and Java have evolved and made programming easy and approachable to millions of developers. They have certainly realized into applications thousands of dreams, especially in Web and Enterprise scenarios. Building a huge multi-user, multi-location application with FoxPro/Clipper was unimaginable, but today anyone can build that with reasonable effort using say Visual Basic and SQL Server or Java and MySQL. My only complaint is that FoxPro and other xBase languages understood and identified themselves with underlying data much better that today’s programming languages – be it VB or C# or Java. This could be because of the fact that xBase languages had the underlying data engine as part of them. They were a combo of a programming language + Database Engine (in today’s parlance) + Runtime. Because of their close ties with database engines, they had some really useful features/commands that simplified presenting/managing/manipulating data. Identifying and bringing back these into today’s mainstream programming languages like C# and VB.NET, will certainly go a long way in the aiding developers.
- UnOfficial History of Clipper
- The History of Microcomputers