@chelius_ua

На чем писать странички с SQL запросами?

Всем привет! Вопрос следующего характера: стоит задача изучить какой-то из языков, на котором можно клепать странички для браузера с выдачей результатов SQL запросов из БД ORACLE. Сначала это будут фиксированные запросы, потом использование подстановок заданных, на странице пользователем, в where, а дальше еще что взбредет в голову с целью улучшения.
Для меня самый явный на мой взгляд вариант это PHP, но к нему душа не лежит.
Посмотрел в сторону ASP.NET Web Forms или MVC, но с ними дел никогда не имел и тоже стремно по началу.
Хочется выбрать что-то что действительно пригодится по текущей работе и в дальнейшей перспективе.
  • Вопрос задан
  • 2289 просмотров
Решения вопроса 1
@a1go1ov
Scala fan, Java developer
Поддержу Даша Циклаури.
Если у вас развернута БД Oracle и есть строгое требование создавать приложения именно на основе этой БД (к примеру в вашей компании ERP-система на базе Oracle), а так же нет опыта в создании веб-приложений, то ничего лучше Oracle Application Express (Apex) вам не найти.
Это бесплатный фреймверк от самой Oracle для быстрого создания полноценных web-приложений. Сам Apex очень тесно интегрируется с базой и добавляет очень незначительный оверхед к выполнению запроса. По сути, вы все время имеете дело с SQL и PL/SQL и практически не отвлекаетесь на сам "web". Apex предоставляет набор современных тем (обеспечивающих единый дизайн для всего приложения), в том числе адаптированных для мобильных устройств, так что если вам просто нужно выводить определенные отчеты на основе данных в базе, вы за час можете сделать полноценное web-приложение, с аутентификацией/авторизацией (в том числе SSO), современным интерфейсом и богатыми возможностями по выборке/фильтрации данных. Если же в вашем приложении помимо отчетов должна выполняться какая-либо бизнес-логика, то вы просто описываете ее на PL/SQL в соответствующем пакете/пакетах и потом в Apex просто пишите вызов функций из этих пакетов (SQL и PL/SQL - можно писать и в самом Apex, но это плохо с точки зрения дальнейшей поддержки). Если на определенном моменте вам будет не хватать функциональности из коробки, то вы легко можете расширять ее до бесконечности, самостоятельно или же при помощи сторонних дополнений.
В общем Apex отличный выбор если ваши безнес-процессы завязаны на инфраструктуре Oracle и вам нужно быстро создавать качественные приложения на основе имеющихся данных для использования внутри компании/предприятия.
Если же ваша цель изучить основы web-разработки на примере текущих задач, то не стоит привязываться к конкретной БД. Сейчас web-приложения должны уметь взаимодействовать с различными системами хранения, за частую с разными видами одновременно. Поэтому обычно персистентный слой прячут за сервисным, который предоставляет единое АПИ для получения данных из различных источников. В данном контексте наиболее разумно на стороне backend'а создавать сервис который будет принимать http-запросы от клиентских приложений и в зависимости от запроса выгружать соответствующие данные из хранилища/хранилищ данных и возвращать в виде http-ответа, например в формате JSON или по WebSocket'ам или SSE (Server-Sent Events). Клиенты же могут быть как JS-приложениями, так и мобильными приложениями или другими сервисами.

P.S. посмотреть, что из себя представляет Apex и потренироваться в создании приложений вы можете совершенно бесплатно, зарегистрировавшись на https://apex.oracle.com
Вот здесь можно подобрать книгу для изучения Apex:
www.oracle.com/technetwork/developer-tools/apex/ap...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go
Для оракл удобно использовать Apex от самого же оракла
Ответ написан
Комментировать
@dmitryKovalskiy
программист средней руки
Я правильно понимаю что вы хотите текстовое поле в которое будет вбиваться запрос и он должен исполняться на сервере БД? Технически это грубейшая уязвимость. Поскольку это ваша "фича", то делайте на том языке и платформе, которую знаете. Если душа не лежит к PHP - есть и ASP.NET и Django и RoR. Разницы в принципах работы с данными между ними нет. Я как разработчик ASP.NET могу лишь заметить что из коробки платформа пытается выявить потенциально опасные запросы и ваш функционал не пройдет проверку - нужно будет разбираться с атрибутами и настройками приложения. А насчет пригодиться? Пригодиться может хороший программист. На какой платформе он работает - вторично. Могу лишь предложить пойти на сайт с вакансиями в вашем регионе и повбивать названия ASP.NET, PHP и прочее. Посмотреть уровень зарплат и кол-во самих вакансий. Заодно и требования увидите.
Ответ написан
@kretsu
Java EE JSP/JSF/Spring
Perl
Python
Ruby

да сдается мне, любая уважающая себя платформа(писать "языка" рука не поворачивается) имеет фреймворки для веба и для работой с БД
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы