Dostęp do baz danych przy wykorzystaniu interfejsu ROracle i biblioteki Shiny

Podobne dokumenty
Webowy interfejs - Shiny

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Zaawansowane aplikacje internetowe - laboratorium

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

REFERAT PRACY DYPLOMOWEJ

Aplikacje WWW - laboratorium

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Podstawy technologii WWW

Aplikacje WWW - laboratorium

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Bazy danych i strony WWW

Aplikacje WWW - laboratorium

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń

XML-owe bazy danych ćwiczenia 1

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Rozpoczęcie pracy z programem.

Instalowanie VHOPE i plików biblioteki VHOPE

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Aplikacje WWW - laboratorium

Pracownia internetowa w szkole ZASTOSOWANIA

Program Rabator dla Microsoft Windows.

Aplikacje internetowe - laboratorium

B2B XL by CTI. Instrukcja

PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE CZĘŚĆ PRAKTYCZNA

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Paweł Cieśla. Dokumentacja projektu

Kontrolka ActiveX Internet Explorer w aplikacji wizualizacyjnej InTouch

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Aplikacje WWW - laboratorium

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Opcje Fiery1.3 pomoc (serwer)

KASK by CTI. Instrukcja

Jak przygotować kopię zapasową bazy danych programu MOL Optivum i udostępnić ją na potrzeby migracji do programu MOL NET+?

PRZEWODNIK PO PRZEDMIOCIE

Aplikacje internetowe i rozproszone - laboratorium

Mini Produkcja by CTI. Instrukcja

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Symfonia Produkcja. Kreator raportów. Wersja 2013

Zarządzanie licencjami dla opcji Fiery na komputerze klienta

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Utworzenie pliku. Dowiesz się:

Opcje Fiery1.3 pomoc (klient)

Temat: Graficzna ilustracja danych - wykresy


Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

dziennik Instrukcja obsługi

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Leszek Stasiak Zastosowanie technologii LINQ w

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Instrukcja obsługi serwera FTP v

Konfiguracja współpracy urządzeń mobilnych (bonowników).

5.2. Pierwsze kroki z bazami danych

WYDAWANIE CZYTNIKAMI BY CTI Instrukcja

MentorGraphics ModelSim

Oracle Application Express -

Wykład 6: PHP: praca z bazą danych MySQL, cz.2

Zaawansowane aplikacje internetowe

Aplikacje internetowe - laboratorium

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Przewodnik użytkownika (instrukcja) AutoMagicTest

Instrukcja użytkownika

System Symfonia e-dokumenty

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Przewodnik użytkownika (instrukcja) AutoMagicTest

Pomoc dla systemu WordPress

PRZYJMOWANIE/WYDAWANIE KOLEKTORAMI BY CTI

Przesyłanie Pakietów Danych i TCP/IP

Problemy techniczne SQL Server

Dostęp do baz danych w ASP.NET.

INSTALACJA PROGRAMU KS-ASW

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Poradnik korzystania z usługi FTP

Problemy techniczne SQL Server

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji

Snifery wbudowane w Microsoft Windows

REFERAT O PRACY DYPLOMOWEJ

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Wykład 5: PHP: praca z bazą danych MySQL

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Instalacja i obsługa aplikacji MAC Diagnoza EW

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

WOJEWÓDZTWO PODKARPACKIE

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej

Specyfikacja implementacyjna aplikacji serwerowej

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym

Scenariusze obsługi danych MPZP

Uruchamianie bazy PostgreSQL

plansoft.org Zmiany w Plansoft.org Błyskawiczny eksport danych PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

Telesprzedaż by CTI Instrukcja

Ćwiczenie 4. Użytkownicy

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Transkrypt:

