Upload
rsnarayanan
View
1.376
Download
1
Tags:
Embed Size (px)
Citation preview
Interoperability - Build Mission Critical 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 ApplicationsEnable 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 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
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
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
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 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
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
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.
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
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 Balancer
HTTPIIS
ASP.NET, WCF, etc.
Windows Azure Compute Service - BasicsThe VMs are provided by a cloud-optimized hypervisor
They 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
PHP SDK for Windows AzureAnnouncing…
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
Deployement scenarios
PHP SDK for Windows AzureBlobs, Tables, Queues
Your PHP application
Compute Storage Manage
REST XML
Any internet connected Server
PHP RuntimeREST
REST
Windows Azure – PHP Tooling from Eclipsedemo
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 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.