Черный не примет другого оттенка

Какую бы современную архитектуру вы ни предоставили (Microservice или Serverless), им удастся поместить бизнес-логику в RDBMS и беззастенчиво заявить, что она управляема и масштабируема.

Эпоха настольных компьютеров

Давным-давно, в эпоху разработки настольных систем, когда Интернет еще не распространял свой свет, с помощью Visual Basic, Visual Fox-pro или Java, некоторые ИТ-воины научились магическим знаниям, позволяющим делать что-либо с данными СУБД, и это волшебство называлось SQL. И кроме кода GUI, с благословения ODBC или JDBC, для них все было SQL.

Прибытие принцессы

Но однажды прибыла принцесса по имени «Паутина», и эти воины попали в беду. Чтобы произвести на нее впечатление, им нужно было завоевать еще одну землю. И эта земля IIS или Tomcat была слишком сложной для понимания и завоевания, поскольку это не был сервер РСУБД, который можно было бы легко победить с помощью SQL. Но со временем было обнаружено несколько новых видов оружия, одно из которых называлось «MVC», а другое — «Хранимая процедура». И кричали, как Архимед — «Эврика!» Они нашли бэкдор под названием «Контроллер» на этих веб-серверах, который действует так же, как «Прослушиватель действий кнопки», и им удалось поместить туда волшебное соединение ODBC или JDBC, а остальное было даже более умным, чем SQL, и они назвали это PL/SQL и поместить его непосредственно в РСУБД и просто сделать вызов, и отдых был волшебным.

Выживание

Однако дни неприятностей на этом не закончились, вскоре появились новые барьеры, и один из них назывался «Микросервисы», который они сочли излишне сложным и неспособным взломать его. Но вскоре они нашли другую альтернативу, назвав себя «Serverless — Function App, Logic App, Lambda». И быстро они обнаружили уловку, позволяющую обойти первоначальную цель безсерверной системы, и закричали: «Эй, мы можем использовать его так же, как контроллер, и оттуда подключаться к СУБД». И они начали смело заявлять, что мы предоставляем распределенные решения на основе контейнеров, тогда как вся их бизнес-логика по-прежнему находится в СУБД.

Все еще не там

Проделав все это, когда они подошли к принцессе, то увидели — принцесса их проигнорировала и ушла к другому принцу.

И они удивились и спросили князя — «что в тебе особенного».

Принс сказал: «У меня просто очень харизматичная и динамичная земля бизнес-логики».

Воины посмотрели друг на друга и воскликнули: «Это новее, чем этот Serverless!»

Принс сказал: «Нет, это древнее решение, разделяющее задачи, кроме написания логики предметной области в графическом интерфейсе (уровень представления) или в БД (уровень сохранения), мы пишем их как корпоративный компонент или службу на сервере приложений (уровень бизнес-логики) и в старом. несколько раз мы использовали RMI (Remote Method Invocation) для их вызова, а в настоящее время мы помещаем их в контейнеры, распределяем и организуем с помощью шлюзов и различных инструментов, чтобы служить им как единое целое».

Воинам это показалось немного странным, и они сказали: «Зачем это вообще нужно?»

По словам Принса, для объектной ориентации, написания корпоративной бизнес-логики и сервисов, обмена сообщениями, создания очередей, применения шаблонов и распределения нагрузки для улучшения совместной работы, работы нескольких команд, лучшего управления кодом, контроля версий, непрерывной сборки и развертывания и т. д. многие другие.

Теперь воины немного разозлились и сказали: «Какого черта вы так критично относитесь к этим вещам, разве вы не знаете SQL, PL/SQL? мы также можем сделать это с помощью RDBMS без этого бессмысленного критического слоя бизнес-логики».

Тогда Принц ответил: «Да благословит вас Бог».

— — — — — — —

Отказ от ответственности. Мнения, отраженные в этой статье, являются взглядами автора и не обязательно отражают взгляды любого бывшего или настоящего работодателя автора.