[Hyperledger Project TSC] Hyperledger Fabric Java SDK Proposal


Srinivasan Muralidharan <muralisr@...>
 

+1 from me.

Thanks
Murali






From:        Todd Benzies via hyperledger-tsc <hyperledger-tsc@...>
To:        Richard Brown <richard@...>
Cc:        "hyperledger-tsc@..." <hyperledger-tsc@...>
Date:        09/30/2016 09:01 AM
Subject:        Re: [Hyperledger Project TSC] Hyperledger Fabric Java SDK Proposal
Sent by:        hyperledger-tsc-bounces@...




Binh, Dan, Greg, Mic, and Murali -- when you have a moment today, can you please +1 or -1 on Chris' note earlier in this thread?

I've seen mostly positive comments on the proposal from DTCC and Fujitsu to incubate a fabric-sdk-java project. Since we won't be meeting until next week, and since the team is eager to begin collaboration, I suggest we take an email vote.

TSC members, please reply with +1 or -1 to this note indicating your support (or not) for incubating this proposal. I'll send a reminder but a reply today would be much appreciated.


On Fri, Sep 30, 2016 at 12:36 AM, Richard Brown via hyperledger-tsc <hyperledger-tsc@...> wrote:
+1



On 29 Sep 2016, at 11:40, Christopher Ferris via hyperledger-tsc <hyperledger-tsc@...> wrote:

All,

I've seen mostly positive comments on the proposal from DTCC and Fujitsu to incubate a fabric-sdk-java project. Since we won't be meeting until next week, and since the team is eager to begin collaboration, I suggest we take an email vote.

TSC members, please reply with +1 or -1 to this note indicating your support (or not) for incubating this proposal. I'll send a reminder but a reply today would be much appreciated.

Thanks

Chris

On Mon, Sep 19, 2016 at 11:05 PM, Vishnumolakala, Pardha S. via hyperledger-tsc <hyperledger-tsc@...> wrote:
Hi,

 

DTCC and Fujitsu Australia Software Technology (FAST) would like to present the following Java SDK proposal for Hyperledger Fabric project.

 

This proposal is available at the following URL(s) for community to review.

 

http://bit.ly/2cqmE1Z

https://docs.google.com/document/d/1dP3zUInx7fSr8X1iDOs4R5gFaoixiXeLF5LYeL48_M8/pub

 
Fabric Java SDK Project Proposal
Sponsors
Eiichiro Fujimura
Fujitsu Australia Software Technology
14 Rodborough road, Frenchs Forest, NSW 2086,  Australia
eiichiro.fujimura@...

Pardha Vishnumolakala
DTCC
pvishnumolakala@...

Abstract
Create a java SDK library for the Hyperledger fabric project. This SDK will be based on the design principles of Node and Python SDKs, and is intended to increase the use of fabric by introducing capability to use Hyperledger fabric for existing/new java based applications. Since REST APIs in Hyperledger fabric are being deprecated, it is important to provide support for multiple languages if we want to see the Hyperledger fabric being used by all sorts of applications.

Context

Initially Hyperledger fabric included Node SDK along with REST APIs so that users can interact with Hyperledger fabric. Now that REST interfaces in Hyperledger fabric are being deprecated, the application developers of non-Node applications are left with no choice but to write modules in Node that interact with Hyperledger fabric, and then integrate these modules with their applications written in languages other than Node. To overcome this problem, there is a strong need from the community to increase the number of SDKs for different languages. As a result, we saw the approval of Python SDK in TSC a couple of weeks ago.

Motivation
Currently there are two ways for applications to interact with Hyperledger fabric

  • gRPC: Currently Node and Python applications can use Hyperledger fabric as these are the only two SDKs available at the moment.
  • REST APIs: provide minimum functions to interact with fabric, however these are being deprecated by Hyperledger fabric. Once they are removed, the use of these APIs will be no longer an option and users will be forced to use a programming language that has an SDK for fabric, or look at alternatives instead of using Hyperledger fabric at all.
Java is a very popular language and it is important to provide native api in order for Java application developers to use Hyperledger fabric in their projects.

Status
We propose this to be an incubation project initially.

Solution

We are proposing a Java SDK for Hyperledger fabric to support the following functionality.

·         Application Development

·         Register and Enroll users by connecting to member services

