g# openstack4j 源码分析之入口
背景
去年有个整合多个openstack平台的项目,底层是华为、华3等不同平台的openstack环境,应用管理层为java。虽然各平台功能与原生openstack有所增加,但总体接口风格还是openstack的逻辑。由于openstack接口众多,一个个去适配接口的工作量巨大,所以决定基于openstack的java sdk来开发。对比了几种常见sdk,最后决定选用openstack4j来开发。
- Apache jclouds apache的开源sdk,大而全、杂,可以对接所有常见的云平台,文档较少,使用maven引入。
- openstack-java-sdk 由爱好者开发及维护的sdk,更新很慢,github的demo已经不能成功连接最新的openstack版本。
- openstack4j 官网资料、文档丰富,接口上手简单,更新快。
结构
openstack4j下面包含2个包,分别为:
connectors
实现了不同类型的http请求core
openstack4j核心包
而core下面又分了5个文件夹:api
openstack4j所有功能的接口common
公共父类model
sdk中用到的所有modelcore.transport
对于http请求的处理openstack
调用openstack的具体功能实现
入口
openstack4j的官网demo给出的入口是
OSClient.OSClientV3 os = OSFactory.builderV3()
.endpoint("http://127.0.0.1:5000/v3")
.credentials("admin", "secret", Identifier