Jolie

面向微服务的编程语言
授权协议 LGPL
开发语言 Java
所属分类 程序开发、 其他开发相关
软件类型 开源软件
地区 不详
投 递 者 邵奇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Jolie 是面向微服务、为微服务开发设计的编程语言,旨在为微服务的开发提供原生抽象 (native abstraction)。

type HelloRequest {
	name:string
}

interface HelloInterface {
requestResponse:
	hello( HelloRequest )( string )
}

service HelloService {
	execution: concurrent

	inputPort HelloService {
		location: "socket://localhost:9000"
		protocol: http { format = "json" }
		interfaces: HelloInterface
	}

	main {
		hello( request )( response ) { 
			response = "Hello " + request.name
		}
	}
}

主要特性

  • 专为微服务和 API 设计
type GetProfileRequestType {
	id:int
}
type GetProfileResponseType {
	name:string
	surname:string
	email:string( regex(".*@.*\\..*") )
	accounts[0,*] {
		nickname:string
		service_url:string
		enabled:bool
	}
	ranking:int( ranges( [1,5] ) )
}

type SendMessageRequestType {
	id:int
	message:string( length( [0,250] ) )
}

interface ProfileInterface {
requestResponse: // Synchronous RPC
	getProfile( GetProfileRequestType )( GetProfileResponseType )

oneWay: // Asynchronous
	sendMessage( SendMessageRequestType )
}
  • 专为网络时代而构建

  • 协议无关

  • 结构化工作流
  • 针对并行代码的动态错误处理
include "console.iol"
include "time.iol"

main
{
    scope( grandFather )
    {
        install( this => println@Console( "recovering grandFather" )() );
        scope( father )
        {
            install( this => println@Console( "recovering father" )() );
            scope ( son )
            {
                install( this => println@Console( "recovering son" )() );
                sleep@Time( 500 )();
                println@Console( "Son's code block" )()
            }
        }
    }
    |
    throw( a_fault )
}
  • 支持直接对 Web 服务器进行编程

  • 生平: 安吉丽娜·朱莉的一切都是好莱坞的话题,她与父亲的决裂,她的感情、婚姻和漫天的绯闻,她的慈善事业——这个女人的一举一动都牵引着好莱坞的视线。 朱莉1975年生于洛杉矶,因为父亲是名演员强·沃特,所以很早就开始接触戏剧,她的生活好象一直都充满动荡。小的时候因为经济窘迫她和妈妈与弟弟经常搬家,直到长大后她作了职业模特也是常常因为忙于做巡演而在各大城市间飞来飞去。在对做模特感到厌烦后,她来到纽约,

  • In the previous article, we discussed about Linux environment variables PS[1-4] and PROMPT_COMMAND. If used effectively, PS1 can provide valuable information right on the command prompt. In Tomb Raide

 相关资料
  • 编排微服务的标准模式是什么? 如果一个微服务只知道它自己的领域,但是有一个数据流需要多个服务以某种方式交互,那该怎么做呢? 假设我们有这样的东西: null 在某个地方,有人按下中的一个按钮,“我完成了,让我们这么做吧!”在一个典型的整体服务体系结构中,我认为有一个来处理这个问题,或者装运服务了解发票服务并直接调用发票服务。 但在这个美丽的微服务新世界里,人们是如何处理这件事的呢? 我确实知道这可

  • Abstract We present Move, a safe and flexible programming language for the Libra Blockchain. Move is an executable bytecode language used to implement custom transactions and smart contracts. The key

  • 我有几个微服务,每个微服务都有用于CRUD操作的RESTendpoint。我必须创建一个工作流,该工作流将从一个带有一些初始输入的微服务开始,但一个微服务的稍后输出可以用作其他微服务的输入。可以对这些REST API进行一些同步和异步调用。 我已经寻找了一些工作流引擎,但我不认为我可以在不编写任何java代码的情况下创建我的工作流。

  • 对hi-nginx-java而言,服务即URI指向的实体类。因为URI与Class之间的映射关系,所以所谓面向服务即提供URI/a/b/c指向的Classa.b.c。 比如,对表websites提供CRUD服务.如果规划的URI包括:/website/info,/website/insert,/website/update,/website/delete,/website/list,那么对应的Cl

  • 注意:前端不能制作编排,因为它是一个封闭的产品,我们不能接触它。 提前谢了。