News for hackers. Stuff that matters.
Re:Smithy: A language for defining services and SDKs by troelsSteegin on Saturday May 08, 2021 @07:31AM (#27086151)
Smithy, Protoforce, Taxi - is the assumption synchronous request/response? OpenAPI has callbacks (https://swagger.io/docs/specification/callbacks/), I am not seeing that in these others.

The other thing I am not seeing is a service registry, eg something like UDDI. How do microservices know about each other? Is that a build over common IDL and a coordinated deploy?

Re:Smithy: A language for defining services and SDKs by mtdowling on Saturday May 08, 2021 @11:26AM (#27087976)
Smithy has something called event streams that send async datagrams: https://awslabs.github.io/smithy/1.0/spec/core/stream-traits....

This is currently used in Amazon S3, Kinesis, Transcribe, and other services.

Smithy doesn’t have a service registry today. However, models can be vended and shared via Maven. Client codegen was designed explicitly to not require coordinated releases of clients and servers (that’s impossible for AWS SDKs).

Re:Smithy: A language for defining services and SDKs by troelsSteegin on Saturday May 08, 2021 @01:31PM (#27089151)
Thank you. Some new vocabulary with Smithy: Prelude, Shapes, and Traits (https://awslabs.github.io/smithy/1.0/spec/core/model.html ). With all the evolution, the lineage story would find an audience, I bet.
Re:Smithy: A language for defining services and SDKs by donavanm on Sunday May 09, 2021 @02:27AM (#27093725)
Its not exactly what youre atter but smithy has waiters https://awslabs.github.io/smithy/1.0/spec/waiters.html

> Waiters are a client-side abstraction used to poll a resource until a desired state is reached, or until it is determined that the resource will never enter into the desired state.

I havent seen them put behind an async interface but it seems like a good match for a lot of StartWork, DescribeWork(token) patterns.

Re:Smithy: A language for defining services and SDKs by martypitt on Saturday May 08, 2021 @07:51AM (#27086298)
Taxi+Vyne gives you a complete service registry, so both users and systems can discover services and data.

Because Taxi lets you describe how data from services relate, Vyne can work out how to connect services together automatically, and handle the integration for you. This is a realisation of the UDDI concept, where systems can autonomously work out how to operate with each other.

Re:Smithy: A language for defining services and SDKs by troelsSteegin on Saturday May 08, 2021 @10:54AM (#27087675)
Thank you. Your recent blog post (https://blog.vyne.co/rethinking-api-consumer-patterns/ ) was a positively interesting read. I wonder if there's a query analyzer a ways down the road ...
Re:Smithy: A language for defining services and SDKs by RideAndWave on Saturday May 08, 2021 @08:26AM (#27086511)
For protoforce, we provide completely asynchronous server and client SDKs for scala and nodejs, also we suport websockets as a transport.

Java sdk is built on Futures, so somehow it's async as well.

Also we support server-to-client calls, which, effectively, are a better alternative to callbacks.