33:
257:, meaning that the execution of Jolie programs is mathematically defined. For this reason, Jolie is used in research for the investigation of language-based techniques for the development of distributed systems, and it is also used for teaching at some universities.
218:
proposed with Jolie, each program is a service that can communicate with other programs by sending and receiving messages over a network. Jolie supports an abstraction layer that allows services to communicate using different mediums, ranging from
517:
434:
Montesi, Fabrizio; Guidi, Claudio; Zavattaro, Gianluigi (2014). "Service-Oriented
Programming with Jolie". In Bouguettaya, Athman; Sheng, Quan Z.; Daniel, Florian (eds.).
353:
24:
451:
323:
277:
521:
273:
162:
703:
589:
49:
254:
293:
289:
238:
138:
109:
285:
150:
234:
220:
525:
357:
420:
280:
programming language. Jolie extends SOCK with support for, e.g., tree-like data structures (inspired by
265:
207:
261:
80:
215:
203:
200:
40:
530:
362:
312:
227:
630:
593:
305:
169:
145:
75:
272:, a formal model proposed by Claudio Guidi et al. at the University of Bologna inspired by the
23:
543:
512:
Guidi, Claudio; Lucchi, Roberto; Gorrieri, Roberto; Busi, Nadia; Zavattaro, Gianluigi (2006).
447:
375:
640:
603:
566:
535:
439:
367:
269:
157:
56:
344:
570:
315:
by
Fabrizio Montesi and its evolution is driven by Fabrizio Montesi and Claudio Guidi.
223:
697:
301:
211:
45:
308:, and web programming. A complete list of the project contributors is available at.
343:
Montesi, Fabrizio; Guidi, Claudio; Lucchi, Roberto; Zavattaro, Gianluigi (2007).
644:
443:
398:
371:
319:
326:
as it offers a concise (C-like) syntax for accessing XML-like data structures.
297:
547:
379:
607:
32:
658:
393:
539:
322:, Jolie is an alternative to XML-based orchestration languages such as
250:
621:
Montesi, Fabrizio (2016). "Process-aware Web
Programming with Jolie".
498:
688:
241:
language, which can be run in multiple operating systems including
635:
598:
414:
242:
684:
246:
268:. The project initially began as an implementation of the SOCK
292:), message types, typed session programming, integration with
281:
183:
677:
470:
484:
346:
199:(Java Orchestration Language Interpreter Engine) is an
563:
Formalizing languages for service oriented computing
178:
168:
156:
144:
134:
108:
86:
74:
55:
39:
514:SOCK: A Calculus for Service Oriented Computing
465:
463:
416:Jolie: a Service-oriented Programming Language
260:The Jolie open source project was started by
8:
16:
659:"Jolie Programming Language - About Jolie"
226:to local in-memory communications between
15:
634:
597:
529:
361:
586:Process-aware web programming with Jolie
499:"Jolie Programming Language - Academia"
335:
318:Since it supports the orchestration of
284:, but with a syntax resembling that of
264:in 2006, as part of his studies at the
7:
524:. Vol. 4294. pp. 327–338.
233:Jolie is currently supported by an
14:
356:. Vol. 181. pp. 19–33.
31:
22:
623:Science of Computer Programming
571:10.6092/unibo/amsdottorato/373
1:
115:1.11.0 / May 24, 2023
471:"Jolie Programming Language"
645:10.1016/j.scico.2016.05.002
485:"Chor Programming Language"
444:10.1007/978-1-4614-7518-7_4
372:10.1016/j.entcs.2007.01.051
720:
584:Montesi, Fabrizio (2013).
413:Montesi, Fabrizio (2010).
253:. The language comes with
311:The project is currently
276:process calculus and the
130:
104:
30:
21:
436:Web Services Foundations
208:distributed applications
608:10.1145/2480362.2480507
592:'13. pp. 761–763.
561:Guidi, Claudio (2007).
306:application containment
135:Implementation language
117:; 15 months ago
92:; 18 years ago
704:Programming languages
421:University of Bologna
266:University of Bologna
216:programming paradigm
204:programming language
540:10.1007/11948148_27
438:. pp. 81–107.
245:operating systems,
237:implemented in the
170:Filename extensions
87:First appeared
18:
90:July 31, 2006
453:978-1-4614-7517-0
194:
193:
711:
681:
680:
678:Official website
663:
662:
655:
649:
648:
638:
618:
612:
611:
601:
581:
575:
574:
558:
552:
551:
533:
509:
503:
502:
495:
489:
488:
481:
475:
474:
467:
458:
457:
431:
425:
424:
410:
404:
403:
390:
384:
383:
365:
351:
340:
270:process calculus
262:Fabrizio Montesi
255:formal semantics
190:
187:
185:
125:
123:
118:
100:
98:
93:
81:Fabrizio Montesi
67:Fabrizio Montesi
57:Designed by
35:
26:
19:
719:
718:
714:
713:
712:
710:
709:
708:
694:
693:
676:
675:
672:
667:
666:
657:
656:
652:
620:
619:
615:
583:
582:
578:
560:
559:
555:
531:10.1.1.102.6297
511:
510:
506:
497:
496:
492:
483:
482:
478:
469:
468:
461:
454:
433:
432:
428:
412:
411:
407:
394:"Jolie Project"
392:
391:
387:
363:10.1.1.408.2052
349:
342:
341:
337:
332:
206:for developing
182:
174:.ol, .iol, .jap
126:
121:
119:
116:
96:
94:
91:
70:
12:
11:
5:
717:
715:
707:
706:
696:
695:
692:
691:
682:
671:
670:External links
668:
665:
664:
650:
613:
576:
553:
504:
490:
476:
459:
452:
426:
405:
385:
334:
333:
331:
328:
192:
191:
180:
176:
175:
172:
166:
165:
160:
154:
153:
148:
142:
141:
136:
132:
131:
128:
127:
114:
112:
110:Stable release
106:
105:
102:
101:
88:
84:
83:
78:
72:
71:
69:
68:
65:
61:
59:
53:
52:
43:
37:
36:
28:
27:
13:
10:
9:
6:
4:
3:
2:
716:
705:
702:
701:
699:
690:
686:
683:
679:
674:
673:
669:
660:
654:
651:
646:
642:
637:
632:
628:
624:
617:
614:
609:
605:
600:
595:
591:
587:
580:
577:
572:
568:
564:
557:
554:
549:
545:
541:
537:
532:
527:
523:
519:
515:
508:
505:
500:
494:
491:
486:
480:
477:
472:
466:
464:
460:
455:
449:
445:
441:
437:
430:
427:
422:
418:
417:
409:
406:
401:
400:
395:
389:
386:
381:
377:
373:
369:
364:
359:
355:
348:
347:
339:
336:
329:
327:
325:
321:
316:
314:
309:
307:
303:
302:code mobility
299:
295:
291:
287:
283:
279:
275:
271:
267:
263:
258:
256:
252:
248:
244:
240:
236:
231:
229:
225:
222:
217:
213:
212:microservices
209:
205:
202:
198:
189:
181:
177:
173:
171:
167:
164:
161:
159:
155:
152:
149:
147:
143:
140:
137:
133:
129:
113:
111:
107:
103:
89:
85:
82:
79:
77:
73:
66:
64:Claudio Guidi
63:
62:
60:
58:
54:
51:
47:
46:Microservices
44:
42:
38:
34:
29:
25:
20:
653:
626:
622:
616:
585:
579:
562:
556:
513:
507:
493:
479:
435:
429:
415:
408:
397:
388:
345:
338:
320:web services
317:
310:
259:
232:
196:
195:
399:SourceForge
243:Linux-based
235:interpreter
201:open-source
186:.jolie-lang
565:(Thesis).
419:(Thesis).
330:References
313:maintained
298:JavaScript
122:2023-05-24
97:2006-07-31
636:1410.3712
629:: 69–96.
599:1410.3712
548:0302-9743
526:CiteSeerX
380:1571-0661
358:CiteSeerX
228:processes
214:. In the
210:based on
76:Developer
41:Paradigms
698:Category
146:Platform
324:WS-BPEL
278:WS-BPEL
251:Windows
224:sockets
179:Website
158:License
120: (
95: (
689:GitHub
546:
528:
450:
378:
360:
249:, and
221:TCP/IP
163:LGPLv2
685:jolie
631:arXiv
594:arXiv
520:'06.
518:ICSOC
354:ENTCS
350:(PDF)
197:Jolie
17:Jolie
544:ISSN
522:LNCS
448:ISBN
376:ISSN
296:and
294:Java
290:Java
288:and
247:OS X
239:Java
188:.org
151:Java
139:Java
687:on
641:doi
627:130
604:doi
590:SAC
567:doi
536:doi
440:doi
368:doi
282:XML
274:CCS
184:www
50:SOA
700::
639:.
625:.
602:.
588:.
542:.
534:.
516:.
462:^
446:.
396:.
374:.
366:.
352:.
304:,
300:,
230:.
48:,
661:.
647:.
643::
633::
610:.
606::
596::
573:.
569::
550:.
538::
501:.
487:.
473:.
456:.
442::
423:.
402:.
382:.
370::
286:C
124:)
99:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.