Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разработка ВЕБ-сервиса, Не знаю как подступиться 
V
    Опции темы
Ner-zul
  Дата 20.4.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 24.1.2004
Где: Москва

Репутация: нет
Всего: нет




  Добрый День,

   Передо мной стоит задача создания некой программки, которая будет доставать определенные данные из базы данных под управлением SQLBase(Centura) и запаковывать их в xml файл или xml-сообщение и передавать другой программе. Изначальная идея в том, чтобы обеспечить через единый интерфейс Большой информационной системы доступ к данным, хранящимся в удаленной БД. Было решено моими руководителями организовывать этот доступ в виде WEB-Сервиса. Этот WEB-сервис должен быть разработан на Jave и зарегестрирован в главной системе.  Через единый интерфейс пользователи будут обращаться к моему сервису , а мой сервис к удаленной БД, извлекать оттуда Данные и выдавать их пользователю.   

   Мне было предложено разрабатывать данный сервис используя среду NetBeans 6.01 . Серверы GlassFish или Tomcat.

  Задача видимо не самая сложная, но признаться честно, я даже не знаю как подступиться к ее решению. С Архитектурой Веб-сервисов я принципиально знаком. Но мне не понятно как это реализовывать.

1. Я не знаю что выбрать и в чем разница между  GlassFish и Tomcat.
2. Я хотел бы изучить пример создания веб сервиса.
3. Я хотел бы понять как можно подключится к таблицам удаленной БД. И в частности БД на SQLBase.
4. Хотел бы понять как можно запросить данные из этой БД.

 Помогите пожалуйста.




Это сообщение отредактировал(а) Ner-zul - 20.4.2008, 21:24
--------------------
 Ner-zul   
PM MAIL ICQ   Вверх
Zamuta
Дата 20.4.2008, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 18.1.2006

Репутация: 4
Всего: 6



Ner-zul
1. GlassFish  это сервер приложений, tomcat это сервлет контейнер. Думаю для твоего случая в GlassFish нет необходимости.
2. Вот здесь как раз для netbeans.
3. Наверняка на сайте у SQLBase есть примеры.
4. Подозреваю что посредством Structured Query Language .


--------------------
Thank you opensource.
PM MAIL ICQ   Вверх
Ner-zul
  Дата 20.4.2008, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 24.1.2004
Где: Москва

Репутация: нет
Всего: нет



Спасибо, правда,
 Если можно мне хотелось бы получить более конкретные и развернутые ответы:

1.1 А вообще какую роль GlassFish или Tomcat играют для моего сервиса? Он работает под их управлением? 
1.2 Значит , на той машине, на которой он будет работать тоже должны стоять эти серверы чтоли?
1.3 Что такое сервлет контейнер? (просьба не отвечать , что это контейнер для сервлетов)



2.1 Пример скачал, но он под MySQL и кроме того я не нашел там объяснения по этому примеру. А просто файлы с кодом мне мало что дают. Также, вышел я на пример по созданию веб-приложения. Это действительно то что мне нужно?
2.2 Сервлеты - это и есть веб приложения?
2.3 Сервлеты это тоже самое что и веб сервисы? В чем разница?
2.4 Какие из вышеперечисленных программ могут забирать данные из БД?



3.1 Не нашел на сайте производителе, как Из Java подключится к таблицам SQLBase.
3.2 Был бы признателен за пару строк кода и объяснения к ним.



4.1 Я понимаю что выборку данных нужно производить с помощью оператора SELECT. Мне важно понять, как писать этот запрос? Какой синтаксис ??? (то есть синтаксис именно в JAVA. Синтаксис самого SQL  я знаю очень хорошо.) И к кому его направлять??? 
Тут тоже очень хотел бы увидеть пример. smile 




Очень сложно найти самому ответы на эти вопросы в интернете. на каждой странице новые термины... Новые механизмы , какие-то приемы..пакеты...среды и пр. Совсем запутался.




Это сообщение отредактировал(а) Ner-zul - 20.4.2008, 22:45
--------------------
 Ner-zul   
PM MAIL ICQ   Вверх
LuLok
Дата 21.4.2008, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 6.2.2007
Где: Москва

Репутация: 1
Всего: 1



1. Бери Tomcat и не парься, для такого простенького приложения он вполне сойдет и ресурсов от системы жрет мало. И да, тебе надо будет установить его на сервер, где будет работать приложениеsmile

