English 中文(简体)
向现有领域规划无害环境技术资源的最佳做法
原标题:Best practices for mapping RESTful resources to existing domains
  • 时间:2011-03-15 01:07:20
  •  标签:
  • rest
  • dns

我们正在创造一些可再生能源服务,这些服务基本上将转机到一些以“老式”为基础的、以“SAP”为基础的网络服务。 SOAP的服务范围更广,将在整个组织(至少是该计划)使用。 可再生能源服务针对特定客户。 这项决定已经作出,不幸的是,我无法控制变革......

我们重新努力,如何以合理的方式来安排我们丰富的资源,遵循教育、科学和技术部的最佳做法,并把这些社会、文化权利委员会的服务称为“我们不会给自己造成多少痛苦”。

我们对后端服务的贪 gr程度有一些自由,但普遍共识是:保持 grain,不适应特定客户的需要。

这导致了一些令人感兴趣的问题。 例如,如何处理父母的子女资源。 我们一直努力的一个典型例子是:一个有儿童地址的客户。

我们有一个后端的SOAP服务,更新整个实体的客户。 然而,教育、科学和技术部的服务客户可能只需要更新账单。 我们如何以最佳方式处理儿童资源的后续更新?

难道我们应该在“父母”一级(客户)进行更新,还是暴露出一种更细微的学习技术行动,把地址作为资源对待,并以这种方式加以更新? 后者似乎是正确、明智的方式。 但是,如果我们这样做,我们就基本上只是要求提供粗略的背书服务,仅提供一次更新。 似乎没有什么意义,因为它带有很高的体重呼吁。

We re also struggling a bit with how to correlate RESTful resources with our back-end domain model. We might care about the RESTful resource as a single entity but in our domain on the back-end, it might be many different entities. We ve got a relatively simple DB table to handle this now, but I m not convinced it will scale out as we map more and more resources to domain objects.

这些只是我们重新点击的两例。 我不禁要问,任何人是否曾经历过类似问题,是否有建议的话,或能够向我指出某些可能的最佳做法的文章。

这似乎是一个异常的问题,随着越来越多的应用利用了无害环境技术的结构,这一点将变得更加重要,但我似乎无法找到任何其他信息。

感谢!

问题回答

我发现,大多数领域I模型非常容易地向教育、科学和技术部绘制地图。 最重要的事情是正确的心态。 REST模式领域作为一套资源,其中SOAP倾向于强调一套行动。 审视这一情况的另一个办法是,教育、科学和技术部重点关注国家和国家转型计划。 更简单地说,你可以认为,教育、科学和技术是“无”和“社会、文化权利国际公约”是“ver”。 我知道这只是一个完美的类比,但对我来说是有用的。

When you get into this state of mind the mapping should be almost automatic for you. Let s look at your Customer address interaction.

我并不认为,仅仅更新地址而更新整个客户是不适当的,但也许不熟悉你的领域。 如果你想与地址进行具体互动,就只会产生一个次级资源(或集中的资源)。 您最后对ur和ver进行以下测绘:

GET /customer/72/address    # return the address of customer with id 72
PUT /customer/72/address    # update the address of customer with id 72

在这种特殊情况下,对删除、制造或列出行动进行测绘可能没有意义。

如果你的客户收集了一些实体,请说有点点,那么你就可以规划这种互动:

GET     /customer/72/widgets        # return the widgets of customer with id 72
POST    /customer/72/widgets        # create a new widget for customer with id 72
GET     /customer/72/widgets/158    # return widget with id 158 of customer 72
PUT     /customer/72/widgets/158    # update widget with id 158 of customer 72
DELETE  /customer/72/widgets/158    # delete widget with id 158 of customer 72

正确的思想是正确的,并牢记地图打得一对一,你被罚款。

• 作为资源,对贵领域实体进行尝试和示范。 3. 将您的意见/使用案例作为资源加以示范。 在为特定客户建设资源方面没有任何错误。 教育、科学和技术部鼓励沉积的再使用,即意料的再使用,它并不建议你尝试和建设资源,以适应各种可能的情况。

有益的框架应当使资源真正廉价和迅速创造。 如果你需要五种不同的资源,以模拟客户接触的所有方式,那么这种方式就会被罚款。

In general I prefer to go with coarse grained resources, just because that is what HTTP is optimized for.





相关问题
Allow RESTful DELETE method in asp.net mvc?

im currently setting up asp.net to accept DELETE http verb in the application. However, when i send "DELETE /posts/delete/1" i always get a 405 Method not allow error. I tried to take a look at ...

Most appropriate API for URL shortening service

I ve just finished an online service for shortening URLs (in php5 with Zend Framework); you can enter an URL and you get an short URL (like tinyurl and such sites). I m thinking about the API for ...

Use HTTPClient or HttpUrlConnection? [closed]

We re implementing a REST client on JRE 1.4. Seems two good options for a client REST framework are HttpClient and HttpUrlConnection. Is there a reason to use HttpClient over the JRE s ...

Why can t I find the truststore for an SSL handshake?

I m using the Spring RESTTemplate on the client side to make calls to a REST endpoint. The client in this case is a Spring app and Tomcat is the servlet container. I m running into issues making a ...

Which Http redirects status code to use?

friendfeed.com uses 302. bit.ly uses 301. I had decided to use 303. Do they behave differently in terms of support by browsers ?

Three Step Buyonline The RESTful way

We are re-developing our buyonline functionality and we are doing it the RESTful way. The process is a three step one and the customer is asked to enter data at each step. Let s say the three URL s ...

热门标签