草庐IT

API策略因何成为企业数字化转型的制胜法宝?

至顶网 2023-03-28 原文
对于那些想要彻底改变运营和产品的企业来说,应用编程接口(API)已经成为一个关键的数字化转型推动力,尤其是随着企业组织将越来越多的数据和应用迁移到云端。

以前API很大程度上被视为一种达到目的的技术手段,而现在API已经成为一个高级别的战略重点,开发、管理、维护和保护API资源,变成了技术领导者主要的考量因素和巨大挑战。

API不仅仅是通过提供应用和服务之间的通信来实现自动化的一个重要工具,现在还通过各种变现手段为企业提供了商业价值。

研究公司451 Research在2022年4月发布了一份关于API的报告称,随着数字化转型浪潮的到来,Web API经历了“指数级的增长,因为基于Web和移动端的集成产品日渐兴起,这需要跨不同产品共享越来越多的数据。”

该研究在2022年1月对来自不同行业的350家全球企业的IT专业人士进行了调查,调查显示,企业组织平均使用API的数量达到15564个,在过去12个月中增加了201%。

咨询公司Booz Allen Hamilton高级副总裁Scott Hanawait表示:“在定义一项API战略是否成功时,是不能‘一刀切’的。API的设计并不容易,每个项目都有独特的要求、不同的利益相关者、不同的能力、不同的期望结果。使用特定技术、架构风格或者对特定类型API的支持,并不能保证一定会取得成功。”

Hanawait认为,API的核心就是必须要解决一个真正的问题,并让这个解决方案也便于其他人使用。

专家提供了以下一些关于制定和维护一项成功API战略的关键要点:

定义数据所有权

数据协作联盟(Data Collaboration Alliance)一家致力于帮助组织和个人控制其信息以推进全球协作智能的非营利组织。该联盟的运营总监Chris McLellan表示,自20世纪40年代API概念兴起以来,API经历了广泛的创新。

“这就是为什么这种看似简单的技术,会在今天对几乎所有数字交互都如此重要的原因。然而,API从根本上讲是关于数据提取和访问的,而最后这一项功能在长达40年的时间里几乎没有任何变化和进展。我们仍然会对敏感数据进行无休止的复制,在这个过程中安全协议遭到破坏,合规性限制被打破,造成了一定的复杂性。”

API具有很大的访问权限和范围,但McLellan说,“这不应侵犯基本权利。大多数的数据属于特定的某一方,只能由合法所有者或者正式指定的临时保管人掌管。数据是一个组织最宝贵的资产,通过API等机制能够轻松访问数据并不会剥夺组织对数据的控制权。”

McLellan说,越来越多的API访问越来越多的应用和系统,从而获取越来越多的数据,这可能会给企业带来更多的业务,但肯定会增加成本和复杂性。“这就是为什么全方位的API策略不应仅限于交换数据的应用,将数据从用于创建和存储数据的应用中分离出来,并确保数据在这些系统之外的存在和丰富化,可以实现更强的数据控制和更好的数据治理。”

通过“去孤岛”进行简化

McLellan说,企业组织面临的最大挑战之一,就是数据管理环境的复杂性。

“无论是购买还是自己开发,如今企业通常会维护多达数百甚至数千个应用,每个应用都要存储数据,再加上无数的遗留数据库、一系列数据湖和仓库,以及数量不详的运营电子表格,这些数字正在快速增长。”

McLellan说,企业内许多基于应用的孤岛也在通过点对点数据集成的方式交换数据副本,很多CIO认为这是一种“创新税”,会给项目带来额外的“摩擦”。

“然而,通过API的战术性使用,制定打消孤岛的战略,也就是把这些孤岛连接到更安全和协作的环境中(例如数据结构和数据软件平台),让数据在全公司范围内都是可以使用的。一旦连接并实施保护措施,那么接下来就可以评估是否淘汰掉那些遗留的孤岛了,例如电子表格。”

