Download - Vijay Oscon

Transcript
Page 1: Vijay Oscon

Interoperability - Build Mission Critical Applications in PHP, Java, Eclipse & Ruby using Microsoft Software + ServicesVijay RajagopalanPrincipal ArchitectMicrosoft Corporation

Page 2: Vijay Oscon

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

Page 3: Vijay Oscon

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

Page 4: Vijay Oscon

Silverlight Interoperability

Page 5: Vijay Oscon

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

Page 6: Vijay Oscon

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

Page 7: Vijay Oscon

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

Page 8: Vijay Oscon

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

Page 9: Vijay Oscon

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

Page 10: Vijay Oscon

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/

Page 11: Vijay Oscon

Eclipse4SL on WindowsDemo

Page 12: Vijay Oscon

Customer Feedback

Page 13: Vijay Oscon

Eclipse Tools for Silverlight on Mac OS

Page 14: Vijay Oscon

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>

Page 15: Vijay Oscon

Project: www.eclipse4sl.org

Page 16: Vijay Oscon

Azure Services Platform Interoperability

Page 17: Vijay Oscon

Azure™ Services Platform

Azure Services Platform Overview

Page 18: Vijay Oscon

Azure & Interoperability

Azure™ Services Platform

http:// Services WebSOAP

Plain Old XML

REST(XML, JSON,

AtomPub)

Page 19: Vijay Oscon

What is ?

It is an operating system for the cloudIt is designed for utility computingIt has four primary features:

Service managementComputeStorageDeveloper experience

Page 20: Vijay Oscon

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

Page 21: Vijay Oscon

+ 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

Page 22: Vijay Oscon

+ FastCGI w/simulated load-balancing in dev environment

1 2

3

Page 23: Vijay Oscon

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.

Page 24: Vijay Oscon

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

Page 25: Vijay Oscon

Windows Azure – PHP Tooling from Eclipsedemo

Page 26: Vijay Oscon

Azure™ Services Platform

Azure Services Platform Overview

Page 27: Vijay Oscon

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

Page 28: Vijay Oscon

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

Page 29: Vijay Oscon

Access Control

Service Bus

Workflow

Service Bus

Registry

Endpoints

Organization YOrganization X

Application Application

Service Bus

2) Discover endpoints

1) Register endpoints3) Access

application

Page 30: Vijay Oscon

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

Page 31: Vijay Oscon

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

Page 32: Vijay Oscon

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.

Page 33: Vijay Oscon

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

Page 34: Vijay Oscon

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

Page 35: Vijay Oscon

Questions

Page 36: Vijay Oscon

© 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.


Top Related