Your SlideShare is downloading. ×
Vijay Oscon
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Vijay Oscon

522
views

Published on

Vijay Rajagopalan Oscon Presentation - Interoperability Build Mission Critical Applications in PHP, Java, Ruby using Microsoft Software & Services

Vijay Rajagopalan Oscon Presentation - Interoperability Build Mission Critical Applications in PHP, Java, Ruby using Microsoft Software & Services


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
522
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • There is no one right way to achieve interoperability. Vendors, depending on their market position, product and customer needs, are taking varying approaches to enable greater interoperability with their products. That said, Microsoft is making significant investments and efforts to address this issue. We are taking a multi-faced approach to providing our customers the ability to choose best of breed applications for their business needs. Our goal is to deliberately design interoperability into our products, especially our core business products. Not only has Microsoft taken a leadership role in the standardization of Web Service (WS-*) specifications through the W3C and OASIS, but we’ve provided and incorporated early, complete implementations of these specifications and protocols into almost all of our applicable products. We’ve also worked with other vendors to test the compatibility of these protocol implementations through plugfests. We continue to enhance our products with new capabilities that can help reduce the cost of running a mixed IT environment. Through our work with the IEC Council, IVA and other technical collaborations, we are also building technical bridges—such as plug-ins and translators—that enable an ever-growing number of products to work with Microsoft solutions. Working with other industry members, Microsoft collaborating with, and broadening our relationships with, dozens of technology companies to improve interoperability for our mutual customers. We’re working with the companies whose products are in your data centers and on your desktops—EMC, IBM, Novell, Oracle, SAP, Sun and many others. In addition to partnerships with individual companies, Microsoft is also a member of the Interop Vendor Alliance (IVA), which brings together more than 50 hardware and software vendors. This collaborative industry group develops, tests, publishes and supports interoperable, multi-vendor solutions.Wealso are also actively collaborating with the open source community. We believe both Microsoft and open source software can provide value to our customers, and we want to make it easier for customers to develop and deploy a mix of open source and Microsoft technologies. Today there are more than 80,000 open source projects that run on Windows or are built with our development platform, .NET. We are even releasing our some of our internally developed code to the open source community. Microsoft both competes and partners with traditional commercial vendors, and will continue to do so with open source-based businesses, with a focus on providing value for shared customers. For example, our ongoing working with MySQL to ensure a great experience for .NET developers using Visual Studio and the MySQL database, or our work with SugarCRM to ensure SugarCRM customers have a great experience with Outlook integration. This is the reality in a heterogeneous world.Standards are also central to our interoperability efforts – though, we don’t believe that standards, by themselves, are sufficient to resolve the industry’s interoperability issues. At Microsoft, our belief is that customers are best served when we support open standards, then compete in the marketplace on customer value. Our products support a long list of standards, allowing them to interoperate with other products that also implement those standards. Where we see an unmet need in the market, we work jointly with other industry players to specify new standards that can help resolve the big interoperability issues facing enterprise customers. Each year, Microsoft contributes to, and collaborates with, more than 150 standards organizations.Finally, we are being more open in how we share and provide access to our intellectual property. We’ve taken a number of steps to make it easier for developers to build solutions that work alongside Microsoft products. Through activities such as our technical licensing program, interoperability labs, community support forums, and the publishing of more than 50,000 pages of technical documentation, we are creating more opportunities for people to develop products that complement, sometimes even compete with, Microsoft solutions. This gives our customers more choices for innovation, and a greater range of options for getting even more value from the Microsoft products you already use.Everything begins and ends with our customers. It’s the input and feedback we get from customers that help us set, and if needed reset, our priorities for the product innovations we develop, the collaborations we pursue and the standards we support. It also drives our desire to foster a rich software ecosystem that provides increased opportunity for customers to take advantage of the strengths of Microsoft technologies in a mixed IT environment. Through these combined efforts, we aim to drive greater interoperability and “walk the walk” of our commitment to increased openness.
  • 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, ..): EclipseMicrosoft Visual StudioMicrosoft Expression Studio
  • Much like the .NET Framework provides higher-level class libraries that make developers more productive, .NET Services enables developers to focus on their application logic rather than building and deploying their own cloud-based infrastructure services. While more services are in the works, .NET Services currently includes three core components — Access Control, Service Bus, and Workflow service.
  • We target a lot of different kinds of developers…
  • Much like the .NET Framework provides higher-level class libraries that make developers more productive, .NET Services enables developers to focus on their application logic rather than building and deploying their own cloud-based infrastructure services. While more services are in the works, .NET Services currently includes three core components — Access Control, Service Bus, and Workflow service.
  • Take your application to the next level
  • The purpose of these projects is to provide open source software development kits (SDKs) which include a set of libraries, tools, prescriptive patterns & guidance and real world sample applications that will enhance productivity for Java and Ruby developers. Developers will be able to leverage the Microsoft .NET Services to extend their Java and Ruby applications by using the Microsoft cloud services platform to build, deploy and manage reliable, Internet-scale applications.
  • 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.
  • The Ruby SDK for .NET Services is an open source projects 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.More information at www.dotnetservicesruby.comThe Ruby SDK for .NET Services is an open source projects 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.More information at www.dotnetservicesruby.comArchitecture: The Ruby SDK includes a set of REST libraries, tools, prescriptive patterns & guidance and sample applications that will enhance productivity for Ruby developers.Sample Classifieds Application 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
  • Transcript

    • 1. Interoperability - Build Mission Critical Applications in PHP, Java, Eclipse & Ruby using Microsoft Software + Services
      Vijay Rajagopalan
      Principal Architect
      Microsoft Corporation
    • 2. Microsoft’s Multifaceted Approach to Interoperability -
      Working openly with others to foster choice and innovation
      ?
      Collaboration
      Products
      Work jointly with partners, competitors and the open source community
      Deliver interoperability in Microsoft products and technologies
      Standards
      Developer Resources
      Promote interoperability through new and existing standards
      Make it easier to develop products that interoperate with Microsoft solutions
      Customer Input and Feedback
      2
    • 3. Handling Today’s Situations – Winning Trust
      Finally! Sliverlight with Eclipse”
      Microsoft ships Cross Platform SDKs for Azure
      Microsoft launches PHP Tools for Windows Azure
      H4ck3rz, March 2009
      SD Times, May 2009
      IT World, Oct 2008
      Eclipse for Silverlight
      Azure Services Platform
      Windows Azure
    • 4. Silverlight Interoperability
    • 5. Background
      Cross Platform & browser RIA Framework
      Silverlight XAML vocabulary published under Open Specification Promise(OSP)
      Silverlight Control Pack released under OSI approved MS-PL license on Codeplex
      Growing 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 & Firefox
      Expanded .NET Framework Language support
      VB, C#, Managed JavaScript, IronPython, IronRuby
    • 6. Eclipse Tools for Silverlight
      Eclipse 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 Soyatec
      Funded by Microsoft
    • 7. Why eclipse4SL?
      • Allows Eclipse developers to build RIA with Silverlight
      • 8. Solves Toughest interoperability issues between Silverlight & Java Web Services
      • 9. Allows Collaboration between Web Designers, .NET Developers, and Eclipse Developers (Java, PHP, ..)
      • 10. Eclipse
      • 11. Microsoft Visual Studio
      • 12. Microsoft Expression Studio
      Eclipse Developer
      Common Project System
      .NET Developer
      Web Designer
    • 13. High level Architecture -
      Developer Environment
      Eclipse IDE
      Silverlight 2
      DeveloperRuntime
      or
      Silverlight 2
      Runtime
      Silverlight 2
      SDK
      MSBuild 3.5 Tasks
      Client & Server Librairies
      Documentation & Reference
      eclipse4SL
      Embedded Web Server
      eclipseGanymede
      Java Runtime
      .NET Framework
      .NET 3.5 (MSBuild 3.5)
      .NET 3.0 SP1 + SP2
      .NET 2.0 SP1 + SP2 (MSBuild 2.0)
    • 14. eclipse4SL: key features
      Enabling interoperability scenario for development teams working in heterogeneous environments
    • 15. Interoperability with Java based Web Services
      Code Patterns & Interop Guidance
      Prescriptive 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/ 
    • 16. Eclipse4SL on Windows
      Demo
    • 17. Customer Feedback
    • 18. Eclipse Tools for Silverlight on Mac OS
    • 19. Extending Silverlight to PHP Applications
      Silverlight Mediawiki Extension
      Base Sytax
      <silverlight[attributes]>filename.xap</silverlight >
      Attribute Reference
      width= % (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>
    • 20. Project: www.eclipse4sl.org
    • 21. Azure Services Platform Interoperability
    • 22. Azure Services Platform Overview
      Azure™ Services Platform
    • 23. REST
      (XML, JSON,
      AtomPub)
      http://
      Plain Old
      XML
      Services Web
      SOAP
      Azure™ Services Platform
      Azure & Interoperability
    • 24. What is ?
      It is an operating system for the cloud
      It is designed for utility computing
      It has four primary features:
      Service management
      Compute
      Storage
      Developer experience
    • 25. 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
      Use PHP while realizing the benefits of Windows Azure
      Automated service management
      You define the rules and provide your code
      The platform follows the rules: deploys, monitors, and manages your service
      A powerful service hosting environment
      All of the hardware: servers; load balancers; …
      Scalable, available cloud storage (via REST)
      Blobs, tables, queues, …
      Developer Experience: Simulated cloud environment
      + PHP
    • 26. + FastCGI
      Windows Azure now supports
      The 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
    • 27. + FastCGI w/simulated load-balancing in dev environment
      1
      2
      3
    • 28. Windows Azure Compute Service A closer look
      Web Role
      Worker Role
      main()
      { … }
      HTTP
      ASP.NET, WCF, etc.
      IIS
      Load Balancer
      Agent
      Agent
      Windows Azure Fabric
      Application
      Storage
      Compute
      Fabric
      VM

    • 29. PHP SDK for Windows Azure
      Logical 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
      Contribution to Zend Framework enabling speed dial to Windows Azure PHP developers
      Released under “bsd” license
      Your PHP application
      XML
      REST
      Compute
      Storage
      Manage
      Deployement scenarios
      PHP Runtime
      Any internet connected Server
      PHP Runtime
      REST
      REST
      Compute
      Storage
      Manage
    • 30. Windows Azure – PHP Tooling from Eclipse
      demo
    • 31. Azure Services Platform Overview
      Azure™ Services Platform
    • 32. .NET ServicesInfrastructure in the cloud
      Access Control
      Service Bus
      Workflow
      .NET Services
      SQL Services
      Applications
      Live Services
      Windows Azure
      ?
      Applications
      Windows
      Mobile
      Windows
      Vista/XP
      Windows
      Server
      Others
    • 33. 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
    • 34. Service Bus
      2) Discover endpoints
      Registry
      1) Register endpoints
      3) Access application
      Endpoints
      Application
      Application
      Organization X
      Organization Y
      Access Control
      Service Bus
      Workflow
      Service Bus
    • 35. Enabling Interoperability between heterogeneous systems
      Azure Services Platform
      Azure Services
      SOAP
      SOAP
      Your Cloud
      Application
      REST
      REST
      XML
      XML
      End Users
      Java & Ruby SDKs for .NET Services
      .NET SDKs
      Coming Soon
      Your Software Application
      Developers
    • 36. Cross Platform SDK for .NET Services
      Goals of these community-based projects
      Open source software development kits (SDKs) including:
      • a set of libraries, tools, Prescriptive guidance
      • 37. sample applications
      • 38. enhance productivity for Java and Ruby developers
      Enable Java, Ruby developers to leverage the Microsoft .NET Services
      • extend their Java and Ruby applications by using the Microsoft cloud services
      • 39. platform to build, deploy and manage reliable, Internet-scale applications
       
      Ruby SDK for .NET Services
      Contributors: Thoughtworks, Microsoft
      Sample Scenario
      Classifieds 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 Services
      Contributors: Schakra Inc, Microsoft 
      Sample Scenario
      Supply 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 
       
    • 40. Java SDK for .NET Services
      High 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.
    • 41. Ruby SDK for .NET Services
      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.
      Ruby SDK for .NET Services
      Contributors:
      Thoughtworks Inc
      Microsoft
       
      Project website: www.dotnetservicesruby.com
      Sample scenario: Classifieds Application
      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.
    • 42. 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
      www.interopbridges.com
      www.microsoft.com/interop
      Round Table Discussion “ Microsoft & PHP”
      Tomorrow at 1PM Meeting Room C2
    • 43. Questions
    • 44. © 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.