vijay rajagopalan principal architect microsoft...
TRANSCRIPT
Vijay RajagopalanPrincipal ArchitectMicrosoft Corporation
AgendaMicrosoft’s approach to Interoperability
Bridging Open Source & Microsoft S+S(RIA, Identity & Cloud Computing)
Eclipse Tools for SilverlightJava Interoperability
Interoperability in Mac Platform
Enabling RIA experience on PHP Applications
Enable Claims based AuthN/AuthZ on cross language web applications
Azure Services Platform SDK for Java & RubyEclipse Tooling experience for Windows Azure
Connecting on-premise Java apps thru Service Bus
IT Landscape is Changing
Disaster Recovery
Distributed Development
Software as a Service
Client device proliferation
Legacy systems
Increasing Need for
Interoperability
4
Regulations
Green IT
A World of Choice with Interoperability
Firefox, Open Office, Star Office, Microsoft Office, Adobe Photoshop,
Symantec, Norton, Opera, .NET…
JBoss, Apache, Zend, SugarCRM, Oracle, SAP, Microsoft BizTalk, .NET,
BEA, …
5
Client Applications
Storage
Systems Vendors
Processors
Networking Vendors
Operating Systems and Middleware
Databases
ServerApplications
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
6
Working openly with others to foster choice and innovation
Make it easier to develop products that
interoperate with Microsoft solutions
A Multi-Faceted Approach
7
Products
Deliver interoperability in
Microsoft products and technologies
Customer Input and Feedback
Interoperability in core business products
A Multi-Faceted Approach
8
Collaboration
Customer Input and Feedback
Work jointly with partners and
competitors to resolve interoperability
challenges
Vendors in your data center and on your desktop
A Multi-Faceted Approach
9
Standards
Customer Input and Feedback
Promote interoperability
through new and existing standards
?
Participation in over 150 standards bodies
Software technologies
Hardware technologies
Internet and Web services
Consumer electronics
Vertical industry standards
A Multi-Faceted Approach
10
Developer Resources
Customer Input and Feedback
Make it easier to develop products that
interoperate with Microsoft solutions
Resources to jumpstart innovation
Technology licensing
Technical documentation
Interoperability labs
Community forums
Customer technical collaboration agreements
BackgroundCross Platform & browser RIA FrameworkSilverlight XAML vocabulary published under Open Specification Promise(OSP)
Silverlight Control Pack released under OSI approved MS-PL license on Codeplex
Growing Tooling Support from PartnersCaptaris 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 & Firefox
Expanded .NET Framework Language supportVB, C#, Managed JavaScript, IronPython, IronRuby
Eclipse Tools for Silverlight
+
…
Eclipse Developers
Open Source Project
www.eclipse4sl.org
Developed by Soyatec
Funded by Microsoft
Why eclipse4SL?
Common Project System
.NET Developer
Web Designer
Eclipse Developer
High level Architecture -
Eclipse IDE
Developer Environment
Silverlight 2 Developer Runtime
or
Silverlight 2Runtime
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 features
Increased Interoperability
Help JavaDevelopers 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 Windows
Eclipse Tools for Silverlight on Mac OS
Extending Silverlight to PHP Applications
Silverlight Mediawiki Extension
Base 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
Our Approach to Azure Services
Familiar tools, languages, & frameworks with .NET & Visual Studio Provides the choice to build on-premises, cloud, or hybrid solutions Integrate with existing assets such as AD & premises applications
Multiple protocol support including HTTP, REST, SOAP, AtomPub Broad investment in open, community-based access to Azure services
Simple scenarios are simple – complex scenarios are possible Services hosted in Microsoft’s data centers Designed for high availability & scalability
Azure & Interoperability
Azure™ Services Platform
http:// Services Web
SOAP
Plain Old
XML
REST
(XML, JSON,
AtomPub)
WindowsMobile
WindowsVista/XP
WindowsServer
.NET Services
Windows AzureLive 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 applications
It 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 endpoints
3) Access application
Enabling Interoperability between heterogeneous systems
Cross Platform SDK for .NET ServicesGoals of these community-based projects
Java SDK for .NET ServicesContributors: Schakra Inc, MicrosoftSample 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
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 GlassFishproject 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.
More information at
www. dotnetservicesruby.com
Ruby SDK for .NET Services
Open source project The Ruby SDK for .NET Services is an open source project that helps Ruby programs communicate with Microsoft .NET Services using plain HTTP.
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
Scenario: Retailer provides a catalog to an end user based on products available in the warehouse
Interoperability : The App is developed in Java and leverages the Access Control and Service Bus features of .NET Services to enable the application functionality
ADMIN USER WAREHOUSE
RETAIL USER RETAILERView Products and Place Order
Add Product
PlaceOrder
MULTICAST ENDPOINT
Multicast message informing addition of a new product
Multicast message informing addition of a new product
Connecting .NET Services from heterogeneous Applications
Windows Azure BasicsThe goal of Windows Azure is to provide a platform that is scalable and available
Windows Azure can potentially provide various kinds of Windows-based environments
March Community Technology Preview (CTP) supports
.NET Full Trust provides developers with a level of flexibility on Windows Azure
FastCGI allows developers to deploy and run web applications written with 3rd party programming languages on Windows Azure
Geolocation provides developers with the ability to specify a data center location for their applications and data on Windows Azure
…
Fabric
Compute Storage
Application
Windows Azure Fabric
Windows Azure Compute Service A closer look
VM
Web Role Worker Role
Agent Agent
main(){ … }
Load Balancer
HTTP
IIS
ASP.NET, WCF, etc.
Windows Azure Compute Service - BasicsThe VMs are provided by a cloud-optimized hypervisor
They run 64-bit Windows Server 2008
The operating system can be updated while the app is running
For developers:It’s mostly standard .NET
A few things require accessing the Windows Azure Agent, e.g., logging
A desktop replica of Windows Azure in the cloud is provided for development
Called the Development Fabric
PHP SDK for Windows Azure
PHP Runtime
PHP SDK for Windows AzureLogical architecture
Overview
Enables PHP developers to take advantage of the Microsoft Cloud Services Platform – Windows Azure.
Features
PHP classes for Windows Azure Blobs, Tables & Queues (for CRUD operations)
Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error Management
Manageability, Instrumentation & Logging support
Project site:
http://www.codeplex.com/PHPAzure
Deployement scenarios
PHP SDK for Windows Azure
Blobs, Tables, Queues
Manageability, Instrumentation,
logging
Helper for Http, Auth, REST, Errior
Your PHP application
REST XML
PHP Runtime
REST
REST
Windows Azure – PHP Tooling from Eclipse
Call to ActionPoints of interest
Microsoft’s approach to Interoperability
OpenSource Interoperability Bridges on RIA, SOA, Identity,Web2.0, S+S & Document formats.
Take advantage of Opensource Technical Bridges & Contribute
More details at microsoft.com/interop
© 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.