2013-03-19 1 views
2

저는 엔터프라이즈 SaaS 솔루션을 구축 한 소규모 조직에서 근무하고 있습니다. 이 시점까지 우리의 워크 플로우에는 프로그래밍 인터페이스가 없었습니다. 최종 사용자가 프로그래밍 방식으로 UI에서 수행 할 수있는 모든 작업을 수행 할 수있는 모델로 이동하고 있습니다. 해당 프로그래밍 방식 레이어를 작성하는 데 사용할 언어/프레임 워크에 대한 제안을 찾고 있습니다.SaaS API에 사용할 언어는 무엇입니까?

조직적인 관점에서 볼 때 현재 UI 팀도 API 소유권을 보유하고 싶습니다. 이 팀은 PHP, Rails 및 Javascript에 익숙합니다. 우리의 현재 백엔드 코드는 스칼라로 작성되었습니다. 스칼라에서 API를 사용하지 않는쪽으로 기울어 져 있습니다. UI 툴에서 관련 직업에 대한 적절한 도구와 관련 지식이 부족한 것처럼 보이지 않기 때문입니다.

기능 측면에서 볼 때 대부분의 API는 CRUD (단순한 데이터베이스 연산)이며 일부 간단한 비즈니스 로직이 맨 위에 적용됩니다 (예를 들어 검색).

저는 Node.js를 사용하여 팀의 모든 사람이 Javascript에 정말 강점이있어 조금 흥미가 있습니다. 저것은 나가 semi-new 기술 악 대차에 다만 뛰어 다니고 싶지 않다는 것을 말했다. 엔터프라이즈 소프트웨어이기 때문에 단위 테스트 프레임 워크, 재사용 가능성 및 확장 성도 중요한 고려 사항입니다.

제안 사항?

답변

1

이전 프로젝트에서 우리는 Esper의 콤보와 ANTLR 3.0을 사용하여 작성한 자체 DSL로 끝났습니다. 완전한 funcional 런타임 사용에 대한 우리의 최대 관심사는 사용자 코드를 샌드 박싱하는 것이 었습니다.

그렇긴해도 Node.JS는 샌드 박스에 대한 쉬운 것 중 하나라고 생각합니다. 어쩌면 이런 식으로 http://gf3.github.com/sandbox/을 사용하거나 Cloud9's code을보고 어떻게 물건을 안전하게 지켜야하는지 알 수 있습니다. 또한 Node.js를 사용하면 사용자에게 Ace을 사용하여 매우 유용한 편집기를 제공 할 수 있습니다. 또한

이 게시물 확인 :이 문제는 기술 옵션에 대한이었다 실현,하지만 불러 정말 중요한 것 같다 근본적인 문제있다 How to run user-submitted scripts securely in a node.js sandbox?

2

을 :

조직의 관점에서 내가 좋아하는 것이 현재 UI 팀도 API 소유권을 갖습니다.

이것은 논리적 인 접근 방식처럼 들리지만 UI 팀이 정말로 견고한 엔지니어로 구성되어 있지 않으면 제대로 작동하지 않을 수 있습니다. SaaS API 개발은 틀림없이 현대 소프트웨어 설계에서 가장 어려운 측면 중 하나입니다. 위대한 API는 모든 사람의 삶을 편하게 해주고 가난한 API는 시스템을 무릎까지 가져 오며 왜 그 이유에 관해서는 전혀 알지 못하게합니다. 당신이 올바른 방법으로 최종 사용자의 요구를 해결하지 않을 경우 빠른 예를 들어

, 당신은 그들에 n+1 problems의 수를 강제로 가능성이있어 (따라서, 당신에.)

가있다 그곳에는 훌륭한 자료들이 많이 있는데 그 중 하나는 how to design great APIs이고 나쁜 것을 설계 할 때의 함정에 관한 것입니다. 일반적으로 스크립팅 언어에만 익숙한 UI 개발자 대부분이 API 디자인에 맡길 사람들이 아닙니다. 대신 나는 최종 사용자 요구를 기술함으로써 디자인을 안내하는 고객 (Scrum 감각으로)으로 활용할 것입니다.

관련 문제