·         Submit transactions to peer

·         Get details about blocks and transactions

·         Listen to events generated by the network

·         Chaincode Development

·         Support chaincode development using Java

·         Deploy chaincode

·         Invoke/query chaincode

·         Support Development Lifecycle

·         Integrate chaincode support code from Fabric so that java developers need only the sdk to develop

·         Stable builds available in maven repository
In addition to providing the above functionality, Java SDK will act as a bridge between user application and the fabric so that if there is a protocol change on the server side, user only needs to get the latest sdk instead of modifying their code.
Java SDK team will closely follow the SDK design specification currently being developed and discussed on slack channel #fabric-sdk-dev.

Effort and resources

DTCC and Fujitsu Australia Software Technology are committing full-time engineering resources to ensure the success of this project. We are also closely working with IBM to monitor and update any upcoming changes in the Hyperledger fabric project so that this project can keep up to date with the fabric specification. The following would be the initial set of maintainers for the project:
  • Satheesh Kathamuthu
  • Pardha Vishnumolakala
  • Muhammad Altaf
References
        Fabric SDK Specification

Closure
Once the project build is available on maven central repository, we can measure the success of the project in terms of downloads which can be obtained from the central maven repository.

 

DTCC DISCLAIMER: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify us immediately and delete the email and any attachments from your system. The recipient should check this email and any attachments for the presence of viruses.  The company accepts no liability for any damage caused by any virus transmitted by this email.

_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc


_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc

_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc




--
Todd Benzies
Senior Program Manager
The Linux Foundation
+1 (415) 412-0310 (m)

tbenzies@...
Skype: tbenzies_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc




Todd Benzies <tbenzies@...>
 

Thank you, all.  This has been unanimously approved by the TSC.

Regards,

Todd

On Fri, Sep 30, 2016 at 10:50 PM, Srinivasan Muralidharan <muralisr@...> wrote:
+1 from me.

Thanks
Murali






From:        Todd Benzies via hyperledger-tsc <hyperledger-tsc@lists.hyperledger.org>
To:        Richard Brown <richard@...>
Cc:        "hyperledger-tsc@lists.hyperledger.org" <hyperledger-tsc@lists.hyperledger.org>
Date:        09/30/2016 09:01 AM
Subject:        Re: [Hyperledger Project TSC] Hyperledger Fabric Java SDK Proposal
Sent by:        hyperledger-tsc-bounces@lists.hyperledger.org




Binh, Dan, Greg, Mic, and Murali -- when you have a moment today, can you please +1 or -1 on Chris' note earlier in this thread?

I've seen mostly positive comments on the proposal from DTCC and Fujitsu to incubate a fabric-sdk-java project. Since we won't be meeting until next week, and since the team is eager to begin collaboration, I suggest we take an email vote.

TSC members, please reply with +1 or -1 to this note indicating your support (or not) for incubating this proposal. I'll send a reminder but a reply today would be much appreciated.

On Fri, Sep 30, 2016 at 12:36 AM, Richard Brown via hyperledger-tsc <hyperledger-tsc@lists.hyperledger.org> wrote:
+1



On 29 Sep 2016, at 11:40, Christopher Ferris via hyperledger-tsc <hyperledger-tsc@lists.hyperledger.org> wrote:

All,

I've seen mostly positive comments on the proposal from DTCC and Fujitsu to incubate a fabric-sdk-java project. Since we won't be meeting until next week, and since the team is eager to begin collaboration, I suggest we take an email vote.

TSC members, please reply with +1 or -1 to this note indicating your support (or not) for incubating this proposal. I'll send a reminder but a reply today would be much appreciated.

Thanks

Chris

On Mon, Sep 19, 2016 at 11:05 PM, Vishnumolakala, Pardha S. via hyperledger-tsc <hyperledger-tsc@lists.hyperledger.org> wrote:
Hi,

 

DTCC and Fujitsu Australia Software Technology (FAST) would like to present the following Java SDK proposal for Hyperledger Fabric project.

 

This proposal is available at the following URL(s) for community to review.

 

http://bit.ly/2cqmE1Z

