Черный не примет другого оттенка
Какую бы современную архитектуру вы ни предоставили (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 без этого бессмысленного критического слоя бизнес-логики».
Тогда Принц ответил: «Да благословит вас Бог».
— — — — — — —
Отказ от ответственности. Мнения, отраженные в этой статье, являются взглядами автора и не обязательно отражают взгляды любого бывшего или настоящего работодателя автора.