• Sonuç bulunamadı

TÜRKİYE KUTUP VERİ MERKEZİ

N/A
N/A
Protected

Academic year: 2022

Share "TÜRKİYE KUTUP VERİ MERKEZİ"

Copied!
29
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

İMZA veya PARAF TÜRKİYE KUTUP VERİ MERKEZİ

1 KISALTMALAR

CBS : Coğrafi Bilgi Sistemi (GIS (Geographic Information System))

WebGIS : Web haritalama veya online haritalama, GIS tarafından sunulan verilerin kullanılarak işlenmesi ve internet ortamında sunulmasıdır.

DBMS : Veritabanı Yönetim Sistemi EPSG : European Petroleum Survey Group SRS : Spatial Reference System

CRS : Coordinate Reference System DMS : Degree Minute Second JSF : JavaServer Faces

API : Application Programming Interface HTTP : HyperText Transfer Protocol

2 GİRİŞ (İŞ YERİ TANITIMI VE STAJ PROJESİ/UYGULAMASI İLE İLGİLİ GENEL BİLGİLER)

TÜBİTAK Marmara Araştırma Merkezi, TÜBİTAK’a bağlı araştırma geliştirme (AR-GE) birimlerinden biridir. Staj danışmanım tarafından verilen proje Türkiye Kutup Veri Merkezi olup ayrıca yürütülmekte olan bir doktora tez çalışmasıdır. Projenin amacı tahsis edilen sunucuyla birlikte polar.truba.gov.tr adresini bir WebGIS platformuna dönüştürmek olacak.

2.1 Firma Hakkında Bilgi

TÜBİTAK MAM, müşteri odaklı yaklaşımı ile kamu, savunma ve özel sektör kurum ve kuruluşları ile akademik kurumlara özgün çözümler sunmaktadır. Bu çözümlerini temel araştırma, uygulamalı araştırma ve geliştirme, teknoloji transferi, inovasyon, sistem ve tesis kurma, ulusal standart ve norm belirleme, profesyonel danışmanlık ve eğitim çalışmaları ile gerçekleştirmektedir. Kutup Araştırmaları Enstitüsü, kutup bölgelerinde uygulanabilecek Ar-Ge ve bilimsel araştırmaları desteklemek, ulusal kutup seferlerini gerçekleştirmek, ülkemize ait kutup kampları ve üs(leri) işletmek, lojistiği planlamak ve koordine etmek, kurumlar arası iletişimi sağlamak, uluslararası ikili iş birliklerini sürdürmek, ulusal kutup stratejisini paydaşlara açarak geliştirmek ve yürütmek, ulusal

(2)

İMZA veya PARAF çapta kutup bölgeleri farkındalığı oluşturmak, kutup bölgeleri özelinde ulusal ve uluslararası bilim diplomasisini sağlamak ve uluslararası arenalarda ülkemizi temsil ederek rekabet ve bilimsel gücünü arttırmak hedefindedir.

2.2 Projede Kullanılan Yazılım/Donanım Araçları

Üzerinde çalıştığım proje için gerekli araçlar jeo uzamsal verilerin tutulabileceği bir veritabanı yönetim sistemi olan PostgreSQL ve onun uzantısı olan PostGIS, masaüstü coğrafi bilgi sistemi uygulaması olan QGIS, web haritalama servisinin yayınlanacağı GeoServer, bu servislerin web uygulaması üzerinde gösterilebilmesi için gerekli olan OpenLayers javascript kütüphanesi, arka planda veritabanı kodlarının çalıştırılabilmesi için Eclipse ve yazılım dili olarak Java kullanılacaktır.

Tablo 1. Kullanılan Teknolojiler

Teknoloji Adı Açıklaması

PostgreSQL ve PostGIS uzantısı Harita üzerinde işaretlenen noktalar, çokgen veya diğer şekiller bir jeo uzamsal veri belirtmektedir. Bunların veritabanında tutulması için özel uzantılar gerekmektedir.

QGIS Coğrafi Bilgi Sistemleri için çeşitli masaüstü

uygulamarı kullanılmaktadır. Bunlardan biri de popüler olarak kullanılan QGIS’dir.

GeoServer Jeo Uzamsal verilerin web üzerinde

yayımlanabilmesi için gerekli servisleri içermektedir.

OpenLayers GeoServer aracılığıyla yayımlanan servislerin web uygulaması üzerinde gösterilebilmesi için gereklidir.

(3)

İMZA veya PARAF 3 GELİŞME (PROJE VE UYGULAMALAR)

3.1 Projenin Gereksinimi

TÜBİTAK MAM KARE ülkemiz adına bilimsel hedefler doğrultusunda ilerlemektedir. Yapılan her türlü çalışmanın takip edilmesi, izlenmesi ve incelenmesi için bir veri tabanı kurulması gerekliliği ortaya çıkmıştır. Kutup çalışmalarına ayrılan bütçeyi yönetmek, proje ve veri tekrarından kaçınmak, seferlerin yönetimini daha etkin hale getirmek için kutup veri merkezi ve yönetim sistemi oluşturmak son derece önemlidir. Verilerin coğrafi bilgi sistemine aktarılarak web ortamında görüntülenmesi bilim insanları ve araştırmacıların çalışmalarına katkı sağlayacaktır.

Türkiye Kutup Veri Merkezi yürürlükte olan ve bitmiş projeleri, ulusal ve uluslar arası yayınları, çalışmalara dair işlenmiş ve ham verilerin yer alacağı bir platformdur. Bu platform Türkiye’nin kurumsal kutup bilimleri hafızası olduğunda, gelecek çalışmaların planlama ve yönetimleri daha bilinçli ve kolay gerçekleştirilecektir.[1]

3.2 Jeo Uzamsal Bilgi Sistemleri (Spatial Information System)

Coğrafi bilgi sistemi (CBS); Dünya üzerindeki karmaşık sosyal, ekonomik, çevresel vb. sorunların çözümüne yönelik mekana/konuma dayalı karar verme süreçlerinde kullanıcılara yardımcı olmak üzere, büyük hacimli coğrafi verilerin toplanması, depolanması, işlenmesi, yönetimi, mekansal analizi, sorgulaması ve sunulması fonksiyonlarını yerine getiren donanım, yazılım, personel, coğrafi veri ve yöntem bütünüdür.

CBS genel bir kavram olup, çeşitli kullanım alanlarına ve tematik konulara yönelik olarak geliştirilen CBS uygulamaları vardır. Bu CBS uygulamaları, Kent Bilgi Sistemi, Orman Bilgi Sistemi, Karayolları Bilgi Sistemi, Arazi Bilgi Sistemi, Tapu ve Kadastro Bilgi Sistemi (TAKBİS), Lojistik Bilgi Sistemi, İç Güvenlik Bilgi Sistemi, Araç İzleme Bilgi Sistemi, Trafik Bilgi Sistemi, Kampüs Bilgi Sistemi, Deprem Bilgi Sistemi, Harita Bilgi Sistemi vb. şekilde adlandırılırlar.

CBS, kavramsal bir sınıflamada hiyerarşik olarak öncelikle Sistem, sonra Bilgi Sistemi kategorisi altında yer alır. İşlevsel bir sınıflamada ise CBS, öncelikle Teknoloji, sonra Bilgi Teknolojisi altında yer alır.

Coğrafi bilgi sistemi, coğrafya, haritacılık ve bilgisayar bilimleri ile ilgili bir teknoloji olup Coğrafi Veri Altyapısı bileşenlerinden Bilgi Teknolojileri kapsamında yer alır. Görsel tabanlı verilerin işlenip amaca uygun kullanılmasında olanak sağlar. [2]

(4)

İMZA veya PARAF Uzamsal(spatial) tablolarda normal tabloya ek olarak her satırında bir geometri veya konum bilgisi bulunan geometri alanı(shape veya geometry field) bulunur. Bu bilgi anlamsız gibi görünse de bir nokta, çizgi veya çokgen belirtir. Bu bilgi, herhangi CBS yazılımı kullanılarak işlenip(render) görüntülenebilir. QGIS veya ArcMap(ArcGIS) en çok kullanılan iki yazılımdır. Her satırdaki veri işlenip görüntülenebilir.

Tablo 2. Normal Veriler için Veritabanı Tablosu

Tablo 3. Uzamsal Veriler için Veritabanı Tablosu

Ev No Sahibi Alan(m^2)

1 Mehmet 200

2 Ali 100

3 Ayşe 300

4 Selim 150

5 Merve 250

Geometry Field Ev No Sahibi Alan(m^2)

01AFD8B5C6C5C 1 Mehmet 200

02RBN8B5C6C5C 2 Ali 100

03QWE8B5C6C5C 3 Ayşe 300

04BNC8B5C6C5C 4 Selim 150

05FHG8B5C6C5C 5 Merve 250

(5)

İMZA veya PARAF 3.3 Sunucu ve WebGIS Mimarisi

Tüm bilgilerin merkezi bir sunucuda tutulduğu bir sistemde bir veya birden fazla kullanıcı veritabanına erişip aynı servisleri kullanabilir. Bunların hepsi gerçek zamanlı(real time) olarak gerçekleşir. Kullanıcı-1 herhangi bir veriyi değiştirmek isterse ve eğer yetkisi de varsa sunucuda bulunan veritabanına erişir ve ilgili satırları ekleyebilir, güncelleyebilir veya silebilir. Bu değişim eş zamanlı olarak tüm kullanıcılarda meydana gelir.

Şekil 1. Kullanıcıların Sunucuya Eş Zamanlı Olarak Erişmeleri

Kullanıcı 1

Kullanıcı 2

Kullanıcı 3

(6)

İMZA veya PARAF Şekil 2. Proje Mimarisi

Uzamsal veritabanı(spatial database), jeo uzamsal verilerin saklandığı veritabanıdır. Masaüstü CBS uygulaması veritabanına erişir ve veri üzerinde belirli işlemler gerçekleştirmeyi sağlar. Publishing engine(yayımlama motoru) ile spatial veritabanına erişilir ve veriyi web haritalama servisi veya web feature servisi olarak yayınlar. Bu servisler veritabanındaki geometry field(geom) sütununda

bulunan anlamsız bilginin bir görünüme kavuşmasını sağlar. Bu servisler web haritalama uygulaması(WebGIS) tarafından kullanılır.

Desktop GIS Application

Web Mapping Application Publishing Engine

Spatial Database

(7)

İMZA veya PARAF 3.4 Spatial Veritabanı Oluşturma

CBS uygulamalarında nokta, çizgi veya çokgen şekillerini gösterebilmek için veritabanında ilgili tablolarda geom adı verilen özel bir sütun bulunmalıdır. Eğer web üzerinden bu verilerin

gösterilmesini istiyorsak bu geom verilerini, şekle büründüren servislere ihtiyacımız olacak. Bu servisler ise veriyi bir veritabanından çekmelidir. Burada veritabanı yönetim sistemi(DBMS) olarak CBS sistemleri için en çok kullanılan PostgreSQL ve onun PostGIS uzantısını kullanacağız.

Oluşturulması gereken bu özel tablolar farklı şekillerde oluşturulabilir.

QGIS uygulamasıyla oluşturulan katmanlar, uygulama üzerinden PostgreSQL bağlantısı kurularak aktarma yapılabilmektedir.

Şekil 3. QGIS Uygulaması Üzerinde Bulunan İşaretlerin PostgreSQL’e Aktarılması

(8)

İMZA veya PARAF İlişkisel veritabanını oluşturmak için tablolarda gerekli alanlar belirlenmelidir. Veritabanında veri tekrarlarını ortadan kaldırmak ve veri tutarlılığını(doğruluğunu) artırmak için normalizasyon yapılmalıdır.

Tüm gerekli alanlar geçici olarak aşağıda belirtilmiştir;

(ID, Proje Adı, Bilim Dalı, Proje Yürütücüsü Unvanı, Proje Yürütücüsü Adı, Proje Yürütücüsü Soyadı, Proje Yürütücüsü Maili, Proje Yürütücüsünün Telefonu, Çalıştığı Kurum, GEOM, Enlem Değeri(latitude), Boylam Değeri(longitude))

Bu tablo için birinci normal form, ikinci normal form ve üçüncü normal forma uygun hale getirilmiş tablonun E-R(Entity Relationship) diyagramı aşağıdaki gibi elde edilmiştir.

Şekil 4. Oluşturulacak Veritabanının E-R Diyagramı

(9)

İMZA veya PARAF Buna göre oluşturulması gereken tablolar şu şekilde olacaktır.

Projects (pid : integer, pname : character varying(350));

Sciences (sid : integer, sname : character varying(70));

Project_Managers (tid : integer, fname character varying(30), lname character varying(30), email character varying(100), phone character varying(20), uname character varying(100), rank character varying(20));

Researches (pid : integer, sid : integer, tid : integer, geom : public.geometry(Point,4326), latitude : double precision, longitude : double precision);

Users (userid : integer, fname : character varying(50), lname : character varying(50), email : character varying(100), password : character varying(100), auth : character varying(20));

3.5 Web Haritalama Servisleri

