Merken

MAX: Realtime messaging and activity stream engine

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
if so welcome everybody thanks for being here on the thing with the spoken we rate really appreciate that and that we're going to move have a semi were going to the I give this talk local maxima real-time messaging and activity stream I don't I lessons
in Europe by developer and idea architecture of UBC need I not both Foundation members and I'm cortical Proceedings 2010 and I'm also I fear or it's
called upon 3 entrenched which was published in 2010 by but and long-term and kernels and time by phone and I was clearly the development and I'm working with Python for the last phase ideas and just because this project also occasionally which everyone and some of the kind of guy everyone asks for a rate is present and we've
picked up on begin doing good website with phoneme that you can see that is a private company that is owned by them when it was set up within the little known and so on and so we have the more bands and so 100 sites in blog running in university and the last 4 years from also makes some products we we've parents engaged again
odds we wanted to do so at the moment and I don't think we are able to do that because the and the why for these theory crabby but that's how it is however we tried to do that so let's see so but let's see what happens so want to do that because of course the amenities is was so why 1 thousand words and if it's not working on our merry so to get to of the shows what were the upon that and will of come on so it was really wanted to show you the stream which is thereby buzzing your eyes and plementation what doing that and little the hockey
self-awareness that we have this histories but this is the central part of the here which is that it works as this said is that you idling dation of max and in which we can we can have both things like like these so the low over his body on and then and that the full did reduce their ion right now powerless has also send me our our real-time assets which I II I can see that like you know in a real-time litigation and then knowledge legal tool that you then see that met some of the erasing that message and I can reply to the right like the so this is basically what we've gone these uh that the 2 main parts of the main features of of max on and we just wanted to show you let's back to the presentation so a living of history of max we initially designed max being the fact that we wanted to we have we we wanted to implement some kind of social interaction which is the concept that use nowadays used very trendy and for the university itself and we read initially designed that a key feature of the the the interaction popular what which is the the the streaming in giant on and then after that we we also I believe the the in the messaging at future as well and today matches use alive by more than 30 thousand students and 8 thousand the rest of the staff and eating directly mainly underlying come close of the University of obsolete in the institutional collaboration tools used by the that at basically what its max so during the needed it's it's an it's an enzyme that you see in the but basically is a RESTful API and we that we almost half 100 points I pass these 2 main features the service the user and the application of stream because we read that is not only it's it's capable of of receiving an activity from users but also from other applications and we
can impersonate obligations much talking in in the mouth of the users to also and that we can rely on at the that that kind of thing and then we have this thing grows messaging number under conversations future will we already seen it I know it's a GPL license so how
we came to to was that uh that that concept the concept that the uh using max we we have a lot of forums in the even in the online temples and in the also I wanted to look modernize so that the user experience our for that forum so we thought that maybe we could and reuse some of the of concepts of the forums in a spatial from topics because you are in your user you're interested in a special topics about you always have to go to the website and and check that and we want to that that the information came from and more than point of view to the user so we basically interviews that
concept of a context so the MACs with basically is the way that you read we
um well the likely so
imagine you have a context which that are mapped directly to topics to topics weeds out the the main features that they have they are related to a unique you're you're right so we can I'm happy to we're ritually at any any speech that even if it's not uh related to match the regularly but that and this context we can agree forced boards that have social features like commenting on our like soil and the fact that the primary feature and we had it also the concept of of subscription so I can subscribe myself or or someone gotten so described I need to a context i'm gonna like uh and and this person can believe me I don't run some some that some permissions that it allows me to interact with with with the context in in different ways so we have this description of the the context that these mapped to the topic so I can as a user I can subscribe myself to our all the context that that that I I wanted so
what about the the future of the context of the state is a unified by you need your your hands on we can have assigned permissions very context we show that you are basically and now we have these at 8 permissions with allows us through 2 more more build different kind of of context based on on on that permissions and that gives us almost 6 thousand and kind of context which is a pretty useful and useless fact however and that we we can also override of this aggression out there that the emissions of the user in and run a lot ways because we we are able to grant revolt it's a specific permissions for user for allowing users to the more than the the context so
whatever their own real-life examples for Latin for example we have now tool these is in areas where we have a community sides underlined campus in the community sites this kind of our as a said this interest social interaction at the University where we have a lot of a lot of communities which are directly mapped to 1 context about which guys have any of these cases like institutionally events traditional news or and Annandale income was we have all the subjects uh that that are mapped to each each 1 tool to a context I indicated
decide we decided to have these 3 community died just to show you what we can do and that we have the open communities when everyone can join and leave at we'll we have the close communities where they only showed it should invite me you know them to join but I can't leave also what I want I and the institutional accumulated I would a world where this side that means decides who subscribe but no 1 can leave this this is the idea example of the means of these additional events where I want that everyone be subscribed but nobody leaves as a
summary of features that we have the 2 stream your releasing in digits is stores activity from user applications and we have that social the features selected on the slides and we also have support for Apache the images and find this is a composition features is almost the same that because the Union kind of way R R sharing some of the basic features of the TDC and later countless would will show you on that we basically allows us to have a one-to-one to miss conversations and group composition as well and it supports also images and 5
this is something we have the service creator of URI we will you already seen are indeed the reference implementation of the of the wife attacking the DAPI and under you can use each other as example for implementing your your old uh you wife this a video which so we also
have been no difficulty and modification and John for the real time of feature of that it's but but most this place but for a specific which notifications for up and will and also these allow us to have a kind of the internal modifications to which we are exploring air right now that we really want it to be able to send the defecations for example to the desktop to the users and not related with the a real-time messaging but also for all the information that the media user could have we also have an external source aggregation we the are currently monitoring and not treated plastics include which we can push each uh inside the stream also as the also gives the children that we we are able to deploy the max company fuel or whatever we want and these address some security concerns that we could have used the 1st we are using more popular and tool like let's see let let's say out what's up alright message loss of things like that and if you are worried about that that the privacy and ownership uh we provide with a way to have a lack of corporate what's sample cooperate by so it's it's also a good feature and this is that the summary of them again I
will try to this playing you a little bit some of the components that we will have to make use it's possible that but when have kind to 3 different kind of components on the left you can see that the components that around the ones that have a user interface the ones that the user really uses and entities which are apps and being the intuition is that we have done with other systems like the 1 and love and India and the Javascript widget and that it can be really puts put anyway In this entity rats and they remains of water that we developed to use and we will with through some details of the and on the right some of the well known and so were present that we used as the mother of the back inside of of the of my
distracts from what we call a CDs season and implementation of also those sentiments to the sorry had asked to implementation and this is built on top of the dynamic and this is a very simple implementation will leave the support of the of this call that the resource owner creations flow the those and as we are we are using new wealth from trusted systems but we don't have the need of the more complex flows of wealth of define and even permission a lot of resources so as the systems where using these but I've trusted by their final user it's that it's that system that provides the needed grants was to obtain the tokens and under the validation are using normally being both in in all cities and towns in the API for storage and 1 of the reasons that we in the development of of our own system is because we know that we will have simply that's laugh at a specific user directory systems or a single sign-on systems and the wanted some flexibility tool of the whatever to those clients so we make our cities so which client and can get its own brilliant tool to adapt its features but we have the basis and that implementation and therefore also and a lot of service to our client is if they are not recover for the and maximizes the API parts and it's also don't of of the gametes and why we use the and it's we were using for the last 4 years we know pretty well what features the past and eat seats fitted well with what we wanted to achieve we use the API but I will not going deep out all the inference that we developed a max only a few of the implementation details that we years as for
example errors on the rooting of all the all the endpoints that existing max we use a and have a centralized plays in the cold when we define although the where else of of all the end points and the is used by the army to artfully find the rooting and we use it to generate ultimately commendation present on conduct strings of them on each implementation of the of the important and we also use these travellers from it's of it a combined way of reading that using euro dispatch for reaching the URL and terrorist but a to to retrieve the object that the is that the object offensive ideas and point so but once we enter in there In the definition in the actual coat of that of that M . we already have all their initialization authorization and that's education Don and so that the real call of each employing use very simple event and they sharp we also used future of identity and that is called twins to produce is actually the greater but managed by right I mean so you can you can find a lot of twins and you can define in which part of the twins are executed and basically you can perform tasks before and after the request and the system so you can modify their direct their into a request that has arrived and modified and the response to that will and will be shown to the user as an example of 1 of the 2 means
that if we have implemented as easily a check that is done on a special value 1 if you that we are using them because we thought that in maybe in some some point in time we would reach point that we we're what would that will have no option that makes some and the breaking change in the so all the mobile applications that you had distributed across all the client devices will be broken so the mobile devices and the at the APA several and agreed to in our in the in Valley that it's it's just an and the number that we are incrementing over time and each request check it on this on the number so each we you have to make a written change we just increment that number and then a lapse no that's a change from his made and that's probably and will there's another application is really and he tells the user to gradient so we have a control about this but we try not to make that kind of changes it's just in case we have no other option and the last thing about
Max sees how we implemented the exception handling we wanted them in a unified way to show the and across to them both to the and and final users that is using the API and and and a way to catch possible 400 extensions and box that appear the system so what we've done is that every year no 1 exception that we have in our culture he's rise of that as opposed to exceptional and then this is kind of value might be gametes text and exception and rendering of was and there's a message for each kind of of and so on and handle exceptions we record that is that of the area were included the information that was in their in the request and will
turn a little over the
user interface to be able to we expect that the about information and quickly acts of on possible backs without having to to really on on contact in the user trying to reproduce the of under real Bangham
missense in fact that we have used gravity and q is it is it is really the the sits at the end of that inmates where we where exploring different possibilities with diet and we experiment on circuit ideal then we tried we JSI and so that the yield to and finally we discovered 1 of the pollutants that come with gravity and without these a storm we so separates from the and then only if anyone had had of epistemology what we what we can achieve with these and also we the unique floating features that fast for everything and you is that we can we can't directly map and have to a client that can exist in the system to internal Kiwi any change a system of every of writing and call and also we have developed at an Atlanta looking for a very gentle to connect with you know where all those syndication and this
is an idea of what was implemented to to world to me suggest 1 new feature that we are very proud to is that's out there the structure of of some of these design holds that the security of so what what users the where users can read and write from so and each of the each of them the changes that you see here Our connected by some being the exam I maintain it might EPA calls so any any time a secretion suspicion is made the core meanings for each user are operator and so and as such can only go through the system that exist so the security is implicit in there in the design of the of the meaning we also develop
that kind of vertical message that is what messages and everything cool contains yeah and that message
easy is designed to be pockets and on to use that the minimum size so we have a kind of underspecification toolbox the messages of a on static values that we know so we can go from this you Maria there format to these never really able for my soul it's not about read about but it's usually the
level it would have to prove in an anti sort images and
finally this is of them expanding component that is the key weak consumer is a process through consumer so we can stock many many consumer for each of the those would have developed and is in charge of taking the messengers and doing the appropriate test for to each message still to fill in the API is an and so on and that much money
component uses we comics client is itself I found weapon for the rest API that's a rather than all the functionality from the API and this is what these users tool from much money to quality the I was given and we also a but the specialization of them explained that the there was the item at client we each piece a way to from that executes all the code from max using official fake with the service so we can make a request in the same way that is on the material happy but without using the real services and at last the to turn on the extent of aggregation and he's not already spend so I want to show you now the current durations which you already seen in the demo which is the size of communities reduce these social internet we have the modeling the integration which is a stimulant in which we call the your land composed and also the 11 and the it's not so so it would be easy
URI so you be social interact with the keys of the jobs created which is in the middle this is the model
tried to or 1 of them because we have a lot of the of all also and we the integration of the all of the stream here which allows the students on the teachers to have for very tight communication and even with the stream on with that conversation about these are
the the diseases to the value this our and this is the
101 so they basically have the same this same of of functionality and
potentially durations and almost literally whatever you are thinking of we are also thinking in that a boat this stream also on Europe's or e-mail I don't know any any of this see via a web but we're happy that you have the because of the chemistry you don't put the JavaScript with barely that at fought and make it work with max anyway and then I will review exploring the idea of this said with with may be putting in our European something like that we see these we
have a huge list of how to do this because there so much to we I wanted to add social integration and satellite full length to deletion feature or share like the people 1 on the it was 1 of the we definitely have to the the the commendation may be explored the penalization of each of the alleles reason and then make it a real microsurgery is exploring also assume all kinds of cash like reviews for will also wanted to reported to Python 3 because we are using 7 right now and maybe use so and improve for our API by being a some additional the high-protein technology there and of course having a some kind of end-to-end encryption which is very close 1 but nevertheless but some of and so we are here also because we also want to explore it we can nebula community around Max reliability a let's say how happy and proud of what we've done and we know that there's a lot of false things of of of improvement but well so of definitely we want to know explorer what the we can do community around the time that this conflict as if you're interested are you find interesting and the present welcome disease the recovery the resources where you can go and take a look at the the different 1 is that the conditional on that and the other ones are there are repose have proposed of so much so I think you can think of few
non christians medicines so city choice several military besides traveling you were chosen in an interesting which 1 standing especially to the look at NPP 1 . us aphorical to use in Europe at the time of that so I'm interested in knowing what technologies US looked at instead of robbing Q and I'm especially interested in knowing if you guys take to go look at a QP 1 . 0 as a vertical to use rather than problem you with 0 . 9 OK missing a already said it's we use parameter we submit that you're the 1st approaches with that word without thinking you know unity we wrote in inside the system that we we realized that we we couldn't achieve a real real real time with a little with a system like that and thing so evidently is using IEEE and cool but we are using some of them extensions that everything you I fast has come forward understand the political so we are a little tight theories question yeah move in this sense distinctions and fj
Streaming <Kommunikationstechnik>
Echtzeitsystem
Extrempunkt
Bitrate
Baum <Mathematik>
Message-Passing
Computeranimation
Erlang-Verteilung
Softwareentwickler
Regulärer Ausdruck
Applet
Intranet
Bitrate
Extrempunkt
Computeranimation
Kernel <Informatik>
Speicherabzug
Projektive Ebene
Skript <Programm>
Computerarchitektur
Softwareentwickler
Phasenumwandlung
Web Site
Web log
Momentenproblem
Amenable Gruppe
Güte der Anpassung
Biprodukt
Metropolitan area network
Streaming <Kommunikationstechnik>
Gruppe <Mathematik>
Vererbungshierarchie
Wort <Informatik>
Grundraum
Brennen <Datenverarbeitung>
Umsetzung <Informatik>
Multiplikation
Punkt
Extrempunkt
Stab
REST <Informatik>
t-Test
Zahlenbereich
Interaktives Fernsehen
Kartesische Koordinaten
Intranet
Groupware
Extrempunkt
Kombinatorische Gruppentheorie
Ausgleichsrechnung
Computeranimation
Streaming <Kommunikationstechnik>
Dienst <Informatik>
Rechter Winkel
t-Test
Mereologie
Streaming <Kommunikationstechnik>
Grundraum
Message-Passing
Tabusuche
Webforum
Sichtenkonzept
Punkt
Webforum
Extrempunkt
Information
Kontextbezogenes System
Ausgleichsrechnung
Computeranimation
Tabusuche
Deskriptive Statistik
Subtraktion
Pay-TV
Sprachsynthese
Kontextbezogenes System
Whiteboard
Computeranimation
Umwandlungsenthalpie
Subtraktion
Web Site
Gebäude <Mathematik>
Stichprobe
Interaktives Fernsehen
Kontextbezogenes System
Ereignishorizont
Computeranimation
Flächeninhalt
Typentheorie
Reelle Zahl
Lateinisches Quadrat
Compiler
Aggregatzustand
URL
Offene Menge
Umsetzung <Informatik>
Elektronische Publikation
Stichprobe
Gruppenkeim
Kartesische Koordinaten
Echtzeitsystem
Ereignishorizont
Computeranimation
Arithmetisches Mittel
Rechenschieber
Portscanner
Spezialrechner
Streaming <Kommunikationstechnik>
Typentheorie
Digitalisierer
Datenspeicherung
Reelle Zahl
Streaming <Kommunikationstechnik>
Bildgebendes Verfahren
Datenmissbrauch
Einfügungsdämpfung
Extrempunkt
Computersicherheit
Adressraum
Implementierung
Betrag <Mathematik>
Quellcode
Computeranimation
Streaming <Kommunikationstechnik>
Dienst <Informatik>
Echtzeitsystem
Stichprobenumfang
Datenspeicherung
Information
Bitrate
Message-Passing
Server
Subtraktion
Bit
Inferenz <Künstliche Intelligenz>
Extrempunkt
Wasserdampftafel
Implementierung
Extrempunkt
Komplex <Algebra>
Computeranimation
Eins
Metropolitan area network
Client
Widget
Zusammenhängender Graph
Speicher <Informatik>
Implementierung
Umwandlungsenthalpie
App <Programm>
Benutzeroberfläche
Validität
Systemaufruf
Physikalisches System
Hybridrechner
Datenfluss
Variable
Speicherbereichsnetzwerk
REST <Informatik>
Dämpfung
Dienst <Informatik>
Token-Ring
Rechter Winkel
Mereologie
Basisvektor
Datenspeicherung
Single Sign-On
Datenfluss
Verzeichnisdienst
Punkt
Extrempunkt
Polygonzug
Mathematisierung
Implementierung
Zahlenbereich
Kartesische Koordinaten
Extrempunkt
Kombinatorische Gruppentheorie
Computeranimation
Metropolitan area network
Client
Endogene Variable
Nichtunterscheidbarkeit
Autorisierung
App <Programm>
Systemaufruf
Physikalisches System
Ereignishorizont
Konfiguration <Informatik>
Arithmetisches Mittel
Objekt <Kategorie>
Mereologie
Ablöseblase
Gamecontroller
Primzahlzwillinge
Wärmeleitfähigkeit
Zeichenkette
Fehlermeldung
Metropolitan area network
Message-Passing
Flächeninhalt
Quader
Rendering
Extrempunkt
Ausnahmebehandlung
Information
Physikalisches System
Extrempunkt
Information
Maßerweiterung
Message-Passing
Computeranimation
Content Syndication
Gravitation
Subtraktion
Benutzeroberfläche
Singularität <Mathematik>
Mathematisierung
Schreiben <Datenverarbeitung>
Systemaufruf
Physikalisches System
Computeranimation
Warteschlange
Mapping <Computergraphik>
Metropolitan area network
Client
Digitaltechnik
Information
Gammafunktion
Nichtlinearer Operator
Datentyp
Computersicherheit
Mathematisierung
Physikalisches System
Computeranimation
Gruppenoperation
Arithmetisches Mittel
Knotenmenge
Message-Passing
Total <Mathematik>
Client
Speicherabzug
Versionsverwaltung
Message-Passing
Demo <Programm>
Message-Passing
Extrempunkt
Dateiformat
Versionsverwaltung
Dateiformat
Quick-Sort
Bildgebendes Verfahren
Message-Passing
Computeranimation
Demo <Programm>
Übergang
Endlicher Graph
Demo <Programm>
Domain <Netzwerk>
Server
Prozess <Physik>
Extrempunkt
Computer
Extrempunkt
Code
Computeranimation
Internetworking
Informationsmodellierung
Client
Message-Passing
Front-End <Software>
Zusammenhängender Graph
Maßerweiterung
Softwaretest
Lineares Funktional
REST <Informatik>
Systemaufruf
Hoax
Integral
Endlicher Graph
REST <Informatik>
Dienst <Informatik>
Client
Datenspeicherung
Streaming <Kommunikationstechnik>
Versionsverwaltung
Bitrate
Message-Passing
Normalspannung
Metropolitan area network
Streaming <Kommunikationstechnik>
Telekommunikation
Umsetzung <Informatik>
Informationsmodellierung
Prozess <Informatik>
t-Test
Interaktives Fernsehen
Schlüsselverwaltung
Computeranimation
Integral
Metropolitan area network
Streaming <Kommunikationstechnik>
Bildschirmmaske
Extrempunkt
Zählen
Applet
Vektorpotenzial
Extrempunkt
Streaming <Kommunikationstechnik>
E-Mail
Computeranimation
Caching
Satellitensystem
Parametersystem
Dicke
Gemeinsamer Speicher
Betrag <Mathematik>
Mailing-Liste
Physikalisches System
Extrempunkt
Physikalische Theorie
Computeranimation
Integral
Eins
Echtzeitsystem
Chiffrierung
Ablöseblase
Wiederherstellung <Informatik>
Wort <Informatik>
Maßerweiterung
Auswahlaxiom

Metadaten

Formale Metadaten

Titel MAX: Realtime messaging and activity stream engine
Serientitel EuroPython 2015
Teil 158
Anzahl der Teile 173
Autor Bruguera, Carles
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/20093
Herausgeber EuroPython
Erscheinungsjahr 2015
Sprache Englisch
Produktionsort Bilbao, Euskadi, Spain

Technische Metadaten

Dauer 32:17

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Carles Bruguera - MAX: Realtime messaging and activity stream engine What if I told you that we’ve built an open source “WhatsApp”-like RESTful API on the top of Pyramid? We've developed MAX: a real-time messaging service and activity stream that has become the key feature for a social intranet at the BarcelonaTech University We will show how we designed and built MAX with performance in mind using state of the art Python technologies like Gevent, WSGI, and multi-threaded queue processing. We will also show you how we've managed to design a simple architecture guaranteeing both high scalability and performance, achieving connecting ratios over 30.000 students, teachers, and university staff. The API is secured using oAuth 2.0 resource owner password credentials flow powered by our own oAuth server implementation (Osiris) also Pyramid-based. We are using MongoDB as general storage backend and RabbitMQ over websockets to support realtime and messaging.
Schlagwörter EuroPython Conference
EP 2015
EuroPython 2015

Ähnliche Filme

Loading...