https://docs.google.com/document/d/1dP3zUInx7fSr8X1iDOs4R5gFaoixiXeLF5LYeL48_M8/pub

 
Fabric Java SDK Project Proposal
Sponsors
Eiichiro Fujimura
Fujitsu Australia Software Technology
14 Rodborough road, Frenchs Forest, NSW 2086,  Australia
eiichiro.fujimura@....fujitsu.com
Pardha Vishnumolakala
DTCC
pvishnumolakala@...

Abstract
Create a java SDK library for the Hyperledger fabric project. This SDK will be based on the design principles of Node and Python SDKs, and is intended to increase the use of fabric by introducing capability to use Hyperledger fabric for existing/new java based applications. Since REST APIs in Hyperledger fabric are being deprecated, it is important to provide support for multiple languages if we want to see the Hyperledger fabric being used by all sorts of applications.

Context

Initially Hyperledger fabric included Node SDK along with REST APIs so that users can interact with Hyperledger fabric. Now that REST interfaces in Hyperledger fabric are being deprecated, the application developers of non-Node applications are left with no choice but to write modules in Node that interact with Hyperledger fabric, and then integrate these modules with their applications written in languages other than Node. To overcome this problem, there is a strong need from the community to increase the number of SDKs for different languages. As a result, we saw the approval of Python SDK in TSC a couple of weeks ago.

Motivation
Currently there are two ways for applications to interact with Hyperledger fabric
  • gRPC: Currently Node and Python applications can use Hyperledger fabric as these are the only two SDKs available at the moment.
  • REST APIs: provide minimum functions to interact with fabric, however these are being deprecated by Hyperledger fabric. Once they are removed, the use of these APIs will be no longer an option and users will be forced to use a programming language that has an SDK for fabric, or look at alternatives instead of using Hyperledger fabric at all.
Java is a very popular language and it is important to provide native api in order for Java application developers to use Hyperledger fabric in their projects.

Status
We propose this to be an incubation project initially.

Solution

We are proposing a Java SDK for Hyperledger fabric to support the following functionality.

·         Application Development

·         Register and Enroll users by connecting to member services

·         Submit transactions to peer

·         Get details about blocks and transactions

·         Listen to events generated by the network

·         Chaincode Development

·         Support chaincode development using Java

·         Deploy chaincode

·         Invoke/query chaincode

·         Support Development Lifecycle

·         Integrate chaincode support code from Fabric so that java developers need only the sdk to develop

·         Stable builds available in maven repository
In addition to providing the above functionality, Java SDK will act as a bridge between user application and the fabric so that if there is a protocol change on the server side, user only needs to get the latest sdk instead of modifying their code.
Java SDK team will closely follow the SDK design specification currently being developed and discussed on slack channel #fabric-sdk-dev.

Effort and resources

DTCC and Fujitsu Australia Software Technology are committing full-time engineering resources to ensure the success of this project. We are also closely working with IBM to monitor and update any upcoming changes in the Hyperledger fabric project so that this project can keep up to date with the fabric specification. The following would be the initial set of maintainers for the project:
  • Satheesh Kathamuthu
  • Pardha Vishnumolakala
  • Muhammad Altaf
References
        Fabric SDK Specification

Closure
Once the project build is available on maven central repository, we can measure the success of the project in terms of downloads which can be obtained from the central maven repository.

 

DTCC DISCLAIMER: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify us immediately and delete the email and any attachments from your system. The recipient should check this email and any attachments for the presence of viruses.  The company accepts no liability for any damage caused by any virus transmitted by this email.

_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@lists.hyperledger.org
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc


_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@lists.hyperledger.org
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc

_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@lists.hyperledger.org
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc




--
Todd Benzies
Senior Program Manager
The Linux Foundation
+1 (415) 412-0310 (m)

tbenzies@...
Skype: tbenzies_______________________________________________
hyperledger-tsc mailing list
hyperledger-tsc@lists.hyperledger.org
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc






--
Todd Benzies
Senior Program Manager
The Linux Foundation
+1 (415) 412-0310 (m)
Skype: tbenzies


Ry Jones
 

I have created the project and added or invited Pardha Vishnumolakala and Muhammad Altaf. If Satheesh Kathamuthu could contact me directly I will extend an invitation to join the committer group.

Ry


Ry Jones
 

I have created the project and added or invited Pardha Vishnumolakala and Muhammad Altaf. If Satheesh Kathamuthu could contact me directly I will extend an invitation to join the committer group.

Ry