openstack4j 源码分析(一) 入口

本文介绍了在java中使用openstack4j SDK作为入口进行openstack操作的原因,并详细分析了SDK的结构,特别是OSFactory、OSClientBuilder和OSClient的角色。通过建造者模式构建认证信息,工厂模式处理不同版本的认证,降低了代码耦合,方便扩展。文章以华为、华3平台为例,展示了如何利用这些设计模式简化不同认证方式的适配工作。
摘要由CSDN通过智能技术生成

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个文件夹:
  • apiopenstack4j所有功能的接口
  • common 公共父类
  • model sdk中用到的所有model
  • core.transport 对于http请求的处理
  • openstack 调用openstack的具体功能实现

入口

openstack4j的官网demo给出的入口是

OSClient.OSClientV3 os = OSFactory.builderV3()
                  .endpoint("http://127.0.0.1:5000/v3")
                  .credentials("admin", "secret", Identifier
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值