Vijay Mix Presentation
description
Transcript of Vijay Mix Presentation
Interoperability - Build Apps in Eclipse, Java, PHP & Ruby using Microsoft Software & Services
Vijay RajagopalanPrincipal ArchitectMicrosoft Corporation
AgendaMicrosoft’s approach to InteroperabilityBridging 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 applicationsAzure Services Platform SDK for Java & Ruby
Eclipse Tooling experience for Windows AzureConnecting on-premise Java apps thru Service Bus
IT Landscape is Changing
Disaster Recover
yDistributed Developme
nt
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
6
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
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 technologiesHardware technologiesInternet and Web servicesConsumer electronicsVertical 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 licensingTechnical documentationInteroperability labsCommunity forumsCustomer technical collaboration agreements
Silverlight Interoperability
Background
Cross 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 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 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 features
Increased 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 & Interoperability
Azure™ Services Platform
http:// Services WebSOAP
Plain Old XML
REST(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 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 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 Services
Goals 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 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 USERADMIN USER WAREHOUSEWAREHOUSE
RETAIL USERRETAIL USER RETAILERRETAILERView Products and Place Order
Add Product
PlaceOrder
MULTICAST ENDPOINT
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
HTTP
IIS
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 & Document formats.Take advantage of Technical Bridges & ContributeMore details at microsoft.com/interop
Q & A
© 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.