Your SlideShare is downloading. ×
0
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
Vijay Oscon
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

535

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
535
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
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<br />Vijay Rajagopalan<br />Principal Architect<br />Microsoft Corporation<br />
    • 2. Microsoft’s Multifaceted Approach to Interoperability -<br />Working openly with others to foster choice and innovation<br />?<br />Collaboration<br />Products<br />Work jointly with partners, competitors and the open source community<br />Deliver interoperability in Microsoft products and technologies<br />Standards<br />Developer Resources<br />Promote interoperability through new and existing standards<br />Make it easier to develop products that interoperate with Microsoft solutions<br />Customer Input and Feedback<br />2<br />
    • 3. Handling Today’s Situations – Winning Trust<br />Finally! Sliverlight with Eclipse”<br />Microsoft ships Cross Platform SDKs for Azure<br />Microsoft launches PHP Tools for Windows Azure<br />H4ck3rz, March 2009 <br />SD Times, May 2009<br />IT World, Oct 2008 <br />Eclipse for Silverlight<br />Azure Services Platform<br />Windows Azure<br />
    • 4. Silverlight Interoperability <br />
    • 5. Background<br />Cross Platform & browser RIA Framework<br />Silverlight XAML vocabulary published under Open Specification Promise(OSP) <br />Silverlight Control Pack released under OSI approved MS-PL license on Codeplex<br />Growing Tooling Support from Partners<br />Captaris Inc., Telerik Inc., ComponentOne LLC, Infragistics, Software FX Inc., Intersoft Solutions Corp., Developer Express Inc., K2, Gizmox and RemObjects Software LLC <br />Moonlight effort to support Linux & Firefox<br />Expanded .NET Framework Language support<br />VB, C#, Managed JavaScript, IronPython, IronRuby<br />
    • 6. Eclipse Tools for Silverlight<br />Eclipse Tools for Silverlight (“eclipse4SL” )- <br />A plug-in that enables the development of Silverlight applications within the Eclipse development environment<br />Eclipse Developers<br />…<br />+<br />Open Source Project <br />www.eclipse4sl.org<br />Developed by Soyatec<br />Funded by Microsoft <br />
    • 7. Why eclipse4SL?<br /><ul><li>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</li></ul>Eclipse Developer<br />Common Project System<br />.NET Developer<br />Web Designer<br />
    • 13. High level Architecture -<br />Developer Environment<br />Eclipse IDE<br />Silverlight 2 <br />DeveloperRuntime<br />or <br />Silverlight 2<br />Runtime<br />Silverlight 2<br />SDK<br />MSBuild 3.5 Tasks<br />Client & Server Librairies<br />Documentation & Reference<br />eclipse4SL<br />Embedded Web Server<br />eclipseGanymede<br />Java Runtime<br />.NET Framework<br />.NET 3.5 (MSBuild 3.5)<br />.NET 3.0 SP1 + SP2<br />.NET 2.0 SP1 + SP2 (MSBuild 2.0)<br />
    • 14. eclipse4SL: key features<br />Enabling interoperability scenario for development teams working in heterogeneous environments<br />
    • 15. Interoperability with Java based Web Services<br />Code Patterns & Interop Guidance<br />Prescriptive Guidance for connecting Siverlight with Java web services (JAX & REST.)<br />http://www.sl4eclipse.org/documentation/userdoc/html/webservice/restlet/<br />http://www.sl4eclipse.org/documentation/userdoc/html/webservice/cxf/ <br />
    • 16. Eclipse4SL on Windows<br />Demo<br />
    • 17. Customer Feedback<br />
    • 18. Eclipse Tools for Silverlight on Mac OS <br />
    • 19. Extending Silverlight to PHP Applications<br />Silverlight Mediawiki Extension<br />Base Sytax<br />&lt;silverlight[attributes]&gt;filename.xap&lt;/silverlight &gt;<br />Attribute Reference<br />width= % (Modify the width of the object) <br />Height=% (Modify the height of the object) <br />Example<br />&lt;silverlight width=&quot;800&quot; height=&quot;400&quot;&gt;http://www.eclipse4sl.org/demo/Test.xap&lt;/silverlight&gt;<br />
    • 20. Project: www.eclipse4sl.org<br />
    • 21. Azure Services Platform Interoperability<br />
    • 22. Azure Services Platform Overview<br />Azure™ Services Platform<br />
    • 23. REST<br />(XML, JSON,<br />AtomPub)<br />http://<br />Plain Old <br />XML<br />Services Web<br />SOAP<br />Azure™ Services Platform<br />Azure & Interoperability<br />
    • 24. What is ?<br />It is an operating system for the cloud<br />It is designed for utility computing<br />It has four primary features:<br />Service management<br />Compute<br />Storage<br />Developer experience<br />
    • 25. March Community Technology Preview (CTP) supports <br />.NET Full Trust provides developers with a level of flexibility on Windows Azure<br />FastCGI allows developers to deploy and run web applications written with 3rd party programming languages on Windows Azure<br />Geolocation provides developers with the ability to specify a data center location for their applications and data on Windows Azure<br />Use PHP while realizing the benefits of Windows Azure<br />Automated service management<br />You define the rules and provide your code<br />The platform follows the rules: deploys, monitors, and manages your service<br />A powerful service hosting environment<br />All of the hardware: servers; load balancers; …<br />Scalable, available cloud storage (via REST)<br />Blobs, tables, queues, …<br />Developer Experience: Simulated cloud environment<br /> + PHP<br />
    • 26. + FastCGI<br />Windows Azure now supports<br />The FastCGI module<br />PHP enabled via xcopy deploy of PHP runtime binaries<br />And, the IIS7 URL rewrite module to enable friendly URL’s with PHP apps<br />
    • 27. + FastCGI w/simulated load-balancing in dev environment<br />1<br />2<br />3<br />
    • 28. Windows Azure Compute Service A closer look<br />Web Role<br />Worker Role<br />main()<br />{ … } <br />HTTP<br />ASP.NET, WCF, etc.<br />IIS<br />Load Balancer<br />Agent<br />Agent<br />Windows Azure Fabric<br />Application<br />Storage<br /> Compute<br />Fabric<br />VM<br />…<br />
    • 29. PHP SDK for Windows Azure<br />Logical architecture <br />Overview<br />Enables PHP developers to take advantage of the Microsoft Cloud Services Platform  – Windows Azure.  <br />Features<br />PHP classes for Windows Azure Blobs, Tables & Queues (for CRUD operations)<br />Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error Management<br />Manageability, Instrumentation & Logging support<br />Project site: <br />http://www.codeplex.com/PHPAzure<br />Contribution to Zend Framework enabling speed dial to Windows Azure PHP developers<br />Released under “bsd” license<br />Your PHP application<br />XML<br />REST<br />Compute<br />Storage<br />Manage<br />Deployement scenarios<br />PHP Runtime<br />Any internet connected Server<br />PHP Runtime<br />REST<br />REST<br />Compute<br />Storage<br />Manage<br />
    • 30. Windows Azure – PHP Tooling from Eclipse<br />demo <br />
    • 31. Azure Services Platform Overview<br />Azure™ Services Platform<br />
    • 32. .NET ServicesInfrastructure in the cloud<br />Access Control<br />Service Bus<br />Workflow<br />.NET Services<br />SQL Services<br />Applications<br />Live Services<br />Windows Azure<br />?<br />Applications<br />Windows<br />Mobile<br />Windows<br />Vista/XP<br />Windows<br />Server<br />Others<br />
    • 33. The Service Bus<br />The problem: Exposing internal applications on the Internet isn’t easy<br />Network address translation (NAT) and firewalls get in the way<br />The solution:<br />Service Bus provides a cloud-based intermediary between clients and internal applications<br />It also provides a service registry that clients can use to find the services they need<br />
    • 34. Service Bus<br />2) Discover endpoints<br />Registry<br />1) Register endpoints<br />3) Access application<br />Endpoints<br />Application<br />Application<br />Organization X<br />Organization Y<br />Access Control<br />Service Bus<br />Workflow<br />Service Bus<br />
    • 35. Enabling Interoperability between heterogeneous systems<br />Azure Services Platform<br />Azure Services<br />SOAP<br />SOAP<br />Your Cloud<br />Application<br />REST<br />REST<br />XML<br />XML<br />End Users<br />Java & Ruby SDKs for .NET Services<br />.NET SDKs<br />Coming Soon<br />Your Software Application<br />Developers<br />
    • 36. Cross Platform SDK for .NET Services<br />Goals of these community-based projects<br />Open source software development kits (SDKs) including:<br /><ul><li>a set of libraries, tools, Prescriptive guidance
    • 37. sample applications
    • 38. enhance productivity for Java and Ruby developers</li></ul>Enable Java, Ruby developers to leverage the Microsoft .NET Services <br /><ul><li>extend their Java and Ruby applications by using the Microsoft cloud services
    • 39. platform to build, deploy and manage reliable, Internet-scale applications</li></ul> <br />Ruby SDK for .NET Services<br />Contributors: Thoughtworks, Microsoft<br />Sample Scenario<br />Classifieds Application (Ruby)<br />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.<br />www.dotnetservicesruby.com<br /> <br />Java SDK for .NET Services<br />Contributors: Schakra Inc, Microsoft <br />Sample Scenario<br />Supply Chain Management (Java)<br />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.<br />www.jdotnetservices.com <br /> <br />
    • 40. Java SDK for .NET Services<br />High level Architecture<br />Open source project <br />offers Java libraries, samples and guidance <br />help Java developers to build applications using the Microsoft .NET Services. <br />Architecture: <br />Java SDK leverages Metro, an open source web services stack (part of the GlassFish project supported by Sun Microsystems). <br />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. <br />
    • 41. Ruby SDK for .NET Services<br />The Ruby SDK for .NET Services is an open source project that helps Ruby programs communicate with Microsoft .NET Services using plain HTTP. <br />Specifically the SDK includes set of REST libraries, tools, prescriptive patterns & guidance and sample applications that will enhance productivity for Ruby developers. <br />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.<br />Ruby SDK for .NET Services<br />Contributors: <br />Thoughtworks Inc <br />Microsoft <br /> <br />Project website: www.dotnetservicesruby.com<br />Sample scenario: Classifieds Application<br />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.<br />
    • 42. Call to ActionPoints of interest<br />Microsoft’s approach to Interoperability<br />OpenSource Interoperability Bridges on RIA, SOA, Identity,Web2.0, S+S & Document formats.<br />Take advantage of Opensource Technical Bridges & Contribute<br />More details at <br />www.interopbridges.com<br />www.microsoft.com/interop<br />Round Table Discussion “ Microsoft & PHP”<br />Tomorrow at 1PM Meeting Room C2<br />
    • 43. Questions<br />
    • 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.<br />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.<br />

    ×