Atlantis Learning Network Functional Overview
- REST API
The basic idea of REST is that a resource, e.g. a document, is transferred via well-recognized, language-agnostic, and reliably standardized client/server interactions. Services are deemed RESTful when they adhere to these constraints.
HTTP APIs in general are sometimes colloquially referred to as RESTful APIs, RESTful services, or REST services, although they don’t necessarily adhere to all REST constraints. Beginners can assume a REST API means an HTTP service that can be called using standard web libraries and tools.
REST (Representational State Transfer) refers to a group of software architecture design constraints that bring about efficient, reliable and scalable distributed systems.
With REST only a “representational” copy of the original content is “Transfered/delivered.” The actual content remains.
In REST systems on the web, a URI is used to send a request and that URI will specify what resource it is looking for.
The key here is the resource is the data sitting on the server.
What REST returns is a representation of that resource which can have a different format from the server resource. So, while the resource data may be stored as a table in my SQL, the return representation may be JSON or XML or even HTML.
Next, a uniform interface must allow resource manipulation through representations. This means once a client has a representation of a resource, it can also modify or delete that resource.
In other words, the client given the right level of access, can control what’s stored on the server.
Third, a uniform interface must issue self-descriptive messages. This goes for both sending and receiving REST data. Each representation must describe its own data format. So if you’re receiving JSON, the response message will have its media type set to JSON. Without this information, the data cannot be reliably parsed.
And fourth and finally, a uniform interface must use hypermedia as the engine of the application state.<
This is a complicated way of saying once the client has access to a REST resource, it should be able to discover all available resources and methods through the hyperlinks provided.
Request a page resource and along with the page contents, the return representation should include hyperlinks to all resources and methods available. In other words, the REST service describes its own use with every returned resource. If and only if a web-based API meets these six constraints, it can be considered a RESTful API
An API (Application Programming Interface) is a set of features and rules that exist inside a software program (the application) enabling interaction with it through software – as opposed to a human user interface. The API can be seen as a simple contract (the interface) between the application offering it and other items, such as third party software or hardware.
In Web development, an API is generally a set of code features (e.g. methods, properties, events, and URLs) that a developer can use in their apps for interacting with components of a user’s web browser, or other software/hardware on the user’s computer, or third-party websites and services.
- The getUserMedia API can be used to grab audio and video from a user’s webcam, which can then be used in any way the developer likes, for example, recording video and audio, broadcasting it to another user in a conference call, or capturing image stills from the video.
- The Geolocation API can be used to retrieve location information from whatever service the user has available on their device (e.g. GPS), which can then be used in conjunction with the Google Maps APIs to for example plot the user’s location on a custom map and show them what tourist attractions are in their area.
- The Twitter APIs can be used to retrieve data from a user’s twitter accounts, for example, to display their latest tweets on a web page.
- The Web Animations API can be used to animate parts of a web page — for example, to make images move around or rotate.
|API||Applications Program Interface|
|REST||REpresentational State Transfer|
Network Reference Model
Atlantis Learning Library – The place Atlantis Learning Packets are stored
Member Client – The place where the User lives
Network Entity Relationship Model
1 – Learning
@lantis provides a platform to help people learn.
2 – Teach
@lantis provides a platform to help people teach.
General Background and Assumptions
Learning Management Systems exist in large numbers.