A LRS is a Learner Record Store which is a series of statements about what the learner did or is doing. Someone can correct me, but I believe Activity Streams were created by Social Media entities around 2006, and different entities adopted/extended it for a flavor of e-learning standards.
If we deconstruct the two real quick (high level) -
An LMS was a portal with assignments, reports, maintenence/admin tools, forums etc ... sometimes a LCMS (learning content management system) and other variations of an all-in-one web based solution.
AICC was developed during CBT (DOS - Disk Operating System), then browsers (pre-XML). SCORM came shortly after (post XML, pre JSON) around 2001 now living in the world of Browsers (HTML/CSS/JS, Macromedia/Adobe Flash, and others).
So with SCORM you are essentially bundling up little portable websites, which later we were able to extend to use content media servers, or CDNs to keep the 'logic' and 'assets' externalized. SCORM was based upon sharing training via a CAM/PIF package, which included a manifest/table of contents, and your HTML files, which covered the packaging portion of the specification. The second part of this was the Runtime. The LMS will expose this runtime to manage the student attempt. This, in a way, is like the 'statements' only that it is the entire student attempt data or CMI object. This includes: scoring, Interactions, Objectives, and other data points. SCORM 2004 Extended this further to make much of the specification manditory, forcing the LMS to support richer Sequence and Navigation capabilities. These were often deemed too complicated, and hard to manage mainly due to a lack of tools and support. But people do use them.
A LRS via an 'endpoint' is much like you posting statements to a server. There are XML and JSON implementations of this. So in away, when you deploy your 'app' you're passing in a URL for it to communicate with.
You can actually convert some of the SCORM centric stuff into an xAPI statement, but keep in mind xAPI doesn't control packaging, or sequence and navigation. All of this is now based on your Application (web, iOS, Android, etc ...) managing this. It mainly allows a non-HTML application to now take advantage of training, since SCORM was primarily a JavaScript communication standard.
So you have to take a pro/con look at what you're trying to do, how SCORM or xAPI, Activity Streams or some proprietary approach fits your needs.
A xAPI statement may look something like :
{
actor: {
name: "Learner Name",
objectType: "Agent",
account: {
homePage: window.location.href,
name: "Learner ID"
}
},
verb: {
id: "http://adlnet.gov/expapi/verbs/completed",
display: {
"en-US": "completed"
}
},
object: {
id: "commonly a URI",
objectType: "Activity",
"definition": {
type: "http://adlnet.gov/expapi/activities/lesson",
"name": {
"en-US": "Some Name"
},
"description": {
"en-US": "Some Description"
}
}
},
result: {
completion: true,
success: true,
duration: 'PTHMS'
score: {
scaled: 0.9
}
}
}
SCORM, is mainly locating the LMS Runtime (API_1484_11 or API) and then making method calls to Initialize, Set/Get Value, Commit and Terminate.
CMI Object (for SCORM 2004) looks a bit more like this once its filled in.
https://gist.github.com/cybercussion/4675334