市场研究公司Gartner最近将“数据框架”列入了Gartner 2022年顶级战略技术趋势列表中,McLellan认为,“其中一个原因,就是数据框架可以利用API连接那些来自遗留系统、数据存储和[人工智能/机器学习]工具的数据,并使其能够通过数据协作进行混合、扩展和升级。由此产生的‘升级’数据集,可用于支持新的分析、Web应用和自动化,而无需执行传统点对点的集成,”这可能在交付项目时节省数月的时间和高达数百万美元的资金。

支持包容的、协作式的创新

McLellan说,数据访问对于解决问题正变得越来越重要,业务用户也开始寻找方法,在受认可的数据治理和网络安全政策边界之外访问和使用组织数据。

McLellan说:“CIO对此的反应,不应该是要扼杀这种影子IT项目中固有的创造力和热情,而是要实现一种更加联合的创新方法,使用API,对于建立像数据框架这样的协作环境来说是至关重要的。”

在这些环境中,“从业务用户到数据科学家,每个人都可以并肩工作,处理真实的运营数据,创建可用于加速交付新解决方案的数据集和数据模型,包括Web应用、仪表板和自动化。”

Hanawait说,只有当用户知道有解决方案的时候,API才能有助于解决问题。“通过目录或开发者门户等方式,让API被人们发现,有助于防止组织内的重复性工作,并有助于向外部各方推行解决方案。”

Hanawait说,组织还需要为API消费者提供各种资源(最好是自助的方式)以取得成功,文档(包括入门指南)、人机可读的规范、模式信息等等,都有助于开发者了解API的执行方式。

建立“复用”的心态

全球咨询公司Capgemini Americas副总裁、云集成实践负责人Al Liubinskas表示,在制定API策略的时候,企业应该建立对象复用的思维方式和方法论。“这对于加快面市时间,降低为企业提供必要服务的交付成本来说,是至关重要的。”

例如,当Capgemini的餐饮客户需要在疫情期间快速采用不同的送货服务提供商,以应对市场上发生的巨大变化时,对象的重用,将极大地帮助他们支持这些业务目标,Liubinskas说。

“复用API以整合餐厅各项送货服务,以及整合本地和区域菜单服务,这对于我们的客户选择不同供应商来说是很重要的。通过多层重用,Capgemini能够利用完整的API可执行文件复用、源代码片段重用、API模式设计复用、以及集成模式设计复用。”

企业应该专注于利用预先存在的代码,“这将提高效率并降低成本,”Liubinskas说。

Pitney Bowes是一家邮寄和运输设备供应商,他们的策略一直是利用“框架式编码”,将可重复使用的代理资源存储在公司的源代码存储库中,以便在开发工作中重复使用。“通过这种方式,频繁重用的代理代码组件一次性编写、保存在一个地方进行维护,所有团队都能够从这种可复用的模式中受益,”公司执行副总裁、首席创新官James Fairweather说。

向外看

API不仅可以用来支持各种后台业务流程,还可以帮助实现各种外部服务,以增加业务价值或者增强客户体验。

除了推行复用模式之外,Pitney Bowes的API开发战略另一个主要目标,就是创建新的、面向外部的服务,让客户和合作伙伴都可以访问并集成到他们自己的应用和系统中。

Fairweather说:“关于API使用的元数据可能是一个有趣的信号来源,可用于采取措施进行预测或者纠正解决问题。API的使用模式和访问的数据,为增强客户体验创造了机会。”

例如,如果调用API追踪特定包裹的频率高出正常水平,则可能说明这个包裹如果晚到、甚至是丢失的话,对收件人是代价很高的,接下来“我们可以迅速采取行动,找到包裹,并与客户进行沟通,”Fairweather说。

有关API策略因何成为企业数字化转型的制胜法宝?的更多相关文章

  1. ruby-on-rails - ActionController::RoutingError: 未初始化常量 Api::V1::ApiController - 2

    我有用于控制用户任务的Rails5API项目,我有以下错误,但并非总是针对相同的Controller和路由。ActionController::RoutingError:uninitializedconstantApi::V1::ApiController我向您描述了一些我的项目,以更详细地解释错误。应用结构路线scopemodule:'api'donamespace:v1do#=>Loginroutesscopemodule:'login'domatch'login',to:'sessions#login',as:'login',via::postend#=>Teamroutessc

  2. ruby - 查找字符串中的内容类型(数字、日期、时间、字符串等) - 2

    我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s

  3. 区块链之加解密算法&数字证书 - 2

    目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非

  4. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  5. ruby-on-rails - Mandrill API 模板 - 2

    我正在使用Mandrill的RubyAPIGem并使用以下简单的测试模板:testastic按照Heroku指南中的示例,我有以下Ruby代码:require'mandrill'm=Mandrill::API.newrendered=m.templates.render'test-template',[{:header=>'someheadertext',:main_section=>'Themaincontentblock',:footer=>'asdf'}]mail(:to=>"JaysonLane",:subject=>"TestEmail")do|format|format.h

  6. ruby-on-rails - 在 Ruby (on Rails) 中使用 imgur API 获取图像 - 2

    我正在尝试使用Ruby2.0.0和Rails4.0.0提供的API从imgur中提取图像。我已尝试按照Ruby2.0.0文档中列出的各种方式构建http请求,但均无济于事。代码如下:require'net/http'require'net/https'defimgurheaders={"Authorization"=>"Client-ID"+my_client_id}path="/3/gallery/image/#{img_id}.json"uri=URI("https://api.imgur.com"+path)request,data=Net::HTTP::Get.new(path

  7. ruby-on-rails - 使用 HTTParty 的非常基本的 Rails 4.1 API 调用 - 2

    Rails相对较新。我正在尝试调用一个API,它应该向我返回一个唯一的URL。我的应用程序中捆绑了HTTParty。我已经创建了一个UniqueNumberController,并且我已经阅读了几个HTTParty指南,直到我想要什么,但也许我只是有点迷路,真的不知道该怎么做。基本上,我需要做的就是调用API,获取它返回的URL,然后将该URL插入到用户的数据库中。谁能给我指出正确的方向或与我分享一些代码? 最佳答案 假设API为JSON格式并返回如下数据:{"url":"http://example.com/unique-url"

  8. ruby-on-rails - 是否使用 API - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我的公司有一个巨大的数据库,该数据库接收来自多个来源的(许多)事件,用于监控和报告目的。到目前为止,数据中的每个新仪表板或图形都是一个新的Rails应用程序,在巨大的数据库中有额外的表,并且可以完全访问数据库内容。最近,有一个想法让外部(不是我们公司,而是姊妹公司)客户访问我们的数据,并且决定我们应该公开一个只读的RESTfulAPI来查询我们的数据。我的观点是-我们是否也应该为我们的自己

  9. ruby - 将n维数组的每个元素乘以Ruby中的数字 - 2

    在Ruby中,是否有一种简单的方法可以将n维数组中的每个元素乘以一个数字?这样:[1,2,3,4,5].multiplied_by2==[2,4,6,8,10]和[[1,2,3],[1,2,3]].multiplied_by2==[[2,4,6],[2,4,6]]?(很明显,我编写了multiplied_by函数以区别于*,它似乎连接了数组的多个副本,不幸的是这不是我需要的)。谢谢! 最佳答案 它的长格式等价物是:[1,2,3,4,5].collect{|n|n*2}其实并没有那么复杂。你总是可以使你的multiply_by方法:c

  10. ruby - Ruby 中的必应搜索 API - 2

    我读了"BingSearchAPI-QuickStart"但我不知道如何在Ruby中发出这个http请求(Weary)如何在Ruby中翻译“Stream_context_create()”?这是什么意思?"BingSearchAPI-QuickStart"我想使用RubySDK,但我发现那些已被弃用前(Rbing)https://github.com/mikedemers/rbing您知道Bing搜索API的最新包装器(仅限Web的结果)吗? 最佳答案 好吧,经过一个小时的挫折,我想出了一个办法来做到这一点。这段代码很糟糕,因为它是

随机推荐