Dostęp do baz danych przy wykorzystaniu interfejsu ROracle i biblioteki Shiny 1 Wprowadzenie W opisie zadań wykorzystano środowisko programistyczne rstudio (wersja 1.0.136). Celem ćwiczenia jest zapoznanie się z mechanizmem dostępu do bazy danych z poziomu języka R z wykorzystaniem interfejsu ROracle. Wykorzystamy również bibliotekę Shiny do zbudowania interaktywnej aplikacji, która będzie wyświetlała dane z bazy danych. Aplikacje Shiny działają zgodnie z modelem akcjareakcja (ang. reactive programming). Jest to model znany np. z arkuszy kalkulacyjnych. Zazwyczaj takie arkusze poza danymi zawierają również formuły określające, jak ma być wyznaczona wartość danej komórki w zależności od innych komórek. Jeżeli zmienimy wartość w jednej komórce (akcja) to automatycznie zmienią się wartości w komórkach znalezionych (reakcja). Podobnie wygląda reakcja w aplikacji zbudowanej z wykorzystaniem biblioteki Shiny. Na stronie html umieszczamy kontrolki wskazujące pewne wartości oraz wyniki działania funkcji na tych wartościach. Gdy zmienimy kontrolkę, to odświeżone zostaną wszystkie wyniki, które od danej kontrolki zależą. Takie inteligentne odświeżanie wartości, które mogą się zmienić, pozwala na budowę szybkich i jednocześnie złożonych aplikacji. Model akcja - reakcja wymaga oprogramowania sposobu, w jaki elementy wejściowe wpływają na wygląd/stan/wartość elementów wyjściowych. Jeżeli w trakcie pracy zmieniona zostanie wartość jakiegoś elementu wejściowego (kliknięty przycisk, wpisana wartość liczbowa, przesunięty suwak), to przeliczone zostaną odpowiednie elementy wyjściowe. 1.1 W sieci znajdziemy wiele ciekawych tutoriali oraz licznych przykładowych rozwiązań z użyciem tej biblioteki. Obszerne źródło na temat biblioteki znajdziemy pod adresem: http://shiny.rstudio.com, na uwagę zasługuje również: http://www.rstudio.com/wp-content/uploads/2016/01/shinycheatsheet.pdf 1.2 Architektura klient - serwer. Strona Serwera Strona Klienta Shiny Baza Danych Serwer aplikacji Przeglądarka

