Arayüz ve API kodunuzu Spyne ile Birleştirin

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Arayüz ve API kodunuzu Spyne ile Birleştirin"

Transkript

1 Arayüz ve API kodunuzu Spyne ile Birleştirin Burak Arslan Özgür Web Teknolojileri Günleri 19 Ekim 2012 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

2 Konumuz Spyne ı Kullanmak Hello World Çoklu Protokol Doğrulama SQLAlchemy entegrasyonu İkincil Fonksiyonlar Katkıda bulunmak Protokol yazmak Taşıyıcı yazmak İkincil işleyici yazmak XML Ekosisteminden neler öğrenebiliriz? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

3 Spyne Nedir? Spyne, birden fazla protokol ve/veya taşıyıcı kullanarak online hizmet sunmanızı kolaylaştırır. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

4 Spyne Nedir? Aynı zamanda uygulamanızın iyi tanımlanmış bir online API sunmasına yardımcı olur. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

5 Nereden esti? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

6 Nereden Esti? Eskiden; Sadece tarayıcı sandbox ına HTML/CSS/JS üretmek yeterliydi. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

7 Nereden Esti? Eskiden; Sadece tarayıcı sandbox ına HTML/CSS/JS üretmek yeterliydi. İstemci çok beceriksiz olduğu için grafik arayüz çizimi de sunucuda yapılıyordu. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

8 Nereden Esti? Artık; Tarayıcı dışındaki uygulama sandbox larına ve sunulan hizmeti kullanan başka uygulamalara da veri üretiliyor. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

9 Nereden Esti? Artık; Tarayıcı dışındaki uygulama sandbox larına ve sunulan hizmeti kullanan başka uygulamalara da veri üretiliyor. İstemciler çok daha becerikli, o yüzden sunucunun üzerindeki bütün çizim yükü istemciye yüklenebiliyor. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

10 Nasıl başladı? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

11 Nasıl başladı? Önce protokol araştırmasına giriştim: XML / SOAP / WSDL XML / XML-RPC JSON / JSON-RPC Corba Pickle REST / HTTP Vb c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

12 Neden SOAP? XML ve XML Schema standartlarına dayanıyor. XML Schema standardında: Teorik temelleri olan veri yapıları kadar (örn. 8/16/32/64 bit tamsayı tipleri) pratikte işe yarayan veri yapıları (örn. tarih/saat) da tanımlanmış. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

13 Neden SOAP? XML ve XML Schema standartlarına dayanıyor. XML Schema standardında: Teorik temelleri olan veri yapıları kadar (örn. 8/16/32/64 bit tamsayı tipleri) pratikte işe yarayan veri yapıları (örn. tarih/saat) da tanımlanmış. XML Standardının ise; Neredeyse her platformda desteği var. Doğrulayıcısı var (lxml). Sorgulama dili var (XPath). Gizlilik (confidentiality) ve bütünlük (integrity) desteği var (PyXMLSec). c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

14 Neden SOAP? Soap, XML Schema standardına RPC, yönlendirme (routing) ve binary veri için iyileştirmeler (ve bir sürü başka özellik) ekliyor. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

15 Dezavantajları? Yavaş! Dokümanı hem işlemek yavaş hem de boyutu fazla. Soap standardının muğlak bıraktığı (dolayısıyla da uyumluluk sorunları çıkartan) bir çok nokta var. Soap kötü ününün bir kısmını da bu belgeye borçludur. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

16 Tamam, SOAP kullanmaya karar verdik... c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

17 Ama önce biraz terminoloji... c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

18 Terminoloji Taşıyıcı (Transport) Protokol Kullanıcı Kodu (User Code) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

19 TCP, UDP, vb. Taşıyıcı Protokol Application Dekoratörü Kullanıcı Kodu c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

20 Soaplib Rpclib Spyne 2009 Soaplib 0.8.1: 5000 İndirme Kasım : 3000 İndirme Mart beta: 7000 İndirme Mart beta: 2000 İndirme youtube.com/watch?v=n4zdwlusbv0#t=21m58 g Explore GitHub Features Blog Sign in Eylül rc: 500 İndirme 29 Ekim : 2 senedir çıkan ilk kararlı sürüm! Star 125 Fork 71 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim Issues 20 Graphs

21 Soaplib Rpclib Spyne : 5000 İndirme Kasım 2010 Soaplib 1.0.0: 3000 İndirme Mart beta: 7000 İndirme Mart beta: 2000 İndirme youtube.com/watch?v=n4zdwlusbv0#t=21m58 g Explore GitHub Features Blog Sign in Eylül rc: 500 İndirme 29 Ekim : 2 senedir çıkan ilk kararlı sürüm! Star 125 Fork 71 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim Issues 20 Graphs

22 Soaplib Rpclib Spyne : 5000 İndirme Kasım : 3000 İndirme Mart 2011 Soaplib beta: 7000 İndirme Mart beta: 2000 İndirme youtube.com/watch?v=n4zdwlusbv0#t=21m58 g Explore GitHub Features Blog Sign in Eylül rc: 500 İndirme 29 Ekim : 2 senedir çıkan ilk kararlı sürüm! Star 125 Fork 71 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim Issues 20 Graphs

23 Soaplib Rpclib Spyne : 5000 İndirme Kasım : 3000 İndirme Mart beta: 7000 İndirme Mart 2012 Rpclib beta: 2000 İndirme youtube.com/watch?v=n4zdwlusbv0#t=21m58 g Explore GitHub Features Blog Sign in Eylül rc: 500 İndirme 29 Ekim : 2 senedir çıkan ilk kararlı sürüm! Star 125 Fork 71 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim Issues 20 Graphs

24 Soaplib Rpclib Spyne : 5000 İndirme Kasım : 3000 İndirme Mart beta: 7000 İndirme Mart beta: 2000 İndirme youtube.com/watch?v=n4zdwlusbv0#t=21m58 g Explore GitHub Features Blog Sign in Eylül 2012 Spyne rc: 500 İndirme 29 Ekim : 2 senedir çıkan ilk kararlı sürüm! Star 125 Fork 71 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim Issues 20 Graphs

25 Soaplib Rpclib Spyne : 5000 İndirme Kasım : 3000 İndirme Mart beta: 7000 İndirme Mart beta: 2000 İndirme youtube.com/watch?v=n4zdwlusbv0#t=21m58 g Explore GitHub Features Blog Sign in Eylül rc: 500 İndirme 29 Ekim 2012 Spyne 2.9.0: 2 senedir çıkan ilk kararlı sürüm! Star 125 Fork 71 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim Issues 20 Graphs

26 Şu an desteklenen Protokoller XML: SOAP 1.1 / XmlObject Json: JsonObject MsgPack: MessagePackObject, MessagePackRpc Html: HtmlMicroFormat(Ç), HtmlColumnTable(Ç), HtmlRowTable(Ç) Http: HttpRpc(G) Csv: Csv(Ç) baştan yazmak gerekli (G): Sadece giriş protokolü (Ç): Sadece çıkış protokolü c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

27 Şu an desteklenen Taşıyıcılar Http Client: urllib2, Twisted Http Server: WSGI, Twisted, Django, Pyramid Null Server: Test amaçlı çağrı arayüzü. ZeroMQ: REQ/REP Soket tipi. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

28 Buraya kadar sorusu olan? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

29 Tamam, biraz da kod görelim... c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

30 Aşağıdaki basit fonksiyona bakalım: from d a t e t i m e import d a t e t i m e d e f g e t u t c t i m e ( ) : r e t u r n d a t e t i m e. utcnow ( ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

31 Şimdi bu fonksiyonu uzaktan çağrılabilir yapmak için; c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

32 Şimdi bu fonksiyonu uzaktan çağrılabilir yapmak için; dekoratörü ile fonksiyonun girdi ve çıktı tiplerini belirliyoruz. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

33 d e f g e t u t c t i m e ( ) : r e t u r n d a t e t i m e. utcnow ( ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

34 from spyne. model. p r i m i t i v e import DateTime from spyne. d e c o r a t o r import s r p c d e f g e t u t c t i m e ( ) : r e t u r n d a t e t i m e. utcnow ( ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

35 from spyne. model. p r i m i t i v e import DateTime from spyne. d e c o r a t o r import s r p ( r e t u r n s=datetime ) d e f g e t u t c t i m e ( ) : r e t u r n d a t e t i m e. utcnow ( ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

36 2) Bir ServiceBase altsınıfına koyuyoruz. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

37 from spyne. model. p r i m i t i v e import DateTime from spyne. d e c o r a t o r import s r p ( r e t u r n s=datetime ) d e f g e t u t c t i m e ( ) : r e t u r n d a t e t i m e. utcnow ( ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

38 from spyne. model. p r i m i t i v e import DateTime from spyne. d e c o r a t o r import s r p c from spyne. s e r v i c e import S e r v i c e B a s e c l a s s DateTimeService ( S e r v i c e B a s e ) ( r e t u r n s=datetime ) d e f g e t u t c t i m e ( ) : r e t u r n d a t e t i m e. utcnow ( ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

39 3) Daha sonra, bu hizmet tanımını kullanarak bir Application sınıfı oluşturuyoruz c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

40 [ DateTimeService ], c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

41 from spyne. a p p l i c a t i o n import A p p l i c a t i o n from spyne. p r o t o c o l. h t t p import HttpRpc h t t p r p c = A p p l i c a t i o n ( [ DateTimeService ], c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

42 from spyne. a p p l i c a t i o n import A p p l i c a t i o n from spyne. p r o t o c o l. h t t p import HttpRpc h t t p r p c = A p p l i c a t i o n ( [ DateTimeService ], t n s= spyne.examples.multiprot, c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

43 from spyne. a p p l i c a t i o n import A p p l i c a t i o n from spyne. p r o t o c o l. h t t p import HttpRpc h t t p r p c = A p p l i c a t i o n ( [ DateTimeService ], t n s= spyne.examples.multiprot, i n p r o t o c o l=httprpc ( ), o u t p r o t o c o l=httprpc ( ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

44 4) Son olarak, uygulamayı bir taşıyıcı ya bağlıyoruz. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

45 from spyne. s e r v e r. wsgi import W s g i A p p l i c a t i o n a p p l i c a t i o n = W s g i A p p l i c a t i o n ( h t t p r p c ) Buradaki application nesnesi herhangi bir WSGI uyumlu HTTP sunucusuna verebileceğimiz standart bir WSGI uygulaması oldu. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

46 from spyne. s e r v e r. wsgi import W s g i A p p l i c a t i o n a p p l i c a t i o n = W s g i A p p l i c a t i o n ( h t t p r p c ) Buradaki application nesnesi herhangi bir WSGI uyumlu HTTP sunucusuna verebileceğimiz standart bir WSGI uygulaması oldu. $ c u r l h t t p : / / l o c a l h o s t :9910/ g e t u t c t i m e T17 : 3 8 : c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

47 Peki, ya biz bu fonksiyonu başka bir protokol kullanarak sunmak istersek? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

48 Misal: SOAP from spyne. a p p l i c a t i o n import A p p l i c a t i o n from spyne. p r o t o c o l. h t t p import HttpRpc from spyne. p r o t o c o l. soap import Soap11 soap = A p p l i c a t i o n ( [ DateTimeService ], t n s= spyne.examples.multiprot, i n p r o t o c o l=httprpc ( ), o u t p r o t o c o l=soap11 ( ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

49 Misal: SOAP $ c u r l h t t p : / / l o c a l h o s t :9910/ g e t u t c t i m e \ t i d y xml i n d e n t <? xml v e r s i o n= 1.0 e n c o d i n g= utf -8?> <s e n v : E n v e l o p e x m l n s :wsa=" http: // schemas. xmlsoap.org /ws /2003/03/ addressing " x m l n s : t n s=" spyne. examples. multiple_protocols " x m l n s : p l i n k=" http: // schemas. xmlsoap. org /ws /2003/05/ partner - link /" x m l n s : x o p=" http: // /2004/08/ xop / include " x m l n s : s e n c=" http: // schemas. xmlsoap.org /soap / encoding /" x m l n s : s 1 2 e n v=" http: // /2003/05/ soap - envelope /" x m l n s : s 1 2 e n c=" http: // /2003/05/ soap - encoding /" x m l n s : x s=" http: // /2001/ XMLSchema " x m l n s : w s d l=" http: // schemas. xmlsoap.org /wsdl /" x m l n s : x s i=" http: // /2001/ XMLSchema - instance " x m l n s : s e n v=" http: // schemas. xmlsoap.org /soap / envelope /" x m l n s : s o a p=" http: // schemas. xmlsoap.org /wsdl /soap /"> <senv:body> <t n s : g e t u t c t i m e R e s p o n s e> <t n s : g e t u t c t i m e R e s u l t> T17:43: </ t n s : g e t u t c t i m e R e s u l t> </ t n s : g e t u t c t i m e R e s p o n s e> </ senv:body> </ s e n v : E n v e l o p e> c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

50 Veya, düz XML: from spyne. a p p l i c a t i o n import A p p l i c a t i o n from spyne. p r o t o c o l. h t t p import HttpRpc from spyne. p r o t o c o l. xml import XmlObject xml = A p p l i c a t i o n ( [ DateTimeService ], t n s= spyne.examples.multiprot, i n p r o t o c o l=httprpc ( ), o u t p r o t o c o l=xmlobject ( ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

51 Veya, düz XML: $ c u r l h t t p : / / l o c a l h o s t :9910/ g e t u t c t i m e \ t i d y xml i n d e n t <? xml v e r s i o n= 1.0 e ncoding= utf -8?> <n s 0 : g e t u t c t i m e R e s p o n s e x m l n s : n s 0="spyne.examples.multiple_protocols"> <n s 0 : g e t u t c t i m e R e s u l t> T17:49: </ n s 0 : g e t u t c t i m e R e s u l t> </ n s 0 : g e t u t c t i m e R e s p o n s e> c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

52 Veya, HTML: from spyne. a p p l i c a t i o n import A p p l i c a t i o n from spyne. p r o t o c o l. h t t p import HttpRpc from spyne. p r o t o c o l. xml import HtmlMicroFormat html = A p p l i c a t i o n ( [ DateTimeService ], t n s= spyne.examples.multiprot, i n p r o t o c o l=httprpc ( ), o u t p r o t o c o l=htmlmicroformat ( ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

53 Veya, HTML: $ c u r l h t t p : / / l o c a l h o s t :9910/ g e t u t c t i m e \ t i d y xml i n d e n t <d i v c l a s s="get_utc_timeresponse"> <d i v c l a s s="get_utc_timeresult"> T17 : 5 2 : </ d i v> </ d i v> c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

54 vesaire... c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

55 Buraya kadar sorusu olan? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

56 Giriş verisini deklaratif kısıtlarla sınırlamak da çok basit. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

57 Yani, bunu yapacağınıza: d e f get name of month ( month ) : A l d i g i 1 12 a r a s i n d a k i t a m s a y i y i ay i s m i n e d o n u s t u r u r. # g e l e n v e r i i n t o l m a y a b i l i r v a l u e = i n t ( month ) # g e l e n v e r i y u k a r i d a k i k i s i t l a r a u y m a y a b i l i r i f not (1 <= v a l u e <= 1 2 ) : r a i s e V a l u e E r r o r ( v a l u e ) r e t u r n d a t e t i m e (2000, month, 1 ). s t r f t i m e ( "%B" ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

58 Bu kadarı yeterli: c l a s s NameOfMonthService ( S e r v i c e B a s e ) ( Integer ( ge=1, l e =12), r e t u r n s=unicode ) d e f get name of month ( month ) : r e t u r n d a t e t i m e (2000, month, 1 ). s t r f t i m e ( "%B" ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

59 Doğrulama özelliğini açmayı da unutmazsak; from spyne. a p p l i c a t i o n import A p p l i c a t i o n from spyne. p r o t o c o l. h t t p import HttpRpc r e s t = A p p l i c a t i o n ( [ NameOfMonthService ], t n s= spyne.examples.multiprot, i n p r o t o c o l=httprpc ( v a l i d a t o r= soft ), o u t p r o t o c o l=httprpc ( ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

60 $ c u r l l o c a l h o s t :9912/ get name of month?month=3 March c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

61 $ c u r l l o c a l h o s t :9912/ get name of month?month=3 March $ c u r l D l o c a l h o s t :9912/ get name of month?month=13 HTTP/ Bad Request Date : Sat, 10 Mar : 2 1 : 3 6 GMT S e r v e r : WSGIServer /0.1 Python / Content Length : 63 Content Type : t e x t / p l a i n C l i e n t. V a l i d a t i o n E r r o r The s t r i n g 13 c o u l d not be v a l i d a t e d c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

62 Buraya kadar sorusu olan? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

63 Veritabanı ile çalışmak Python ve ilişkisel veritabanlarını birarada kullanacaksanız, SQLAlchemy kullanın! (Gerçekten, Spyne kullanıp kullanmamanızın bu ( ) sözle pek alakası yok.) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

64 Spyne & SQLAlchemy 1) Kendi veritabanı nesnenizi oluşturmanız lazım. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

65 Spyne & SQLAlchemy from spyne. model. complex import TTableModel MyTableModel = TTableModel ( ) veya hazır metadatanız varsa; MyTableModel = TTableModel ( metadata ) veya hazır sınıfınız varsa; MyTableModel. A t t r i b u t e s. s q l a m e t a d a t a = \ metadata c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

66 Spyne & SQLAlchemy 2) Bu nesneyi kullanarak tablolarınızı oluşturmanız lazım c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

67 Spyne & SQLAlchemy c l a s s User ( MyTableModel ) : t a b l e n a m e = "ornek_user" i d = I n t e g e r 6 4 ( p r i m a r y k e y=true ) i s i m = Unicode (64) soyad = Unicode (64) Burada; # SQAlchemy Tablo N e s n e s i User. A t t r i b u t e s. s q l a t a b l e # SQAlchemy Mapper N e s n e s i User. A t t r i b u t e s. s q l a m a p p e r c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

68 Spyne & SQLAlchemy Yani tabloyu yaratmak için: metadata. c r e a t e a l l ( ) veya MyTableModel. A t t r i b u t e s. s q l a m e t a d a t a. c r e a t e a l l ( ) veya User. A t t r i b u t e s. s q l a t a b l e. c r e a t e ( ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

69 Spyne & SQLAlchemy 3) Artık bu nesneyi kullanan hizmetler yazabilirsiniz. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

70 Spyne ın SQLAlchemy Eklentileri Spyne ın karmaşık tanımlarını da veritabanına kolayca yazabilirsiniz c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

71 Spyne ın SQLAlchemy Eklentileri Şu iki nesne tanımına bakalım: c l a s s Perm ( MyTableModel ) : t a b l e n a m e = ornek_user_perm i d = I n t e g e r 3 2 ( p r i m a r y k e y=true ) app = Unicode (256) op = Unicode (256) c l a s s User ( MyTableModel ) : t a b l e n a m e = "ornek_user" i d = I n t e g e r 6 4 ( p r i m a r y k e y=true ) name = Unicode (128) perms = Array ( Perm ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

72 Buradaki Array yapısını tek bir kolondaki bir XML dokümanı olarak tutmak istersek: from spyne. model. complex import xml c l a s s User ( MyTableModel ) : t a b l e n a m e = "ornek_user" i d = I n t e g e r 6 4 ( p r i m a r y k e y=true ) name = Unicode (128) perms = Array ( Perm ). s t o r e a s ( xml ( no ns=true, r o o t t a g="p" ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

73 s e s s i o n. add ( User ( name="plq", perms =[Perm ( op= x, app= y ] ) ) INSERT INTO o r n e k u s e r ( name, perms ) VALUES ( plq, <p><perm ><op>x</op><app >y</app ></Perm > ) ; c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

74 Spyne ın SQLAlchemy Eklentileri Kendi tablosunda tutmak da isteyebiliriz: from spyne. model. complex import table c l a s s User ( MyTableModel ) : t a b l e n a m e = "ornek_user" i d = I n t e g e r 6 4 ( p r i m a r y k e y=true ) name = Unicode (128) perms = Array ( Perm ). s t o r e a s ( table ( ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

75 s e s s i o n. add ( User ( name="plq", perms =[Perm ( op= x, app= y ] ) ) INSERT INTO o r n e k u s e r ( name, perms ) VALUES ( plq ) ; INSERT INTO ornek perm ( op, app, o r n e k u s e r i d ) VALUES ( x, y, c u r r v a l ( ornek_user_id_seq ) ) ; c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

76 Servis örneği c l a s s UserManagerService ( S e r v i c e B a s e ) ( User, r e t u r n s=i n t e g e r ) d e f a d d u s e r ( ctx, u s e r ) : c t x. udc. s e s s i o n. add ( u s e r ) c t x. udc. s e s s i o n. f l u s h ( ) r e t u r n u s e r. u s e r i d c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

77 Servis örneği Bu servisin kabul edeceği JSON dokümanı örneği: { User : { isim : Burak, soyad : Arslan, perms : [ { app : y, op : x }, { app : B, op : A } ], }} c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

78 Buraya kadar sorusu olan? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

79 İkincil Fonksiyonlar Spyne bağlamında; Bir çağrının cevabı istemciye döndürüldükten sonra çalıştırılan fonksiyonlara Auxiliary Method diyoruz. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

80 Servis örneğini hatırlayalım c l a s s UserManagerService ( S e r v i c e B a s e ) ( User, r e t u r n s=i n t e g e r ) d e f a d d u s e r ( ctx, u s e r ) : c t x. udc. s e s s i o n. add ( u s e r ) c t x. udc. s e s s i o n. f l u s h ( ) r e t u r n u s e r. u s e r i d c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

81 İkincil fonksiyon örneği from spyne. auxproc. t h r e a d import ThreadAuxProc c l a s s UserManagerAuxService ( S e r v i c e B a s e ) : auxproc = ThreadAuxProc ( ( User, r e t u r n s=i n t e g e r ) d e f a d d u s e r ( ctx, u s e r ) : m a i l g o n d e r ( "Patron! Bir kullanicimiz " "daha oldu!" ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

82 İkincil fonksiyonun kullanılması İkincil fonksiyon, birincil fonksiyon sorunsuz dönüş yaptıktan sonra arka planda çağrılır. A p p l i c a t i o n ( [ UserManagerService, UserManagerAuxService, ], t n s= spyne.examples.multiprot, i n p r o t o c o l=httprpc ( ), o u t p r o t o c o l=soap11 ( ), ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

83 İkincil fonksiyonlar ile ilgili son sözler Bir fonksiyon aksi belirtilmedikçe birincildir. Tam bir tane birincil fonksiyon ve sıfır veya daha fazla ikincil fonksiyon olabilir. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

84 Buraya kadar sorusu olan? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

85 Spyne ı kullanmayı az çok öğrendik. Peki Spyne a nasıl katkıda bulunabiliriz? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

86 Spyne a Nasıl Katkıda Bulunabilirsiniz? 1. Protokol yazarak 2. Taşıyıcı yazarak 3. İkincil işleyici yazarak 4. Belge / Tutorial yazarak, tercüme yaparak. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

87 Spyne ile kendi protokollerinizi yazmak da çok kolay. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

88 Spyne ile kendi protokollerinizi yazmak da çok kolay. kesin öyledir c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

89 Örneğin, baştaki tarih ve saat örneğinde dönüş verisini akrep ve yelkovanı olan bir saat üzerinde göstermeye çalışalım. (fazla detaya girmeden tabii ki) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

90 Bunun için ProtocolBase alt sınıfında serialize ve create out string fonksiyonlarını yazmamız lazım. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

91 from l x m l import e t r e e from spyne. p r o t o c o l import P r o t o c o l B a s e c l a s s SvgClock ( P r o t o c o l B a s e ) : mime type = image/ svg+xml c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

92 from l x m l import e t r e e from spyne. p r o t o c o l import P r o t o c o l B a s e c l a s s SvgClock ( P r o t o c o l B a s e ) : mime type = image/ svg+xml d e f s e r i a l i z e ( s e l f, ctx, message ) : d e f c r e a t e o u t s t r i n g ( s e l f, ctx, c h a r s e t=none ) : c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

93 from l x m l import e t r e e from spyne. p r o t o c o l import P r o t o c o l B a s e c l a s s SvgClock ( P r o t o c o l B a s e ) : mime type = image/ svg+xml d e f s e r i a l i z e ( s e l f, ctx, message ) : d = c t x. o u t o b j e c t [ 0 ] # f o n k s i y o n d a n donen # d a t e t i m e n e s n e s i d e f c r e a t e o u t s t r i n g ( s e l f, ctx, c h a r s e t=none ) : c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

94 from l x m l import e t r e e from spyne. p r o t o c o l import P r o t o c o l B a s e c l a s s SvgClock ( P r o t o c o l B a s e ) : mime type = image/ svg+xml d e f s e r i a l i z e ( s e l f, ctx, message ) : d = c t x. o u t o b j e c t [ 0 ] # f o n k s i y o n d a n donen # d a t e t i m e n e s n e s i # ( detaya g i r m i y o r u z d e m i s t i k ) d e f c r e a t e o u t s t r i n g ( s e l f, ctx, c h a r s e t=none ) : c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

95 from l x m l import e t r e e from spyne. p r o t o c o l import P r o t o c o l B a s e c l a s s SvgClock ( P r o t o c o l B a s e ) : mime type = image/ svg+xml d e f s e r i a l i z e ( s e l f, ctx, message ) : d = c t x. o u t o b j e c t [ 0 ] # f o n k s i y o n d a n donen # d a t e t i m e n e s n e s i # ( detaya g i r m i y o r u z d e m i s t i k ) # c l o c k l x m l i n Element n e s n e s i o l a r a k t u t u l a n # b i r svg d o s y a s i c t x. out document = c l o c k d e f c r e a t e o u t s t r i n g ( s e l f, ctx, c h a r s e t=none ) : c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

96 from l x m l import e t r e e from spyne. p r o t o c o l import P r o t o c o l B a s e c l a s s SvgClock ( P r o t o c o l B a s e ) : mime type = image/ svg+xml d e f s e r i a l i z e ( s e l f, ctx, message ) : d = c t x. o u t o b j e c t [ 0 ] # f o n k s i y o n d a n donen # d a t e t i m e n e s n e s i # ( detaya g i r m i y o r u z d e m i s t i k ) # c l o c k l x m l i n Element n e s n e s i o l a r a k t u t u l a n # b i r svg d o s y a s i c t x. out document = c l o c k d e f c r e a t e o u t s t r i n g ( s e l f, ctx, c h a r s e t=none ) : c t x. o u t s t r i n g = [ e t r e e. t o s t r i n g ( c t x. out document ) ] c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

97 Bize özgü SVG protokolü: svg = A p p l i c a t i o n ( [ DateTimeService ], t n s= spyne.examples.multiprot, i n p r o t o c o l=httprpc ( ), o u t p r o t o c o l=svgclock ( ) ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

98 Bize özgü SVG protokolü: $ c u r l h t t p : / / l o c a l h o s t :9910/ g e t u t c t i m e \ > u t c t i m e. svg c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

99 Buraya kadar sorusu olan? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

100 Spyne da 10 çeşit taşıyıcı var: 1. İstemciler 10. Sunucular c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

101 İstemci taşıyıcısı Aşağıdaki gibi bir modül yazılması gerekli: c l a s s RemoteProcedure ( RemoteProcedureBase ) : d e f c a l l ( s e l f, args, kwargs ) : s e l f. c t x = s e l f. c o n t e x t s [ 0 ] s e l f. g e t o u t o b j e c t ( s e l f. ctx, args, kwargs ) s e l f. g e t o u t s t r i n g ( s e l f. c t x ) o u t s t r i n g =. j o i n ( s e l f. c t x. o u t s t r i n g ) # v e r i y i gonder # c e v a b i a l s e l f. c t x. i n s t r i n g = i n s t r i n g s e l f. g e t i n o b j e c t ( s e l f. c t x ) i f not ( s e l f. c t x. i n e r r o r i s None ) : r a i s e s e l f. c t x. i n e r r o r e l s e : r e t u r n s e l f. c t x. i n o b j e c t c l a s s BenimSuperIstemcim ( C l i e n t B a s e ) : d e f i n i t ( s e l f, u r l, app ) : C l i e n t B a s e. i n i t ( s e l f, u r l, app ) s e l f. s e r v i c e = S e r v i c e ( RemoteProcedure, u r l, app ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

102 İstemci taşıyıcısı bunu okumanız gerekmiyordu İstemci taşıyıcısı yazmak sunucu taşıyıcı yazmak ile kıyaslandığında çok daha basittir. Kaynak kod deposundaki örnekleri incelemek çok daha faydalı olur. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

103 Sunucu taşıyıcısı Sunucu taşıyıcıları için belirlenmiş bir api yok. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

104 Sunucu taşıyıcısı Sunucu taşıyıcıları için belirlenmiş bir api yok. Konu biraz karmaşık. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

105 Sunucu taşıyıcısı Yaptığı iş temelde şöyle: Giriş protokolüne istek bytestream ini gönderip istek nesnesini al. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

106 Sunucu taşıyıcısı Yaptığı iş temelde şöyle: Giriş protokolüne istek bytestream ini gönderip istek nesnesini al. Kullanıcı fonksiyonunu çalıştırıp dönen nesneyi al. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

107 Sunucu taşıyıcısı Yaptığı iş temelde şöyle: Giriş protokolüne istek bytestream ini gönderip istek nesnesini al. Kullanıcı fonksiyonunu çalıştırıp dönen nesneyi al. Bu nesneden çıkış protokolüne bytestream ürettirip bunu istemciye gönder. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

108 Sunucu taşıyıcısı Bu işi yapan bir taşıyıcı yazarken: (Eğer varsa) Sonsuz döngü çağrısının adının serve forever() olmasına, c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

109 Sunucu taşıyıcısı Bu işi yapan bir taşıyıcı yazarken: (Eğer varsa) Sonsuz döngü çağrısının adının serve forever() olmasına, Bütün concurrency yönetiminin burada yapılmasına, (Spyne kodunun geri kalanı reentrant olsa yeter.) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

110 Sunucu taşıyıcısı Bu işi yapan bir taşıyıcı yazarken: (Eğer varsa) Sonsuz döngü çağrısının adının serve forever() olmasına, Bütün concurrency yönetiminin burada yapılmasına, (Spyne kodunun geri kalanı reentrant olsa yeter.) Hangi isteğin arayüz dokümanı için, hangisinin RPC için olduğuna karar verilen kısmı unutmamaya c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

111 Sunucu taşıyıcısı Bu işi yapan bir taşıyıcı yazarken: (Eğer varsa) Sonsuz döngü çağrısının adının serve forever() olmasına, Bütün concurrency yönetiminin burada yapılmasına, (Spyne kodunun geri kalanı reentrant olsa yeter.) Hangi isteğin arayüz dokümanı için, hangisinin RPC için olduğuna karar verilen kısmı unutmamaya... dikkat ediyoruz. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

112 Buraya kadar sorusu olan? (itiraf etmek gerekirse bu bölümde yeteri kadar detaya girmedim) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

113 İkincil işleyici yazma konusunda ise; c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

114 İkincil işleyici yazma konusunda ise; apisi basit. c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

115 İkincil İşleyici Yazmak (sadeleştirilmiş) ThreadAuxProc koduna bakalım: c l a s s ThreadAuxProc ( AuxProcBase ) : d e f p r o c e s s c o n t e x t ( s e l f, s e r v e r, ctx, args, kwargs ) : d e f i n i t i a l i z e ( s e l f, s e r v e r ) : c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

116 İkincil İşleyici Yazmak (sadeleştirilmiş) ThreadAuxProc koduna bakalım: c l a s s ThreadAuxProc ( AuxProcBase ) : d e f p r o c e s s c o n t e x t ( s e l f, s e r v e r, ctx, args, kwargs ) : s e l f. p o o l. a p p l y a s y n c ( s e l f. process, ( s e r v e r, c t x ) + args, kwargs ) d e f i n i t i a l i z e ( s e l f, s e r v e r ) : s e l f. p o o l = ThreadPool ( s e l f. p o o l s i z e ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

117 Bu konuda sorusu olan? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

118 Peki, (şu veya bu sebeple) kendi mesajlaşma ekosistemini yaratmak isteyenler XML ve çevresindeki teknolojilerden neler öğrenebilir? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

119 XML i yakından inceledikten sonra gördük ki Namespace desteği bir çok şeyi kolaylaştırıyor. 2. Nesne tanımlama dokümanı (XML Schema) tanımı yapılmalı. 3. Binary veri etkin taşınmalı. (Soap ın MTOM eklentisi) 4. (XMLSec) Kriptografik gizlilikte ve doğrulamada kullanılacak temel nesneler tanımlanmalı. Bu işlemleri (ve sıkıştırmayı da) out-of-band yapmamalı. 5. Kalıcı depolama formatı (EXI) ve sorgulama dili (XPath) tanımlamalı. 6. Mesaj yönlendirme ve RPC temel nesnelerini tanımlayın, API tanımlama standardı (WSDL) tanımlayın. Yönlendirme verisini eklemek için bütün mesajı işlemek gerekmesin! Bkz. . c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

120 Geçmiş Olsun! umarım sizleri çok sıkmadım... c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

121 Eee, ne eksik? c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

122 Belge! c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

123 Belge! Belge! c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

124 Belge! Belge! Belge! c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

125 c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

126 Peki, başka ne eksik? Protokollerden: Taşıyıcılardan: İkincil İşleyicilerden: ProtoBuf! XmlRpc! Thrift! YAML! HTML! (Yani bütün sayfa) SMTP! Bildiğin Dosya! SPDY! WebSockets! Başka süreçte, hatta başka bilgisayarda işleme! ( ve daha bir sürü şey! Kaynak kod deposundaki ROADMAP.rst belgesine bir göz atabilirsiniz. ) c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

127 Daha fazla bilgi için: github.com/arskom/spyne Çoklu protokol: Doğrulama: Veritabanı: Örnekler examples/multiple protocols examples/validation.py examples/user manager/server sqlalchemy.py c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

128 Teşekkür Bu sunuma değerli yorumlarıyla katkıda bulunan aşağıdaki arkadaşlarıma çok teşekkür ederim: Alper Aydemir Gökberk Arslan Merve Ünlü Abdurrahman Yaşar c Arskom Ltd. - Özgür Web Teknolojileri Günleri - 19 Ekim

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

PHP 1. Hafta 1. Sunum

PHP 1. Hafta 1. Sunum PHP 1. Hafta 1. Sunum PHP101: PHP nedir? Bu dersten sonra bilecekleriniz PHP nedir? PHP ye neden ihtiyaç vardır? PHP nin gelişimi HTML, HTTP ve JS nedir? PHP yle alakası nedir? PHP nin uygulama alanları

Detaylı

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. WSDL-SOAP MURAT TEZGİDER Web Servisi Nedir? web servisi :standart formatları kullanarak programlama dili, işletim sistemi ve platformdan bağımsız olarak bilgiyi paylaşan

Detaylı

TÜRKİYE ELEKTRONİK FON ALIM SATIM PLATFORMU WEB SERVİS İŞLEMLERİ

TÜRKİYE ELEKTRONİK FON ALIM SATIM PLATFORMU WEB SERVİS İŞLEMLERİ TÜRKİYE ELEKTRONİK FON ALIM SATIM PLATFORMU WEB SERVİS İŞLEMLERİ 1 GÜNDEM Genel Bilgiler Güvenlik İşlemleri Geliştirme Test Üretim Kullanılacak Öncelikli Web Servisleri TEFASWebServisOperParam.xlsx Dokümanı

Detaylı

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı JSON Korsanlığı Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı İnternetin gün geçtikçe hayatımızdaki önemi arttı ve web siteleri milyonlarca insan tarafından girilen yerler haline geldi. Artık çevremizden

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.1 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam...1 2.2 Hedef Kitle...1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...1

Detaylı

Bir port aynı anda bir process tarafından dinlenebilir. Fakat bir process birden fazla portu dinleyebilir.

Bir port aynı anda bir process tarafından dinlenebilir. Fakat bir process birden fazla portu dinleyebilir. Port Nedir? Bir network cihazından diğerine veri gönderilirken hedef cihazın bu veri ile ilgili ne yapacağına dair bir bilgi göndermeye bir yol sağlanmamıştır. TCP ve UDP bu soruna port adı verilen bir

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

V-Count API v3.5. - İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/vcountapi.php adresine gönderilecektir.

V-Count API v3.5. - İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/vcountapi.php adresine gönderilecektir. V-Count API v3.5 Bu dokümanın amacı V-Count veritabanından insan sayma, mağaza önü sayma ve hava durumu verilerinin dışa aktarımı; ciro, fiş, stok ve ürün adedi bilgilerinin veritabanına içe aktarımı yöntemlerini

Detaylı

Google Search API ile ajax arama

Google Search API ile ajax arama Google Search API ile ajax arama 14 Ağustos Salı 12 http://mfyz.com/google-search-api-ile-ajax-arama Eğer bir kaynak arıyorsanız, indexlerin güncelliği, genişliği gibi nedenlerden dolayı, diğer arama motorları

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.0 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI ITS-101A INTERNET EĞİTİM SİSTEMİ TCP/IP THE DOMAIN NAME SYSTEM (ALAN ADI SİSTEMİ) İstanbul Ticaret Üniversitesi Bilgisayar Mühendisliği Bölümü Araş. Gör. Can EYÜPOĞLU

Detaylı

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu T.C. SOSYAL GÜVENLİK KURUMU Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu 29 ARALIK 2016 Amaç Eczanelerin sorgulanan güne ait olan reçete ilaç bilgilerinin istemci tarafına gönderilmesi.

Detaylı

İNTERNET PROGRAMCILIĞI DERSİ

İNTERNET PROGRAMCILIĞI DERSİ İNTERNET PROGRAMCILIĞI DERSİ Dersin Modülleri İnternet Programcılığı 1 İnternet Programcılığı 2 İnternet Programcılığı 3 İnternet Programcılığı 4 İnternet Programcılığı 5 Kazandırılan Yeterlikler Programlama

Detaylı

VIDEOCELL API. Versiyon 1.0.0

VIDEOCELL API. Versiyon 1.0.0 VIDEOCELL API Versiyon 1.0.0 İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları... 4

Detaylı

Basit bir web uygulaması

Basit bir web uygulaması AJAX Ahmet Demirelli ahmetdemirelli@sabanciuniv.edu SCJP 5.0, SCWCD 1.4 Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı 3/20/2007 Sabanci University 1 Ajanda Neden AJAX ihtiyacı AJAX

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JSP Üst Düzey Programlama-ders04/ 1 JSP JSP durağan HTML ile dinamik oluşturulan içeriği birleştirmeyi sağlar. Bir web sayfası tasarlama programı ile web sayfasını tasarlar daha sonra

Detaylı

V-Count API v3.6 İçindekiler

V-Count API v3.6 İçindekiler V-Count API v3.6 İçindekiler 1. İnsan Sayma Verilerinin Dışa Aktarımı... 2 2. Mağaza Kamera Yapısının Dışa Aktarımı... 6 3. Günlük Ciro, Fiş, Stok ve Ürün Adedi Bilgilerinin İçe Aktarımı... 8 4. Saatlik

Detaylı

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM

Detaylı

Zope Uygulama Sunucusu

Zope Uygulama Sunucusu Zope Uygulama Sunucusu H. Turgut Uyar uyar@cs.itu.edu.tr http://www.cs.itu.edu.tr/~uyar/ resim http://www.coresis.com/penguin/ adresinden alınmıştır Web Siteleri web siteleri giderek daha karmaşık bir

Detaylı

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü: Bölüm 24 Java Ağ Uygulamaları 24.1 Java Appletleri Applet, Web tarayıcısında çalışan bir Java programıdır. Bir applet, Java uygulaması için tamamen fonskiyonel olabilir çünkü bütün Java API ye sahiptir.

Detaylı

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1 PHP ile Veritabanı İşlemleri Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

2 Kullanıcı Yönetimi ve Yetkilendirme Tüm kullanıcıların Kullanıcı Adı ve Parola bilgisi Sağlık.Net sisteminde kullandığı veriler olmalıdır.

2 Kullanıcı Yönetimi ve Yetkilendirme Tüm kullanıcıların Kullanıcı Adı ve Parola bilgisi Sağlık.Net sisteminde kullandığı veriler olmalıdır. 1 Kapsam Aşı Takip Sistemini AHBS, HSBS, HBYS ve MBYS kullanıcılarının web servis (SOAP) aracılığıyla kullanacakları metotların yapısı ve kuralları anlatılmaktadır. Servisler SSL üzerinden çalışacaktır.

Detaylı

ÇÖZÜM BİLGİSAYAR KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU 22.12.2006. Sürüm: 1.0

ÇÖZÜM BİLGİSAYAR KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU 22.12.2006. Sürüm: 1.0 KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU 22.12.2006 Sürüm: 1.0 2006-2007 Çözüm Bilgisayar www.cozumbil.com.tr cozum@cozumbil.com.tr İÇİNDEKİLER 1.GİRİŞ...3 1.1 GENEL

Detaylı

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış Kepware Veritabanı Ürünleri Teknolojiye Genel Bir Bakış Gündem Veritabanı Client API teknolojisinin gözden geçirilmesi ODBC istemci sürücüsü- bir KEPServerEX Plug-In Haberleşme Sürücüsüdür. DataLogger-

Detaylı

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ TDİ111 TÜRKDİLİ 1 1. Dil, diller ve Türk dili 2. Dil bilgisi, sözcük, cümle 3. Kelime Türleri 4. Anlatımın

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.2 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

PayNet Sanal POS Teknik Dökümanı PAYNET İşlemleri PAYNET sistemi, Arena Bilgisayar A.Ş. nin, bayilerine artı değer olarak sunduğu bir online ödeme sistemidir. Bu sistem v1.0 itibariyle, sadece kredi kartları

Detaylı

İnternet Programcılığı

İnternet Programcılığı 1 PHP le Ver tabanı İşlemler Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

Detaylı

Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL. R. Orçun Madran Atılım Üniversitesi. www.madran.

Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL. R. Orçun Madran Atılım Üniversitesi. www.madran. Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL R. Orçun Madran Atılım Üniversitesi www.madran.net İçerik NoSQL Ne Değildir? Neden NoSQL? Ne Zaman NoSQL? NoSQL'in Tarihçesi.

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci

Detaylı

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır.

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır. XML Genişletilebilir İşaretleme Dili (extensible Markup Language), hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmayı sağlamaktadır W3C tarafından tanımlanmış

Detaylı

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011 PHP I E. Fatih Yetkin 26 Eylül 2011 Outline Temel Tanımlar HTML e Giriş PHP ye Giriş MySQL ve PHP Temel Tanımlar Web Sunucu Nedir? Teknik detaylar bir kenara bırakılacak olursa, hazırlanan web sayfasını

Detaylı

C# ile e-posta Göndermek

C# ile e-posta Göndermek Kemal Demir http://kemal.csharpturk.net kemal@csharpturk.net C# ile e-posta Göndermek 25.12.2006 Web sitemizin üyelerine ya da adreslerini bir yerde biriktirdiğimiz arkadaşlarımıza toplu olarak eposta

Detaylı

COĞRAFİ BİLGİ SİSTEMLERİ ArcGIS SERVER A GİRİŞ EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ ArcGIS SERVER A GİRİŞ EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ ArcGIS SERVER A GİRİŞ EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 4 Gün 24 Saat COĞRAFİ BİLGİ SİSTEMLERİ ArcGIS

Detaylı

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon :

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon : e-fatura UYGULAMASI (Yazılım Standartları ve Nesne Yapısı) Ağustos 2013 E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 ANKARA Versiyon : 1.0 1/14 GELİR İDARESİ BAŞKANLIĞI Uygulama

Detaylı

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme Emrah Ayanoğlu, Onur Özcan, Alperen Eraslan Inet-TR 12 8 Kasım 2012 İÇERİK 1 Node.js nedir? Google tarafından Chrome un JavaScript

Detaylı

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 5 Gün 30 Saat COĞRAFİ

Detaylı

SMS API. KobiKom Telekomunikasyon A.Ş. SMS API Kullanım Bilgilerini İçerir. Tel: +90 224 532 0 444 Fax:+90 224 211 00 47

SMS API. KobiKom Telekomunikasyon A.Ş. SMS API Kullanım Bilgilerini İçerir. Tel: +90 224 532 0 444 Fax:+90 224 211 00 47 SMS API 16.3.2015 SMS API Kullanım Bilgilerini İçerir. KobiKom Telekomunikasyon A.Ş. Tel: +90 224 532 0 444 Fax:+90 224 211 00 47 Y.Yalova Yolu Buttim iş Mrk. C-Blok K.5 N.1462 Osmangazi / Bursa / Türkiye

Detaylı

Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir)

Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir) T.C. SOSYAL GÜVENLİK KURUMU Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir) Sürüm 1.0 OCAK 2012 Amaç Hastanelerin elektronik reçete bilgilerinin

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS VERİ TABANI BG-313 3/1 3+1+0 3+0,5 5 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon ORACLE GİRİŞ Oracle ile SQL Server ın karşılaştıralım. 1 Oracleda veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, değiştirme ve silme kodları aynı. 3

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

1. MİCROSOFT SQL SERVER 2014'E GİRİŞ

1. MİCROSOFT SQL SERVER 2014'E GİRİŞ VERİ TABANI YÖNETİM SİSTEMLERİ-II 1. MİCROSOFT SQL SERVER 2014'E GİRİŞ HİTİT ÜNİVERSİTESİ SUNGURLU MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI / 2. SINIF-GÜZ DÖNEMİ MS SQL

Detaylı

Sunucularımızı Gözleyelim. Oğuz Yarımtepe @oguzy oguzyarimtepe ~ gmail.com http://about.me/oguzy

Sunucularımızı Gözleyelim. Oğuz Yarımtepe @oguzy oguzyarimtepe ~ gmail.com http://about.me/oguzy Sunucularımızı Gözleyelim Oğuz Yarımtepe @oguzy oguzyarimtepe ~ gmail.com http://about.me/oguzy Gözlem yapmak kolay değildir! Eğer başarılı ise, farklı gözlem yöntemlerini uygun ve hassas bir şekilde güzel

Detaylı

Exchange Server 2010 Sertifika Oluşturma

Exchange Server 2010 Sertifika Oluşturma Exchange Server 2010 Sertifika Oluşturma Bildiğimiz üzere Exchange Server 2003 ve 2007 de default olarak SSL oluşturulup kullanılıyordu. Ancak bir müddet sonra sertifikanın süresi dolduğu için artık çalışmayacaktı.

Detaylı

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS; Web Teknoloji Kavramları Ahmet Demirelli ahmetdemirelli@sabanciuniv.edu MCP, SCJP 5.0, SCWCD 1.4 Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı 6/9/2007 Sabanci University 1 Ajanda CSS

Detaylı

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU burak@verius.net

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU burak@verius.net Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları Burak USGURLU burak@verius.net Akış İhtiyacımız Yöntemler Native Dönüştürmeli Web Tabanlı Sonuç [Sencha Touch Kitchen Sink] Sorular

Detaylı

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır.

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Bölüm 24 Java Ağ Uygulamaları 24.1 Java Soket Programlama Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Sunucu programı

Detaylı

Veri Tabanı-I 5.Hafta

Veri Tabanı-I 5.Hafta Veri Tabanı-I 5.Hafta DataBase Oluşturma 1 DATABASE Kolon,özellik,alanColumn,attributes,fields) Sunucu Tablo numarası adı soyadı 0913109001 Ali Can 0913109002 Nuri Koç Database 0913109003 Fatma Kara Satır,Kayıt

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

Html temelleri. Ders 4

Html temelleri. Ders 4 Html temelleri Ders 4 1 Giriş World Wide Web (Kısaca web) uygun protokoller kullanarak haberleşen yazılımların çalıştırıldığı internet üzerindeki sistemlerin bir koleksiyonudur. Çoğu sistem gününüzde en

Detaylı

TC KİMLİK NO SMS GÖNDERİM SOAP API

TC KİMLİK NO SMS GÖNDERİM SOAP API TC KİMLİK NO SMS GÖNDERİM SOAP API İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları...

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -12- TETİKLEYİCİ (TRIGGER) 3 Giriş Trigger lar Trigger lar Ne Zaman Kullanılmalıdır? Klasik Trigger ların Özellikleri

Detaylı

SOAP API. Mobildev Toplu Mesajlaşma API

SOAP API. Mobildev Toplu Mesajlaşma API SOAP API Mobildev Toplu Mesajlaşma API 14.07.2011 1. İçindekiler 1. İçindekiler... 2 2. Bu belgenin Amacı... 3 3. Belge Sürümleri... 3 4. Sistem Gereksinimleri... 3 5. Kullanım Şekli... 3 5.1 Genel...

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir)

Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir) T.C. SOSYAL GÜVENLİK KURUMU Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir) Sürüm 1.0 NİSAN 2012 Amaç Hastanelerin ve Aile Hekimliklerinin

Detaylı

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ KULLANIM KLAVUZU 21.10.2013 Sürüm: 2.2.1 (27.12.2013) Sayfa 1 / 11 Güncellenen Bölümler Sürüm 2.2.1 Yayınlanma Tarihi 27.12.2013 Güncellenen Bölümler GUNSONUAKISGONDER

Detaylı

Değerlendirme Soruları 140. Şerit Kullanımı 124 Şerit Sekmeleri 124 Şeridi Gizleme 125 Eklentiler 125

Değerlendirme Soruları 140. Şerit Kullanımı 124 Şerit Sekmeleri 124 Şeridi Gizleme 125 Eklentiler 125 ! 1 Excel Nedir? 2 Excel in Gelişimi 2 Yeni Özellikler 11 Görünüm 11 Bulut Desteği 11 Şablonlar 14 Anlık Veri Çözümleme 16 Hızlı Veri Doldurma 17 Grafik Önerileri (Recomended Charts) 17 Dilimleyiciler

Detaylı

Rest Nedir? Örnek Restful API. Rest Nedir? Deniz Bahadr GÜR, Mehmet Onur YALAZI. Özgür Web Teknolojileri Günleri, 2010

Rest Nedir? Örnek Restful API. Rest Nedir? Deniz Bahadr GÜR, Mehmet Onur YALAZI. Özgür Web Teknolojileri Günleri, 2010 Deniz Bahadr GÜR Mehmet Onur YALAZI Özgür Web Teknolojileri Günleri, 2010 çindekiler 1 Tanm Outline 1 Tanm Bir ileti³im mimarisidir. Bir DTD si yoktur. Roy Fielding 2000 Ylnda ortaya atm³tr. En ba³arl

Detaylı

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu API geliştiricileri Open API serverınızın tüm kontrolünü, groupware erişim izini, kullanıcı ve domain yonetimi, server ayarları, tasarlanma, istatistikler ve daha fazlasına bu script programı ile erişebilirsiniz.

Detaylı

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler Request Nesnesinin Özellikleri

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu Turquaz Açık kodlu muhasebe yazılımı http://www.turquaz.com Turquaz Proje Grubu Konu Başlıkları 1. Turquaz Proje Grubu 2. Programın fikri 3. Geliştirme aşaması 4. Programın içeriği 5. Yapılacaklar 6. Dizayn

Detaylı

ÖRÜN (WEB) GÜVENLİĞİ. Hazırlayan: Arda Balkanay 704041003

ÖRÜN (WEB) GÜVENLİĞİ. Hazırlayan: Arda Balkanay 704041003 ÖRÜN (WEB) GÜVENLİĞİ Hazırlayan: Arda Balkanay 704041003 Taslak Giriş WEB Nasıl Çalışır Hedef WEB Güvenlik Açıkları / Uygulama Problemleri Tehditler Sonuç Giriş WWW World Wide Web İnternet servislerini

Detaylı

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7 +AS3-icindekiler 4/13/10 10:51 PM Page ix Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7 1 PROGRAMLAMAYA G R fi 9 Programlama

Detaylı

NoSql ve MongoDB. Saygın Topatan

NoSql ve MongoDB. Saygın Topatan NoSql ve MongoDB Saygın Topatan NoSql ve MongoDB NoSql nedir Neden ihtiyaç duyuldu Tipleri MongoDb Kavramlar Sharding Şema Tasarımı NoSql in geleceği NoSql Nedir? Nedir 2009 başlarında ortaya çıkmış bir

Detaylı

Akıllı Kontrolde Teknoloji Devi SCADA YAZILIMI. Supervisory Control and Data Acquisition. ViewPLUS. Açık, Esnek, Ölçeklenebilir.

Akıllı Kontrolde Teknoloji Devi SCADA YAZILIMI. Supervisory Control and Data Acquisition. ViewPLUS. Açık, Esnek, Ölçeklenebilir. SCADA YAZILIMI Supervisory Control and Data Acquisition Açık, Esnek, Ölçeklenebilir www.mikrodev.com SCADA Sunucusu Operatör İstemcisi Windows, Linux ve MacOS platformlarında çalışabilir. Windows, Linux,

Detaylı

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ Versiyon: 1.0.4 URL http://merchant.mobilepax.com/services/product.asmx Metot MobilePaxProduct fonksiyonu buton bilgisi oluşturulacak ürünün bilgilerinin Mobilepax

Detaylı

Veri Tabanı-I 1.Hafta

Veri Tabanı-I 1.Hafta Veri Tabanı-I 1.Hafta 2015-2016 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2015 Yrd.Doç.Dr. M. İLKUÇAR 1Muhammer İLKUÇAR, MAKÜ-2011 BURDUR

Detaylı

WWW.OZTEKHABERLESME.COM

WWW.OZTEKHABERLESME.COM ÖZTEK HABERLEŞME APİ DÖKÜMANI WWW.OZTEKHABERLESME.COM VER:6.1.0 ~ 1 ~ İÇİNDEKİLER BİLMENİZ GEREKENLER... 3 HTTP POST (XML) YÖNTEMİ... 4 TANIMLAR... 4 ÖRNEK XML YAPISI... 4 PHP ÖRNEK KOD... 5 Örnek Sayfayı

Detaylı

VISILABS SEGMENT KURULUM KILAVUZU

VISILABS SEGMENT KURULUM KILAVUZU VISILABS SEGMENT KURULUM KILAVUZU ARALIK 2014 1)GİRİŞ A)TAKİP MEKANİZMASI Visilabs Segment, web siteleri ve mobil uygulamalarda yapılan tüm hareketleri takip etmektedir. Bu hareketlerin takibi, web sitelerinde

Detaylı

HTTP. (Hyper Text Transfer Protocol)

HTTP. (Hyper Text Transfer Protocol) HTTP (Hyper Text Transfer Protocol) Http, bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim kuralıdır (http://tr.wikipedia.org/wiki/http).

Detaylı

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, gokmen@pardus.org.tr. 3 Mayıs 2007

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, gokmen@pardus.org.tr. 3 Mayıs 2007 Python ve Web 2.0 Gökmen GÖKSEL, gokmen@pardus.org.tr 3 Mayıs 2007 Python Programlama Dili Nesneye Dayalı Çoklu Platform Desteği Kolay anlaşılabilir söz dizimi Birçok amaç için kullanılabilir; Konsol uygulamaları

Detaylı

MOKA ÖDEME SERVİSİ BAYİ İŞLEMLERİ ENTEGRASYON DOKÜMANI

MOKA ÖDEME SERVİSİ BAYİ İŞLEMLERİ ENTEGRASYON DOKÜMANI MOKA ÖDEME SERVİSİ BAYİ İŞLEMLERİ ENTEGRASYON DOKÜMANI V 2.1 MAYIS 2018 Abdullah APAYDIN - Elif YETİMOĞLU Sayfa 1 Test Domain: https://service.testmoka.com Prod Domain: https://service.moka.com Servislerin

Detaylı

Windows Live ID ve parolanızı giriniz.

Windows Live ID ve parolanızı giriniz. Ücretsiz Deneme Hesabı Oluşturma ve Temel Özelliklerin Kullanım Kılavuzu Bilgi girilmesi gerekli alanlar Kişisel bilgi içeren alanlar http://www.windowsazure.com/tr-tr/pricing/free-trial/ adresine gidiniz

Detaylı

Sol tarafta yer alan Click here to activate your account linkini seçiniz.

Sol tarafta yer alan Click here to activate your account linkini seçiniz. Öğrenci Bilgi Sistemi (OASIS) Kayıt İşlemleri OASIS kayıt işlemlerini gerçekleştirebilmek için; öncelikle kayıt işlemleri esnasında Öğrenci İşleri tarafından verilen öğrenci numarası ve e-posta adresinin

Detaylı

e-logo e-fatura Özel Entegratör Sistemi

e-logo e-fatura Özel Entegratör Sistemi e-logo e-fatura Özel Entegratör Sistemi UYGULAMA ARABİRİM DOKÜMANI HAZİRAN 2015 1 İçindekiler 1. Giriş... 3 2. Login: Login... 3 3. Logout : Logout... 3 4. Gelen Zarfı Al: receivedocument... 4 5. Zarf

Detaylı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Data Programming SQL Language Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 15 Mar 2016 1 SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler. Veritabanından

Detaylı

08217 Internet Programcılığı I Internet Programming I

08217 Internet Programcılığı I Internet Programming I Ders Tanıtım Sunumu 08217 Internet Programcılığı I Internet Programming I Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı 17 Eyl. 2012 Pzt. Öğr. Gör. Murat KEÇECİOĞLU Dersin Adı Ders Tanıtım Bilgileri

Detaylı

1.1 Web Kavramlar. 1.1.1.3 URL terimini tanımlayınız ve anlayınız.

1.1 Web Kavramlar. 1.1.1.3 URL terimini tanımlayınız ve anlayınız. 1.1 Web Kavramlar 117 Anahtar 7erim/er 1.1.1.1 Web ve Internet terimlerini tanımlayınız. Her birinin anahtar özelliklerini tanımlayınız. Web bir Internet hizmetidir. Web Internet üzerinde bağlantılı html

Detaylı

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında

Detaylı

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS Veritabanı Yönetimi 4 / Bahar (3+0+0)

Detaylı

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi SQLite Veritabanı BLM401 Dr.Refik SAMET 1 SQLite açık kaynak kodlu; GİRİŞ (1/4) sunucu gerektirmeyen; konfigürasyon ayarları gerektirmeyen; platformdan

Detaylı

Bilgisayar Programcılığı Uzaktan Eğitim Programı. e-bilg 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Bekir Güler E-mail: bguler@fatih.edu.

Bilgisayar Programcılığı Uzaktan Eğitim Programı. e-bilg 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Bekir Güler E-mail: bguler@fatih.edu. Bilgisayar Programcılığı Uzaktan Eğitim Programı e-bilg 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Bekir Güler E-mail: bguler@fatih.edu.tr Hafta 2. Uygulama (Application) katmanı 2.1 Ağ uygulamalarının

Detaylı

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL Deyimleri Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL NEDİR? SQL bir veri tabanıyla iletişim kurmak için kullanılır. ANSI standardına göre ilişkisel veri tabanı yönetim sistemlerinin standart dilidir.

Detaylı

UBL UBL Türkiye Özelleştirmesi TEMEL BİLGİLER

UBL UBL Türkiye Özelleştirmesi TEMEL BİLGİLER e-fatura UBL UBL Türkiye Özelleştirmesi TEMEL BİLGİLER UBL (Universal Business Language) UBL, iş dünyasının evrensel ölçekte birlikte iş yapabilirlik ihtiyacını gidermek amacıyla doğmuş bir yapıdır. Bu

Detaylı

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon :

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon : e-fatura UYGULAMASI (Yazılım Standartları ve Nesne Yapısı) Ağustos 2014 E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 ANKARA Versiyon : 1.0 1/15 GELİR İDARESİ BAŞKANLIĞI Uygulama

Detaylı

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1 Web Formlar ve Sayfalar Arasında Bilgi Gönderme BATML İnternet Programcılığı 1 Bazı web sitelerinde sayfalar arasında bilgi veya değişken göndermek gerekebilir. Gönderilen bu bilgi kullanıcı adı ve şifre

Detaylı

Kurulum 14 FTP ye Bağlanmak ve Dosyaları Atmak 14 Veritabanı Oluşturulması ve Bağlanıp Kurulumun Tamamlanması 15

Kurulum 14 FTP ye Bağlanmak ve Dosyaları Atmak 14 Veritabanı Oluşturulması ve Bağlanıp Kurulumun Tamamlanması 15 vii 1 İçerik Yönetim Sistemi Nedir? 2 WordPress Nedir? 2 WordPress Kısa Tarihi 3 WordPress Gücünü Nereden Alıyor? 3 WordPress ile Neler Yapabiliriz? 4 Kişisel Blog 4 Kurumsal Blog 4 Kurumsal Site 4 Tanıtım

Detaylı

BM 402 Bilgisayar Ağları (Computer Networks)

BM 402 Bilgisayar Ağları (Computer Networks) BM 402 Bilgisayar Ağları (Computer Networks) M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, ders kitabının yazarları James F. Kurose ve Keith W. Ross tarafından

Detaylı

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti Bu sayfaları okuduğunuza göre bir şekilde bilgisayarlar ve bilgisayar ağlarıyla ilişkiniz olduğunu biliyorum. Ancak yine de en başta niçin bilgisayar ağı kullanıyoruz sorusunun cevabını vermekle işe başlayabiliriz.

Detaylı

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri Django Web Çatısı Mete Alpaslan Katırcıoğlu Emre Yüce Portakal Teknoloji mete.alpaslan@portakalteknoloji.com emre.yuce@portakalteknoloji.com Akademik Bilişim 2008 Çanakkale, 30 Ocak 2008 Sunum Planı Django

Detaylı

Veri Tabanı-I 1.Hafta

Veri Tabanı-I 1.Hafta Veri Tabanı-I 1.Hafta 2010-2011 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Meslek Yüksekokulu Burdur 2011 Muhammer İLKUÇAR 1 Veri ve Veri Tabanı Nedir? Veri Bir anlamı olan ve kaydedilebilen

Detaylı

JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih 15.02.2007 Sürüm 1.1.0 XML ile Mesaj İşlemleri

JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih 15.02.2007 Sürüm 1.1.0 XML ile Mesaj İşlemleri Doküman JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih 15.02.2007 Sürüm 1.1.0 XML ile Mesaj İşlemleri SİSTEM ÖZELLİKLERİ... 2 1. ÇALIŞMA MODLARININ ORTAK ÖZELLİKLERİ... 2 1.1. Genel Hususlar... 2 1.2.

Detaylı

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ KULLANIM KLAVUZU 21.10.2013 Sürüm: 2.2.0 Sayfa 1 / 10 Giriş EBT Sisteminin, Web Servisleri birinci versiyonu, BOTAŞ ile yapılan ayrıştırma çalışmalarına paralel

Detaylı

İNTERNET PROGRAMLAMA II. Tanımlar

İNTERNET PROGRAMLAMA II. Tanımlar İNTERNET PROGRAMLAMA II Tanımlar WWW( World Wide Web) Dünya üzerindeki bütün bilgisayarların bağlı olduğu bir ağdır. Çoğunlukla Web olarak adlandırılır. Web üzerindeki bilgisayarlar standart protokolleri

Detaylı