CBS servislerini oluşturmaya, yönetmeye ve uyumlu kullanıcılara dağıtmaya yarayan yazılımlardır.

Açık kaynak kodlu ve lisanslı olmak üzere çeşitli ürünler mevcuttur.

Başlıca kullanılan yazılımlar; ArcGIS For Server, Deedree, Erdas Apollo, GeoMedia WebMap &

SDI Pro, GeoServer, Manifold System, MapServer, NetGIS Server, Orbit EOS, Spatial Fusion Server, SpatialFX.[3]

Java tabanlı açık kaynak kodlu bir yazılım olan GeoServer, kullanıcıların farklı ortamlardan coğrafi verilere ulaşmasını ve bu verilerle çalışmasını sağlar. OGC standartlarında web

servislerinin (WCS, WMS, WFS, WFS-T) oluşturulmasını sağlayan GeoServer veri kaynağı olarak vektör (Oracle Spatial, ArcSDE, DB2, MySQL, PostGIS, Shapefiles ve Web Servisleri) ve raster (ArcGrid, GeoTiff, 51 Jpeg2000, ECW, MrSID) veriler kullanabilmekle beraber standart protokollerde üretilmiş olan KML, GML, GeoRSS, GeoPDF gibi formatları da

okuyabilmektedir. GeoServer içerisindeki OpenLayers entegrasyonu sayesinde servis edilen veriler anında internet üzerinden sorgulanıp görülebilmektedir.[4]

(10)

İMZA veya PARAF GeoServer arka planda Java kodları çalıştıran bir hizmettir. Bunun için GeoServer’in kurulacağı bilgisayar veya sunucularda Java bulunmalıdır. GeoServer belirlenen portta sürekli olarak

çalışmalıdır. Ayrıca herhangi bir tarayıcı üzerinden bu porta erişilip eklenilecek katmanlar, stiller ve veriler buradan seçilebilmekte ve düzenlenebilmekte. Karmaşık veritabanı sorgularını da

yapmamızı sağlayan GeoServer, ilgili sorguya ait web haritalama servisi oluşturup bunu yayımlamamızı sağlamaktadır.

Ortofoto harita, üzerine harita kenar bilgileri, gridler, eş yükseklik eğrileri, yer ve mevki isimleri ve benzeri kartografik bilgilerin eklendiği ortofoto görüntülere verilen isimdir.[5]

Oluşturulan katmanlar farklı formatlarda ön izlenebilmektedir. Ön izlenen katmanlar ortofoto harita içermediği için arkaplanı beyaz olarak gözükecektir.

Şekil 5. GeoServer ile Oluşturulan Katmanlar

(11)

İMZA veya PARAF Şekil 5’de sağ tarafda bulunan EPSG:4326 sütunu Spatial Reference System (SRS) veya Coordinate Reference System(CRS) coğrafi nesnelerin konumlarını bulmak için kullanılan koordinat tabanlı yerel, bölgesel veya küresel bir sistemdir. Bir SRS farklı mekansal referans sistemeler arasında dönüşümlerin yanı sıra, belli bir harita projeksiyonu tanımlar.

Mekansal referans sistemleri SRID olarak ifade edilen benzersiz tamsayı kimlik numaraları ile ifade edilirler. European Petroleum Survey Group(EPSG) tarafından tanımlanmış olan SRID’ler de vardır ve bunlar EPSG kodu ile ifade edilirler. Örneğin “EPSG:4326” WGS84 projeksiyonu için EPSG kodudur. “EPSG:3857” ise WGS84 WebMercator için EPSG kodudur. Bu iki projeksiyon arasındaki fark “EPSG:4326” sisteminde dünya bir küre olarak ele alınırken “EPSG:3857”

sisteminde dünya bir elips olarak düşünür. “EPSG:4326” enlem/boylam(lon/lat) koordinat sistemini kullanırken “EPSG:3857” x/y kartezyen koordinat sistemini kullanır. Bu sistemler sayesinde de yuvarlak yapıdaki dünya düz bir zemin üzerinde temsil edilebilmektedir.

SRS için tanımlanan bilgiler veritabanlarında OCG tarafından tanımlanan spatial_ref_sys metadata tablosunda tutulur. Bu tabloda SRID, AUTH_NAME, AUTH_SRID, SRTEXT gibi değerler

bulunur. Konumsal veritabanı içinde birden fazla konumsal referansa sahip konumsal nesne tablosu veya raster veri bulunabilir.[6]

