快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

和记娱乐和记怡情AG:使用PHP开发SCA和SDO



由开放的面向办事架构联合组织(OSOA)提议的,面向组件的架构(SCA)和办事数据工具(SDO)已经成为了开拓面向办事的架构的最新措施。开始时这些开拓只是集中在一些通用的开拓情况中,如Java和C++,今朝SCA和SDO已经开始进入到其他一些平台,在这里我们将解说若何在PHP上包孕一些SOA技巧。

首先我们看看SDO能供给给你什么。在一个范例的PHP利用中,数据一半来自关系数据库,然则假如这个利用法度榜样后来不仅仅只是从这儿获取数据,而是从一个通俗文本文件或者Web办事中获取数据呢?这个问题很繁杂,由于每种数据源都邑要求有自己的获取要领。

在这种环境下,PHP中SDO供给了一种处置惩罚数据源的透明要领。它不是零丁的处置惩罚每种数据源,而是供给了一种统一的造访数据工具的要领。这种历程是经由过程数据造访办事(DAS)来完成的,它是SDO架构上的一种中介要领。让我们看看一个PHP中的SDO哀求。

<?php

$providers = $company->shippingByGround;

foreach ($providers as $name => $value) {

echo "$name: $valuen";

}

?>

留意着末的哀求是若何处置惩罚未知的数据源的,你不知道这里数据是从哪里提取来的,只是应用了PHP的SDO款式来做一个查找,而细节是由DAS完成的,PHP今朝能够支持获取XML和关系数据库的数据源。

SDO关心的是数据,而SCA应用了加倍通用的类和组件来完成同样的透明要领。从任何PHP类中造访已有的营业逻辑必要强制开拓者来环抱一类特定的假设来做设计吗:逻辑是否已在别的一个本地PHP类中?是否在收集中存在了?是应用PHP编写的吗?

当以上提到的场景在各自的要求中是可满意的话,那么每个都必要应用不合的措施处置惩罚。

应用SCA要领,逻辑在哪里寄放就无关紧要了,更不要提应用何种说话来实现。那你必然会说:“这不是和一个通俗的Web Service差不多么?没什么不合啊!”那么我们举个例子来看看PHP SCA组件里包孕了什么。

<?php

include "SCA/SCA.php";

/**

* Calculate a shipment price for a given customer using a specific provider

*

* @service

*/

class ShipmentQuote {

/**

* The customer discount fee service to use.

*

* @reference

* @binding.php ../DiscountFeeRate/Discoun和记娱乐和记怡情AGtFeeRate.php

*/

public $disco和记娱乐和记怡情AGuntFee;

/**

* The shipping service to use.

*

* @reference

* @binding.wsdl ../Shipper/ShipperQuote.wsdl

*/

public $shipper;

/**

* Get a quote for a given customer using a specific provider

*

* @param string $shipping The shipping company

* @param string $customer The customer requiring shipment, in order to 和记娱乐和记怡情AGobtain discount rate

* @return float The quote for a given customer using a certain shipping provider.

*/

function getQuote($shippingCo, $customer)

{

$rateShip = $this->shipper->getShippingPrice($shippingCo);

$rate = $this->discountFee->getDiscountRate($customer);

return $rate * $rateShip;

}

}

?>

上文中最关键的便是包孕@的语句部分,它们每个都供给了一种特定的SCA行径。最上层的@service标识,表示裸露一个类作为办事。在这个例子里,着末的getQuote函数将会是办事裸露的独一操作,经由过程应用@param和@return标识。

这个着末的办事和记娱乐和记怡情AG的履行或者支配——将会被委托为一个PHP SCA运行时——将会将我们带入一个创建WSDL条约的造访点,就像你可以在收集办事中看到的那样。除了这种支配办事的要领的简单性以外,SCA模型的真实上风将会在你反省getQuote代码时更加表现的显着。

留意到两个语句$this-<shipper->getShipp和记娱乐和记怡情AGingPrice($shippingCo)和$this->discountFee->getDiscountRate($customer),它们是基于类中前面的利用。每个利用被其支撑办事锁支持(由@reference和@binding标识来详细操作)在$discountFee用例中,这将是一个PHP类,而在shipper的用例中,这将是一个标准的WSDL根基的办事。

只管PHP的简单和大年夜量用户群体的支持使得它成为构建web利用的一个好的选择,然则它在企业利用的很多场景中能力有限,现在经由过程增添SCA和SDO,供给了对PHP和以往技巧的强力支持,它也和其他主流说话一样,可以介入到面向办事的潮流中了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: