O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Bb Tour ANZ 2017 - Workshop - Integration Strategies


Confira estes a seguir

1 de 30 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Quem viu também gostou (20)


Semelhante a Bb Tour ANZ 2017 - Workshop - Integration Strategies (20)

Mais de Blackboard APAC (20)


Mais recentes (20)

Bb Tour ANZ 2017 - Workshop - Integration Strategies

  1. 1. Michael Garner Senior Solutions Engineer, APAC Integration Strategies in Blackboard Learn
  2. 2. Philosophy of Integration Evolution 2 Strong comittment to supporting the development community that dates back to 2003 With our commitment to deliver Learn on SaaS and with the Ultra experience, we are significantly improving the user experience To support that experience, we’re delivering a new integration model – Representational State Transfer (REST) To do that, we’ve launched a new Bb Developer Platform, an API gateway, and a developer forum on Bb Community.
  3. 3. 3 The Integration Landscape Learn now has a number of approaches to integration capabilities available now They each have their pros and cons which impact your decision to use one over the other
  4. 4. IMS LTI Integration Strategic partnership with publishers / Content Market Wide variety of Integration options through APIs (Building Blocks) REST / SOAP Web Services Admin Integration Frameworks (SIS, Grades Journey) Integration Framework The Integration Landscape
  5. 5. The Integration Landscape IMS Global Consortium standard Vendor agnostic remote, out-of-process tool communication Consumer/Provider model – Blackboard Learn is a consumer Tool links can be registered system-wide or at the course level LTI – Learning Tools Interoperability
  6. 6. Built around Blackboard’s proprietary Java API – requires Java Apps installed into the application via a customer GUI in the Admin panel Run in-process as part of Blackboard Learn Deployment points and tag libraries allow Building Blocks to create pages that render in Learn The Integration Landscape Building Block APIs
  7. 7. Building Block APIs http://www.blackboard.com/partnerships/extensions.aspx http://projects.oscelot.org/gf/project/
  8. 8. Course Catalog B2 • Creates a catalog of browsable courses • Course tool configuration Building Block APIs
  9. 9. https://community.blackboard.com/docs/DOC-1115 Building Block APIs
  10. 10. • Development in Java • Installed into Learn Building Block APIs
  11. 11. The Integration Landscape 11 SOAP Web Services XML-encoded method calls sent over HTTP UDDI for service discover, WSDL for service description Consumer/Provider model – Blackboard Learn can be either Provide a limited set of APIs compared to Building Blocks
  12. 12. SOAP Web Services
  13. 13. The Integration Landscape REST An architectural style of building web services REST APIs are integration interfaces built using REST principles Blackboard REST APIs are not just for Learn – other cloud products Runs out-of-process – nothing is installed in the Learn instance Programing language agnostic
  14. 14. REST - /learn/api/public/v1/users
  15. 15. REST - /learn/api/public/v1/users/userName:mgarner
  16. 16. Grades Journey – supporting assessment & grades management HR/ERP Library Timetable SIS Grades Column Provisioning Grades Exchange Flat File, SOAP or REST web services Blackboard Confidential • Grades approval, release • Optional read-only after post
  17. 17. Tools to manage your REST Integration https://developer.blackboard.com/portal/displayApi Open API Examples of data structures - oAuth - Users - Courses - Content and Assignments - Enrolments - Groups - Grades - Data sources
  18. 18. Tools to manage your REST Integration
  19. 19. The full range of options 19
  20. 20. Choosing the Right Path 20 User Experience: Original or Ultra Target Platform: 9.1 or SaaS Architectural Goals: In or Out of Process • You have a full range of options for how you integrate with Learn – some older, some newer • Each option has pros and cons that will impact your decision as to which to use • The approach to take depends on three major factors
  21. 21. Choosing the Right Path: Target Platform 21
  22. 22. For integrations to work in SaaS – Original Experience 22
  23. 23. For integrations to work in SaaS + Ultra Experience 23
  24. 24. REST API Roadmap Available now  Developer Platform  API Gateway  Learn APIs  Content (3000.1)  Courses (3000.1)  Data Sources (3000.1)  Gradebook (3000.11)  Memberships (3000.1)  Terms (3000.1)  Users (3000.1) In Research  Learn APIs  Accessibility  Announcements  Assessments  Assignments  Attempts  Calendar  Collaborate and Transact APIs  Discussions  Events  Groups  Hierarchy  Localization
  25. 25. Resources 25 Developer Portal: https://developer.blackboard.com Latest APIs: https://developer.blackboard.com/portal/displayApi Sample Code: https://github.com/search?q=blackboard+REST+BBDN- &type=Repositories&ref=searchresults REST Community Site: https://community.blackboard.com/community/developers/rest The REST API Architecture: https://community.blackboard.com/docs/DOC-1733 Setting up Learn to use your REST Integration: https://community.blackboard.com/docs/DOC- 1580 DVM Object Gen: https://github.com/blackboard/BBDN-LearnObjectGen_Python Contact Us: developers@blackboard.com
  26. 26. Open Discussion 26 What are some of your integration challenges? How could Blackboard provide a better integration experience?
  27. 27. Open Discussion 27 How could Blackboard provide a better integration experience?
  28. 28. 28 Questions?
  29. 29. For more information please contact me: Michael.Garner@blackboard.com @mikegarnr

Notas do Editor

  • Deployment points and tag libraries allow Building Blocks to create pages that render in Learn
  • REST Principles

    1. Uniform Interface
    Individual resources are identified using URLS. The resources (database) are themselves different from the representation (XML, JSON, HTML) sent to the client. The client can manipulate the resource through the representations provided they have the permissions. Each message sent between the client and the server is self-descriptive and includes enough information to describe how it is to be processed. The hypermedia that is hyperlinks and hypertext act as the engine for state transfer.

    2. Stateless Interactions
    none of the clients context is to be stored on the server side between the request. All of the information necessary to service the request is contained in the URL, query parameters, body or headers.

    3. Cacheable
    Clients can cache the responses. The responses must define themselves as cacheable or not to
    prevent the client from sending the inappropriate data in response to further requests.

    4. Client-Server
    The clients and the server are separated from each other thus the client is not concerned with the data storage thus the portability of the client code is improved while on the server side the server is not concerned with the client interference thus the server is simpler and easy to scale.

    5. Layered System
    At any time client cannot tell if it is connected to the end server or to an intermediate. The intermediate layer helps to enforce the security policies and improve the system scalability by enabling load-balancing

    6. Code on Demand
    an optional constraint where the server temporarily extends the functionality of a client by the transfer of executable code.

    Rate Limits may be mentioned
    Developer accounts limited to 10000 requests in 24hrs
    Production tools can be raised if needed.
  • Support numerous methods of exchange:
    Flat files
    SOAP web services
    REST web services

    Support multiple formats of exchange, prioritising newer standards and generic exchange first
  • Availability of REST APIs is an on-gong work in progress
    To date we’ve delivered on a core set of REST APIs
    I’m also happy to announce we just released REST APIs for Collaborate (**need more here)
    We’ll be delivering more REST APIs as part of our roadmap
    If you’re a SaaS customer, you’ll see them delivered periodically as part of our continuous delivery model
    If you’re a self-hosted or managed-hosted customer, we’ll make the latest REST APIs available with our bi-yearly updates
    While we’ll continue to support Building Blocks and SOAP web services, we’re going to put most of our ongoing effort behind REST APIs and LTI; these will be our preferred methods of integration

  • Brainstorming activity….2 questions to keep in mind