Saturday, October 17, 2015




Như đã giới thiệu có hai cách để làm ứng dụng client-server đó là XML-RPCSOAP, chúng đều dựa vào cơ chế RPC và đóng gói/phân tích XML.
Trong bài viết này giới thiệu một phương pháp hoàn toàn khác biệt gọi là CORBAR.
Dưới đây là bảng so sánh giữa Web Services (XML-RPC, SOAP) với CORBAR:
Xem chi tiết tại đây.

Để build một hệ thống client-server chúng ta sử dụng thư viện omniORB.

1. Build omniORB
Thư viện phụ thuộc:
- openssl

Build omniORB-4.2.0 for host:
 yum install openssl-devel  
 yum install python-devel  
   
 ./configure --prefix=/path/to/install  
   
 make  
 make install  


Build omniORB-4.2.0 for board:
 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin   
 export CROSS=arm-none-linux-gnueabi-   
 export HOST=arm-none-linux-gnueabi  
   
 DEPEND_LIB_DIR=/path/to/dependent/install  
 export CFLAGS=-I${DEPEND_LIB_DIR}/include  
 export CPPFLAGS=-I${DEPEND_LIB_DIR}/include  
 export LDFLAGS=-L${DEPEND_LIB_DIR}/lib  
 export PKG_CONFIG_PATH=${DEPEND_LIB_DIR}/lib/pkgconfig  
 export LD_LIBRARY_PATH=${DEPEND_LIB_DIR}/lib  
 export PATH=$PATH:${DEPEND_LIB_DIR}/bin:${DEPEND_LIB_DIR}/sbin  
   
 ./configure --prefix=$PREFIX --host=${HOST} --build=x86_64-linux-gnu \  
 CC=${CROSS}gcc \  
 CXX=${CROSS}g++  
   
 "build cccp, cxx, omkdepend for host"  
 make CC=gcc -C src/tool/omniidl/cxx/cccp  
 make CXX=g++ -C src/tool/omniidl/cxx  
 make CC=gcc -C src/tool/omkdepend  
   
   
 "There are some small changes required in the omniORB build system:   
 Edit dir.mk file in following directories:"  
 src/appl/omniMapper/dir.mk  
 src/appl/omniNames/dir.mk  
 src/appl/utils/catior/dir.mk  
 src/appl/utils/convertior/dir.mk  
 src/appl/utils/genior/dir.mk  
 src/appl/utils/nameclt/dir.mk  
   
 @(libs="$(CORBA_LIB_NODYN)"; $(CXXExecutable))  
  ==> @(libs="$(CORBA_LIB_NODYN) -lstdc++"; $(CXXExecutable))   
   
   
 "cross"  
 make  
 make install  
   


































Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -