{"id":95077,"date":"2022-08-10T13:42:00","date_gmt":"2022-08-10T11:42:00","guid":{"rendered":"http:\/\/e-smartsys.com\/ess-web-platform\/"},"modified":"2025-09-24T14:35:02","modified_gmt":"2025-09-24T12:35:02","slug":"ess-web-platform","status":"publish","type":"post","link":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/","title":{"rendered":"ESS WEB Platform"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row row_height_percent=&#8221;30&#8243; override_padding=&#8221;yes&#8221; h_padding=&#8221;2&#8243; top_padding=&#8221;4&#8243; bottom_padding=&#8221;2&#8243; back_color=&#8221;color-447675&#8243; back_image_auto=&#8221;yes&#8221; overlay_alpha=&#8221;0&#8243; gutter_size=&#8221;100&#8243; column_width_percent=&#8221;100&#8243; preserve_border=&#8221;yes&#8221; preserve_border_tablet=&#8221;yes&#8221; preserve_border_mobile=&#8221;yes&#8221; shift_y=&#8221;0&#8243; z_index=&#8221;0&#8243; style=&#8221;inherited&#8221; el_class=&#8221;header-str&#8221; shape_dividers=&#8221;&#8221;][vc_column column_width_percent=&#8221;100&#8243; position_vertical=&#8221;middle&#8221; align_horizontal=&#8221;align_center&#8221; gutter_size=&#8221;2&#8243; overlay_alpha=&#8221;100&#8243; shift_x=&#8221;0&#8243; shift_y=&#8221;0&#8243; shift_y_down=&#8221;0&#8243; z_index=&#8221;0&#8243; medium_width=&#8221;0&#8243; mobile_width=&#8221;0&#8243; zoom_width=&#8221;0&#8243; zoom_height=&#8221;0&#8243; width=&#8221;1\/1&#8243; el_class=&#8221;blog-header&#8221;][vc_empty_space empty_h=&#8221;0&#8243;][vc_custom_heading auto_text=&#8221;yes&#8221; heading_semantic=&#8221;h1&#8243; text_size=&#8221;fontsize-155944&#8243; text_weight=&#8221;400&#8243; text_color=&#8221;color-130544&#8243; el_id=&#8221;naslov-novost&#8221;]<\/p>\n<p style=\"text-align: center !important;\">Automatic Heading Text<\/p>\n<p>[\/vc_custom_heading][vc_empty_space empty_h=&#8221;0&#8243;][\/vc_column][\/vc_row][vc_row row_height_percent=&#8221;0&#8243; override_padding=&#8221;yes&#8221; h_padding=&#8221;2&#8243; top_padding=&#8221;3&#8243; bottom_padding=&#8221;3&#8243; back_color=&#8221;color-143431&#8243; overlay_alpha=&#8221;50&#8243; gutter_size=&#8221;3&#8243; column_width_percent=&#8221;100&#8243; shift_y=&#8221;0&#8243; z_index=&#8221;0&#8243; el_class=&#8221;politika-kolacica-polje&#8221;][vc_column column_width_percent=&#8221;100&#8243; gutter_size=&#8221;3&#8243; overlay_alpha=&#8221;50&#8243; shift_x=&#8221;0&#8243; shift_y=&#8221;0&#8243; shift_y_down=&#8221;0&#8243; z_index=&#8221;0&#8243; medium_width=&#8221;0&#8243; mobile_width=&#8221;0&#8243;][vc_row_inner row_inner_height_percent=&#8221;0&#8243; overlay_alpha=&#8221;50&#8243; equal_height=&#8221;yes&#8221; gutter_size=&#8221;3&#8243; shift_y=&#8221;0&#8243; z_index=&#8221;0&#8243;][vc_column_inner column_width_percent=&#8221;100&#8243; position_vertical=&#8221;middle&#8221; gutter_size=&#8221;3&#8243; style=&#8221;dark&#8221; overlay_alpha=&#8221;50&#8243; shift_x=&#8221;0&#8243; shift_y=&#8221;0&#8243; shift_y_down=&#8221;0&#8243; z_index=&#8221;0&#8243; align_medium=&#8221;align_center_tablet&#8221; medium_width=&#8221;0&#8243; align_mobile=&#8221;align_center_mobile&#8221; mobile_width=&#8221;0&#8243; width=&#8221;2\/3&#8243;][uncode_info_box items=&#8221;Author|Medium_avatar_size|inline_avatar|display_prefix,Date,Categories|do_not_display_prefix&#8221; text_weight=&#8221;600&#8243; text_transform=&#8221;uppercase&#8221; separator=&#8221;bullet&#8221;][\/vc_column_inner][vc_column_inner column_width_percent=&#8221;100&#8243; position_vertical=&#8221;middle&#8221; align_horizontal=&#8221;align_right&#8221; gutter_size=&#8221;3&#8243; style=&#8221;dark&#8221; overlay_alpha=&#8221;50&#8243; shift_x=&#8221;0&#8243; shift_y=&#8221;0&#8243; shift_y_down=&#8221;0&#8243; z_index=&#8221;0&#8243; align_medium=&#8221;align_center_tablet&#8221; medium_width=&#8221;0&#8243; align_mobile=&#8221;align_center_mobile&#8221; mobile_width=&#8221;0&#8243; width=&#8221;1\/3&#8243;][uncode_share layout=&#8221;multiple&#8221; no_back=&#8221;yes&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner row_inner_height_percent=&#8221;0&#8243; overlay_alpha=&#8221;50&#8243; equal_height=&#8221;yes&#8221; gutter_size=&#8221;3&#8243; shift_y=&#8221;0&#8243; z_index=&#8221;0&#8243;][vc_column_inner column_width_percent=&#8221;100&#8243; position_vertical=&#8221;middle&#8221; gutter_size=&#8221;0&#8243; style=&#8221;dark&#8221; overlay_alpha=&#8221;50&#8243; shift_x=&#8221;0&#8243; shift_y=&#8221;0&#8243; shift_y_down=&#8221;0&#8243; z_index=&#8221;0&#8243; align_medium=&#8221;align_center_tablet&#8221; medium_width=&#8221;0&#8243; align_mobile=&#8221;align_center_mobile&#8221; mobile_width=&#8221;0&#8243; width=&#8221;1\/1&#8243;][vc_separator sep_color=&#8221;color-gyho&#8221;][vc_empty_space empty_h=&#8221;2&#8243;][\/vc_column_inner][\/vc_row_inner][vc_custom_heading heading_semantic=&#8221;h3&#8243; text_size=&#8221;h1&#8243; text_weight=&#8221;400&#8243; text_space=&#8221;fontspace-781688&#8243; text_color=&#8221;color-990081&#8243; el_class=&#8221;tekst-usluga-tamni&#8221;]5W+H[\/vc_custom_heading][vc_column_text el_class=&#8221;tekst-taman&#8221;]Since 2016 year, all web applications developed in E-Smart Systems were developed on a specific development platform based on <a href=\"https:\/\/docs.microsoft.com\/en-us\/aspnet\/core\/?view=aspnetcore-6.0\">ASP.NET Core<\/a> , <a href=\"https:\/\/www.w3schools.com\/js\/\">java script<\/a> <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/SPA\">single-page-application<\/a> form and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/best-practices\/api-design\">REST<\/a> web services.<\/p>\n<p>In the text that follows, I will try to answer five + one key questions about the ESS Web Platform (Why, When, Where, Who, What and How).<\/p>\n<p>These answers will be interesting:<\/p>\n<ul>\n<li>to our users, where solutions created using this technology have been working for more than five years,<\/li>\n<li>to the ESS team members who are now using this technology, to those who used it in the past,<\/li>\n<li>to a wider readership, future users, colleagues and pentesters.<\/li>\n<\/ul>\n<p>Considering that the platform itself represents a significant technical resource of ESS development, this blog is only the first in a series of blogs on this topic.<\/p>\n<p>Happy reading![\/vc_column_text][vc_gallery el_id=&#8221;gallery-47626&#8243; medias=&#8221;94925&#8243; gutter_size=&#8221;3&#8243; screen_lg=&#8221;1000&#8243; screen_md=&#8221;600&#8243; screen_sm=&#8221;480&#8243; single_width=&#8221;8&#8243; single_overlay_opacity=&#8221;50&#8243; single_text_visible=&#8221;yes&#8221; single_text_anim=&#8221;no&#8221; single_image_anim=&#8221;no&#8221; single_h_align=&#8221;center&#8221; single_padding=&#8221;2&#8243; single_title_dimension=&#8221;h1&#8243; single_icon=&#8221;fa fa-plus2&#8243; single_border=&#8221;yes&#8221; carousel_rtl=&#8221;&#8221; single_title_uppercase=&#8221;&#8221; el_class=&#8221;galerija-slika-novost&#8221; title=&#8221;Display UI&#8221;][vc_column_text el_class=&#8221;tekst-taman&#8221;]<strong>Why<\/strong> did we decide to develop our own platform in addition to countless existing ones?<\/p>\n<ul>\n<li>to ensure complete freedom of user interface concepts in relation to the models of the technical part of the system, including databases. Transferring ready-made models from one world to another (e.g. <a href=\"https:\/\/docs.microsoft.com\/en-us\/ef\/\">entity framework<\/a> ) in the projects we developed following the standard MVC pattern, represented in more demanding implementations a very serious limitation for one or the other party, and most often for both.<\/li>\n<li>in order to direct the focus of the developer&#8217;s creation towards solving real challenges and expanding the platform&#8217;s capabilities or concrete, specific user requirements. The goal is that platform extensions provide additional value not only for the current one, but also for all subsequent ones, as well as projects that are already in production,<\/li>\n<li>to standardize the production of parts of the system for which we have the &#8220;best solution&#8221;. It is clear that the number of best IT solutions is endless. Even for very simple concepts, new and even better solutions could still be rediscovered today. However, these discoveries will most likely not bring value to the projects and systems within which they would be implemented, that is, the value they would provide would not justify the associated cost. For us, the standard is a guaranteed value in application, that is, at the moment, the &#8220;best solution&#8221;.<\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_column_text el_class=&#8221;tekst-taman&#8221;]<strong>Where<\/strong> was the platform developed and implemented, are the source codes publicly published?<\/p>\n<ul>\n<li>The platform was fully developed in <a href=\"https:\/\/e-smartsys.com\/en\/\">E-Smart Systems doo<\/a> and represents the intellectual property of our company,<\/li>\n<li>Solutions developed on the ESS platform are used by: <a href=\"https:\/\/www.stada.com\/\">Stada ag,<\/a> <a href=\"https:\/\/www.nis.rs\/\">NIS ad<\/a> , <a href=\"https:\/\/beg.aero\/\">Nikola Tesla Airport<\/a> , <a href=\"https:\/\/essqca.e-smartsys.com\/\">ESS QCA<\/a> , <a href=\"https:\/\/www.ubs-asb.com\/\">KB UBS<\/a> and <a href=\"https:\/\/esseitp.e-smartsys.com\/\">the Ministry of Transport,<\/a><\/li>\n<li>The solution codes are not yet published on the public repository ( <a href=\"https:\/\/github.com\/\">GitHub<\/a> ), but we hope to do so soon<\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_gallery el_id=&#8221;gallery-47626&#8243; medias=&#8221;94929&#8243; gutter_size=&#8221;3&#8243; screen_lg=&#8221;1000&#8243; screen_md=&#8221;600&#8243; screen_sm=&#8221;480&#8243; single_width=&#8221;8&#8243; single_overlay_opacity=&#8221;50&#8243; single_text_visible=&#8221;yes&#8221; single_text_anim=&#8221;no&#8221; single_image_anim=&#8221;no&#8221; single_h_align=&#8221;center&#8221; single_padding=&#8221;2&#8243; single_title_dimension=&#8221;h1&#8243; single_icon=&#8221;fa fa-plus2&#8243; single_border=&#8221;yes&#8221; carousel_rtl=&#8221;&#8221; single_title_uppercase=&#8221;&#8221; el_class=&#8221;galerija-slika-novost&#8221; title=&#8221;Presentation of the project structure&#8221;][vc_column_text el_class=&#8221;tekst-taman&#8221;]<strong>When<\/strong> did it start and how did the development of the platform proceed?<\/p>\n<ul>\n<li>The start of development work is scheduled for 2016. year. From then until today, the platform has experienced significant architectural leaps, each of which provided standardization in very important areas. In the same period, the project was regularly upgraded to the highest version of <a href=\"https:\/\/docs.microsoft.com\/en-us\/aspnet\/core\/?view=aspnetcore-6.0\">.NET Core<\/a> , so today it is operationally working on version 6.0,<\/li>\n<li>The first promotion of 2017. provided standardization in the field of dynamic user interface generation (Dynamics). In the case of the ESS platform, the concept of &#8220;mutable data structure&#8221; was created, which ensures the management of state machines without the need to re-declare or instantiate UI elements in the design time,<\/li>\n<li>2018 improvements related to the standardization of Master data configuration, <a href=\"https:\/\/dotnet.microsoft.com\/en-us\/apps\/aspnet\/signalr\">Signal-R<\/a> , using configuration from different data stores ( <a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/sql-server-2019\">SQL server<\/a> ), while development still remains linked to <a href=\"https:\/\/www.mongodb.com\/\">mongo DB,<\/a><\/li>\n<li>During 2019 the client part of the platform is connected to <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/IndexedDB_API\">IndexdDB<\/a> , controllers for communication with <a href=\"https:\/\/www.microsoft.com\/en\/microsoft-365\/business\/compare-all-microsoft-365-business-products-b?=&amp;ef_id=CjwKCAjwnZaVBhA6EiwAVVyv9FyxoUi7sHJ3ocHW0Kc8jSROLkHG-cXu6wjLIzcCFlusrFzO3Qt2FxoCwEYQAvD_BwE%3AG%3As&amp;ocid=AID2200006_SEM_CjwKCAjwnZaVBhA6EiwAVVyv9FyxoUi7sHJ3ocHW0Kc8jSROLkHG-cXu6wjLIzcCFlusrFzO3Qt2FxoCwEYQAvD_BwE%3AG%3As&amp;lnkd=Google_O365SMB_Brand&amp;gclid=CjwKCAjwnZaVBhA6EiwAVVyv9FyxoUi7sHJ3ocHW0Kc8jSROLkHG-cXu6wjLIzcCFlusrFzO3Qt2FxoCwEYQAvD_BwE&amp;market=af\">M365<\/a> were developed, the first integration with <a href=\"https:\/\/auth0.com\/docs\/authenticate\/protocols\/openid-connect-protocol#:~:text=OpenID%20Connect%20(OIDC)%20is%20an,to%20the%20OAuth%202.0%20specifications.\">oidc<\/a> identity providers was made,<\/li>\n<li>During 2020 UI configuration is integrated into the <a href=\"https:\/\/visualstudio.microsoft.com\/\">Visual Studio<\/a> project\/solution, a new controller model with a standardized internal structure was developed, extensions that provide intellisense in the configuration process,<\/li>\n<li>During 2021 a unique project template and integration standard in <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/user-guide\/what-is-azure-devops?view=azure-devops\">CI\/CD processes of Azure DevOps was created.<\/a> In this way, a better coordination of work on improvements and a central repository for code review are provided.<\/li>\n<li>During 2022 In 2008, logging mechanisms, authentication and authorization mechanisms based primarily on <a href=\"https:\/\/auth0.com\/docs\/authenticate\/protocols\/openid-connect-protocol#:~:text=OpenID%20Connect%20(OIDC)%20is%20an,to%20the%20OAuth%202.0%20specifications.\">OAuth\/oidc were standardized<\/a> , support for <a href=\"https:\/\/www.docker.com\/\">docker<\/a> containers was introduced.<\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_column_text el_class=&#8221;tekst-taman&#8221;]<strong>What<\/strong> exactly is a platform?<\/p>\n<ul>\n<li>The ESS platform is an <a href=\"https:\/\/docs.microsoft.com\/en-us\/aspnet\/core\/?view=aspnetcore-6.0\">ASP.NET Core<\/a> solution that follows the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/SPA\">single-page-application<\/a> pattern based on <a href=\"https:\/\/www.json.org\/json-en.html\">JSON<\/a> configuration on the client side,<\/li>\n<li>The key server part of the platform is a dispatcher controller &#8211; a semi <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/best-practices\/api-design\">REST<\/a> controller with a specific configurable routing map that ensures the forwarding of <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Overview\">HTTP GET\/POST<\/a> requests to specific business logic controllers,<\/li>\n<li>Business logic controllers follow the <a href=\"https:\/\/www.dofactory.com\/net\/command-design-pattern\">command pattern<\/a> , implement a common platform interface through which they are activated by the dispatcher controller, and are completely independent of each other. The controllers are activated by the dispatcher controller via reflection, they can be installed independently, and in the system they can be easily replaced and rerouted during operation,<\/li>\n<li>The configuration of the user interface is based on <a href=\"https:\/\/www.json.org\/json-en.html\">JSON<\/a> documents and is available both to the components of the server and the components of the client part of the application,<\/li>\n<li>The client part of the application calls the service methods of the controller (via the dispatcher of the controller) using REST calls, with which it sends the appropriate data stored in the data structures on the client in the POST body, and in accordance with the configuration,<\/li>\n<li>Authentication and authorization to the system as a whole or for an individual route are part of the system configuration. The system can be configured to accept multiple authentication types and multiple identity providers within the same session of the authorized user.<\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_gallery el_id=&#8221;gallery-47626&#8243; medias=&#8221;94931&#8243; gutter_size=&#8221;3&#8243; screen_lg=&#8221;1000&#8243; screen_md=&#8221;600&#8243; screen_sm=&#8221;480&#8243; single_width=&#8221;8&#8243; single_overlay_opacity=&#8221;50&#8243; single_text_visible=&#8221;yes&#8221; single_text_anim=&#8221;no&#8221; single_image_anim=&#8221;no&#8221; single_h_align=&#8221;center&#8221; single_padding=&#8221;2&#8243; single_title_dimension=&#8221;h1&#8243; single_icon=&#8221;fa fa-plus2&#8243; single_border=&#8221;yes&#8221; carousel_rtl=&#8221;&#8221; single_title_uppercase=&#8221;&#8221; el_class=&#8221;galerija-slika-novost&#8221; title=&#8221;View CI\/CD PipeLine&#8221;][vc_column_text el_class=&#8221;tekst-taman&#8221;]<strong>How<\/strong> to use the platform?<\/p>\n<ul>\n<li>The development process on the ESS Platform includes the following stages:\n<ul>\n<li>data identification, dynamics and user interface construction,<\/li>\n<li>user interface configuration and dummy controller development,<\/li>\n<li>Development of business logic and databases, including business logic services that are triggered by events unrelated to end users,<\/li>\n<li>Development of deployment environment, <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/user-guide\/what-is-azure-devops?view=azure-devops\">Azure DevOps pipeline<\/a> and containers.<\/li>\n<\/ul>\n<\/li>\n<li>Projects are instantiated using predefined forms ( <a href=\"https:\/\/visualstudio.microsoft.com\/\">Visual Studio<\/a> Project Template),<\/li>\n<li>Each solution references a platform, one or more standard controllers, a controller in which the UI configuration is implemented and specific business logic controllers,<\/li>\n<li>During the build, executable versions of the controller as well as files specific to a specific project are automatically copied to the file structure of the platform. The UI configuration is embedded in the dll file of the configuration controller, which additionally protects sensitive technical data.<\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_column_text el_class=&#8221;tekst-taman&#8221;]<strong>Who<\/strong> participated in the development of the platform?<\/p>\n<ul>\n<li>The development team of E-Smart Systems, with a high dose of enthusiasm, creative potential and dedication to user problems:\n<ul>\n<li>special kudos to <strong><em>Marija Aleksandri\u0107<\/em><\/strong> for a large number of brave promotions, selfless support for younger team members and endless optimism,<\/li>\n<li>special kudos to the <strong><em>Government of Ko\u010dinac<\/em><\/strong> for code that shines, an approach that knows no obstacles and a pessimism that brings back to reality :),<\/li>\n<li>special kudos to <em><strong>Stanislava Jovanovi\u0107<\/strong><\/em> for her dedicated contribution to the visual identity of almost all projects implemented on the ESS platform,<\/li>\n<li>special kudos to <strong><em>Mirko Cumba and Svetislav Nedeljkovi\u0107<\/em><\/strong> for pioneering work on technological expansions in all areas, persistent work on always &#8220;thorny&#8221; projects for the public sector,<\/li>\n<li>special kudos to <em><strong>Marija \u017divanovi\u0107<\/strong><\/em> , who follows the development of the platform from the earliest versions in various roles, and with an analytical approach contributes to a higher level of quality of the solutions implemented on the platform<\/li>\n<li>special kudos to <em><strong>Jasna Gmitrovi\u0107<\/strong><\/em> for the valuable contributions to the development of server and client logic patterns that require considerable concentration and precision,<\/li>\n<li>special kudos to <em><strong>Andrea Pilipovi\u0107, Katarina Jovanovi\u0107, Jovana Pe\u0161i\u0107, \u017divojin Mili\u0107, Nikola Stojkovi\u0107 and Jovan Grbi\u0107<\/strong><\/em> for understanding and commitment to professional excellence, valuable results that provide an excellent basis for further development and improvements for the projects they worked on,<\/li>\n<\/ul>\n<\/li>\n<li>extra special kudos to the project managers who were there to support and protect us \ud83d\ude42 <em><strong>Nikola Grbi\u0107, Biljana Rolovi\u0107<\/strong><\/em> and program manager <em><strong>Ranko Brajovi\u0107<\/strong> ,<\/em><\/li>\n<li>special kudos to the testers <em><strong>Teodora Radosavljevi\u0107 and Milo\u0161 Krsti\u0107<\/strong><\/em> , on the additional level of assured quality,<\/li>\n<li>extra extra \ud83d\ude42 special kudos to <em><strong>Ani Markovi\u0107<\/strong><\/em> , who is always there to connect with knowledge and experience different technologies, projects, and especially data, and give the platform a chance to conquer the spaces occupied by some previous technologies and solutions<\/li>\n<li>and to all those who participated in the joint work and construction of the ESS Platform for these five years: <strong><em>Andrej Stanojkovi\u0107, Ivana \u017divani\u0107, Aleksandr \u0110uri\u0107, Ivan \u0160pagnut, Goran Jerini\u0107, Nikola Ili\u0107, Miljan Milovanovi\u0107, Aleksandra Kova\u010devi\u0107, \u0110or\u0111e Uro\u0161evi\u0107, Nemanja Subotic, Filip Novovi\u0107 , Igor Rodi\u0107 and Mateja Veljkovi\u0107.<\/em><\/strong><\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_gallery el_id=&#8221;gallery-47626&#8243; medias=&#8221;94934&#8243; gutter_size=&#8221;3&#8243; screen_lg=&#8221;1000&#8243; screen_md=&#8221;600&#8243; screen_sm=&#8221;480&#8243; single_width=&#8221;8&#8243; single_overlay_opacity=&#8221;50&#8243; single_text_visible=&#8221;yes&#8221; single_text_anim=&#8221;no&#8221; single_image_anim=&#8221;no&#8221; single_h_align=&#8221;center&#8221; single_padding=&#8221;2&#8243; single_title_dimension=&#8221;h1&#8243; single_icon=&#8221;fa fa-plus2&#8243; single_border=&#8221;yes&#8221; carousel_rtl=&#8221;&#8221; single_title_uppercase=&#8221;&#8221; el_class=&#8221;galerija-slika-novost&#8221;][vc_column_text el_class=&#8221;tekst-taman&#8221;]Like all those who manage the software development process independently, we constantly strive to make this process more efficient and effective.<\/p>\n<p>The influence of people on the creative development of systems, and thus of software according to <a href=\"https:\/\/www.thoughtworks.com\/insights\/articles\/demystifying-conways-law\">Conway&#8217;s law<\/a> , <a href=\"https:\/\/www.melconway.com\/Home\/Conways_Law.html\">is deeply conditioned by<\/a> the existing patterns of communication. The way users communicate, developers must also communicate during development, and therefore the components they develop.<\/p>\n<p>Designing <a href=\"https:\/\/martinfowler.com\/articles\/microservices.html\">a microservice<\/a> system architecture based on clearly separated units that can be developed independently and freely communicate with each other is the goal we strive for.<\/p>\n<p>Along the way, the ESS platform is a tool designed to help us wander as little as possible.<\/p>\n<p>&nbsp;<\/p>\n<p>[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>&#8230;everything you wanted to know but didn&#8217;t get around to asking&#8230;<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[191],"tags":[],"class_list":["post-95077","post","type-post","status-publish","format-standard","hentry","category-blog-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ESS WEB Platform \u010clanak - E-SMART SYSTEMS<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/e-smartsys.com\/en\/ess-web-platform\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESS WEB Platform \u010clanak - E-SMART SYSTEMS\" \/>\n<meta property=\"og:description\" content=\"...everything you wanted to know but didn&#039;t get around to asking...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/e-smartsys.com\/en\/ess-web-platform\/\" \/>\n<meta property=\"og:site_name\" content=\"E-SMART SYSTEMS\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-10T11:42:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-24T12:35:02+00:00\" \/>\n<meta name=\"author\" content=\"Mirna Koji\u0107 Veljovi\u0107\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mirna Koji\u0107 Veljovi\u0107\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/\"},\"author\":{\"name\":\"Mirna Koji\u0107 Veljovi\u0107\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#\\\/schema\\\/person\\\/5fd328aa0fb8a1f9d9988ffe280a1202\"},\"headline\":\"ESS WEB Platform\",\"datePublished\":\"2022-08-10T11:42:00+00:00\",\"dateModified\":\"2025-09-24T12:35:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/\"},\"wordCount\":2275,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#organization\"},\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/\",\"url\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/\",\"name\":\"ESS WEB Platform \u010clanak - E-SMART SYSTEMS\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#website\"},\"datePublished\":\"2022-08-10T11:42:00+00:00\",\"dateModified\":\"2025-09-24T12:35:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/ess-web-platform\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESS WEB Platform\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#website\",\"url\":\"https:\\\/\\\/e-smartsys.com\\\/\",\"name\":\"E-SMART SYSTEMS\",\"description\":\"E-SMART SYSTEMS\",\"publisher\":{\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/e-smartsys.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#organization\",\"name\":\"E-SMART SYSTEMS\",\"url\":\"https:\\\/\\\/e-smartsys.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/e-smartsys.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/e-smart-systems-icon.png\",\"contentUrl\":\"https:\\\/\\\/e-smartsys.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/e-smart-systems-icon.png\",\"width\":600,\"height\":600,\"caption\":\"E-SMART SYSTEMS\"},\"image\":{\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/e-smartsys.com\\\/#\\\/schema\\\/person\\\/5fd328aa0fb8a1f9d9988ffe280a1202\",\"name\":\"Mirna Koji\u0107 Veljovi\u0107\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5c86ac551331352b6a8d293b8989924ebeea12ca1851bed7172e4cb6b4a39ee?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5c86ac551331352b6a8d293b8989924ebeea12ca1851bed7172e4cb6b4a39ee?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5c86ac551331352b6a8d293b8989924ebeea12ca1851bed7172e4cb6b4a39ee?s=96&d=mm&r=g\",\"caption\":\"Mirna Koji\u0107 Veljovi\u0107\"},\"url\":\"https:\\\/\\\/e-smartsys.com\\\/en\\\/author\\\/mirna-kojic-veljovic\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESS WEB Platform \u010clanak - E-SMART SYSTEMS","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/","og_locale":"en_US","og_type":"article","og_title":"ESS WEB Platform \u010clanak - E-SMART SYSTEMS","og_description":"...everything you wanted to know but didn't get around to asking...","og_url":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/","og_site_name":"E-SMART SYSTEMS","article_published_time":"2022-08-10T11:42:00+00:00","article_modified_time":"2025-09-24T12:35:02+00:00","author":"Mirna Koji\u0107 Veljovi\u0107","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mirna Koji\u0107 Veljovi\u0107","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/#article","isPartOf":{"@id":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/"},"author":{"name":"Mirna Koji\u0107 Veljovi\u0107","@id":"https:\/\/e-smartsys.com\/#\/schema\/person\/5fd328aa0fb8a1f9d9988ffe280a1202"},"headline":"ESS WEB Platform","datePublished":"2022-08-10T11:42:00+00:00","dateModified":"2025-09-24T12:35:02+00:00","mainEntityOfPage":{"@id":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/"},"wordCount":2275,"commentCount":0,"publisher":{"@id":"https:\/\/e-smartsys.com\/#organization"},"articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/e-smartsys.com\/en\/ess-web-platform\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/","url":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/","name":"ESS WEB Platform \u010clanak - E-SMART SYSTEMS","isPartOf":{"@id":"https:\/\/e-smartsys.com\/#website"},"datePublished":"2022-08-10T11:42:00+00:00","dateModified":"2025-09-24T12:35:02+00:00","breadcrumb":{"@id":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/e-smartsys.com\/en\/ess-web-platform\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/e-smartsys.com\/en\/ess-web-platform\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/e-smartsys.com\/en\/"},{"@type":"ListItem","position":2,"name":"ESS WEB Platform"}]},{"@type":"WebSite","@id":"https:\/\/e-smartsys.com\/#website","url":"https:\/\/e-smartsys.com\/","name":"E-SMART SYSTEMS","description":"E-SMART SYSTEMS","publisher":{"@id":"https:\/\/e-smartsys.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/e-smartsys.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/e-smartsys.com\/#organization","name":"E-SMART SYSTEMS","url":"https:\/\/e-smartsys.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/e-smartsys.com\/#\/schema\/logo\/image\/","url":"https:\/\/e-smartsys.com\/wp-content\/uploads\/2026\/07\/e-smart-systems-icon.png","contentUrl":"https:\/\/e-smartsys.com\/wp-content\/uploads\/2026\/07\/e-smart-systems-icon.png","width":600,"height":600,"caption":"E-SMART SYSTEMS"},"image":{"@id":"https:\/\/e-smartsys.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/e-smartsys.com\/#\/schema\/person\/5fd328aa0fb8a1f9d9988ffe280a1202","name":"Mirna Koji\u0107 Veljovi\u0107","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a5c86ac551331352b6a8d293b8989924ebeea12ca1851bed7172e4cb6b4a39ee?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a5c86ac551331352b6a8d293b8989924ebeea12ca1851bed7172e4cb6b4a39ee?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5c86ac551331352b6a8d293b8989924ebeea12ca1851bed7172e4cb6b4a39ee?s=96&d=mm&r=g","caption":"Mirna Koji\u0107 Veljovi\u0107"},"url":"https:\/\/e-smartsys.com\/en\/author\/mirna-kojic-veljovic\/"}]}},"publishpress_future_action":{"enabled":false,"date":"2026-09-04 20:15:56","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"category","extraData":[]},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/posts\/95077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/comments?post=95077"}],"version-history":[{"count":30,"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/posts\/95077\/revisions"}],"predecessor-version":[{"id":95940,"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/posts\/95077\/revisions\/95940"}],"wp:attachment":[{"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/media?parent=95077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/categories?post=95077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/e-smartsys.com\/en\/wp-json\/wp\/v2\/tags?post=95077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}