PostgreSQL kullanırken PostGIS uzantısı aktif edildiğinde otomatik olarak spatial_ref_sys metadata tablosu oluşturulmaktadır.

3.6 Web Haritalama Uygulaması

OpenLayers hiçbir sunucu tarafı bağımlılığı bulunmayan, en modern web tarayıcılarında harita verilerini görüntülemek için fonksiyonel harita uygulamaları geliştirmemizi sağlayan sade açık kaynak bir JavaScript kütüphanesidir. OpenLayers, Google Maps ve MSN Virtual Earth API’lerine benzer özellikte ancak bazı önemli değişikliklerle beraber zengin Web tabanlı coğrafi uygulamalar geliştirilmesini sağlar.

OpenLayers ‘ın bu kadar geniş bir yelpazesinin bulunma sebebi işlevselliği yönünden çok zengin ve güncellenebilir, sürekli olarak gelişen açık kaynak kodlu bir kütüphaneye sahip olmasıdır. Bu nedenle cbs yazılımı geliştirenlere esnek bir yapı sunar.

(12)

İMZA veya PARAF OpenLayers API’ si ile haritalar oluşturulurken yeni başlayanlar için iki önemli kavram üzerinde durmak gereklidir. Birincisi “Harita” ve ikincisi ise “Katman” kavramlarıdır.

Openlayers harita üzerinden projeksiyon, obje ve extent bilgilerini depolar. Harita üzerinde veriler katman aracılığıyla görüntülenir. Bir katman aynı zamanda veri kaynağıdır. Openlayers gelen veri taleplerini nasıl görüntülemesi konusunda çözüm geliştirir ve bu verileri katmanlar arayıcılığıyla görüntüler.

İlk olarak web uygulamanın geliştirilmesi için HTML, CSS, JS dilleri kullanılmıştır. Openlayers kütüphanesi ile birlikte GeoServer tarafından yayımlanan servisler web sitesi üzerinde

gösterilmiştir.

Şekil 6. OpenLayers Kütüphanesi ile GeoServer ile Oluşturulan Servislerin Haritada Gösterimi

(13)

İMZA veya PARAF Şekil 7. OpenLayers Kütüphanesi ile GeoServer ile Oluşturulan Servislerin Haritada Gösterimi 2

Haritada herhangi bir noktaya tıklandığında eğer işaretli nokta ise orada hangi projelerin hangi bilim dalı üzerinden gerçekleştirildiği bilgileri kullanıcıya gösterilmektedir. Eğer işaretli bir nokta değilse bulunan koordinatları degree minute second(DMS) olarak kullanıcıya gösterilmektedir.

NOT : Decimal Degrees = degrees + (minutes/60) + (seconds/3600)

(14)

İMZA veya PARAF Şekil 8. İşaretli Noktaya Tıklayınca Çıkan Bilgi Ekranı

Şekil 9. İşaretsiz Noktaya Tıklayınca Çıkan Bilgi Ekranı

Web sitesi üzerinde yukarıda bulunan menüden katmanlara tıklayarak ortofoto veya işaretli katmanların gösterilip gösterilmemesi seçilebilir.

Şekil 10. İşaretsiz Noktaya Tıklayınca Çıkan Bilgi Ekranı

(15)

İMZA veya PARAF Yan tarafda bulunan proje bilgileri bulunan kısım HTML, CSS, JS çatısı oluşturulmuş ve veriler gözükmemektedir. Daha sonra Java arkaplan kodlarıyla birlikte JavaServer Faces(JSF) frameworkü kullanılarak bu verilerin ilgili veritabanından çekilerek gösterilmesi yapılacaktır.

Yukarıdaki arama kutucuğuna yazılan metin veritabanında bulunan proje adlarından biriyle eşleşiyorsa haritada o noktaya yakınlaştırılıp gösterilmesi yapılacaktır. Ayrıca yanında bulunan açılır menüden istenilen bilim dalı seçilerek filtreleme yapılabilmektedir.

Şekil 11. Harita Üzerinde Arama ve Filtreleme

Arama veya filtreleme yapılan noktada birden fazla benzer proje bulunmaktaysa

kümeleme(clustering) yapılarak kaç adet proje bulunduğu haritada gösterilmektedir. Birden fazla proje sayısı bulunan noktaya haritada yakınlaştırma yaparak sayıların ve proje yerlerinin birbirinden ayrıldığını görebiliriz.

Aynı şekilde yukarıdaki menüde bulunan ölçüm araçlarına tıklayarak haritadaki istenilen yerin uzunluk veya alan ölçümü yapılabilmektedir. Bu ölçüm araçlarının nasıl kullanılacağı Openlayers API’e bakılarak öğrenilebilir.

(16)

İMZA veya PARAF Şekil 12. Harita Üzerinde Uzunluk ve Alan Hesabı

Web sitesinde fare ile harita üzerinde gezdirildiğinde o noktanın X-Y noktaları da yukarıdaki kısımda gösterilmektedir.

3.7 Web Sitesinin JavaServer Faces Framewokü ile Kullanımı

Java Server Faces(JSF), JAVA programlama dilinin web frameworklerinden bir tanesidir. JSP den daha gelişmiş halde bulunur. Kullanıcı arayüzüne önem veren bir frameworktür. Profesyonel dinamik web siteleri yapmamızı sağlar ve MVC yapısına uygundur. JAVA EE teknolojilerini kolaylıkla entegre edebiliriz. JSF’i başta devlet kurumları olmak üzere üst düzey şirketler kullanırlar. Bunun nedeni ise arkasında Java’nın olmasıdır.

Çünkü güvenlik ve gelişim bakımından .Net teknolojilerinden üstündür. JSF teknolojisinin arayüz kısmına çeşitli özgün frameworkler uygulanabildiğinden dolayı esneklik sağlar. Java Server Faces’

in asıl görevi olaylara göre işlevler yapabilmesidir.

(17)

İMZA veya PARAF Web sayfası herhangi bir JavaServer Faces container’ı kullanılarak oluşturulabilir. Container GlassFish gibi herhangi bir Java EE uygulama server’ı olabilir veya diğer türdeki containerlarda kullanılabilir. Biz uygulamamızda Apache Tomcat’i kullanacağız. JavaServer Faces diğer bir Java EE teknolojisi olan Servlet üzerinde bulunan bir frameworkdür. JavaServer Faces ile birlikte sayfaya gelen istekler ile arka planda yapılan işlemlerin sonucu daha sonra kullanıcıya geri

gönderilir. JSF Expression Language ile birlikte dinamik olarak sayfaya içerik ekleyebiliriz. JSF ile birlikte multitier mimaride web uygulamarı geliştirilebilir.

HTTP(HyperText Transfer Protocol), web tarayıcılarının web sunucularıyla iletişime geçtiği ve bilgilerin değiş tokuş yapılması için kullanılır. Web tarayıcılar HTTP’yi URL’ler aracılığıyla web sunucularıyla iletişime geçmesi için kullanır.

Tarayıcıya girilen web adresi veya herhangi bir linke tıklanılırsa domain adı kaynakların internette nereden getirileceğini belirler. Bu işlem Domain Name Server(DNS) kullanılarak yapılmaktadır.

Web tarayıcılar DNS ile irtibata geçerek girilen domain adını IP adresine dönüştülmesini gerçekleştirir. DNS, domain adlarını IP adreslere çeviren bir internet servisidir.

GET, sunucudan herhangi bir bilgiyi, kaynağı istemeyi belirten bir HTTP metodudur. Belirli sayısal kodlar HTTP işleminin durumunu belirtir.

(18)

İMZA veya PARAF ,

Şekil 13. Web Sunucuya İstek Gönderilmesi ve Cevabı İNTERNET

Client

Web Server b) GET isteği

client’dan web server’a yollanır.

a) Gelen isteğe uyan kaynaklar, web sunucunun sisteminde aranır.

İNTERNET Client

Web Server Sunucu, uygun

mesajlı isteği ve kaynak içeriklerini cevap olarak gönderir.

(19)

İMZA veya PARAF En çok kullanılan HTTP istek çeşitleri GET ve POST’dur. Tarayıcıya herhangi bir web adresi girildiğinde aslında GET isteği kullanılarak sunucuya istek atılmış olur.

GET bilgiyi URL içinde sorgu stringi olarak gönderir.

Ör : http://www.google.com/search?q=tubitak

Kalın yazıyla gösterilen kısım URL’in son kısmına eklenir ve yapılan sorgu sunucuya istek olarak iletilir. q, değişken adı ve tubitak ise değerdir. Çoğu tarayıcı belirlenen maksimum karakter

sayısından fazla sorgu stringi kabul etmemektedir. Bunun için sunucuya istek atmanın bir diğer yolu da POST isteğini kullanmaktır. POST, URL’in değil HTTP mesajının bir parçası olarak sunucuya istek olarak gönderilir.

Şekil 14. JSF Multitier Uygulama Mimarisi

JavaServer Faces’de JavaBeans olarak oluşturulan sınıflar, JavaServer Faces sayfaları için gerekli fonksiyonların sağlanması için kullanılır. JSF sayfalarının herhangi bir sayfayı kalıtmasına gerek yoktur. Onun yerine oluşturduğumuz sınıflara fonksiyonellik eklemek için annotationlar kullanılır.

Top Tier kullanıcı bilgisayarındaki kullanıcı arayüz kısmıdır.

Middle Tier, uygulamanın mantık kısmıdır. Gelen isteğe göre ne yapılacağını belirler.

Bottom Tier, uygulama verilerini içerir.

JDBC

Tarayıcı

Sunucu

Veritabanı

(20)

İMZA veya PARAF Ajax(Asynchronous Javascript and XML), web tabanlı teknolojilerini kullanarak daha hızlı web uygulamaları geliştirmek için kullanılır. Buradaki asıl olay tüm web sayfasının istek olarak gönderilip, cevap olarak tekrar tüm web sayfasının alınmasından ziyade sayfadaki sadece belli kısımların istek olarak gönderilip cevap alınmasıdır. Böylelikle web uygulaması daha dinamik bir hal alacaktır. Ajax’ın asıl amacı kullanıcı tarafındaki işlemler ile sunucu tarafında yapılan işlemlerin paralel bir şekilde yürütülmesidir. Bunun yararı ise tıpkı bir masaüstü uygulaması gibi hızlı ve dinamik bir kullanım sağlamasıdır.

Şekil 15. Ajax Çalışma Mantığı

Tüm belirtilen teknolojiler kullanılarak web uygulaması geliştirilmiş ve ekran görüntüleri aşağıda verilmiştir.

(21)

İMZA veya PARAF Şekil 16. Anasayfa

Şekil 17. Verilerin de Gösterildiği Harita Sayfası

(22)

İMZA veya PARAF Şekil 18. Kullanıcı Giriş Sayfası

Şekil 19. Kullanıcıların İstek Olarak Proje Ekleyebildiği Sayfa

(23)

İMZA veya PARAF Şekil 20. Kullanıcıların İstek Olarak Excel Dosyasından Proje Ekleyebildiği Sayfa

Şekil 21. Yönetici Giriş Sayfası

(24)

İMZA veya PARAF Şekil 22. Yönetici İstek Onaylama, Düzenleme ve Silme Sayfası

Şekil 23. Yönetici Projeleri Düzenleme Sayfası

(25)

İMZA veya PARAF 3.8 InvenioRDM Platformunun Linux Tabanlı İşletim Sistemi Olan Ubuntu’ya Kurulumu Tübitak ULAKBİM’in sağladığı geliştirme sunucusu aracılığıyla açık kaynaklı veri platformu olan InvenioRDM sadece MacOS veya Linux tabanlı işletim sistemlerine kurulabilmektedir.

InvenioRDM daha sonra üzerinde düzenlemeler yapılarak projelerin yayınlandığı bir web sitesi olarak kalacaktır.

İlk olarak Oracle VM VirtualBox indirildikten sonra kurulumu yapılır. Ubuntu’nun ISO dosyası da indirilir ve kurulumu yapılır. Kendi bilgisayarımızda ne kadar yer tutması gerektiği seçildikten sonra kurulum tamamlanır. Ayrıca kurulan sanal makine için ne kadar bellek kullanılacağı, görüntü belleği gibi kısımlar belirlenir ve başlat dedikten sonra yeni bir pencerede işletim sisteminin açıldığı görülebilir.

Şekil 24. Sanal Makinede Ubuntu İşletim Sistemi

(26)

İMZA veya PARAF Şekil 25. Sanal Makinede Ubuntu İşletim Sistemi

InvenioRDM’in dokümantasyonuna göre kurduğumuz işletim sistemine python, invenio-cli, Docker, Docker-Compose, Node.js, npm kurulmalıdır.

InvenioRDM, yerel kurulumu yönetmek ve onunla çalışmak için kullanılan Invenio-CLI adlı bir yönetim aracıyla birlikte gelir.

Docker, uygulamaların hızla derlenmesine, test edilmesine ve dağıtılmasına imkan tanıyan bir yazılım platformudur. Docker yazılımları kitaplıklar, sistem araçları, kod ve çalışma zamanı dahil olmak üzere yazılımların çalışması için gerekli her şeyi içeren container adlı standartklaştırılmış birimler halinde paketler.

(27)

İMZA veya PARAF Şekil 26. Sanal Makinede InvenioRDM’in LocalHost’da Çalıştırılması

Şekil 26. Sanal Makinede InvenioRDM’in LocalHost’da Çalıştırılması

(28)

İMZA veya PARAF 4 SONUÇ

Staj boyunca staj danışmanım tarafından verilen projeyi başarıyla tamamladım. Araştırma Geliştirme projesi olduğundan dolayı projeyi geliştirmeden önce kullanılmayan teknolojiler ve coğrafi bilgi sistemleri hakkında bilgi sahibi oldum. Daha sonrasından hem yazılımsal konularda hem de donanımsal konularda geliştirme aşamasına geçtim. Projede benden istenen her şeyi başarıyla tamamladım. Proje içinde süre kısıtından dolayı kendi istediğim birkaç modülü ekleyemedim. En son olarak InvenioRDM platformu da kurulduktan sonra, yapılan proje ile birlikte kullanılabilirliği denetlenmiş. Arka tarafta Python kodları çalıştıran InvenioRDM platformunun sadece HTML, CSS, JS tarafındaki kodları ve PostgreSQL tarafındaki sorguları çalıştırılabileceği öğrenilmiştir. Eğer proje InvenioRDM platformunda çalışması isteniyorsa Java tarafında yazılan kodlara denk gelen kodlar Python tarafında da yazılarak proje çalışabilir hale gelebilir. Her haftada bir gün projede son gelinen nokta staj danışmanına sunulmuştur. Proje yürütülmekte olan bir tez olduğu için ileride kullanılması planlanmaktadır.

(29)

İMZA veya PARAF KAYNAKLAR

1. Şenel, M., Yavaşoğlu, H. Hakan, Antarktika Çalışmaları için Ulusal Veri tabanı Kurulması ve WebGIS Ortamına Aktarılması

2. Çevre ve Şehircilik Bakanlığı Coğrafi Bilgi Sistemleri Genel Müdürlüğü TUCBS Entegrasyon Projesi, GeoServer ile Web Servis Yayımlama

3. Çankur R., An Empırıcal Study: Parallel Experıments On Postgresql

4. United States. Soil Conservation Service, GRASS, geographic information system, 1992 5. Ft. Collins, Colo., USA : GIS World, Profiting from a geographic information system, 1993 6. Getting Started With PostGIS: An almost Idiot's Guide (PostGIS 2.2)

7. Loading OpenStreetMap data into PostGIS: An Almost Idiot's Guide 8. https://docs.qgis.org/2.14/en/docs/training_manual/

9. http://postgis.net/docs/manual-dev 10. https://www.javatpoint.com/

11. https://tr.wikipedia.org/wiki/Ortofoto_harita 12. https://tr.wikipedia.org/wiki/Coğrafi_bilgi_sistemi

13. https://cbsakademi.ibb.istanbul/harita-web-servisleri-nedir/

Referanslar

Benzer Belgeler

PostgreSQL Conference Europe 2013 Useful PostgreSQL Extensions 3.. En

The benchmarking query that we have run comprises Select, Insert and Update operations therefore we have determined time consuming functions regarding these

Araçlar Aras› ‹letiflim Sistemi Alman Havac›l›k ve Uzay Merkezi (DLR) araçlar aras› iletiflimi sa¤layacak yeni, gezici bir iletiflim a¤› gelifltirdi.. Bu sisteme,

Şirket aşağıda yer alan hallerde başvuruda bulunan kişinin başvurusunu, gerekçesini açıklayarak reddedebilir:.. 1) Kişisel verilerin resmi istatistik ile anonim

Değişen gereksinimler doğrultusunda, bundan önce de olduğu gibi, gelecekte farklı veri saklama yaklaşımları geliştirilecek ve bu yaklaşımların

Bir dosyanın tüm parçaları birer extents olarak adlandırılır E er disk üzerinde yeterince yanyana bo alan varsa dosya tek bir extent olarak olu turulur Dosya yöneticisi yeni

Şöyle biraz tarih bilen ve dünya harbini takip etmiş olan her katolik Fransız, yoğurdun beyazlığında katolik Ermeninin ırk ve seciye beyazlığını, yoğurdun

Indeed, his views are unique in the sense that they are the representation of a foreigner, a Chinese intellectual, who believed in reforming his native society through a model