- Back to Home »
- Networking »
- CORBAR
Saturday, October 17, 2015
Như đã giới thiệu có hai cách để làm ứng dụng client-server đó là XML-RPC và SOAP, 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