1. Struktura aplikacji Shiny. Aplikacja shiny posiada typową strukturę aplikacji internetowej. Użytkownik specyfikuje, który element UI (user interface), ma zostać wyświetlony, kod R np. odpowiedzialny za rysowanie wykresu, treść w postaci tekstowej czy w formie tabeli. Każda aplikacja składa się z dwóch części ui oraz części server a, które mogą być składowane w jednym bądź różnych plikach. Część ui jest odpowiedzialna za wyświetlane elementy interfejsu użytkownika, natomiast część server zawiera cały wykonywalny kod aplikacji. Generowanie strony, która zawiera elementy HTML, CSS oraz skrypty JavaScript odbywa się poprzez kod R zawarty w tych dwóch częściach. Dodatkowo, gdy element UI zostanie zmodyfikowany, cały odpowiadający mu kod jest wykonywany (np. wykres) i jest automatycznie uaktualniany. a. Przykładowy ui.r shinyui(fluidpage( titlepanel("tytul aplikacji"), sidebarlayout( sidebarpanel( "sidebar panel"), mainpanel("main panel")))) b. Przykładowy server.r shinyserver(function(input, output){ 2 Uruchomienie serwera aplikacji Korzystając z rstudio, mamy od razu serwer aplikacji, który będzie wykorzystywany przez naszą aplikację. Aplikację możemy uruchomić z poziomu rstudio poleceniem : runapp('nazwa_projektu/aplikacja.r ) Lub podając adres w przeglądarce np. http://127.0.0.1:5509 3 Utworzenie projektu w środowisku rstudio 3.1 Uruchom środowisko rstudio. 3.2 Utwórz nowy projekt wybierając z górnego menu File->New Project.

3.3 Wprowadź nazwę projektu np. ShinyApp. Wybierz opcję aplikacji w jednym pliku (Single File). Zapisz projekt w katalogu Dokumenty. 3.4 Zaczniemy od uruchomienia testowej aplikacji, która wyświetla interaktywny histogram z danymi na temat gejzerów. Uruchom aplikację poprzez naciśnięcie przycisku Run App. W efekcie uzyskujemy następujący wynik.

4 Nawiązanie połączenia z bazą danych i odczyt danych. Teraz zbudujemy aplikację, która będzie wyświetlała dane o pracownikach z bazy danych Oracle w postaci tabeli. Wykorzystamy do tego celu bibliotekę DBI, ROracle oraz Shiny. 4.1 Usuń kod przykładowej aplikacji. Na jego miejsce wpiszemy nowy. 4.2 Wczytaj zawartość bibliotek do aplikacji. library(dbi) library(roracle) library(shiny) 4.3 Nawiązujemy połączenie z bazą danych dblab01. drv = dbdriver( Oracle ) con = dbconnect( scott, tiger,"admlab2- main.cs.put.poznan.pl:1521/dblab01.cs.put.poznan.pl"; 4.4 Teraz zajmiemy się częścią odpowiedzialną za interfejs użytkownika. Nasza aplikacja, dla podanego identyfikatora zespołu, będzie wyświetlać jego pracowników. Do tego celu wykorzystamy element TextInput(), który będzie służył do wprowadzenia danych wejściowych. Dla podanego identyfikatora zespołu wyświetleni zostaną pracownicy, którzy w nim pracują. Element TableOutput(), będzie odpowiedzialny za wyświetlenie danych w postaci tabelarycznej. ui <- fluidpage( sidebarlayout( sidebarpanel( textinput("id","podaj identyfikator zespolu pracownikow:","10"), tableoutput("tbl") ), Inne przykładowe elementy wejściowe: actionbutton() checkboxinput() datainput() daterangeinput() FileInput() NumericInput() radiobuttons() selectinput() sliderinput() Pełna lista możliwych elementów wraz z opisem dostępna na stronie: https://shiny.rstudio.com/tutorial/lesson3/ 4.5 Część serwera jest odpowiedzialna za wykonanie odpowiedniego zapytania do bazy danych jak i dostarczenia przetworzonych wyników.

server <- function(input, output) { output$tbl <- rendertable({ sql <- SELECT * FROM PRACOWNICY WHERE ID_ZESP =?id query <- sqlinterpolate(con,sql,id=input$id) dbgetquery(con,query) } 4.6 Część wspólna shinyapp(ui = ui, server = server) 4.7 Uruchom aplikację. Sprawdź czy działa poprawnie. 4.8 Teraz element tekstowy interfejsu użytkownika zamienimy na interaktywny przesuwak. Zastąp textinput na sliderinput, z następującymi parametrami: sliderinput("id","podaj identyfikator zespolu pracownikow: ",10 100, 10, 10,ticks=TRUE) 4.9 Do naszej aplikacji dołączymy jeszcze jeden element wyjściowy, wyświetlimy pracowników w postaci barplotu. Do ui dodajemy element odpowiedzialny za wyświetlenie takiej informacji. plotoutput( popplot ) 4.10 Do częsci server dodamy kod, który po wykonaniu dostarczy dane do narysowania wykresu. output$popplot <- renderplot({ query <- paste0( SELECT * FROM PRACOWNICY where ID_ZESP = ), As.integer(input$ID)[1]) df <- dbgetquery(con,query) pop <- df$placa_pod names(pop) <- df$nazwisko barplot(pop) Zadanie 1 Połączenie z bazą danych i wyświetlenie wyników Przygotuj aplikacje, która nawiąże połączenie z bazą danych, wyświetli informacje o pracownikach wraz z nazwą zespołu w którym pracują.