2. Разница между работами с БД в JAVA заключается только в использовании различных "драйверов", поищи их на сайте производителя или на сайте SUN. Вэб приложение может состоять из множества компонентов.. Забирать данные из БД можно хоть через сервлет, хоть через простой класс, хоть через jsp  страницу.

3. Еще раз повторюсь нужен драйвер

4. Синтаксис совершенно такой же как и у обычного SQL

Пример приложения с подключением к БД (Oracle) и исполнения запроса:
Код

package ru.primer;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;



/**
 *
 * @author vsedykh
 */
public class NewClass {

    private Connection conn = null;
    private PreparedStatement prSt = null;
    private ResultSet res = null;
    
    void doQuery() {
        try {
            Class.forName("oracle.jdbc.OracleDriver"); //Имя класса для подключения к БД
            String url = "jdbc:oracle:thin:@127.0.0.1:1521:DBDB"; //УРЛ для подключения к БД
            conn = DriverManager.getConnection(url, "login", "pass"); //Получаем коннект
            prSt = conn.prepareStatement("SELECT * FROM TABLE WHERE ID = ?"); //Устанавливаем запрос
            prSt.setString(1, "123"); //Подставляем нужное нам значение вместо занака "?" в запросе
                                                   //Можно обойтись без этого, тогда нужно использовать просто 
                                                   //conn.createStatement()
            res = prSt.executeQuery();//Выполняем запрос и записываем результат в res
                                                      //Ну а дальше с результатами делай что душе угодно
            ...
                    
        } catch (SQLException e) {
            e.printStackTrace();
        }
}


Для твоей задачи тебе нужно будет найти и скачать драйвера к твоей БД для JAVA, импортнуть их в твой проект и научится их использовать, хотя я не думаю, что синтаксис будет сильно различаться.
Удачи!
PM MAIL ICQ   Вверх
Ner-zul
  Дата 21.4.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 24.1.2004
Где: Москва

Репутация: нет
Всего: нет





  Огромное спасибо  smile 

 Все понятно, тока хотелось бы еще прояснить следующие моменты:

1.Что значит научится использовать драйвера? Разьве мне они нужны не только для того, чтобы подключится к БД а потом забыть про них?

2.
Class.forName("oracle.jdbc.OracleDriver"); //Имя класса для подключения к БД
Вот так вот вы подключили драйвер? А почему тогда вы поясняете строчку как "имя класса" и где оно тогда используется?


"oracle.jdbc.OracleDriver" - вот это имя драйвера, который после импорта мне подключать, так?


3.String url = "jdbc:oracle:thin:@127.0.0.1:1521:DBDB";

jdbc:oracle:thin - Указываем что работаем с БД на Oracle. У другой субд будет вместо oracle ее название;
DBDB- имя моей БД;
127.0.0.1 - это IP моего компа.(локал хост)
1521 - порт? а как его определять?

Поправьте меня пожалуйста, если я не прав.


4. А мне еще советовали при работе с БД использовать DataSource. Это можно использовать как аналог или как дополнение к вашему примеру?


5. А если у меня не получается найти драйвер для SQLBase, но я с мог создать ODBC-драйвер и подключиться к таблицам данной БД через Access для теста. Могу ли я использовать этот ODBC драйвер для SQLBase чтобы получить доступ из Java? Каким образом?



 Заранее спасибо  smile 


--------------------
 Ner-zul   
PM MAIL ICQ   Вверх
serger
Дата 22.4.2008, 05:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



http://antonsaburov.narod.ru/students/content.html

Прозрачно про java, правда нет webServices, отпадёт много вопросов и идеологию освоите лучше

А то просто устаните задавать вопросы ;)

Это сообщение отредактировал(а) serger - 22.4.2008, 05:40


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
LuLok
Дата 22.4.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 6.2.2007
Где: Москва

Репутация: 1
Всего: 1



Могу еще посоветовать книгу Х.М. Дейтел "Технологии программирования на JAVA 2. Книга 1". Там достаточно кратко и очень понятно все описано (сам по ней учился). Книгу можно найти в инете, дабы скачать.
PM MAIL ICQ   Вверх
Ner-zul
Дата 22.4.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 24.1.2004
Где: Москва

Репутация: нет
Всего: нет




 Спасибо , я по-большей части разобрался в вопросе smile
--------------------
 Ner-zul   
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.