Getting started developing for Office 365

    About a couple of weeks ago, the announcement of Office 365 beta was made and some lucky ones have already received an invitation to participate in testing. The Russian representative office of Microsoft on this occasion even issued a press release stating that Office 365 will appear in Russia before the end of this year.
    It’s important to understand that Office 365 is not just a set of ready-made integrated mail and editor applications in the cloud, but also a development platform. In this note, I would like to briefly talk about what opportunities are available to programmers in the context of expanding the functionality of Office 365, as well as where to get additional information about how such solutions based on Office 365 can be created.

    What can be developed and sample scenarios


    So, probably, the most important question is which components of Office 365 at the moment allow expanding functionality, contain external APIs and are generally available to programmers in some way.

    SharePoint Online
    In the general case, it is possible to develop the so-called Sandboxed Solutions - applications in the sandbox that can function on the Office 365 website. A particular simple case of such an application is a web part that operates on the Office 365 website and displays information to the user. An example of developing such a web part can be found here.. Also available is the ability to create software Workflows for organizing additional workflow schemes. The scenarios here are obvious - if you need a more complex workflow than Office 365 offers, you can expand it. Another option for interacting with Office 365 is the development of client solutions that work with the “web-services api” - the so-called Client Object Model applications. The examples that come with the Training Kit are based on Silverlight and Jscript, which is run on the client and works with Office 365 data. Simple scripts that come to mind are processing list data or downloading files.

    Excel and Access
    Office 365 has built-in Access and Excel engines. Of course, these are not analogues of full-fledged offline engines, but the capabilities they are capable of solving many problems. If you have a need to work with Excel spreadsheets or an Access database located in Office 365, then you can use a set of web services, REST requests and a Jscript-based library. For example, a scenario is possible in which you change the contents of the cells in an Excel table from Jscript, then the data in this table is recalculated on the Office 365 server side and a part of this table is displayed in a graph on the Office 365 page.

    Lync online
    Office 365 has built-in instant messaging, voice and video chat. The existing API allows, for example, creating an alternative client by combining ready-made controls. The main goal is to provide programmers with the ability to create “contextual” applications. An example would be a web part that contains an input field for instant messaging, or an even more mundane example - a helpdesk form with a ready-made chat field with an operator and a call button.

    Exchange online
    Office 365 has built-in Exchange with which you can interact through the Exchange Web Services Managed API (EWS MA). In general, this API allows you to programmatically organize Create Read Update Delete operations with all elements stored in Exchange (Appointments, Attachments, Contacts, Emails, Tasks, Public Folders). If you need to import into Office 365 a database of ten thousand contacts - please, there is everything for this. Additionally, there are pull notification services. The simplest scenario - a letter came to a special box and your robot processed it.

    Where to begin


    The primary source of development information for Office 365:

    This guide provides background information that you will need to get your solution started. The course is still supplemented with information so stay tuned.

    Here perhaps the question immediately arises - where to try it all and whether access to the Office 365 beta is required for this. The answer is no, you won’t need access to Office 365 beta to begin development for this cloud solution. To study the Training Kit and the examples that go into it, you need a virtual machine that can be downloaded from the Microsoft website.

    In general, the main software APIs in question have long been available (with some nuances) in the products of Sharepoint, Lync, Exchange. Those developers who have already created solutions for these platforms are by and large ready to develop for Office 365.

    Why develop


    According to official information, more than 100,000 organizations agreed to participate in testing Office 365 beta. What could be an indicator of a genuine interest in technology. Also, one should not forget that the underlying technologies included in Office 365, such as Sharepoint and Exchange, have been used by many companies for many years and managed to “grow” with additional scenarios, components and solutions.

    All these solutions to one degree or another may be in demand in the "cloud" office, and those developers who create them for Office 365 will undoubtedly be able to make money on this. Moreover, Microsoft is striving for Office 365 to have additional features and solutions, and now the Office 365 Marketplace pilot is on its way .

    - An app store and professional services for Office 365. Blog posts on how to register an app in this store have already been posted . If you have a partner status and you are developing solutions for any technologies included in Office 365 (SharePoint, Lync, Exchange), then it is probably time to think about registering your application.

    Also popular now: