Presentation of speakers at the Desktop UI & Business Application conference. About backend

    Hello!

    Today we want to talk about what interesting topics you can discuss with speakers and find people who are not indifferent to these topics.

    It's no secret that the main purpose of our conferences is to give people the opportunity to get acquainted on the basis of professional interests. The presentations are food for thought and an introduction to subsequent discussions of varying degrees of detail. In our opinion, such communication contributes to the awareness of one’s own convictions to a deeper degree, as you encounter other, sometimes diametrically opposed opinions. So what is prepared for the Desktop UI & Business Application conference?



    First, imagine the topics related to the backend, to the server side, which will be of interest to all developers involved in enterprise development. Those. it is both WPF, and WinForm, and ASP.NET.

    The history of presenting real data and processes in the software world has a rich and long history. We can say that it all started with transactional scripts, and procedural programming. When they tried to completely represent the domain model in the form of a set of procedures and data that are stored in the database. In fact, everything revolved around tables. A step forward, along with OOP development, was a model of tabular data that was already represented by a data set in the program memory. Now tables have become a starting point in the presentation of domain logic. Procedures were no longer declared in the global namespace, but were “fastened” to a specific table, depending on their functions. The further reduction in the cost and distribution of computers has led to the fact that computer modeling has found wider application. At the same time, complex real domain models had to be displayed as simple as possible for support and expansion. So Martin Fowler proposed, and Eric Evans developed the idea of ​​Domain Driven Design, which most now adhere to, to one degree or another.

    However, there is a nuance. Martin Fowler postulates that the anemic domain is inherently antipattern and should be avoided in every way. He contrasts her with a Rich Domain Model with integrated behavior and business logic. But is it really so? What has changed since back in 2002, when the book "Enterprise Application Templates" was published, and from 2003, when the book "Domain-Driven Design: Tackling Complexity in the Heart of Software" was published? The discussion on this issue will be raised by Vlad Klekovkin , the main developer of the Garant company.
     
     

    Plunging into the jungle of the domain domain, you quickly discover that a properly designed domain model is just the beginning of the whole solution. A good domain model, be it a Rich Model or Anemic Model, depends on the specific case - this is only a static data cast. Any intelligent architect or interested person will quickly tell you that a dynamic model is just as important. Movement is life. Who is interested can look through Rozanski and Woods



    In the .NET Framework, the movement of the real world, its events are displayed using ... um ... events. Just like the events of our world, they come at an indefinite time, but we know what should happen in principle. And here the problems begin. A lot of subscriptions, forgotten unsubscriptions - can lead to what is called Memory fog and other problems. In addition, complex scenarios of the interaction of different events, their filtering, processing, combinations, processing in different threads involve completely different low and high level abstractions, from Monitor, ManualResetEventSlim to TaskFactory. Zoo on the road. Perhaps in many cases, the best solution would be to use the Reactive Extension(Rx). The library has long existed, is constantly evolving and is aimed precisely at stream processing tasks with various nuances. Whether it be multithreading, the possibility of implementing a retry template, and much more, but in a very compact form. Such complex real-life examples will be presented by Andrey Dyatlov , Global PS techlid. In addition, you will see how easy it is in Rx to manage time in tests. No synthetics with useless examples, just real code.

    Some alternative to Rx may be TPL Dataflow . This suite of integrated data processing APIs is included in the .NET Framework 4.5. Everyone is familiar with the TPL core, i.e. use taskdirectly, as well as async / await syntactic sugar from later releases. But the library is not the only “task” and provides the ability to process complex data streams based on the Actor multithreading model. And all the more interesting it will be to hear a report about Rx and TPL Dataflow and ask tricky questions for speakers (read “arrange a holivar”), comparing what one framework can and cannot the other. This topic will be presented by Mikhail Veselov , senior programmer from the St. Petersburg branch of Luxoft.

    If we began to talk so seriously about how to process large flows of data according to complex rules, then the question always arises of where to get the data and where to save it. More precisely, even how to take and preserve them, i.e. which ORM to choose. Currently, the de facto standard is the Entity Framework, which is being actively developed and promoted, and has already reached the seventh major version. We have already spoken out in a previous post that the Golden Hammer is not good, and you should always choose the right tool for your needs. Look around for new tools that are best suited to your needs: be it MicroORM or a full-fledged implementation of something in the spirit of NHibernate.

    It is probably no secret that one of the most visited and loaded websites for developers is StackOverflow.com , which, in turn, uses Linq2SQL to work with data, which MS buried alive, you can say. I admit that I still have warm feelings for Linq2SQL and it seemed to me a more convenient system. But at the same time, I admit that the EF that grew out of the “M” project gave us new opportunities in using the CodeFirst and DataFirst templates. However, no one is perfect, and we need to look for new projects and opportunities. So, such a new ORM will be discussed in a report by Andrey Kolchanov, technical expert of Flexberry platform, head of development department of ITSK LLC. He will tell you why he is not satisfied with the current flagship in the form of EF, why they have been using their ORM for real business for many years, including the banking segment and online payments.

    For a long time ORM Flexberry was a closed development, but apparently, in accordance with the recommendations of the guys from 37 Signals , it was decided to release the product into the world in order to cause irreparable good. Andrew will run the EF and Flexberry tests on the same project to show the live difference between the two approaches, and he is confident that he will be able to shake your confidence in the leading positions of EF.

    Colleagues, no technology will provide us with a “silver bullet” to solve our problems, but we can and must look for the best tools and practices to become better. Conferences in this regard provide a good vector for development and bring together enough people to find like-minded people and come across the opposite opinion.

    Come to the conference on April 11 to become even more effective in solving your problems!


    Also popular now: