Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
448,51 KB
Nội dung
Xây d ng ng d ng hòa tr n phía máy ch v i Geronimo REST Page of 13 Xây d ng ng d ng hòa tr n phía máy ch v i Geronimo REST !" %& M c # ! $! ! ' : Trung bình J Jeffrey Hanson, Ki n trúc s tr ng, eReinsure.com, Inc 05 07 2009 Khám phá k thu t cơng ngh b n có th s d ng xây d ng m t ng d ng hòa tr n (mashup) b ng cách s d ng Apache Geronimo, m t giao th c d a REST d li u t nhi u ngu n ng d ng hòa tr n k t h p d li u t Google Maps thông i p ng n (tweet) c a Twitter nh v ng i dùng Twitter h c p nh t tr ng thái Twitter c a Ban u, thu t ng mashup (hịa tr n) có ngh a m t k thu t âm nh c pha tr n hai ho c nhi u hát theo m t cách ó t o m t hát hồn tồn m i Trong cơng ngh ph n m m mashup hàm ý công ngh m u hình k t h p d li u, thành ph n giao di n ng i dùng (UI) quy trình x lý t o ng d ng web trang web m i ng d ng hòa tr n c nhà phát tri n web a chu ng b i d dàng k t h p d li u n i dung S d d dàng làm nh th ã s!n có ph" c p r ng kh p công ngh ng giàu ng ngh a dành cho Web — ó công ngh nh XML, ký pháp #i t ng tu n t hóa c a JavaScript (JSON JavaScript Serialized Object notation), Khung công tác mô t$ tài nguyên (RDF - Resource Description Framework), JavaScript ng Ajax Chúng công ngh khác n a cung c%p m t kh$ n&ng không gi i h n cho nhà phát tri n sáng t o n i dung B n th ng t o ng d ng hòa tr n b ng cách k t h p thành ph n UI, d ch v ho c quy trình x lý d li u Các thành ph n UI có th hịa tr n c bao g m mã JavaScript ng, o n mã HTML, ngu n c%p d li u RSS, k t qu$ t l i g i API c a d ch v Web Các ng d ng hòa tr n ph thu c vào vi c tr n thành ph n UI c ghép l'ng v i nhau, quy trình x lý ho c d li u t m t ho c nhi u trang web b ng cách s d ng phép bi n "i d li u, Javascript ng, thao tác DOM k thu t khác Các ng d ng hòa tr n b$n m u hi n có bao g m vi c k t h p m t b$n t Google Maps v i d li u t i t ng a i m, ch(ng h n nh s# li u th#ng kê t i ph m giá b%t ng s$n cho m t khu v c ã cho Bài vi t th$o lu n v cách s d ng API Twitter Google Maps cung c%p v i Ajax mã Java™ xây d ng m t ng d ng hòa tr n mà b n có th tri n khai cho ch y m t môi tr ng Apache Geronimo (L u ý c a biên t p viên: Bài vi t th$o lu n v m t nhi u cách t o ng d ng hịa tr n phía máy ch WebSphere® cung c%p m t bi n pháp khác xây d ng ng d ng d a web b ng cách s d ng k ch b$n l nh (scripting) ng Xem m c Tài ngun có thêm thơng tin v ph n m m c th$o lu n vi t n)i tìm ph n m m ó…) T vi t t t th ng c s d ng Ajax: JavaScript không ng b + XML API: Giao di n l p trình ng d ng CSS: Cascading Style Sheets – Các phi u nh ki u ch ng DOM: Document Object Model – Mơ hình #i t ng tài li u HTML: Hypertext Markup Language – Ngôn ng ánh d%u siêu v&n b$n HTTP: Hypertext Transfer Protocol - Giao th c truy n t$i siêu v&n b$n UI: User interface - Giao di n ng i dùng XML: Extensible Markup Language – Ngôn ng ánh d%u m r ng c XSD: XML Schema Document -L c tài li u XML Làm quen v i Geronimo Geronimo n n Java doanh nghi p (Java EE), hoàn toàn t )ng thích v i n n Java, mà b n có th s d ng Xây d ng ng d ng hịa tr n phía máy ch v i Geronimo REST Page of 13 xây d ng d ch v ng d ng doanh nghi p Geronimo c thi t k theo m t ki n trúc s d ng k thu t $o ng c i u n (Inversion of Control – IOC) tách riêng d ch v thành ph n t i m t m c cao Vi c tách riêng m c cao nh v y cho phép tri n khai có mơi tr ng th c thi c%u hình c mơ un hóa cao Geronimo *y m nh s d ng ph n m r ng qu$n lý c a Java (Java Management Extensions -JMX) khung công tác ki u Mbean c thù cho Geronimo, làm cho Geronimo tr thành m t n n t$ng doanh nghi p m nh m+ d qu$n lý B n t o m t môi tr ng ch y c a Geronimo b ng cách s d ng m t t p h p có th tùy ch,nh c mô- un c l p ráp c qu$n lý b i m t máy h t nhân (kernel engine) g n nh- Máy h t nhân m t mô- un c a Geronimo, m t t p h p b%t k l p, mô- un khác, m t c%u hình tu n t hóa c (serializable) H t nhân Geronimo n p, h p d ch hòa ph#i mô- un m t cá th ch y thi hành c a Geronimo c kh i ng Các mô- un ã l p ráp xác nh ch c n&ng cho môi tr ng tri n khai thi hành Geronimo T%t c$ d ch v m t cá th ch y thi hành c a Geronimo c tri n khai nh mô- un Các mô- un Geronimo c nh ngh a m t t p tin XML c g i m t k ho ch tri n khai (deployment plan) K ho ch tri n khai Geronimo cu#i bao g m m t t" h p c a m t k ho ch tri n khai ban u, m t t p tin Maven project.properties m t t p tin mơ hình #i t ng d án Maven (Maven Project Object Model -POM) Hình cho ta th%y cách th c t o tác c x lý nh th t o m t k ho ch tri n khai cu#i Hình X lý k ho ch tri n khai Geronimo N i dung c a m t k ho ch tri n khai c ki m soát b i m t t p tin XSD K ho ch tri n khai nh ngh a ID c a mô- un, thu c tính mơi tr ng cho m t mơ- un, ph thu c c a mô- un, d ch v mà mô- un cung c%p Geronimo Beans (GBeans) cho mô- un m t s# th khác Li t kê minh ho m t k ho ch tri n khai Geronimo )n gi$n Li t kê Ví d k ho ch tri n khai Geronimo !! " " ! $ $ %" " ! $ " !" ! # " ! # $ %" $ ! ! # Xây d ng ng d ng hòa tr n phía máy ch v i Geronimo REST ! Page of 13 $ # " # $ %" ! $ " ! $ !" &' ! # %" $ # ! " ! "( " ! ! ( " " " ! ( " " ( ( ) " " " * " './0 !" ' " " ( " % # " +#* # !" ,- " ( ! Khi ti n trình xây d ng biên d ch m t k ho ch tri n khai gi#ng nh k ho ch Li t kê 1, m t t p tin l u tr c%u hình (Configuration Archive - CAR) c t o v i m t tên nh%t Tên nh%t c sinh cho c%u hình li t kê s+ geronimo/example-1.0.0/car Các t p tin CAR c a Geronimo M t t p tin CAR c a Geronimo m t t p tin l u tr Java (Java Archive - JAR) ch a d ng th c tu n t hóa (serialized) c a m t k ho ch tri n khai b%t c ngu n tài nguyên b" sung khác M t k ho ch tri n khai ã tu n t hóa c ch a m t t p tin có tên config.ser t i th m c META-INF c a t p tin CAR Các t p tin CAR c t o b i m t trình c m thêm t o gói c a Geronimo cho Maven trình xây d ng Kho ch a c a Geronimo Kho ch a c a Geronimo n)i &ng ký c a t o tác th ng c t p h p l i d i d ng m t h th m c h th#ng t p tin B$n phân ph#i mã nh phân c a Geronimo cung c%p m t th m c có tên repository (kho ch a), ch a t%t c$ ph thu c cho mô- un, n n c a Geronimo lõi Trong Geronimo, m t t o tác m t thành ph n b%t k., ví d nh m t t p tin L u tr web (WAR), m t t p tin JAR, ho c m t t p tin CAR, c l u gi kho ch a c a Geronimo T o tác c l u gi ti n ích tri n khai dòng l nh ho c bàn i u n trang Web c a Geronimo web c cung c%p v i m t thao tác phân ph#i c a Geronimo T i v cài t Geronimo Hãy t$i v b$n n n Geronimo (Xem m c Tài nguyên), sau ó gi$i nén t p tin vào m t th m c, g i GERONIMO_HOME Sau Geronimo ã c cài t, b n m c a s" dòng l nh thay "i tên th m c thành th m c GERONIMO_HOME/bin sau ó ch y t p tin startup.sh Thao tác kh i ch y máy ch c a s" dòng l nh m i Khi máy ch ã kh i ng, b n s+ th%y m t hình t )ng t nh hình Hình C a s dòng l nh kh i ng c a Geronimo Xây d ng ng d ng hòa tr n phía máy ch v i Geronimo REST Page of 13 C a s" dòng l nh kh i ng cho th%y mô- un, u n#i ng d ng ã c n p c kh i ch y môi tr ng ch y c a Geronimo c thi t l p B n có th ng ng Geronimo ang ch y b ng cách s d ng k ch b$n l nh shutdown.sh, c/ng n m th m c GERONIMO_HOME\bin\ t i n)i cài t Geronimo c a b n Làm quen v i REST Representational State Transfer (REST) hay “chuy n giao tr ng thái i di n”, m t m u hình ki n trúc ph n m m m t ki u g i hàm truy c p c p nh t tài nguyên m ng Thu t ng REST, c nh c s d ng mô t$ vi c ngh a lu n án c a Roy Thomas Fielding (Xem m c Tài nguyên), th ng Xây d ng ng d ng hịa tr n phía máy ch v i Geronimo REST truy n d li u thông qua HTTP b ng cách s d ng yêu c u h i áp tiêu chu*n b i m t t p h p m c nh ph )ng th c c a HTTP nh : GET, POST, DELETE, PUT Page of 13 c nh ngh a Ki u ki n trúc c a REST yêu c u ta s d ng mã nh danh tài nguyên ng d ng (URIs) xác nh a i m truy c p i di n c a tài nguyên - chúng c g i tr ng thái i di n c a tài nguyên Các tr ng thái i di n có th c truy c p b ng cách s d ng m t t p h p h n ch ng t create, read, update, delete (CRUD) v i m t vài vi c b" sung thêm vào nh ng mà giao th c tiêu chu*n, ch(ng h n nh giao th c HTTP, ã cung c%p Các cu c trao "i d a n n REST c n ph$i phi tr ng thái, b ng cách ó ta làm cho tr thành m t nhân t# t o i u ki n thu n l i quan tr ng cho nh d ng d li u có ng ngh a ví d nh RSS, RDF, ngôn ng ng ngh a Web (Web Ontology Language - OWL) Atom Làm quen v i Google Maps Các API c a Google Maps cung c%p m t s# cách thao tác b$n ho c t o l%y b$n có th c nhúng vào m t trang Web 0i u quan tâm c a vi t kh$ n&ng mà API c a Google Maps cung c%p, cho phép l%y m t b$n d a m t xâu ký t bi u di n a i m Giao di n công c ng c a Google Maps Google Maps cung c%p API mà b n có th truy c p b ng cách s d ng yêu c u HTTP tiêu chu*n M1i yêu c u API ịi h'i m t khóa API mà b n c n ph$i có tr c ó Các API c a Google Maps h1 tr h i áp HTTP nh d ng d li u ki u KML GeoRSS S d ng API c a Google Maps b t u s d ng API c a Google Maps, tr c tiên b n ph$i &ng ký nh n c m t khóa API t trang mã c a Google Khóa mà b n nh n c s+ có hi u l c cho ch, m t tên mi n Web L y m t b n t Google Maps Google Maps cho bi t m t API, API cung c%p kh$ n&ng l%y m t bi u hi n (rendition) b$n s# hóa theo t a a lý th c (geo-coded) c a a i m ã cho l%y m t a i m thông tin khác v ng i s d ng, b n ch, c n th c hi n m t yêu c u HTTP GET tiêu chu*n b ng cách s d ng http://maps.google.com/maps/geo?q=Salt+Lake+City%2C+UT&output=xml&key={apikey} B n ph$i thay th {apikey} b ng khóa API mà Google c%p cho b n Ví d d i ây cho b n th%y cách s d ng API v i m t l nh curl m t c a s" dòng l nh (curl hay cURL vi t t t c a client URL, m t trình ti n ích có tham s# u vào m t URL, cho phép k t n#i giao ti p v i nhi u ki u máy ch khác v i giao th c khác nhau) , !! " 4'14' 4'7 6?@