• Composer TSC update

  • Hi,
  • Back in September 2016, a small team (including myself and Dan) in IBM UK was formed with the mission to improve the development experience for blockchain technologies. At the time, the learning curve for blockchain developers was incredibly steep, and we felt that by improving the development experience we could kickstart the creation and growth of blockchain networks. Our initial prototype was codenamed "Concerto", and this code went on to be accepted by the TSC in March 2017 as Hyperledger Composer.
  • 2016년 9월, IBM 영국의 소규모 팀 (저 Dan 포함)이 블록 체인 기술 개발 경험을 개선하려는 목적으로 형성되었습니다. 그때는, 블록 체인 개발자의 러닝커브는 높았고, 개발 경험을 개선함으로써 블록 체인 네트워크의 생성과 성장을 시작할 수 있다고 느꼈습니다. 우리의 초기 프로토 타입은 "Concerto"라는 코드 명으로 지정되었으며,이 코드는 Hyperledger Composer로 2017 년 3 월 TSC(Technical Steering Committee) 에서 승인되었습니다.
  • Since then, Hyperledger Composer has assisted developers and business users in learning the key technical and industry concepts of blockchain. It allows users to model an industry specific use case through a business model definition, transaction processing functions, and external integration which can all be deployed to a running network on Hyperledger Fabric. We've seen a huge uptake by you, our community, with Composer being used by many first time blockchain developers to build POCs, win hackathons, and also build a handful of live production blockchain solutions.
  • 그 이후 Hyperledger Composer는 개발자 및 비즈니스 사용자가 블록 체인의 핵심 기술 및 업계 개념을 학습하는 데 도움을주었습니다. 이를 통해 사용자는 비즈니스 모델 정의, 트랜잭션 처리 기능 및 Hyperledger Fabric의 실행중인 네트워크에 모두 배포 할 수있는 외부 통합을 통해 업계 고유의 사용 사례를 모델링 할 수 있습니다. Composer가 처음으로 많은 블록 체인 개발자들에 의해 POC를 만들고, 해커 톤을 획득하고, 소수의 라이브 프로덕션 블록 체인 솔루션을 구축하는 데 사용되는 우리 공동체의 커다란 보급을 보았습니다.
  • Speaking on behalf of my team in IBM, we're all incredibly proud of what we've contributed to Composer over the last couple of years, and we are grateful to the community for all your feedback and contributions.
  • IBM의 팀을 대신하여, 우리는 지난 2 년 동안 Composer에 기여한 것을 자랑스럽게 생각하며, 귀하의 모든 피드백과 기여에 대해 커뮤니티에 감사드립니다.
  • However - we at IBM believe that there are some fundamental problems with the architecture and design of Composer, as it is today, that have made us reconsider our future direction and plans.
  • 그러나 IBM은 Composer의 아키텍처 및 디자인에 근본적인 문제가 있다고 생각합니다. 그래서, Composer는 향후 방향 및 계획을 재고하게되었습니다.
  • Here are three of those problems:
  • 다음은 그 중 세 가지 문제입니다.
  • - Composer has been designed from the start to support multiple blockchain platforms, not just Fabric - but this design has come at a cost. This design has meant that there are two completely different programming models - the Fabric programming model (chaincode) and the Composer programming model (business networks). This has caused significant confusion to users, with them needing to make a "choice" between the two programming models, with very few similarities between the two. In this particular case choice has been a bad thing, with many users opting not to use the "optional" part past the initial exploration or POC stage.
  • Composer는 처음부터 패브릭뿐만 아니라 여러 블록 체인 플랫폼을 지원하도록 설계되었지만 비용이 많이 들었습니다. 이 디자인은 Fabric 프로그래밍 모델 (chaincode)과 Composer 프로그래밍 모델 (Business networks)이라는 완전히 다른 프로그래밍 모델이 있다는 것을 의미합니다. 이로 인해 두 가지 프로그래밍 모델간에 "유사점"이 거의 없기 때문에 사용자에게 상당한 혼란이 발생했습니다. 이 특이한 경우 나쁜 선택이었는데, 많은 사용자가 튜토리얼이나 POC 단계를 지나서 "선택적인" 부분을 사용하지 않기로 결정했습니다.
  • - This design has also made it a lot harder for us to adopt and expose the latest Fabric features. For example, one of the questions we are constantly getting at the moment is "when can I use the Fabric v1.2 private data feature with Composer?". Whilst we've taken some steps (getNativeAPI) to assist with this problem, it is extremely difficult for us to keep up with and aligned with the latest features in Fabric when we are trying to maintain a design that keeps us blockchain platform independent. This has meant that users have understandably stopped using Composer and instead have reverted to developing with Fabric.
  • 이 디자인 때문에 최신 Fabric 기능을 채택하고 공개하는 것이 더 어려워졌습니다. 예를 들어, 지금 우리가 끊임없이 듣고 있는 질문 중 하나는 "언제 Composer에서 Fabric v1.2 개인 데이터 기능을 사용할 수 있습니까?"입니다. 이 문제를 해결하기 위해 몇 가지 조치 (getNativeAPI)를 취한 상태에서, 플랫폼에 독립적인 블록 체인을 유지하는 디자인을 유지하려고 할 때 Fabric의 최신 기능을 따라 잡기가 매우 어렵습니다. 이것은 사용자가 Composer 사용을 중단하고 Fabric을 사용하여 개발로 돌아 갔음을 의미합니다.
  • - Finally, those of you that have used Composer will likely be fans of our simple, easy-to-use APIs (JavaScript and REST) for building applications that interact with a blockchain network. There is a lot of code behind the scenes to enable these APIs that doesn't really belong in Composer. What we have ended up doing is glossing over the underlying, low-level Fabric APIs instead of pushing improvements directly into these Fabric APIs. Today it takes ~50 lines of code to submit a transaction using the Fabric APIs, whilst in Composer it takes ~5 lines of code, and that's wrong - Composer's value should not come from just making Fabric easier to use.
  • 마지막으로, Composer를 사용한 사용자는 블록 체인 네트워크와 상호 작용하는 응용 프로그램을 작성하기 위해 간단하고 사용하기 쉬운 API (JavaScript 및 REST)를 좋아할 것입니다. Composer에 속하지 않는 API를 사용하려면 많은 코드가 필요합니다. 우리는 본질에 집중하지 못하고, fabric API에 직접 개선사항을 적용하는 대신 low level의 fabric API를 사용했습니다. 오늘날 패브릭 API를 사용하여 트랜잭션을 제출하는 데 ~ 50 줄의 코드가 필요하지만 컴포저에서 ~ 5 줄의 코드가 필요하며, 이건 잘못되었습니다. Composer의 가치는 Fabric 을 사용하기 쉽게 만드는 것 만이 아닙니다.
  • I think it's also worth pointing out at this time that we've had a lot less contributions from non-IBMers than we originally hoped for; we've tried to be as open as possible, with our designs and plans being openly discussed in GitHub, Rocket.Chat, and the community calls - but for some reason, it hasn't really worked.
  • 또한 우리가 원래 기대했던 것보다, IBM 소속이 아닌 사람으로부터의 기여도가 훨씬 적었다는 것을 지적해야합니다. 우리는 우리의 디자인 및 계획을 공개적으로 GitHub의, Rocket.Chat에서 논의했고, 최대한 개방하려고했습니다. 그러나 몇몇 이유로 잘 되지 않았습니다.
  • As some of you in the community may have noticed, the IBM team contributing to Composer have gone a bit quiet recently, with only minor changes delivered to update Composer to support running against Fabric v1.2. Those of you with an even keener eye on work in Hyperledger in general may have noticed a few of us turning up in the Fabric community, and starting to contribute to Fabric (FABN-692, FAB-11246).
  • Composer에 기여한 IBM 팀은 최근에 조금 뜸해졌고, Fabric v1.2 까지만 작동하는 Composer를 위해 약간의 마이너 업데이트만 진행했습니다. Hyperledger에서의 작업에 대해 더욱 세심한 주의를 기울인 우리들 중 일부는 Fabric 커뮤니티에서 일하고 Fabric (FABN-692, FAB-11246)에 기여하기 시작했습니다.

    (https://jira.hyperledger.org/browse/FABN-692, https://jira.hyperledger.org/browse/FAB-11246)
  • At this time, IBM has decided to reduce the investment it makes towards developing Composer, in order to focus the team on directly delivering improvements into Fabric. At present, the team is working on two big features, due to be released as part of Fabric v1.3, that will improve the underlying chaincode and application APIs in Fabric. We believe that these features will start to provide the underpinnings of an improved development experience for Fabric users, and we are looking to continue to deliver improvements in Fabric v1.4 and onwards - for example, you may see modelling, REST APIs, code generators, IDE extensions, and online playgrounds start to appear in Fabric over time.
  • 오늘부로 IBM은, Fabric을 개선하는데 집중하기 위해서 Composer 개발에 대한 투자를 줄이기로 결정했습니다. 현재, 기본 체인 코드 및 application API를 향상시킬 Fabric v1.3의 일부로 릴리스되는 두 가지 큰 기능을 연구 중입니다. 우리는 이러한 기능이 Fabric 사용자를위한 개선 된 개발 경험의 토대를 제공하기 시작할 것이라고 믿고 있으며 Fabric v1.4 이상에서 계속해서 개선을 추구 할 것입니다. 예를들면 modeling, REST API, code generator, IDE 확장 및 online playground가 Fabric에 내장될 수도 있습니다.
  • The IBM team will continue to update Composer to maintain compatibility with the latest Fabric v1.x releases, and we will fix any high priority bugs - but certainly for the time being, we will not be looking at delivering any major new features into Composer.
  • IBM 팀은 최신 Fabric v1.x 릴리스와의 호환성을 유지하기 위해 Composer를 계속 업데이트 할 예정이며 우선 순위가 높은 모든 버그를 수정합니다. 그러나 당분간 Composer에 중요한 새로운 기능을(major new feature) 제공하지 않을 것입니다.
  • We would also like to make it clear that we are still more than happy to engage with potential new contributors, and help you get up and running with delivering the features and bug fixes that you deem important into Composer yourself. If you're interested, we'd also love to have you come and take a look at what we're doing in Fabric. Our goal is as always to enhance the experience for developers who are developing blockchain solutions , and as developers - you're best placed to give us feedback on what we're doing.
  • 우리는 또한 새로운 기여자들과 함께하고, Composer에게 중요한 기능 및 버그 수정을 직접 제공하는 데 도움이 될 것임을 분명히 밝힙니다. 우리의 목표는블록 체인 솔루션을 개발하는 개발자와, 개발자로서의 경험을 향상시키는 것입니다. 우리가하는 일에 대한 의견을 제시해주시면 감사하겠습니다.
  • Finally, Dan (now at Clause.io) has also proposed an exciting plan regarding the future of the modelling language, which involves splitting the code out so it can be more easily consumed and used by a much wider range of blockchain projects. We'll be looking to publish a sample that shows the modelling language being used in conjunction with smart contracts in Fabric v1.3, and hope to extend the code to support additional programming languages (Go, Java, etc).
  • 마지막으로, Dan (현재 Clause.io 소속)은 모델링 언어의 미래에 관한 흥미로운 계획을 제안했습니다.이 계획은 훨씬 더 많은 블록 체인 프로젝트에서보다 쉽게 소비되고 사용될 수 있도록 코드를 분리하는 것을 포함합니다. Fabric v1.3의 스마트 계약과 함께 사용되는 모델링 언어를 보여주는 샘플을 게시하고 추가 프로그래밍 언어 (Go, Java 등)를 지원하도록 코드를 확장할 예정입니다.
  • Many thanks,
  • SimonUnless stated otherwise above:
  • IBM United Kingdom Limited - Registered in England and Wales with number 741598.
  • Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
0 Comments