我的第一份工作/职责是从零开始设计和实现一个web服务(java,spring),供外部系统(其他公司)使用。我为这个机会感到兴奋,但同时,由于这是我的第一次尝试,我想确保我给予我最好的.我确信,随着设计的发展,我必须考虑以下几点: 1.可伸缩性和最小延迟2. SLA依从性(例如,端到端的2秒) 3.支持不同的媒体类型(SOAP、POX、JSON)
我们目前正处于定义契约的阶段,在这样做的同时,我希望确保除了我可以自己处理的应用程序级别的细节之外,我还应该能够考虑基础设施方面的挑战(服务器、可伸缩性等)。
我期待着在这方面得到一些帮助,如果你可以根据你过去的经验来回答,或者指出一些可以帮助我向前迈进的资源。
P.S. :-我已经知道了与安全性相关的因素,定义了wsdl中的策略,以及其他应用程序级别的考虑因素。我主要关注的是基础设施方面的选择和决定。
谢谢!
发布于 2013-12-17 00:17:04
恭喜你的新任务!他们一定认为你会给你这么大的责任。
至于您的问题,我看web服务API就像传统的web应用程序一样。唯一的区别是你的客户很可能是代码而不是人。所以,你已经知道的所有相同的web应用程序可伸缩性原则-- web服务器的负载平衡,在数据库上构建索引和视图,缓存--同样适用于这里。你不应该对此有任何不同的看法。因此,同样,确保使用JMeter或商业产品进行的性能测试是您持续集成基础结构的一部分。
至于支持不同类型的媒体,我不知道你到底是什么意思。由于您提到了Spring,Spring和Spring服务将涵盖快速发展所需的一切。有许多API级别的事情,如身份验证、授权、日志记录、审计、错误处理等,您都需要解决。有很多资源可以回答你的具体问题。
还有一件事我也可以说。请小心联轴器。您的WSDL和REST肯定会有很大的发展。请确保代码的编写方式不影响代码库的其余部分。否则,你会工作很多周末,以解决一切后,一个小变化。
祝你的项目好运!
https://stackoverflow.com/questions/20623067
复制相似问题