在面向服务的体系结构中,多个组件通过系统中定义的标准接口连接,并隐藏了详细信息。和客户端消费服务所以我对客户感到困惑,他们是直接从网络浏览器请求还是从网络中的表示层调用?
例如: - 我对SOA的看法
数据库--->服务---->(REST,SOAP或Thrift等界面)消费者
所以这里的消费者可以是直接的网络客户端吗?
1。 数据库(mysql) - >服务(Java Restful)--->网络服务器(.PHP)----->浏览器
2。 数据库(mysql) - >服务(JavaRestful) - >浏览器(api通过ajax调用)
哪个是答案?
如果第一个是答案,那么它不会很慢,意味着我们增加1层意味着更多的远程呼叫意味着慢,对吧?
答案 0 :(得分:1)
SOA并不是指定应该如何完成任务,SOA只是一组核心原则The four tenets of SOA,在理论上应遵循这些原则,有助于在中间件架构中集成多种服务。
有一点需要注意的是,您不应该直接公开您的服务,您应该将它们隐藏在Web界面(网关)之后,但公平地说,您的示例并不是真正的SOA架构,在我看来就是只是一些Web界面暴露了一些Web端点。
那就是说,你的方法都是有效的。