Vijay Oscon
description
Transcript of Vijay Oscon
Interoperability - Build Mission Critical Applications in PHP, Java, Eclipse & Ruby using Microsoft Software + ServicesVijay RajagopalanPrincipal ArchitectMicrosoft Corporation
2
Promote interoperability
through new and existing standards
Work jointly with partners, competitors and the open source
community
Deliver interoperability in
Microsoft products and technologies
Customer Input and Feedback
?
Products Collaboration
Standards Developer Resources
Microsoft’s Multifaceted Approach to Interoperability -Working openly with others to foster choice and innovation
Make it easier to develop products that
interoperate with Microsoft solutions
Handling Today’s Situations – Winning Trust
Finally! Sliverlight with Eclipse”
H4ck3rz, March 2009
Microsoft ships Cross Platform SDKs for Azure
SD Times, May 2009
Microsoft launches PHP Tools for Windows Azure
IT World, Oct 2008
Eclipse for Silverlight Azure Services Platform Windows Azure
Silverlight Interoperability
BackgroundCross Platform & browser RIA FrameworkSilverlight XAML vocabulary published under Open Specification Promise(OSP) Silverlight Control Pack released under OSI approved MS-PL license on CodeplexGrowing Tooling Support from Partners
Captaris Inc., Telerik Inc., ComponentOne LLC, Infragistics, Software FX Inc., Intersoft Solutions Corp., Developer Express Inc., K2, Gizmox and RemObjects Software LLC
Moonlight effort to support Linux & FirefoxExpanded .NET Framework Language support
VB, C#, Managed JavaScript, IronPython, IronRuby
Eclipse Tools for SilverlightEclipse Tools for Silverlight (“eclipse4SL” )-
A plug-in that enables the development of Silverlight applications within the Eclipse development environment
+…
Eclipse Developers
Open Source Project www.eclipse4sl.org
Developed by SoyatecFunded by Microsoft
Why eclipse4SL?
Common Project System
.NET Developer
Web Designer
Eclipse Developer
Allows Eclipse developers to build RIA with SilverlightSolves Toughest interoperability issues between Silverlight & Java Web ServicesAllows Collaboration between Web Designers, .NET Developers, and Eclipse Developers (Java, PHP, ..)
Eclipse Microsoft Visual Studio Microsoft Expression
Studio
High level Architecture -
Eclipse IDE
Developer Environment
Silverlight 2 Developer Runtime
or Silverlight 2
Runtime
Silverlight 2SDK
MSBuild 3.5 TasksClient & Server Librairies
Documentation & Reference
.NET Framework
.NET 2.0 SP1 + SP2 (MSBuild 2.0)
.NET 3.0 SP1 + SP2
.NET 3.5 (MSBuild 3.5)
eclipse Ganymede
Java Runtime
eclipse4SLEmbedded Web Server
eclipse4SL: key featuresIncreased Interoperability
Help Java Developers build
Silverlight applications
Improve Java/Silverlight interoperability
Web Services, SOAP REST, JSON
Eclipse Project System
Compiler for deployment packaging of applications
Project compatibility with
Microsoft tools (VS/Expression)
XAML Editor & Preview
Code hinting and code completion
Advanced XAML compliant editor
Visual preview of XAML
Enabling interoperability scenario for development teams working in heterogeneous environments
Interoperability with Java based Web Services
Code Patterns & Interop GuidancePrescriptive Guidance for connecting Siverlight with Java web services (JAX & REST.)http://www.sl4eclipse.org/documentation/userdoc/html/webservice/restlet/http://www.sl4eclipse.org/documentation/userdoc/html/webservice/cxf/
Eclipse4SL on WindowsDemo
Customer Feedback
Eclipse Tools for Silverlight on Mac OS
Extending Silverlight to PHP Applications
Silverlight Mediawiki ExtensionBase Sytax
<silverlight[attributes]>filename.xap</silverlight >
Attribute Referencewidth= % (Modify the width of the object) Height=% (Modify the height of the object)
Example<silverlight width="800" height="400">http://www.eclipse4sl.org/demo/Test.xap</silverlight>
Project: www.eclipse4sl.org
Azure Services Platform Interoperability
Azure™ Services Platform
Azure Services Platform Overview
Azure & Interoperability
Azure™ Services Platform
http:// Services WebSOAP
Plain Old XML
REST(XML, JSON,
AtomPub)
What is ?
It is an operating system for the cloudIt is designed for utility computingIt has four primary features:
Service managementComputeStorageDeveloper experience
March Community Technology Preview (CTP) supports .NET Full Trust provides developers with a level of flexibility on Windows AzureFastCGI allows developers to deploy and run web applications written with 3rd party programming languages on Windows AzureGeolocation provides developers with the ability to specify a data center location for their applications and data on Windows Azure
Use PHP while realizing the benefits of Windows AzureAutomated service management
You define the rules and provide your codeThe platform follows the rules: deploys, monitors, and manages your service
A powerful service hosting environmentAll of the hardware: servers; load balancers; …
Scalable, available cloud storage (via REST)Blobs, tables, queues, …
Developer Experience: Simulated cloud environment
+ PHP
+ FastCGI
Windows Azure now supportsThe FastCGI module
PHP enabled via xcopy deploy of PHP runtime binaries
And, the IIS7 URL rewrite module to enable friendly URL’s with PHP apps
+ FastCGI w/simulated load-balancing in dev environment
1 2
3
…
Fabric
Compute Storage
Application
Windows Azure Fabric
Windows Azure Compute Service A closer look
VM
Web Role Worker Role
Agent Agent
main(){ … }
Load Balancer
HTTPIIS
ASP.NET, WCF, etc.
PHP Runtime
PHP SDK for Windows AzureLogical architecture
OverviewEnables PHP developers to take advantage of the Microsoft Cloud Services Platform – Windows Azure.
FeaturesPHP classes for Windows Azure Blobs, Tables & Queues (for CRUD operations)Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error ManagementManageability, Instrumentation & Logging support
Project site: http://www.codeplex.com/PHPAzure
Contribution to Zend Framework enabling speed dial to Windows Azure PHP developersReleased under “bsd” license
Deployement scenarios
PHP SDK for Windows Azure
Blobs, Tables, Queues
Manageability, Instrumentation,
logging
Helper for Http, Auth, REST, Errior
Your PHP application
Compute Storage Manage
REST XML
Any internet connected Server
PHP RuntimeREST
REST
Windows Azure – PHP Tooling from Eclipsedemo
Azure™ Services Platform
Azure Services Platform Overview
WindowsMobile
WindowsVista/XP
WindowsServer
.NET Services
Windows Azure Live Services
Applications
Applications
SQL Services
Others
Service Bus
Access Control ?
Workflow
.NET ServicesInfrastructure in the cloud
The Service Bus
The problem: Exposing internal applications on the Internet isn’t easy
Network address translation (NAT) and firewalls get in the way
The solution:Service Bus provides a cloud-based intermediary between clients and internal applicationsIt also provides a service registry that clients can use to find the services they need
Access Control
Service Bus
Workflow
Service Bus
Registry
Endpoints
Organization YOrganization X
Application Application
Service Bus
2) Discover endpoints
1) Register endpoints3) Access
application
Coming Soon
Your Software
Application
Your CloudApplication
Azure Services
XML
SOAP
REST
Azure Services Platform
Developers
End Users
XML
SOAP
REST
Java & Ruby SDKs for .NET Services
.NET SDKs
Enabling Interoperability between heterogeneous systems
Cross Platform SDK for .NET ServicesGoals of these community-based projects
Java SDK for .NET ServicesContributors: Schakra Inc, Microsoft Sample ScenarioSupply Chain Management (Java)Supply Chain Management (SCM) is a general scenario where a retailer provides a products catalog to end users based on products in a warehouse. The sample illustrates the usage and interaction of the Java SDK with Microsoft .NET Services. www.jdotnetservices.com
Ruby SDK for .NET ServicesContributors: Thoughtworks, MicrosoftSample ScenarioClassifieds Application (Ruby)This scenario presents a simple classified advertisement system that can be used to post, browse, or search for ads. This sample shows how to use the .NET Services from Ruby with the Ruby SDK.www.dotnetservicesruby.com
Enable Java, Ruby developers to leverage the Microsoft .NET Services
extend their Java and Ruby applications by using the Microsoft cloud services
platform to build, deploy and manage reliable, Internet-scale applications
Open source software development kits (SDKs) including:
a set of libraries, tools, Prescriptive guidance
sample applications enhance productivity for Java
and Ruby developers
Java SDK for .NET ServicesHigh level Architecture
Open source project offers Java libraries, samples and guidance help Java developers to build applications using the Microsoft .NET Services.
Architecture: Java SDK leverages Metro, an open source web services stack (part of the GlassFish project supported by Sun Microsystems). Metro includes WSIT, which provides support for the core WS-* standards and an enhanced support for interoperability with the Windows Communication Foundation and the .NET Framework.
The Ruby SDK for .NET Services is an open source project that helps Ruby programs communicate with Microsoft .NET Services using plain HTTP.
Specifically the SDK includes set of REST libraries, tools, prescriptive patterns & guidance and sample applications that will enhance productivity for Ruby developers.
Developers will be able to leverage the .NET Services to extend their Ruby applications by using the Microsoft cloud services platform to build, deploy and manage reliable, Internet-scale applications.
Sample scenario: Classifieds ApplicationThis scenario presents a simple classified advertisement system that can be used to post, browse, or search for ads. This sample shows how to use the .NET Services from Ruby with the Ruby SDK.
Ruby SDK for .NET Services
Ruby SDK for .NET ServicesContributors: Thoughtworks Inc Microsoft Project website: www.dotnetservicesruby.com
Call to ActionPoints of interest
Microsoft’s approach to InteroperabilityOpenSource Interoperability Bridges on RIA, SOA, Identity,Web2.0, S+S & Document formats.Take advantage of Opensource Technical Bridges & ContributeMore details at
www.interopbridges.com www.microsoft.com/interop
Round Table Discussion “ Microsoft & PHP”Tomorrow at 1PM Meeting Room C2
Questions
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.