Bestand wählen
Merken

Migrating an Existing App to Ember, Component After Component

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
my and I have a OK
was going get the and OK so mired in another after a component of the components and what does it mean it basically means that you don't always have a a choice to rewrite the formal application when you want to migrate to and let's consider that you have an of 5 or 7 years old applications and this is what we had uh at of the company work with and we need to integrate and that signal to have more control on the front and region and we basically can rewrite everything so before I go deeper into that and so we beautiful context 1 I will work with so many is that political well and French as you can guess the exons and I work at people don't which is that the French company possibly in the US I we do it shall of software so very very big processes workflow we have very young models and this is why we decided to raise a world history complication and we then and because it's different images we added the data model and there's a ton of feature to want to work with so when I entered their company and I have as really being told and OK can you that can you amber all the things it was my main thing to do and I had a very very quick discussion is the predictive and uh the there was no way we could that frees the application and stopped working in new features we already had a fast-paced development team and the whole team was composed of Python developers which on our own and hates and encode and so I had to like liberate them from that and start thinking in and that as a said unfortunately you can't
always start over and if you are new to remember now and you will quickly realize that the documentation that a by the book you will have to start with a fresh out with fresh in the and in new projects and this is not always how it goes and the thing is for this the market is very demanding and can we're constantly should new features and we couldn't basically you for all the 6 to 18 months of her rights just for our own sake the world's energy and fall market and so we had to find another way and to get em you how was that and for control from formal security for a new faster development and and for like when doing that and we had a couple of it before it is and if you have something to write get out of this here by the future things the first one is the the outside world is hostile and the when arena and up you have got tools and you have the right to for instance in which you don't have in the outside world at your host out you know you host up and which makes it very and to a number of development and the dome can mutate and leave without any kind of uh for like forward I think the differences can be very hard to work as well so genomic very buzzatii and you all know that computing is about consuming that I'm introducing at us so we had to find a way in 1 sitting for an and bidding and number up into another section is true as well for Adams is just opening the right way of opening your application and to the outside world and that we need to communicate with these so long and what we're going to do in this talk basically is about to open it don't have to be dropped and um you have also have to consider this is the 2nd thing even going to talk about is that you up is just a component the complement modeling is a member is very very powerful history B and it's a keystone of the invited to that accessories and it comes with a lot of best practice and they're very very good very most notably and that Don action that and the way we that integrated and buy into a world of an existing is by considering that we just the part of the application and replace it with a number of which in the long run we only be a component in the beta up and this is what I call middle of complement after continent and there are some
key topics that we have to face and when dealing with em and when dealing with integrating embedded into your into your and some questions are pretty straightforward sound much less so than those 4 questions like very quickly on for instance what part of the UK we may 1st what we start with a couple of strategy that you can apply when embedding and the number of injured migrating to and and how we construct the the and because when you start a now classic and invested I just thoughts automatically and this is not what you know in the general contextual to control when you starts and where it starts and how it starts and eat which context in which in which states and then what's the communication workflow and how would you or host at communicate you end up all over Europe as that whole we you send orders for you and meet it all and not only on the island of the into out and last but not least the process so we we integrated the process into into your existing because pipeline 1st thing 1st integration strategies that that couple of strategies you can work with very quickly hardened you can go with the most repeated components of the complement would find the most applications it's pretty good strategy because it allows you to drag the code it's good for home duration here the application another strategy is to go over the most critical component the 1 that brings the most value to go up and the it's very good safety nets when you do like business software and has a case but the value we call admission and you can also go with the most complex components because it's always a sense and taking the worst case scenario of like Puel japery up with nothing know framework nothing at all and you very Haiti and components it can really be a mess it can really be very frustrating to work with and and just getting rid of that's to work with Emma which you know and can come for over precisely it's also be really for the whole team and adding features makes it much easier and we basically decided to go to with another strategy is to go the complement that uses you the most and it brings along the body to them we had a lot of features to add and we show that the complement right now like an idea of what what age was decided to go with the faceted search
and um so the bottom the lender face it's where the the traits of recombinant of the columns of faces and so what is the price range of what is and how they played a major part of the panel for which the 2nd and the 3rd of the price the rating or whatever and what we had been displaced was um that we had come to those we add like an or dating values based on previously selected facets and so it was the then he he not that difficult but you know with all with all the data dating requesting an account as anything so it can really quickly BMS and the surge was obviously as the complete working based on deficits on the side well and that the people with the and that is world with the sorting featuring adding removing columns crazy rendering of some columns Exeter Exeter so the way we did that and is we decided to elect 1st change the facets and at end the very 1st iteration of all and that was only the facets and it communicated with the rest of the up just as always did and an artist bootstrapped these whole written duration thing once that was known in the city to remove the search component into 0 and application and once that was on we move to that at the table which were the by far the hardest part and goes like this data tables always very very hard and once you've done that you pretty much have the whole page set up the whole was that for 1 page 4 2 pages for 3 pages you can basically take over the whole page and the history the rotten and user Roger as well and then you haven't had your other the full blown and other new love component-by-component based but these latest replaced your former applications like framework markerless all using what a framework for 1 hour with an end up and this is when you done this when you're done but this is like I think it is a strategy that went with the we are not there yet what country working under the table also we are still 1 step away from them and and we are picture as well so it's it's not always like a straight line and have so this is you have to consider how you will make greater up because it had to have a huge impact on the roadmap and you really do maybe have some blocks uh sentiment some bumps on the road so that means Jews that plan ahead your your strategy of how to integrate a continents missing and theory have to you once you have decided which complementing once you have built in an isolated way your components is outstripping
and fortunately known and the amplitude surveys we have like a lot of very very good and tools like the visit API and we services are amazing of course to handle that and to bootstrap the context and then the state of your application so as the what we do here is take the form of a message as
it existed before but then we removed all of the of the she came out it was a set-aside rounded up so the facets the facets that you see on the left with a set of interim so we removed all the you well and i and everything and we mediated at a structure because the whole options available at bootstrap at least and all the selected options at the possible values everything and replaced that with the adjacent structure and we I think that the descriptor and which which for the end up the and we have a number of the 19 in a world edition of this is fairly easy to do
and then let me show you like it more hoped works on the 2 of you have for instance of location and you have to patient in an otherwise you would have and on the optical around the region and in the history and can be which pretty messed and current elements select whatever you want like at the very 1st step just selected the war the very roots in and also a form have our former facets that ball and that actually and it's conceivable 1 is pretty nice way to press the options and which of the state of your application so you already know that you are this and that men that option corrosivity because you mostly but if it's a story set aside rendered accuracy don't was likely don't have any EPI at hand or the other way to handle the states and the with 1 of the state so you just want to find that you are and how we just look with the and we use on that we use social services and you receive and handle that the facets for instance of an object and the visit API is of such a great because you can work on multiple pages at the same time and which of them the but will and just the couple of options and is the good thing is the DAPI regions of a promise which means you can also keep the control flow in sane and your horse out knows when you will end up has started and it almost tumour-like chain dependencies and print neatly its regret have a few
words to some gradient growing and the front stage and on the way each other and it allows you to but simulate all you as if you had a multiple elements so it us
for instance if an artist you hacking during such functionality and and
how does it work you just replace your obligations and paid for the camera and and you add to that the attributes that the component that refuse to you uh indicates to your application you end up what components I you want you to bootstrap anywhere and there is a way in environments to that best configuration of the acid at tributes our we didn't do that I would not recommend doing I want to keep everything under control and the antigens reports but that's really a q and also in the context in which it's a good thing to do the Committee shall and
this is relatively because you have to want you out to you member of a new host at community of and I'll send you up is basically just a component and in and the to abandon images series and we have the that of and model which have we tried and succeeded 2 replicates at the application level
so what is it look like they used the whole cloud on the left is usual course of application and your and repetition of cities and they didn't and what you and repetitions we would use is just fire events to the outside world and so it will fire and forget so you'll also application knows when something happened and that it doesn't it and so it can react to that but what happens in your house that is not the responsibility of your and that's why in it is good because you just want to lose control of and that's it byron organs was a key and we also want to open like as small as possible the API from you'll and from that in your and our so your host application can trigger methods and the now I have this state of fear and obligation and change accordingly with a bit of a code what does it look like and that safely
publish so I'm not going great deep into that but he mean that you're wrong petition will extend it entered and it's so I can send letters and trigger events and you reuse of work we used the trend way just tell me very good for the informative we used an instance initializers so we could look at the application and you have a couple of services and trigger events on community and what does it mean in the host at that can just you might have worked on for instance the data sets and then have and the application to something that like real data table and at the top of the whatever is needed and so this is basically how we trigger actions and and with that data around sort of you and we were all very simply we added a reading methods to the in the application which was exposed just exposed globally in the application as well and so we use the he the continent to out for the credit and entry of the actions the but the news 1 more that he she will return and promises from you from a method then you can keep the control go going and you know when everything that happened in your hand up and then you also have can keep calling and which is like a very very very nice would work with when you have complex workflows and the
last thing he is the be process and fortunately for that we don't have like cancer and would have defeated and answer to of it's very very hot it's very up you can iterate context on text-dependent very and even in the host up on your phone by and that fortunately we have hemisphere life which is absolutely fantastic and say I have can it from the power from the command line there is intrinsic parameter in the right so you are pretty much free and whole and broccoli and however the eyes all somebody will so you can be sure the natural broccoli broken you have been plan you can go to the gym together that maybe we have in the city by something can be done to begin and trade the seek I but if you have something to get out of the need for this is that is very hard and you on your own all around you for instance 1 thing that we found particularly difficulty is that the content hooks and he makes a the chain that and still I generates so we didn't we can handle that because we had to inject a world and big and straight standards instead this by hand in our set rendered on paper because the city was around a set of associated rendered applications are so that was pretty hard but the only thing that it means that they should invest more time in an emotion and so that I could Herman so yeah this is by far the hardest parts of and of the Holy in duration thing because it's really really really different on how you existing beadwork so but once it's done and it makes the whole development from much easier to make also as know we've seen that you can make the strip and that the number of within an existing half of it communicates having had its built uh so the that it is you
can merit all your existing apps to and the use of all the tools you need an and very very glad that and there is there's going to be you know an quality and because any of you lots of things to say to them I would love to contribute more and you want to make it hard to migrate interesting have to the because they'll in other things and to be done and out other very very ambitious applications which don't have them currently use and the and the benefit the results from using its so that's pretty much it for the torch I think you for listening and you can be me on we can determine wherever you want you want to local frame me with some feedback about what is your current in a situation and you're a much but but once you've got to that final step where you've migrated all of your individual components in you're ready to migrating tire page 2 amber to find that there is a lot of clean up to be done to can remove all these hooks in this communication that you've built between the host and ember words a pretty quick and seamless to take that last step and say this is now for 1 of well built Embraer and it the whole and the whole thing that we removed it but that was just a city removing the methods that we open the world we use so this is an as as a proxy between theory and the art of world of the the proxy but uh the so this is a lot to handle the state and doesn't anything and so once it you for instance we have the bootstrap used a lot of just ripped updated using the objective what we did that as soon as we had an API we replace the reading of the configuration by the within the services that in the this and that we were better on so along the roads we shifted from a configuration based state to mediators and then there was a lot of juggling somebody but went for his new to be honest that how their minds
Prozess <Physik>
App <Programm>
Datenmodell
Kartesische Koordinaten
Migration <Informatik>
CAM
Kontextbezogenes System
Videokonferenz
Komponente <Software>
Informationsmodellierung
Software
Code
Gamecontroller
Zusammenhängender Graph
Softwareentwickler
Bildgebendes Verfahren
Auswahlaxiom
Telekommunikation
Subtraktion
Prozess <Physik>
Gewicht <Mathematik>
Desintegration <Mathematik>
Gruppenoperation
Formale Grammatik
Zahlenbereich
Kartesische Koordinaten
Computerunterstütztes Verfahren
Komplex <Algebra>
Framework <Informatik>
Code
Informationsmodellierung
Software
Migration <Informatik>
Zusammenhängender Graph
Softwareentwickler
Leistung <Physik>
Topologische Einbettung
Betafunktion
Computersicherheit
Güte der Anpassung
Migration <Informatik>
Kontextbezogenes System
Integral
Energiedichte
Rechter Winkel
Mereologie
Gamecontroller
Strategisches Spiel
Projektive Ebene
Garbentheorie
Ordnung <Mathematik>
Instantiierung
Aggregatzustand
Tabelle <Informatik>
Iteration
Kartesische Koordinaten
p-Block
Kontextbezogenes System
Sondierung
Bitrate
Physikalische Theorie
Framework <Informatik>
Homepage
Dienst <Informatik>
Bildschirmmaske
Spannweite <Stochastik>
Rendering
Mereologie
Minimum
Strategisches Spiel
Bootstrap-Aggregation
Zusammenhängender Graph
Gerade
Aggregatzustand
Tabelle <Informatik>
Tabelle <Informatik>
Konfiguration <Informatik>
Spielkonsole
App <Programm>
Hochdruck
Bootstrap-Aggregation
Zahlenbereich
Kartesische Koordinaten
Element <Mathematik>
Dialekt
Homepage
Konfiguration <Informatik>
Objekt <Kategorie>
Dienst <Informatik>
Bildschirmmaske
Verkettung <Informatik>
Kontrollstruktur
Skript <Programm>
URL
Datenstruktur
Aggregatzustand
Instantiierung
Tabelle <Informatik>
Wort <Informatik>
Wort <Informatik>
Element <Mathematik>
Instantiierung
Gradient
Atomarität <Informatik>
Reihe
Telekommunikation
Kartesische Koordinaten
Kontextbezogenes System
Template
Übergang
Komponente <Software>
Informationsmodellierung
Datenreplikation
Gamecontroller
Zusammenhängender Graph
Programmierumgebung
Konfigurationsraum
Verkehrsinformation
Bildgebendes Verfahren
Attributierte Grammatik
Bit
Selbst organisierendes System
Default
Gruppenoperation
Mathematisierung
Kartesische Koordinaten
Aggregatzustand
Dienst <Informatik>
Instantiierung
Quick-Sort
Code
Ereignishorizont
Dienst <Informatik>
Twitter <Softwareplattform>
Menge
Reelle Zahl
Endogene Variable
Gamecontroller
Streuungsdiagramm
Tabelle <Informatik>
Lesen <Datenverarbeitung>
Aggregatzustand
Instantiierung
Resultante
Telekommunikation
Proxy Server
Rückkopplung
Prozess <Physik>
Rahmenproblem
Bootstrap-Aggregation
Automatische Handlungsplanung
Kartesische Koordinaten
Physikalische Theorie
Homepage
Kugel
Konfigurationsraum
Gerade
Leistung <Physik>
Videospiel
Parametersystem
App <Programm>
Prozess <Informatik>
Objekt <Kategorie>
Verkettung <Informatik>
Menge
Rechter Winkel
Wort <Informatik>
Aggregatzustand
Instantiierung
Standardabweichung
Lesen <Datenverarbeitung>

Metadaten

Formale Metadaten

Titel Migrating an Existing App to Ember, Component After Component
Serientitel Ember Conf 2016
Autor Cambar, Xavier
Lizenz CC-Namensnennung - 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/34707
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract While Ember is designed for building ambitious applications, the documentation and public resources mostly focus on new applications, making lots of things simpler to write from scratch. This talk will share my experience migrating an existing application to Ember part after part. I'll share tips for how to avoid the unpopular "Big Bang rewrite" (minimizing the costs of adoption), and discuss the integration story and loose coupling of Ember.

Ähnliche Filme

Loading...
Feedback