GiớithiệuSpringRoo,Phần4: Phát triểnứngdụng
nhanh trongđámmây với SpringRoovàCloud
Foundry
Nền tảng là một dịch vụ là gì?
Nền tảng là một dịch vụ (PaaS) là một trong các tầng của Điện toán đám mây. Các tầng khác bao
gồm phần mềm là một dịch vụ (SaaS) và cơ sở hạ tầng là một dịch vụ (IaaS). PaaS ở giữa SaaS
và IaaS, cung cấp sự trừu tượng hóa trên cơ sở hạ tầng và cung cấp một nền tảng điện toán và
một ngăn xếp giải pháp.
Hình 1. Nền tảng là một dịch vụ: Trung tâm chiến lược của kiến trúc điện toán-đám mây
PaaS phù hợp với cả doanh nghiệp lẫn các nhà pháttriển chuyên nghiệp. Các nhà pháttriển kinh
doanh, những người không viết mã, có thể sử dụng các nền tảng như WaveMaker để pháttriển
các ứngdụng của họ với các thành phần kéo và thả còn các nhà pháttriển chuyên nghiệp có thể
sử dụng các nền tảng như Google App Engine để xây dựngvàtriển khai các ứngdụng web. PaaS
cung cấp các phương tiện để hỗ trợ các vòng đời từ đầu đến cuối về xây dựngvàphân phối các
ứng dụngvà các dịch vụ web. Một số các nhà cung cấp dịch vụ PaaS chủ yếu là Google App
Engine cho Java™ và Python, Microsoft® Azure cho .Net và Java và Force.com.
Đến năm 2010, PaaS vẫn chưa pháttriển ở tốc độ tương tự như SaaS và IaaS, có thể là do những
hạn chế bị áp đặt bởi các giải pháp PaaS hiện có. Chúng ta hãy xem xét các vấn đề với PaaS hiện
có, mà các nền tảng PaaS thế hệ kế tiếp như CloudFoundry cần giải quyết các vấn đề đó.
Các vấn đề với các giải pháp PaaS hiện có
Sự lệ thuộc vào Nhà cung cấp (thiếu tính di động đám mây): Đã không cung cấp tùy
chọn nào cho một nhà pháttriển hoặc một tổ chức để di chuyển từ một đámmây này sang
một đámmây khác. Ví dụ, nếu một nhà pháttriển đã chọn Google App Engine, sau đó họ
vẫn phải tiếp tục dùng Google App Engine trừ khi ứngdụng bị xóa bằng giao diện điều
khiển Google App Engine và các ứngdụng hiện có được sửa đổi theo nhà cung cấp dịch
vụ đámmây mới. Sau đó ứngdụng này phải được triển khai ở đó.
Chỉ dành cho triển khai vào đámmây công cộng: Hầu hết các giải pháp PaaS hiện có
chỉ nhắm vào đámmây công cộng, dẫn đến nhiều doanh nghiệp không di chuyển sang
PaaS. Có rất nhiều doanh nghiệp sẽ không bao giờ di chuyển sang đámmây công cộng và
họ đã không được cung cấp sự lựa chọn nào khác để thiết lập đámmây riêng trên cơ sở
hạ tầng của họ hoặc sử dụng một sự kết hợp của các đámmây riêng và công cộng.
Cách suy nghĩ trì trệ: Các nhà pháttriển phải thay đổi cách suy nghĩ của họ để xây dựng
các ứngdụng trên đámmây công cộng. Trước đây, Google App Engine đã không cung
cấp tùy chọn về các cơ sở dữ liệu quan hệ. Ứngdụng phải được mã hóa dựa vào
BigTable, mà nó đòi hỏi một sự thay đổi về cách suy nghĩ trước khi việc xây dựng bắt
đầu và có một đường cong học tập được liên kết với nó. Nhà pháttriển có thể lấy một tệp
WAR của ứngdụngvàtriển khai vào đámmây mà không cần bất kỳ sửa đổi nào.
Hỗ trợ cho các khung công tác xuống cấp: Hiện nay, các nhà lập trình Java sử dụng các
khung công tác và hầu như 100% sự hỗ trợ của khung công tác đều mở đầu khó khăn khi
viết các ứng dụng. Việc sử dụng Google App Engine để xây dựng một ứngdụng đơn giản
bằng cách sử dụng bất kỳ khung công tác phổ biến nào như Spring hoặc Struts đã đòi hỏi
một số nỗ lực rất lớn trước khi sử dụng khung công tác đó.
Gắn chặt vào một môi trường cụ thể: Dịch vụ PaaS hiện có bị gắn chặt vào các môi
trường cụ thể chẳng hạn như Java và Python khi sử dụng BigTable như là phần phụ trợ
cho Google App Engine, .Net và Java khi sử dụng cơ sở dữ liệu SQL Azure với
Microsoft Azure hoặc Java với Amazon Beanstalk. Việc sử dụng bất kỳ các PaaS này cần
phải tồn tại được chỉ trong môi trường đó.
Không có nguồn mở: Không có các giải pháp PaaS hiện có nào là nguồn mở, làm cho
các nhà pháttriển khó phânnhánh mã và bổ sung sự hỗ trợ cho các tính năng mới để chia
sẻ với cộng đồng. Một yếu tố hấp dẫn của CloudFoundry là tính chất nguồn mở của nó,
cho phép các nhà pháttriển bên ngoài tổ chức mẹ có được một vai trò quan trọngtrong
sự thành công của nó.
2011 - năm của PaaS
Gartner đã nói rằng năm 2011 sẽ là năm của nền tảng là một dịch vụ. Điều này là do số lượng
lớn các dịch vụ PaaS mới sẽ được các nhà cung cấp phần mềm doanh nghiệp hàng đầu giới thiệu.
Một số dịch vụ PaaS được khởi chạy năm nay là CloudFoundry của VMWare, OpenShift của
RedHat, CloudBees và DotCloud. (Xem phần Tài nguyên để biết thêm thông tin về tất cả các
dịch vụ này). Các dịch vụ PaaS mới không bị hạn chế vào một ngôn ngữ hoặc khung công tác
duy nhất nào. Bây giờ PaaS thực sự đang trở thành một nền tảng hỗ trợ xây dựng các ứngdụng
bằng cách sử dụng nhiều ngôn ngữ và khung công tác. Các dịch vụ PaaS như CloudFoundry đã
đạt tới mức tiếp theo trên con đường hỗ trợ nhiều đám mây, mà chúng ta sẽ thảo luận sau trong
bài này. Những thay đổi này cũng sẽ thúc đẩy các giải pháp PaaS hiện có trở thành nhiều-khung
công tác. Phần sau sẽ tập trung vào Cloud Foundry, vì phần còn lại của các dịch vụ PaaS không
nằm trong phạm vi của bài này.
Về đầu trang
Cloud Foundry là gì?
Vào tháng 4 năm 2011, VMware đã tiết lộ một nền tảng mở là một dịch vụ gọi là Cloud
Foundry. CloudFoundry là dịch vụ nhiều-ngôn ngữ, nhiều-khung công tác, nhiều-ứng dụngvà
nền tảng nguồn mở nhiều-đám mây. Nó đang cố gắng giải quyết tất cả các vấn đề được liệt kê
trước đây cho các giải pháp PaaS hiện có. Các nhà pháttriểnvà các tổ chức có thể sử dụng
Cloud Foundry như là đích triển khai, đó là, triển khai một đámmây công cộng do Cloud
Foundry cung cấp, hoặc có thể sử dụng nó như là một tầng cho phép triển khai theo một sự lựa
chọn đám mây, cả công cộng lẫn riêng tư. Ba đặc điểm chính của CloudFoundry là:
1. Lựa chọn ở tất cả các tầng: Trong một phạm vi riêng lẻ, CloudFoundry là một tùy chọn
cung cấp-PaaS. Các lựa chọn được cung cấp cho các nhà pháttriển không bị giới hạn vào
các ngôn ngữ lập trình, nhưng tồn tại ở tất cả các tầng (các dịch vụ vàđám mây). Cloud
Foundry được mô tả tốt nhất bằng biểu đồ trong Hình 2.
Hình 2. Các lựa chọn CloudFoundry
Trong Hình 2 bạn có thể thấy các lựa chọn ở tất cả ba đỉnh của một tam giác. Đỉnh đầu
tiên dành cho các ngôn ngữ/thời gian chạy và các khung công tác. Hiện nay, Cloud
Foundry hỗ trợ các ngôn ngữ Java, Groovy, Scala, Ruby và Node.js. Các khung công tác
được hỗ trợ cho các ngôn ngữ này là Rails3, Grails, Node, Sinatra, Lift và Spring. Đỉnh
thứ hai tương ứngvới các dịch vụ ứngdụng cho các dịch vụ có sẵn, dùng ngay được như
MySQL (Relational Database - Cơ sở dữ liệu quan hệ), Redis (Kho dữ liệu giá trị khóa)
và MongoDB (kho dữ liệu tài liệu). Sự hỗ trợ cho RabbitMQ và các dịch vụ khác sẽ có
sớm. CloudFoundry đang cung cấp cho các nhà pháttriển sự lựa chọn để làm việc với
các cơ sở dữ liệu SQL hoặc NoSQL. Các cơ sở dữ liệu đó, bị giới hạn theo MySQL và
Java, không phải tìm hiểu bất cứ thứ gì mới và có thể sử dụng kiến thức hiện có để xây
dựng một ứngdụng hoặc triển khai một ứngdụng hiện có. Đỉnh thứ ba cho thấy sự lựa
chọn các đám mây. CloudFoundry có thể được triển khai trên một đámmây công cộng
như một đámmây hiện có sẵn trên cloudfoundry.com hoặc bằng cách triển khai Cloud
Foundry trên IaaS như Amazon EC2. Bạn cũng có thể tải về vàtriển khai CloudFoundry
trên đámmây riêng của tổ chức của bạn hoặc một nhà pháttriển có thể cài đặt Cloud
Foundry trên một máy tính xách tay để sử dụng một đámmây vi mô hay đámmây của
nhà phát triển.
2. Nguồn mở: CloudFoundry là một dự án mã nguồn mở có sẵn trên Github (xem phần Tài
nguyên). Các nhà pháttriển có thể phânnhánh dự án Cloud Foundry, bổ sung sự hỗ trợ
cho các tính năng mới hoặc sửa chữa các vấn đề hiện có và đóng góp trở lại cho dự án.
Một công ty có tên là ActiveState đã xây dựng nền tảng đámmây riêng của mình cho
Python và Perl trên CloudFoundry (xem phần Tài nguyên). Điều này chỉ có thể thực hiện
được do CloudFoundry là một dự án nguồn mở và các nhà pháttriển có thể bổ sung
nhiều dịch vụ hơn hoặc hỗ trợ ngôn ngữ cho nó.
3. Tính di động của đám mây: Vì CloudFoundry là một dự án mã nguồn mở, nên các nhà
phát triển hoặc các tổ chức có quyền tự do chạy CloudFoundry ở bất cứ nơi nào họ
muốn. RightScale đã cho thấy rằng CloudFoundry có thể chạy trên Amazon EC2 (xem
phần Tài nguyên). Các nhà pháttriển hoặc các tổ chức, không muốn sử dụngđámmây
công cộng CloudFoundry mặc định, có thể chuyển sang một dịch vụ đámmây khác của
Cloud Foundry.
Về đầu trang
Bắt đầu vớiCloudFoundry
Đám mây công cộng CloudFoundry được cung cấp là một dịch vụ miễn phí tại
http://www.cloudfoundry.com/. Dịch vụ này hiện đang là bản beta. Những ai chưa có giấy phép
Cloud Foundry sẽ phải đăng ký một tài khoản trước khi bắt đầu vớiđámmây công cộng Cloud
Foundry. Để nhận được giấy phép của CloudFoundry thường mất vài ngày. Đámmây công cộng
này hiện đang chạy trên hệ điều hành đámmây VMWare vSphere. Để bắt đầu trước khi nhận
được giấy phép, hãy thiết lập một đámmây trên một máy tính cá nhân bằng cách tải về và cài đặt
Cloud Foundry.
Khi nhận được giấy phép Cloud Foundry, có ba cách để tương tác với nó. Tất cả các máy khách
tương tác với API REST đều được CloudFoundry trưng ra. Các dịch vụ web REST này là tải dữ
liệu (payload) json đơn giản trên giao thức HTTP.
1. Máy khách dòng lệnh VMC (VMC Command-line client): VMC là một ruby gem cung
cấp truy cập vào CloudFoundry thông qua dòng lệnh. (ND: ruby gem là chương trình
dùng để quản lý (cài đặt, bỏ cài đặt, cập nhật ) các thư viện cho Ruby). Nó được sử dụng
để triển khai các ứngdụng đã tạo ra bằng cách sử dụng tất cả các ngôn ngữ. Hãy tải nó từ
http://rubygems.org/gems/vmc.
2. Bộ dụng cụ Spring Source (Spring Eclipse IDE hoặc STS): STS là chế độ thứ hai để
kết nối vớiCloud Foundry. STS là một IDE dựa trên Eclipse được đóng gói kèm theo
nhiều goodies của Spring. Để tìm hiểu thêm về STS, hãy tham khảo một thẻ tham khảo
thú vị được công bố trên dzone. Việc cài đặt một trình cắm thêm là cần thiết để truy cập
Cloud Foundry. Từ bên trong IDE, bạn có thể thực hiện tất cả việc xây dựng, kiểm tra và
triển khai vào một đám mây. Điều đó thực sự thú vị! Hãy đọc thêm về nó từ một blog của
nhóm SpringSource.
3. Phần bổ sung CloudFoundry của Spring Roo: Ứngdụng này có thể được triển khai từ
bên trong trình vỏ Roo bằng cách sử dụngphần bổ sung CloudFoundry của Spring Roo.
Đối với những người hâm mộ trình vỏ Roo,phần bổ sung này có nghĩa là chúng ta có thể
xây dựngvàtriển khai từ bên trong trình vỏ Roo. Trình vỏ Roo còn cung cấp một lợi thế
khác là hoàn thành bằng phím tab. Thêm một vài chữ cái vào lệnh đó và nhấn phím tab
và trình vỏ Roo sẽ hoàn thành lệnh đó.
Bây giờ chúng ta hãy thảo luận cách các nhà pháttriển Java có thể truy cập CloudFoundry qua
Spring Roo. Chúng ta sẽ triển khai ứngdụng đã tạo ra trong hai bài đầu tiên vớiCloud Foundry.
Về đầu trang
Tích hợp CloudFoundry của SpringRoo
Spring Roo cung cấp sự hỗ trợ cho CloudFoundry dưới dạng một phần bổ sung. Các phần bổ
sung là một cơ chế mà theo đó SpringRoo cung cấp sự hỗ trợ cho các tính năng mới.
Các điều kiện tiên quyết
Để triển khai ứngdụng đầu tiên của bạn vớiSpringRoo trên Cloud Foundry, hãy làm theo các
bước sau:
1. Nếu SpringRoo chưa được cài đặt trên máy tính của bạn, xin vui lòng tham khảo bài
Phần 1 để bắt đầu vớiSpring Roo. Tôi đang sử dụng phiên bản mới nhất của bản phát
hành 1.1.5 của SpringRoo (Spring Roo 1.1.5.RELEASE).
2. Tải về mã nguồn của ứngdụng hội nghị, xem phần Tải về. Đây là một ứngdụng giống
như ứngdụng được pháttriểntrong hai bài đầu tiên. Ứngdụng này hiện đang sử dụng
HSQLDB làm cơ sở dữ liệu. Chúng ta sẽ chuyển ứngdụng này sang cơ sở dữ liệu
MySQL sau.
Triển khai ứngdụng HSQLDB đơn giản trên CloudFoundry
Khi môi trường pháttriển đã sẵn sàng, hãy triển khai ứngdụng hội nghị. Ứngdụng hội nghị đã
tải về sử dụng HSQLDB làm cơ sở dữ liệu của nó. Để triển khai ứngdụng này vào Cloud
Foundry, hãy làm theo các bước sau:
1. Giải nén tệp conference.zip đến một vị trí phù hợp.
2. Từ dòng lệnh, chuyển đến vị trí nơi conference.zip đã được giải nén.
3. Xây dựng dự án bằng cách gõ lệnh mvn clean install trên dòng lệnh.
4. Khi đã ở trong thư mục conference, thực hiện lệnh Roo để tải trình vỏ.
5. Trước khi triển khai ứngdụng trên Cloud Foundry, hãy cài đặt phần bổ sung Cloud
Foundry, mà phần bổ sung này sẽ cung cấp các lệnh để thực hiện các hoạt động trên
Cloud Foundry. Để cài đặt phần bổ sung Cloud Foundry, hãy gõ các lệnh sau vào trình vỏ
Roo:
roo> pgp automatic trust
roo> addon install bundle bundleSymbolicName
org.springframework.roo.addon.cloud.foundry;1.1.5.RELEASE
Lệnh đầu tiên nói cho SpringRoo biết để tự động dựa vào tất cả các khóa pgp sao cho tất
cả các phần bổ sung cần thiết được cài đặt mà không cần phải dựa vào các khóa tin cậy
riêng. Lệnh thứ hai cài đặt phần bổ sung CloudFoundry phiên bản 1.1.5 RELEASE.
Lệnh này sẽ mất vài phút để hoàn thành, do đó xin hãy kiên nhẫn chờ đợi.
6. Sau khi cài đặt xong phần bổ sung, cần đăng nhập vào CloudFoundry trước khi có thể
thực hiện các hoạt động. Để đăng nhập vào Cloud Foundry, hãy gõ lệnh sau vào trình vỏ
Roo:
roo> cloudfoundry login email shekhargulati84@gmail.com password
******
cloudControllerUrl http://api.cloudfoundry.com
7.
8. Lệnh đăng nhập cloudfoundry có ba tùy chọn – email (thư điện tử), password (mật khẩu)
và cloudControllerUrl. Trong số này, email và password là bắt buộc. Giá trị
cloudControllerUrl mặc định cho đámmây công cộng CloudFoundry tại địa chỉ
http://api.cloudfoundry.com. Để triển khai đámmây vi mô hay đámmây ở bất cứ nơi nào
khác, cần phải trỏ đến URL đó.
9. Để xem tất cả các lệnh có sẵn để truy cập Cloud Foundry, hãy viết cloudfoundryvà nhấn
phím tab để thấy tất cả các lệnh.
roo> cloudfoundry <Press Tab>
cloudfoundry bind cloudfoundry clear cloudfoundry
create
cloudfoundry delete cloudfoundry deploy cloudfoundry files
cloud foundry info cloudfoundry list cloudfoundry login
cloudfoundry map cloudfoundry restart cloudfoundry start
clo
ud foundry stop cloudfoundry unbind cloudfoundry unmap
cloudfoundry update cloudfoundry view
10.
11. Để xem thông tin liên quan đến cá thể CloudFoundry của bạn, hãy gõ lệnh info như được
hiển thị dưới đây. Lệnh này hiển thị thông tin về việc sử dụng bộ nhớ, số lượng các ứng
dụng được triển khai trên CloudFoundryvà số lượng dịch vụ đang chạy. Nó cũng cho
thấy các giá trị được cấp phát tối đa, đó là, bộ nhớ tối đa là 2GB.
roo> cloudfoundry info
VMware's Cloud Application Platform
For support visit support@cloudfoundry.com
Target: http://api.cloudfoundry.com (0.999)
User: shekhargulati84@gmail.com
Usage: Memory (0MB of 2048MB total)
Services (0 of 16 total)
Apps (0 of 20 total)
12.
13. Tiếp theo, hãy triển khai ứngdụng bằng cách gõ lệnh cloudfoundry deploy (triển khai
cloud foundry). Lệnh này đòi hỏi hai thuộc tính AppName (Tên ứng dụng) và path
(đường dẫn). Thuộc tính AppName biểu diễn tên của ứngdụngvà thuộc tính path biểu
diễn đường dẫn đến tệp WAR. Không cần phải nhập đường dẫn. Chỉ cần nhấn phím tab
sau đường dẫn vàSpringRoo sẽ tìm ra đường dẫn đó cho bạn. Có ba thuộc tính không
bắt buộc – instances (các cá thể), memory (bộ nhớ) và các url. Theo mặc định, chỉ có một
cá thể của ứngdụng được khởi chạy, nhưng có thể triển khai nhiều cá thể của ứngdụng
bằng cách chỉ rõ ứngdụng đó khi sử dụng thuộc tính instances. Bộ nhớ mặc định được
cấp cho một cá thể bằng 256MB. Để thay đổi thuộc tính này, hãy sử dụng thuộc tính
memory tại thời điểm triển khai. Có thể sử dụng thuộc tính các URL để quy định các
URL được ánh xạ tới ứng dụng. Theo mặc định URL sẽ là <Application Name>.
Cloudfoundry.com, có nghĩa là conference.cloudfoundry.com vớiứngdụng của chúng ta.
Hãy gõ lệnh sau để triển khai ứngdụng hội nghị.
roo> cloudfoundry deploy
appName conference path /target/conference-0.1.0.BUILD-
SNAPSHOT.war
14.
15. Thuộc tính path có thể có giá trị CREATE, mà giá trị này sẽ phụ thuộc vào liệu dự án đã
được xây dựng bằng cách sử dụng Maven chưa. Nếu dự án đã được xây dựng, như trong
trường hợp của tôi, bạn sẽ thấy đường dẫn của tệp war. Nếu không, bạn thấy sẽ
CREATE, mà đầu tiên nó sẽ xây dựng dự án và sau đó triển khai ứng dụng.
16. Ứngdụngtriển khai vẫn chưa khởi động. Khởi động ứngdụng bằng cách sử dụng lệnh
start (khởi động) như dưới đây.
cloudfoundry start app appName conference
17. Bạn có thể xem ứngdụng đang chạy ở http://conference.cloudfoundry.com/
Chuyển sang sản xuất: Thay thế HSQLDB bằng cơ sở dữ liệu MySQL
Thật dễ chuyển đổi từ HSQLDB cho một môi trường cục bộ sang cơ sở dữ liệu MySQL trong
sản xuất. Đầu tiên, thay đổi kho lưu trữ tồn tại bền vững từ HSQLDB sang MySQL bằng cách sử
dụng trình vỏ Roovà sau đó tạo ra một dịch vụ MySQL bằng cách sử dụngphần bổ sung Cloud
Foundry và kết buộc dịch vụ này vớiứng dụng. Không cần thay đổi mã; thay đổi duy nhất sẽ xảy
ra ở cấu hình. Thậm chí không cần có cơ sở dữ liệu MySQL trên máy tính này do việc kiểm tra
được thực hiện trực tiếp trên đám mây. CloudFoundry cảm thấy nhẹ như đang pháttriển trên
một máy tính của nhà pháttriển nội bộ.
1. Mở trình vỏ Roovà thay đổi kho lưu trữ tồn tại bền vững từ HSQDB sang MySQL bằng
cách gõ lệnh sau trên trình vỏ.
persistence setup database MYSQL provider HIBERNATE
Lệnh này sẽ cập nhật pom.xml, database.properties, persistence.xml để trỏ đến cấu hình
liên quan MySQL.
2. Mở một dòng lệnh khác và thực hiện lệnh mvn clean install -Dmaven.test.skip=true trong
thư mục gốc. Xin lưu ý rằng tôi đang bỏ qua các bài kiểm tra vì tôi không có cơ sở dữ
liệu MySQL cho các ứngdụng hội nghị của mình.
3. Sau khi xây dựng thành công, ứngdụng đã sẵn sàng để được triển khai. Tuy nhiên, trước
khi triển khai, xin vui lòng xóa ứngdụng để chúng ta có thể tạo ra một dịch vụ MySQL
cho ứngdụng của mình vàtriển khai lại một ứngdụng mới. Không cần xóa ứngdụng
mỗi khi bạn thực hiện các thay đổi vì bạn cũng có thể sử dụng lệnh cập nhật để cập nhật
việc triển khai.
cloudfoundry delete app appName conference
4. Bây giờ chúng ta sẽ triển khai tệp war vừa mới được tạo ra của mình, có cấu hình đặc
trưng MySQL.
cloudfoundry deploy appName conference path
/target/conference-0.1.0.BUILD- SNAPSHOT.war memory 512MB
5. Lệnh trên đã triển khai ứngdụng nhưng cá thể ứngdụng vẫn chưa khởi động. Vì vậy,
trước khi chúng ta khởi động ứng dụng, chúng ta cần tạo ra một dịch vụ MySQL và gắn
nó vào dịch vụ của mình. Để tạo ra một dịch vụ mới, chúng ta sẽ sử dụng lệnh dịch vụ tạo
Cloud Foundryvà sẽ cung cấp cho nó ServiceName (Tên dịch vụ) và serviceType (Kiểu
dịch vụ). ServiceType có thể là MySQL, MongoDB, hoặc Redis.
cloudfoundry create service serviceName conference-db
serviceType
mysql
6.
7. Sau khi tạo dịch vụ chúng ta có thể kết buộc dịch vụ bằng cách sử dụng lệnh bind service
(kết buộc dịch vụ). Lệnh bind service bảo đảm rằng phụ thuộc của nguồn dữ liệu MySQL
được đáp ứngtrongđám mây. Việc này cũng được gọi là nội xạ phụ thuộc trongđám
mây.
cloudfoundry bind service appName conference serviceName
conference-db
8.
Chúng ta cũng có thể tránh không dùng lệnh bind service bằng cách quy định thuộc tính
appName của lệnh create service.
cloudfoundry create service serviceName conference-db
serviceType
mysql
appName conference
9.
10. Bây giờ bạn có thể khởi động ứngdụng hội nghị bằng lệnh start. Ứngdụng sẽ có sẵn tại
http://conference.cloudfoundry.com/
cloudfoundry start app appName conference
11.
12. Cuối cùng, xem danh sách các ứngdụngvà các dịch vụ bằng cách thực hiện các lệnh list
apps (danh sách các ứng dụng) và list services (danh sách các dịch vụ) của Cloud
Foundry như sau.
roo> cloudfoundry list apps
================================= Applications
=================================
Name Status Instances Services URLs
conference STARTED 1 conference-db conference.cloudfoundry.com
roo> cloudfoundry list services
================== System Services ===================
Service Version Description
mongodb 1.8 MongoDB NoSQL store
redis 2.2 Redis key-value store service
mysql 5.1 MySQL database service
= Provisioned Services =
Name Service
conference-db mysql
. Giới thiệu Spring Roo, Phần 4: Phát triển ứng dụng nhanh trong đám mây với Spring Roo và Cloud Foundry Nền tảng là một dịch vụ là gì? Nền tảng là một dịch vụ (PaaS) là một trong các. create cloud foundry delete cloud foundry deploy cloud foundry files cloud foundry info cloud foundry list cloud foundry login cloud foundry map cloud foundry restart cloud foundry. nhà phát triển Java có thể truy cập Cloud Foundry qua Spring Roo. Chúng ta sẽ triển khai ứng dụng đã tạo ra trong hai bài đầu tiên với Cloud Foundry. Về đầu trang Tích hợp Cloud Foundry của Spring