Upload
goodfriday
View
4.613
Download
2
Embed Size (px)
DESCRIPTION
Come hear how Microsoft has delivered multiple technologies that focus on interoperability with non-Microsoft and Open Source technologies. Learn how to use the Eclipse tools today to build Silverlight applications that run on PCs and Macs, how to develop using combinations of Java, Ruby and PHP in addition to the standard Microsoft languages, and how Microsoft's commitment to openness with the Azure Services Platform and the use of claims-based identity supports heterogeneous identity systems.
Citation preview
InteroperabilityBuild Apps using Eclipse, Java, PHP and Ruby using Microsoft Software and ServicesVijay RajagopalanPrincipal ArchitectMicrosoft Corporation
AgendaMicrosoft’s approach to InteroperabilityBridging Open Source and Microsoft S+S(RIA, Identity and Cloud Computing)
Eclipse Tools for SilverlightJava Interoperability Interoperability in Mac Platform
Enabling RIA experience on PHP ApplicationsEnable Claims based AuthN/AuthZ on cross language web applicationsAzure Services Platform SDK for Java and Ruby
Eclipse Tooling experience for Windows AzureConnecting on-premise Java apps thru Service Bus
IT Landscape is Changing
3
Disaster Recover
yDistributed Developme
nt
Software as a Service
Client device proliferation
Legacy systems
Increasing Need for
InteroperabilityRegulation
s
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, …
4
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
Microsoft’s Multifaceted Approach to InteroperabilityWorking openly with others to foster choice and innovation
5
Make it easier to develop products
that interoperate with Microsoft
solutions
A Multi-Faceted Approach
6
ProductsDeliver
interoperability in Microsoft products and technologies
Customer Input and Feedback
Interoperability in core business products
A Multi-Faceted Approach
7
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
8
StandardsCustomer Input and Feedback
Promote interoperability
through new and existing standards
?
Participation in over 150 standards bodies
Software technologiesHardware technologiesInternet and Web servicesConsumer electronicsVertical industry standards
A Multi-Faceted Approach
9
Developer ResourcesCustomer Input and Feedback
Make it easier to develop products
that interoperate with Microsoft
solutions
Resources to jumpstart innovation
Technology licensingTechnical documentationInteroperability labsCommunity forumsCustomer technical collaboration agreements
Silverlight Interoperability
BackgroundCross platform and 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 and 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 Designe
r
Eclipse Developer
•Allows Eclipse developers to build RIA with Silverlight•Solves Toughest interoperability issues between Silverlight & Java Web Services•Allows Collaboration between Web Designers, .NET Developers, and Eclipse Developers (Java, PHP, ..)• Eclipse• Microsoft Visual Studio• Microsoft Expression
Studio
High level ArchitectureEclipse 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
Eclipse Project System
Compiler for
deployment
packaging of
applications
XAML Editor & Preview
Code hinting and code completion
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
Demo
Customer Feedback
Eclipse Tools for Silverlight on Mac
Announcing…
Eclipse Tools for Silverlight on Mac OS
Silverlight Mac Experience
Demo
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
Our Approach to Azure Services
Extend Your Existing Investments Familiar tools, languages, & frameworks with .NET & Visual
StudioProvides the choice to build on-premises, cloud, or hybrid
solutionsIntegrate with existing assets such as AD & premises
applications
Base it on Internet StandardsMultiple protocol support including HTTP, REST, SOAP,
AtomPubBroad investment in open, community-based access to Azure
services
Provide a Flexible Services Platform with Internet ScaleSimple scenarios are simple – complex scenarios are possible
Services hosted in Microsoft’s data centersDesigned for high availability & scalability
Azure and Interoperability
Azure™ Services Platformhttp:// Services Web
SOAPPlain Old
XMLREST
(XML, JSON,AtomPub)
Azure™ Services Platform
Azure Services Platform Overview
Windows
Mobile
Windows
Vista/XP
Windows
Server
.NET Services
Windows Azure
Live Services
Applications
Applications
SQL Services
Others
Service Bus
Access Control ?
Workflow
.NET ServicesInfrastructure in the cloud
The Service BusThe problem: Exposing internal applications on the Internet isn’t easy
Network address translation (NAT) and firewalls get in the way
The solutionService 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 ControlService BusWorkflow
Service BusRegistry
Endpoints
Organization Y
Organization 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
Future support for PHP & Python
Enable Java, Ruby developers to leverage the Microsoft .NET Services extend their Java and Ruby applications by using the Microsoft cloud servicesplatform 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
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 ServicesContributors: Thoughtworks Inc Microsoft Project website: www.dotnetservicesruby.com
Ruby SDK for .NET Services
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
Java SDK for .NET ServicesSupply Chain Management Sample
Connecting .NET Services from heterogeneous Apps
demo
Windows Azure BasicsThe goal of Windows Azure is to provide a platform that is scalable and availableWindows Azure can potentially provide various kinds of Windows-based environmentsMarch 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
…
Fabric
Compute Storage
Application
Windows Azure Fabric
Windows Azure Compute Service A closer look
VM
Web Role Worker Role
Agent
Agent
main(){ … }
Load Balanc
er
HTTPIIS
ASP.NET, WCF, etc.
Windows Azure Compute ServicePoints of interestThe VMs are provided by a cloud-optimized
hypervisorThey run 64-bit Windows Server 2008The 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
Windows Azure – PHP Tooling from Eclipse
demo
Call to ActionPoints of interest
Microsoft’s approach to InteroperabilityOpenSource Interoperability Bridges on RIA, SOA, Identity,Web2.0, S+S and Document formatsTake advantage of Technical Bridges and ContributeMore details at microsoft.com/interop
Q & A
Please Complete an Evaluation FormYour feedback is important!
Evaluation forms can be found on each chairTemp Staff at the back of the room have additional evaluation form copies
© 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.