MongoDB Days UK: Building Apps with the MEAN StackMongoDB
Presented by Norberto Leite, Developer Advocate, MongoDB
Experience level: Advanced
Get ready to be MEAN! The MEAN Stack (MongoDB, ExpressJS, AngularJS and Node.js) allows developers to do rapid application development and application scaffolding. In this session, Norberto will walk you through strategies and best practices for building applications on the MEAN stack, the benefits of using such an application stack and the key benefits of each of the individual components.
MongoDB Days UK: Building Apps with the MEAN StackMongoDB
Presented by Norberto Leite, Developer Advocate, MongoDB
Experience level: Advanced
Get ready to be MEAN! The MEAN Stack (MongoDB, ExpressJS, AngularJS and Node.js) allows developers to do rapid application development and application scaffolding. In this session, Norberto will walk you through strategies and best practices for building applications on the MEAN stack, the benefits of using such an application stack and the key benefits of each of the individual components.
Reactive services were defined by the Reactive Manifesto. They are built to be more flexible, loosely-coupled and scalable and also they are qualified based on the four principles: responsive, resilient, elastic and message driven. Java and the Java EE platform offers a pretty good structure and libraries to implement reactive services and transform it in a microservices architecture designed.
Streaming Data Pipelines with MongoDB and Kafka at ao.comMongoDB
At AO.com, our team have been focussing on how we can develop new capabilities delivering business value whilst decoupling from legacy monolithic architectures. The problem is, our existing applications contain a lot of data that we care about.
In this session we will see what are the scalabilities points of a cloud application. In the first part of the session we will look over the services offered by Windows Azure.
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB
You have valuable data in MongoDB and while it's important to use that data to empower your users and customers it can be tough to do so in a safe, secure way. In this session, you'll learn how to simply connect your users with the data they need using MongoDB Stitch. We'll cover how to quickly set-up complex access controls using Stitch's Read and Write Rules as well as how to expose that data through Stitch's SDKs, Functions, and Services.
In this presentation you will see how to use Microsoft Azure Mobile Services to add structured storage, integrated authentication and scaling to your Windows apps. Presented November 15, 2014 at the London Azure Camp hosted by the London .NET Developers group in London, Ontario, Canada.
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AwsReinventSlides
Vevo has undergone a complete strategic and technical reboot, driven not only by product, but also by engineering. Since November 2015, Vevo has been replacing monolithic, legacy content services with a modern, modular, microservices architecture, all while developing new features and functionality. In parallel, Vevo has built its data platform from scratch to power internal analytics as well as a unique music video consumption experience through a new personalized feed of recommendations — all in less than one year.
This has been a monumental effort that was made possible in this short time span largely because of AWS technologies. The content team has been heavily using serverless architectures and AWS Lambda in the form of microservices, taking a similar approach to functional programming, which has helped us speed up the development process and time to market. The data team has been building the data platform by heavily leveraging Amazon Kinesis for data exchange across services, Amazon Aurora for consumer-facing services, Apache Spark on Amazon EMR for ETL + Machine Learning, as well as Amazon Redshift as the core analytics data store.
In this session, Miguel and Alan walk you through Vevo's journey, describing best practices and learnings that the Vevo team has picked up along the way.
Reactive services were defined by the Reactive Manifesto. They are built to be more flexible, loosely-coupled and scalable and also they are qualified based on the four principles: responsive, resilient, elastic and message driven. Java and the Java EE platform offers a pretty good structure and libraries to implement reactive services and transform it in a microservices architecture designed.
Streaming Data Pipelines with MongoDB and Kafka at ao.comMongoDB
At AO.com, our team have been focussing on how we can develop new capabilities delivering business value whilst decoupling from legacy monolithic architectures. The problem is, our existing applications contain a lot of data that we care about.
In this session we will see what are the scalabilities points of a cloud application. In the first part of the session we will look over the services offered by Windows Azure.
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB
You have valuable data in MongoDB and while it's important to use that data to empower your users and customers it can be tough to do so in a safe, secure way. In this session, you'll learn how to simply connect your users with the data they need using MongoDB Stitch. We'll cover how to quickly set-up complex access controls using Stitch's Read and Write Rules as well as how to expose that data through Stitch's SDKs, Functions, and Services.
In this presentation you will see how to use Microsoft Azure Mobile Services to add structured storage, integrated authentication and scaling to your Windows apps. Presented November 15, 2014 at the London Azure Camp hosted by the London .NET Developers group in London, Ontario, Canada.
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AwsReinventSlides
Vevo has undergone a complete strategic and technical reboot, driven not only by product, but also by engineering. Since November 2015, Vevo has been replacing monolithic, legacy content services with a modern, modular, microservices architecture, all while developing new features and functionality. In parallel, Vevo has built its data platform from scratch to power internal analytics as well as a unique music video consumption experience through a new personalized feed of recommendations — all in less than one year.
This has been a monumental effort that was made possible in this short time span largely because of AWS technologies. The content team has been heavily using serverless architectures and AWS Lambda in the form of microservices, taking a similar approach to functional programming, which has helped us speed up the development process and time to market. The data team has been building the data platform by heavily leveraging Amazon Kinesis for data exchange across services, Amazon Aurora for consumer-facing services, Apache Spark on Amazon EMR for ETL + Machine Learning, as well as Amazon Redshift as the core analytics data store.
In this session, Miguel and Alan walk you through Vevo's journey, describing best practices and learnings that the Vevo team has picked up along the way.
What can you do with Azure Mobile Services? In a big solution, made up of several services, you can control your remote infrastructure looking at you events collected in a DB and you can send commands.
This is a talk about some of the higher level topics that you need to think when design an Android app. These include architecture, security, hybrid apps, SDKs, logging, and testing.
Windows Azure mobile services - Kolkata - 28 June 2015Kunal Chowdhury
Windows Azure Mobile Services accelerates connected client application development by streamlining common backend tasks like structuring storage, authenticating users, and sending push notifications.
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...DataArt
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure Mobile Services — создаем backend для мобильного приложения со скоростью света»
Similar to Mobile services on windows azure (part2) (20)
4. Agenda
• Features
• Pricing
• Account setup
• Account configuration for storing data
• What kind of data can be added
• Custom scripts
• Authentication
• Available API
• Demo
5. Features of Mobile Services
• User authentication
• Windows Live
• Facebook
• Google
• Twitter
• Store data in the cloud
• Windows Azure Storage
• Push notification infrastructure
• All the service is build in in Windows Azure
6. Pricing of Mobile Services
• Free package in the 90 days trial:
• Outbound traffic included 165MB
• Maximum 10 mobile services
• Reserved instance model:
• 3 dedicated servers (small instances, pay-as-you-go model)
• 100 mobile services
• Outbound data transfer will be paid
• Price available during preview can change in the final release
7. Pricing of Mobile Services
• Free package in the 90 days trial:
• Outbound traffic included 165MB
• Maximum 10 mobile services
• Reserved instance model:
• 3 dedicated servers (small instances, pay-as-you-go model)
• 100 mobile services
• Outbound data transfer will be paid
• Price available during preview can change in the final release
8. Setup your account
• Create a new mobile service from the “New/Mobile Service/Create”
• A unique name of the mobile service need to be created
• If we need a fresh database can be created or an existing one can be
used (if is in the same region)
• After creating the database, we can use it as a normal database
• The service can be active for one of the following platform:
• IOS
• Windows Phone 8
• Windows Store
• For each of the platform, after creating the mobile service, we can
download the project that contains all the configurations
9. Configure environment to store data
• From the management portal each service contains a tab named
“Data”
• We can managed all the tables that we have
• Create/Edit/Delete each table
• See the content of each table
• For each table, we can set the rights of each user of the given table:
• Anybody with the application key
• Everyone
• Only authenticate user
• Only scripts and admin
• This rights can be different for CRUD operations
10. What kind of data can be added?
• Any kind of serializable data
• Each entity have to be decorated with DataContract and
DataMember attributes
• It is recomanded to use the Name field of DataMember
[DataContract]
public class MyFoo
{
public int Id { get;set;}
[DataMember(Name = "Name"]
public string Name { get;set;}
}
The “Id” field don’t need to be decorated with DataMember attribute
11. Custom scripts
• Each CRUD operation can contain a custom script that is executed
on the server side
• This scripts can be for validation purposes or to add/set custom
fields
• Language: JavaScript
function insert(item, user, request) {
if (item.name == "Tom") {
request.respond(statusCodes.BAD_REQUEST, 'Tom name cannot be
added');
} else {
request.execute();
}
}
• When this kind of error appear, the client need to catch
“MobileServiceInvalidOperationException” exception
12. Custom scripts
• Each script can have helper functions
• Base action that need to be done by a script
• execute – execute the given action
• respond – send a response back to the client
• We cannot define global variable, each call is executed in a separate
request
• Some of the base modules are from node.js
• Example: we can make a request to another web-service to check data
function insert(item, user, request) {
var request = require('request');
request('http://myFoo.com/Services/validate', function(err, response, body) {
...
});
}
13. Custom scripts
Catch the exception on the client
try
{
await myTable.InsertAsync(item);
items.Add(item);
}
catch (MobileServiceInvalidOperationException e)
{
Trace.Write("Error: " + e.Reponse.Content);
}
14. Control user access to data
• Define custom scripts that check if the given user id has rights to
access his data
function insert(item, user, request) {
item.userId = user.userId;
request.execute();
}
function read(query, user, request) {
query.where({ userId: user.userId });
request.execute();
}
• We need to store the user id.
• Each user will have a unique user id
• The user id is generated automatically by the system
• We cannot store this scripts in our source control system
15. How to work with data
• Define custom scripts that check if the given user id has rights to
access his data
App.MobileService.GetTable<MyEntity>()
• Before this we need to create a table with the same name
• Update: table.UpdateAsync(entity)
• Delete: table.DeleteAsync(entity)
• Insert: table.InsertAsync(entity)
• Fetch with data:
• Where
• Take
• Skip
• OrderBy
• Select
• ThenBy
• ToListAsync