↑ Grab this Headline Animator
I just flew back from the Microsoft Professional Developers Conference (PDC09) in Los Angeles. What a week, with a lot of announcements, surprises and achievements on multiple fronts. From the interoperability perspective, a lot happened too.
This PDC09 further demonstrates how Microsoft is making interoperability a priority and reality by demonstrating how − as an open platform − Windows Azure offers choices to developers. We’ve been able to show our progress with practical examples (like WordPress), additional technologies to run on Windows Azure (Tomcat, MySQL) and new SDKs/tools (like AppFabric SDK for PHP, Windows Azure Tools for Eclipse version 1.0). We’re on a journey, but it’s a significant milestone!
So let’s recap what happened:
Ray Ozzie’s Keynote: Ray announced more options for developers on Windows Azure with Tomcat(Java), memcached and MySQL. This was illustrated by Matt Mullenwag running a demo of Wordpress running on Windows Azure and followed by Martin Cron from www.ICanHasCheezburger.com who showed their new Wordpress-based blog http://oddlyspecific.com/ which uses an image management plug-in based Windows Azure storage.
Watch this video with Steve Marx (Technical Strategist in the Window Azure team) and Vijay Rajagopalan (Principal Architect in the Interoperability team) for an overview:
Refer to PDC sessions Building Java Applications with Windows Azure and Developing PHP and MySQL Applications with Windows Azure for more details.
-*-
Another interop demo: Domino's Pizza Java Tomcat-based application running on Windows Azure. Domino's Pizza showed up in a short video in the keynote where Jim Vitek, Domino’s Director of eCommerce stated: "We have to buy hosting infrastructure to meet our highest peak which is Super Bowl which is 50 percent above our next highest peak which is a typical Friday night. So there’s a tremendous amount of unused capacity in our hosting infrastructure that Windows Azure allows us to eliminate"Domino’s Pizza was also in Sumit Chawla’s talk at Web 2.0 expo demoing the scenario with Tim Wise from Domino's Pizza. Read this blog post for more details: “Domino’s Demonstrates Tomcat Site on Windows a Azure”. Sumit also made a few interoperability announcements from the #web2e expo floor. Check this PDC09 session as well: Lessons Learned: Migrating Applications to the Windows Azure Platform.
A dedicated Interoperability page on the Windows Azure portal: www.windowsazure.com/interoperability. You’ll find here the overview and links to resources which will enable various developer communities to leverage Windows Azure either as the primary cloud infrastructure or simply to extend their existing applications.
Windows Azure SDKs for PHP and Java and tools for Eclipse version 1.0 released: This release is the culmination our team’s year-long work with our partners for bringing core scenarios to life and a release that many of our customers & open source developers have eagerly been waiting for since our last CTP release at Eclipse Summit Europe. Watch this video with Maarten Balliauw, initiator of the project and Vijay Rajagopalan, for a quick overview:
New Interoperability Bridge: PHP developers get an SDK for the Windows Azure platform AppFabric. Windows Azure platform AppFabric (formerly called .NET Services) includes the Service Bus and Access Control services that provide infrastructure in the cloud to connect applications.
A new SQL CRUD Application Wizard for PHP: This tool enables PHP developers to easily generate PHP code that performs basic Create/Read/Update/Delete operations for Windows Azure Tables SQL Azure and SQL Server
Using Windows Azure Storage from Ruby: We met with Johnny Halife, Principal Architect from Southworks, who has developed a Windows Azure SDK for Ruby. Watch the video for a quick overview:
Apache Stonehenge demoed at PDC09: Kent Brown, product manager for WCF gives us an update and show a demo of the different StockTrader applications working together. Watch the video till the end, Kent unveils the mystery on why the project was called Stonehenge!
In case I missed anything (I’m sure I have) let me know, I’ll update the post.
[Update 11/23]
ASP.NET Ajax Library: the first project to be contributed to the CodePlex Foundation.More information on James Senior's blog: http://www.jamessenior.com/post/News-on-the-ASPNET-Ajax-Library.aspx
-- Jean-Christophe Cimetiere, Sr. Technical Evangelist
Last week we participated in the DII workshop that took place in Brussels.
Attendees included a variety of document-format experts from the ODF and Open XML worlds, including members of SC34 working groups, the OASIS ODF and OIC TCs, ODF and Open XML implementers, public-sector experts in interoperability and archiving, and others.
Dough Mahugh has the summary and nice photos.
A couple weeks ago, Microsoft was at ApacheCon. We reported the progress made on the Stonehenge project and presented the roadmap.
The goal of Apache Stonehenge is to provide a public forum to test the interoperability of WS-* protocols on different vendor stacks and to build sample applications that could provide best practices and coding guidelines for better interoperability. The main sample application, StockTrader has been implemented on .NET (by Microsoft), PHP (by WSO2), WSAS JAVA stack (by WSO2), Metro (by SUN Microsystems), Spring (by SpringSource). The latest version of StockTrader uses the WS-Security and WS-Trust protocols for claims-based authentication scenarios. This allows the end-users to be authenticated through an independent Security Token Service (STS) that is trusted by the bank and to pass that token to the broker to process the transaction.
This week at PDC09, we were demoing the project. I went to see Kent Brown, product manager for WCF and asked him to give us an update and show a demo of the different StockTrader applications working together.
Watch the video till the end, Kent unveils the mystery on why the project was called Stonehenge!
-- Jean-Christophe Cimetiere
Today I presented a session at the Web 2.0 Expo in New York called Cloud Computing with Windows Azure Using Your Preferred Technology. During my talk, I stepped the audience through a series of demonstrations in which non-Microsoft tools and programming technologies, such as PHP or Java, were used natively to create cloud computing solutions with the Windows Azure platform. I also had the exciting opportunity to debut new open source projects:
If you want more detail about these projects, just click the links above. There you’ll find additional information, including videos.
I was very fortunate to have Tim Wise from Dominos Pizza as a guest speaker in my session; he showed how Dominos dealt with the problem of handling peak website loads (like on SuperBowl Sunday) by using Windows Azure for scale-out. What makes the Dominos demo very interesting is that the Dominos web-application is a Java Application running on TomCat. A true testament to the interoperability of the Windows Azure Platform! Read this blog post for more details: “Domino’s Demonstrates Tomcat Site on Windows Azure”
I received some very interesting questions and feedback about these projects from those who attended my talk, so I want to extend a big thanks to everyone for their input. It’s been really nice to be at Web 2.0 and connect with real-world developers building next generation websites and applications.
--Sumit Chawla, Technical PM/Architect, Microsoft Interoperability Team
As many of you know, most large web sites that feature lots of content often experience traffic that is looking for pages that either don’t exist or have been moved. But did you know that the percent of traffic that causes web servers to return a generic 404 error page or sitemap is as much as 2 to 10 percent? That’s an awful lot of viewers experiencing a dead end as a result of nonexistent or relocated pages.
However, the Bing 404 Web Page Error Toolkit for PHP, which was debuted at the Web 2.0 Expo in New York today, helps developers better manage 404 errors by dynamically creating a customizable page that contains error messages and search results that are seeded with relevant keywords from Microsoft’s Bing search engine. This page ultimately helps web site visitors move past the missing page and find the information they need.
The Bing 404 Web Page Error Toolkit for PHP is a customizable PHP application that replaces the default error page on Microsoft IIS or Apache web servers with Bing search results that are based on keywords that have been derived from the URL requested by the user. The toolkit is available on Codeplex as an open source project, and is released under the Microsoft Public License.
Say, for example, a user requests a page with the URL “someURLontheweb.com/interoperability/bridges,” and the URL doesn’t exist. The toolkit dynamically creates a page like this one:
The process works in this way:
You can see an overview of the architecture, the configuration steps, and a quick demo of the toolkit in the following Channel9 video:
The toolkit is very easy to install and use, with very little customization necessary. Feel free to check the project site on Codeplex http://bing404php.codeplex.com. As always your feedback is welcome!
.NET developers—note that a similar kit for ASP.NET is available for ASP.NET here.
—Sumit Chawla, Technical Product Manager/Architect, Microsoft Interoperability Team
You can see an overview of the architecture, the configuration steps, and a quick demo of the wizard in the following Channel9 screencast:
Here’s in a nutshell the logical architecture and flow of the wizard:
You can get more details about the project and download it from here.
--Sumit Chawla, Technical Product Manager/Architect, Microsoft Interoperability Team
I’m pleased to announce a new software development kit (SDK) that helps PHP developers easily leverage the Windows Azure platform AppFabric (formerly called .NET Services). This SDK is the third in a series, the first of which was released a year ago. Equivalent SDKs for Java and Ruby are also available and they have been updated to reflect the latest version of the AppFabric.
The AppFabric SDK for PHP is an open source project developed by Persistent Systems Ltd. and is available today on Codeplex: http://dotnetservicesphp.codeplex.com/. Microsoft is providing funding and architectural guidance for this project.
About the AppFabric
As part of the Windows Azure platform, the AppFabric includes the Service Bus and Access Control services. They are both web-based services that provide infrastructure in the cloud to connect applications. The Service Bus acts as an intermediary between applications and services. For example, developers can use it to bridge on-premise and off-premise applications or create composite applications. The Access Control service enables external users to connect to cloud resources using their external identities. It also enables developers to create user accounts that federate a customer's existing identity management system that uses the Active Directory service, other directory systems, or any standards-based infrastructure. You can learn more on the http://www.microsoft.com/windowsazure/dotnetservices/ pages. I suggest that you start with the video:
“What are the Access Control Service and the Service Bus?”
Understanding the function of the SDK
Before I delve any deeper into the technology behind the SDK, I want to address a question that we on the Interoperability Team are often asked:
“Why would I need a SDK to use the services offered by the Window Azure platform when the platform has been built from the ground up with interoperability in mind?”
Let me be clear: the Windows Azure platform natively supports multiple Internet protocols and standards (such as HTTP, XML, SOAP, REST, and ATOM, to name a few). So it does not require an SDK to build applications. However, the SDKs can boost developers’ productivity and provide guidance on how to use the platform. Think of SDKs as speed-dials to the Windows Azure platform!
Watch the video
To find out more about this project, watch the video with Sumit Chawla, Technical Product Manager/Architect from the Microsoft Interoperability Team. Sumit explains the SDK architecture, provides sample scenarios, and demonstrates the SDK in action with a sample PHP application.
[This video is posted on channel9 as well]
A typical scenario
Let me try to summarize in a diagram a typical scenario using the AppFabric SDK for PHP.
Imagine you want to provide access to an application or service living within the boundary of your enterprise, but you cannot (or don’t want to) open a direct communication to your application. You can use the Service Bus to act as the intermediary and communicate with third parties via buffers of messages. The Access Control service makes it easier to deal with the identities of your users and the associated level of authorization.
In the scenario represented by the diagram below, the PHP application that lives behind an enterprise firewall can share specific services with other applications—whether they run on Windows Azure or on other cloud infrastructures, and using a mix of technologies.
For more details on the SDK, feel free to visit the project site at http://www.dotnetservicesphp.com/, which includes tutorials, sample code, and a demo application that can help you better understand how to use the services in your own application.
Enjoy.
—Jean-Christophe Cimetiere - Sr. Technical Evangelist
We’ve worked very hard to release version 1.0 of three different projects today, all timed to coincide with the availability of the Windows Azure platform, which was also announced today at the Professional Developer Conference in Los Angeles.
This release is the culmination our team’s year-long work with our partners for bringing core PDC09 scenarios to life and a release that many of our customers & open source developers have eagerly been waiting for since our last CTP release at Eclipse Summit Europe. I want to thank our engineering partners Real Dolmen & Soyatec who have done a great job in such a short period of time to complete SDKs & tooling.
The version 1.0 of the tools & SDKs can be downloaded from the below location.
The Eclipse tooling & SDKs are fully compatible with Windows Azure that has just been released, so you can build services & web applications using PHP & Java in Eclipse and deploy them to the cloud today.
I am excited to share some of the new features that we have included in this version of the Windows Azure Tools for Eclipse:
Finally, the many new features of the Windows Azure SDK for Java are showcased in a new tutorial that illustrates how Java developers can take advantage of Window Azure in heterogeneous scenarios, with both on-premise and cloud Java applications. The tutorial is available at: http://www.windowsazure4j.org/learn/setup/
You may also have heard that Microsoft today announced new third-party technologies that can be run inside Windows Azure, including MySQL and Java (we’ll come back to this later!). All of these technologies take advantage of the automated service management capabilities in Windows Azure. These developments further deliver on Microsoft’s strategy to make the Windows Azure platform open and interoperable.
More interoperability treats are going to be announced at PDC, so stay tuned!
-- Vijay Rajagopalan, Principal Architect
Microsoft Silverlight, now at version 3.0, is a great way to create rich web applications that run on Windows, Mac OS and Linux. It provides an engaging, rich, safe, secure, and scalable cross-platform experience. Best of all you can run it off any web server (IIS, Apache for e.g.) and it can be called from any PHP website! Our team has released some helper samples to get you started. You can find the project on the Samples for PHP with Silverlight web page, and the project source can be found on Codeplex. The project includes sample HTML and PHP scripts.
How it works? Silverlight content is embedded into an HTML or PHP web page and in turn is transferred to the client browser where it is displayed by the Silverlight runtime (plugin) installed on the client computer. The architecture is shown on the right.
You will first create a Silverlight application file (.xap). We have provided a sample file, HelloPHPDevelopers.xap within the download or you can also create one for yourself by using another tech bridge we have, Eclipse Tools for Silverlight. Our colleague Steve Sfarz in France has a great post up on his site describing how to get started with it and create your own .xap file. This file is essentially a packaged archive or .zip file (try changing .xap to .zip and browse into it) with a collection of libraries that you have compiled for your application. If you follow the directions on the site you will end up with a button on a form with some custom actions.
You will then copy the .xap file you have created to a directory within your web site where you plan to host the Silverlight content. You will then want to create a custom HTML or PHP page that includes the following code in it’s body
That’s all you need to run the .xap file you created and you can swap it out to any other file Silverlight application you choose to use. If a user does not have the Silverlight plugin installed they will be presented with a 'Get Microsoft Silverlight' image and a link to install the plugin too. You should see an example of this in action right below this paragraph.
To do this dynamically from PHP, you can use the function below. This is handy if you have Silverlight content in more than one place on your website.
That’s all you need to take advantage of Silverlight as a content source for your PHP website. Have fun and share your experience back with us!
Jas Sandhu Technical Evangelist, Interop Vendor Alliance Manager, Interoperability Strategy Team Twitter@jassand, FriendFeed@jassand
While out at Apache Conference last week in Oakland California. We had an opportunity to participate in the Lightning Talks, and it was a real break from the regular conference proceeding and business as per related to our contributions to the Apache Software Foundation.
The Lightning Talks was held during a reception with plenty of popcorn, beer and wine on Thursday evening, November 5. The talks are a lively, spontaneous ApacheCon tradition with speakers getting about 5 minutes to poke at each other, the projects, technology, community etc … and have a bit of fun!
Team Microsoft was led by Kent Brown, Product Manager for Windows Communication Foundation, was our singer, songwriter and guitar player, wrote ‘Incubator Blues’ inspired by his experience participating in the Stonehenge Project and working with the community. He was joined by his backup singers; Peter Galli, our open source community manager; Tanya Young, our chief cat herder at the conference; and me. It was great fun and we hope you enjoy it!
Video courtesy of Mladen Turk from Redhat, thanks!
Incubator Blues Lyrics by Kent Brown to the music of ‘Walkin’ Blues” by Robert Johnson
Woke up one mornin', said I want a project at Apache If you build it they’ll come, a great community! Woke up one mornin', said I want a project at Apache If you build it they’ll come, just how hard can it be?
People tell me, Incubator blues ain't bad It's the worst old feeling, I most ever had People tell me, Incubator blues ain't bad It's the worst old feeling, Lordie most ever had
They said we need a name, one that no one has used Cause if you’re not careful, then you’ll get us all sued! They said we need a name, one that no one has used Cause if you’re not careful, then you’ll get us all sued!
Hoped for volunteers; thought they'd code it for fun But soon found out, nothing’s done without funds! Hoped for volunteers; thought they'd code it for fun But soon found out, nothing’s done without funds!
I posted my spec, said jump on the boat But they said dude here you gotta take a vote. I posted my spec, said jump on the boat But they said dude here you gotta take a vote.
I asked for a server, place to hold all my stuff They said “You want Windows?” well that's gonna be tough I asked for a server, a place to host all my stuff They said “You want Windows?” well that's gonna be tough
Woke up this morning, to release version 22 That's when I knew I had them Incubator blues Woke up this morning, to release version 22 That's when I knew I had them Incubator blues
Old Seb found a problem; somethings wrong with the build Nothing gets by him, that guy is skilled! Old Seb found a problem; somethings wrong with the build Gotta do it again, oh man am I thrilled!
--------
By Jose Thomas
Hi, I’m Jose Thomas, Technical Solutions Director for Strategic Partnerships and Licensing at Microsoft.
Three years ago, Microsoft and Novell announced a partnership that was received with surprise and skepticism by the IT industry and customers alike. (Watch the press release at http://www.moreinterop.com/) What could possibly drive these two companies into a partnership considering the long history of competition behind them? The answer to this question is simple – customers and their complex IT environments.
Over the years, in search of efficiency and competitive advantage, customers started to look at the end promise of mixed source environments without always considering the plumbing that needs to be done to get disparate systems to work as one.
This is where the Microsoft and Novell Technical Collaboration comes into play. Engineers from both companies work side-by-side in our joint Cambridge, MA, lab working to test our interop solutions and ensure that they work better together. And both companies agreed to develop their products on open standards so that customers don’t have to worry about the plumbing. What started off as a lofty goal of four collaboration pillars has now grown to seven and continues to develop.
In this post, I’ll provide an update of the initial four areas that include Virtualization, Standards Based Systems Management, Standards Based Identity and Federation, and Document Format Compatibility. I’ll also review the incremental collaborations that include Moonlight, Linux Management for MS System Center, and Windows Accessibility.
Virtualization
Starting with Virtualization, the two companies agreed to optimize their respective Server OS platforms to take advantage of each other’s virtualization Hyper Visor. This was made possible by a set of VM adapters that were designed to broker communications between the XEN Visor and Windows Hyper V. These Hyper-call adapters, along with drivers for synthetic devices and storage were packaged up together and offered to customer as the Linux Integration Components. The Integration Components could be downloaded and copied into the Guest OS which when rebooted would experience the additional performance of being and enlightened or para-virtualized guest. This was a key differentiator for Novell as SUSE Linux is the only enlightened guest supported on Hyper-V. Most recently, Microsoft has contributed the Integration Components to the community thru a GPL V2 License
In the last six months, we’ve crossed the threshold into the Virtualization V2 solution. The key differentiator here is that SUSE Linux is an enlightened guest on Windows Server 2008 R2 with Live Migration. Now administrators can move Windows or Linux Guest across physical hosts without experiencing any downtime. With Live Migration supporting SUSE Linux, Microsoft and Novell have been able to narrow the perception gap in heterogeneous virtualization between Hyper-V and ESX from Virtualization Competitor, VMware.
Management
On the Management front, the initial agreement was for both companies to adhere to WSMan protocol standards for Systems Management. Both Microsoft System Center Operations Manager and Novell’s Zenworks Management Platform leverage WSMan protocols for server monitoring. But the innovation continued in the form of a Linux Management Pack that Novell release last year for Microsoft’s System Center. Novell’s Linux Management Pack extends the cross platform capabilities of System Center by monitoring seven key services within SUSE Linux. They include Samba, Bind/DNS, DHCP, LDAP, CUPS, Firewall, and NFS. Novell’s Linux management pack is currently only supported for SUSE Linux.
Identity and Federation
The next and most recent technical solution involves the Identity and Federation Pillar. The agreement was for both companies to adhere to WS* for directory and Identity Federation. This has been brought to life thru Microsoft’s AD FS (Active Directory Federation Service) and Novell’s Access Manager. Both of these products communicate thru the WS Federation Protocols include WS Trust and WS Security. Thru this federation model, customers can take advantage of AD based applications like Microsoft SharePoint in E-directory or other LDAP directory environments. We are currently developing a packaged solution that will extend SharePoint to non AD environments thru this AD FS – Access Manger federation model expected to ship in Q2 of CY10.
More Technical Interop Projects
I’ll spend this last section discussing the remaining technical projects which are Document Format Compatibility, MS SilverLight and Moonlight, and Windows Accessibility extended to Linux
As we celebrate the 3rd anniversary, we’re happy to see the technical collaboration between Microsoft and Novell is alive and thriving with most of the key milestones completed, and our teams continuing to collaborate for our customers’ IT future. With over 475 customers who are taking advantage of the benefits, there’s no doubt that these two companies are taking their customers’ needs seriously. The bridge that was built between the two companies, supported by a mutual respect for intellectual property, continues to deliver interoperability solutions that lead the way to the ever-complex, next generation data center.
Jose Thomas, Technical Solutions Director
I, along with other Microsoft colleagues, participated in the ApacheCon 2009 in Oakland, CA this week. This week also marks the 10th Anniversary of the Apache Software Foundation – so congratulations to the ASF and overall Apache community, which has steadily grown and sustained over the past decade!
Microsoft is now actively participating in several Apache projects and becoming part of the core community. ASF President, Justin Erenkrantz, talked about Microsoft’s contributions recently, as well. Peter Galli has also blogged on other activities that we were engaged in at the ApacheCon this year.
I have personally been involved in the Apache Stonehenge incubator project along with my colleague, Kent Brown, and it is good to see all the progress that we have made in the last 1 year. The original goal of Stonehenge was to provide a public forum to test the interoperability of WS-* protocols on different vendor stacks and to build sample applications that could provide best practices and coding guidelines for better interoperability. We are on a good path to achieving many of these goals, with the main sample application, Stock Trader, now having been implemented on .NET (by Microsoft), PHP (by WSO2), WSAS JAVA stack (by WSO2), Metro (by SUN Microsystems), Spring Web Services (by SpringSource).
The Stock Trader application has also been extended to use the WS-Security and WS-Trust protocols now for claims-based authentication scenarios. This allows the end-users’ access to be authenticated through an independent Security Token Service (STS) that is trusted by the bank and to pass that token to the broker to process the transaction.
Moving forward, the Stonehenge dev community wants to focus on building multiple micro-samples each focused on specific set of WS-* protocols. I think this is a great idea because it will allow vendors, developers and customers to quickly test and learn specific protocols of interest to them instead of going thru one big application that covers most of them. It also allows individual developers to work on different samples and turn them around faster. One other idea that is being talked about is having a dashboard available which can show the results of interop tests across different stacks in an easy to understand and consume way. This will be of great interest to our customers who can see the interop testing results across different versions of implementations of WS-* standards by different vendors. Kent Brown, along with Prabath Siriwardena of WSO2, did a technical session on Stonehenge and talked about future plans. There seems to be good consensus building around these future plans for Stonehenge.
In addition to the meetings to discuss the progress of Stonehenge with other contributors to the project, I had the privilege of meeting with the ASF executives and talk about other projects that Microsoft can work on. I look forward to doing more interop work and engagements with the Apache community over the next year. We also showed off several other interop-related projects that Microsoft has been engaged in recently:
The Toolkit for PHP with Virtual Earth aka Bing Maps is one of the useful tools that we announced and on our Interoperability Bridges site. The toolkit provides a set of files that allow you to connect your server running PHP to a set of client web browser files in JQuery, Javascript, JSON that in turn access the Virtual Earth or Bing maps services in the cloud via request/responses. That’s a whole set of technologies working together to ease developing solutions.
The database that connects to PHP can either be either MySQL or Microsoft SQL Server and the kit ships with both of these in two separate downloadable (.zip) hosted on the Codeplex project site. The open source code is also available from this site and contributors welcome to check it out or contribute to it.
This scenario involves PHP using MySQL. In this case I want to be able to create pins on a Bing Map from a simple form on a web page and a database that stores the location. You have the ability of storing it directly into the database via the service with both the latitude and longitude as raw data or you have a provided helper application that will search a common address and store it transparently in the database and render it on a map as well as do some basic input checking.
You will need to have a web server running PHP 5.2 or higher installed, you must have JSON enabled for previous versions. An internet connection and Javascript enabled in your browser will also be necessary. The phpMyAdmin tool will be useful in setting up the initial database schema. The entries would each have a title, description, latitude and longitude and a position ID as a key. This will all be delivered back as JSON through the returnresults.php service included in the solution. Modify the $serverName variable in this file with the database server name. $uid and $pwd will need to be modified appropriately to a valid database user and password. $dbname changed to the correct database where you created the entries earlier. You will now have a service that will retrieve and store the data for your map.
You may want to add some sample values at the beginning so that some new shapes can be rendered by the mapping service. The pushpin shape is handy here and comes as a default in the solution. You can either populate the locations from your database tool or you can use the example below.
It’s a good idea to change the first variables in map.js with the starting location of your map and the zoom value by changing the results below, set for Seattle WA and it’s surroundings. It will give you a nice user experience if you start with a default that shows where there is a good number of pins or your first entry.
Then create a new html file with in the headers
The following statement loads the map from the mapping service, the function is provided in maps.js
Create a placeholder in the body for the rendered map, the following div will do this for you,
Then bring up a form which calls the other functions also located in the file maps.js. The proper way is to use form that calls the FindAndAddPin function by passing a title, description and location. You can also render the map by itself by omitting this form if you don’t want users to be able to modify it. The service will call the mapping service to find the location provided and provide a callback with an array that includes the latitude longitude. This in turn is stored by the SavePushPin function through the returnresults.php service to the local store we created earlier.
For illustration, you can use the alternate form that calls the SavePushPin function directly and it will write the latitude and longitude via service to the database. It will render the location when the map changes in any way and the function MapChangeHandler, receives an event . That handler lives in the GetMap function in reference earlier. Panning and Zooming the mouse will do the trick and update the values.
Save the html file and put it in the same folder or reference it appropriately along with returnresults.php, map.js, map.css and jquery-1.2.6.js included in the solution package you downloaded on your website and view in your browser!
That’s all you will need to display a Bing map on your site with pre-populated locations using a little PHP, JQuery, JSON and HTML!
I’m very happy about today’s announcements at the Eclipse Summit in Ludwigsburg, Germany. Microsoft,Tasktop and Soyatec announced a series of projects to help developers using the Eclipse platform do two things: take advantage of new features in Microsoft® Windows 7 and Window Server 2008 R2 and reinforce Java and PHP interoperability with Windows® Azure and Microsoft® Silverlight.
In the first of the four projects, Microsoft is partnering with Tasktop Technologies, a leading Eclipse-based solutions provider from Canada, to create an Eclipse “next-generation experience” on Windows 7 and Windows Server 2008 R2, which shares the same user interface improvements. Tasktop Technologies will contribute enhancements to the Eclipse IDE, which will be available under the Eclipse Public License in Q1 of 2010.
In addition, Microsoft has collaborated with Soyatec, a France-based IT solutions provider, to develop three solutions:
Microsoft is providing funding and architectural guidance for all four of the projects. Let’s take a look at some of the details.
Eclipse “next-generation experience” on Windows 7
Microsoft and Tasktop will collaborate to extend the Eclipse Rich Client Platform (RCP), and in particular the Standard Widget Toolkit (SWT), to include the mapping of new features offered by Windows 7. This will allow Eclipse developers to take advantage of the new user interface features offered by Windows 7, directly from the Eclipse IDE and from any desktop applications built on top of the Eclipse platform.
Here are a couple of sample features that illustrate what I’m talking about:
Of course, these features and screenshots are the result of early prototyping, so they may not precisely duplicate the features that will be delivered during the first phase of the project. Microsoft and Tasktop Technologies are working together to establish the following list features, which are currently entered as bugs in the Eclipse bugzilla:
These goals mark the beginning of a momentous journey for us. We expect to complete the first phase in Q1 2010.
As always, feedback from the developer community about “most wanted” features is very important to us. So if you have ideas, don’t be shy about speaking up—we would love to hear them. I also encourage you to read Mik Kersten’s blog post (Mik is Tasktop’s CEO and project lead of Mylyn) to get his perspective on the project.
Windows Azure Tools for Eclipse for PHP developers
Microsoft worked with Soyatec on Windows Azure Tools for Eclipse, a project to produce an open source plug-in that enables PHP developers using Eclipse to create web applications that target Windows Azure. Windows Azure Tools for Eclipse provides a series of wizards and utilities that allow developers to write, debug, and configure for and deploy PHP applications to Windows Azure. It is available for download at www.windowsazure4e.org
Architecturally speaking, the plug-in leverages the PHP Development Tools (PDT) framework for enabling PHP developers with integrated developer experiences.
The plug-in also bundles the existing Windows Azure SDK for PHP, which we introduced a few months ago. In a nutshell, this SDK provides a speed dial for PHP developers who use the Windows Azure storage component, making it very easy to use the blob, queue and table data storage features. If you need more details about this SDK, just visit the project site at http://phpazure.codeplex.com/.
In the coming months, we’ll detail many of the additional features you’ll find in the Windows Azure Tools for Eclipse plug-in. For now, you can get a quick overview by watching a video we just recorded with Robert Hess for Channel9:
Windows Azure SDK for Java developers
First let me say that the Storage Explorer is really one of the coolest features of Windows Azure Tools for Eclipse—it allows developers to browse data contained in the Windows Azure storage component, including blobs, tables, and queues. Storage Explorer was developed in Java (like any Eclipse extension), and we realized during the Windows Azure Tools for Eclipse development with Soyatec that abstracting the RESTful communication aspect between the Storage Explorer user interface and the Azure storage component made a lot of sense. So this led us to package the Windows Azure SDK for Java developers as open source, which is available at www.windowsazure4j.org.
The Windows Azure SDK for Java enables developers to easily leverage Azure storage service in their Java applications. The logical architecture is very simple:
The Windows Azure Storage Explorer feature that is part of Windows Azure Tools for Eclipse illustrates perfectly a Java application using the SDK:
Eclipse Tools for Silverlight
The Eclipse Tools for Silverlight (Eclipse4SL) plug-in is an open source, cross-platform plug-in for the Eclipse development environment that enables Eclipse developers to build Silverlight Rich Internet Applications (RIAs).
We have developed subsequent beta versions, including the Mac version, since announcing the Eclipse4SL project in October 2008. So, I’m very excited to announce that Microsoft and Soyatec have released version 1.0 of the Eclipse Tools for Silverlight plug-in, which can be downloaded here: http://www.eclipse4sl.org/
Version 1.0 of Eclipse4SL targets Silverlight 2.0. We are working with Soyatec to add support for subsequent releases of Silverlight (Silverlight 3.0 was released in July). You can find a roadmap of the milestones that we have projected on the project site: http://www.eclipse4sl.org/#roadmap . Video demo walkthrough of the plug-in are available here and here (Mac version).
We are always working hard to find new ways to provide more choice and opportunity for developers in our ongoing journey to foster interoperability between Microsoft products and other technologies. We are hoping that today’s announcements give developers the additional choices and opportunities they’re looking for, and that they amount to yet another reason why choosing Microsoft platforms means keeping all the options open.
Data portability has become an increasing need for our customers and partners as more information is stored and shared in digital formats. One scenario that has come up recently is how to further improve platform-independent access to email, calendar, contacts, and other data generated by Microsoft Outlook.
On desktops, this data is stored in Outlook Personal Folders, in a format called a .pst file. Developers can already access the data stored in the .pst file, using Messaging API (MAPI) and the Outlook Object Model—a rich set of connections to all of the data stored by Outlook and Exchange Server—but only if Outlook is installed on the desktop.
In order to facilitate interoperability and enable customers and vendors to access the data in .pst files on a variety of platforms, we will be releasing documentation for the .pst file format. This will allow developers to read, create, and interoperate with the data in .pst files in server and client scenarios using the programming language and platform of their choice. The technical documentation will detail how the data is stored, along with guidance for accessing that data from other software applications. It also will highlight the structure of the .pst file, provide details like how to navigate the folder hierarchy, and explain how to access the individual data objects and properties.
This documentation is still in its early stages and work is ongoing. We are engaging directly with industry experts and interested customers to gather feedback on the quality of the technical documentation to ensure that it is clear and useful. When it is complete, it will be released under our Open Specification Promise, which will allow anyone to implement the .pst file format on any platform and in any tool, without concerns about patents, and without the need to contact Microsoft in any way.
Designing our high volume products to enable such data portability is a key commitment under our Interoperability Principles, which we announced in early 2008. We support this commitment through our product features, documented formats, and implementation of standards. The move to open up the portability of data in .pst files is another step in putting these principles in action.
Over the past year, Microsoft Office has taken several steps toward increased openness and document interoperability. We’re proud of the work we’ve done around document interoperability, offering customers a choice of file formats and embracing a comprehensive approach that includes transparency into our engineering methods, collaboration with industry stakeholders, and shared stewardship of industry standards.
We’re excited about the possibilities created for our customers and partners by this kind of effort, and we look forward to continued collaboration with the industry in our pursuit of improved interoperability with Microsoft Office. Stay tuned.
Paul Lorimer, Group Manager, Microsoft Office Interoperability.
Related Items: