-
Notifications
You must be signed in to change notification settings - Fork 0
/
orion.html
75 lines (70 loc) · 4.53 KB
/
orion.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootswatch/4.5.2/cerulean/bootstrap.min.css" integrity="sha384-3fdgwJw17Bi87e1QQ4fsLn4rUFqWw//KU0g8TvV6quvahISRewev6/EocKNuJmEw" crossorigin="anonymous">
<link rel="stylesheet" href="css/custom.css" type="text/css">
<title>ModelUM - Tools - Orion</title>
</head>
<body>
<div class="container">
<div class="row" id="header"></div>
<div class="row" id="header_tools"></div>
<div class="row" id="tools_index"></div>
<div class="row section-separator">
<img src="img/tools/icon_orion.png" width="4%">
<h2>Orion: Operations over Athena Schemas</h2><a href="https://github.com/catedrasaes-umu/NoSQLDataEngineering" target="_blank"><i class="fa fa-github" style="color:#000000;"></i></a><br>
</div>
<div class="row section-separator">
<h3><b>UNDER CONSTRUCTION</b></h3><br>
</div>
<div class="row section-separator">
<p>Orion (<b>Operations over Athena schemas</b>) is a textual DSL aimed to specify operations to be executed over an Athena schema in order to update (evolve) it along with the associated data. Orion has been designed using <em>Xtext</em> and the <em>Eclipse Modeling Framework</em>. Examples of Orion specifications may be found on the Athena project.</p>
<p>The following figure contains an example of an Orion Specification:
<br/>
<br/>
<img class="img-rounded img-responsive img-fluid mx-auto d-block" src="img/tools/orion_example.png" width="75%">
<br/>
</p>
<p>
An Orion process typically starts with an Athena schema and an Orion specification, and gives as a result an updated Athena schema resulting from applying the defined operations on the input Athena schema, and a database specific script able to migrate data to the new schema. By doing so the schema evolves and also the data can be migrated.
</p>
<p>As can be seen in the Figure below, Orion defines several transformations to other systems in order to assure compatibility::
<ul>
<li>A <em>model to model</em> transformation to/from Orion and Athena.</li>
<li>A <em>model to text</em> transformation to generate MongoDB native code.</li>
<li>A <em>model to text</em> transformation to generate CQL (Cassandra) native code.</li>
</ul>
<br/>
<br/>
<img class="img-rounded img-responsive img-fluid mx-auto d-block" src="img/tools/orion_flow.png" width="65%">
<br/>
</p>
<p>The following projects provide the basics to create Orion specifications:
<ul>
<li>es.um.unosql.xtext.orion</li>
<li>es.um.unosql.xtext.orion.ide</li>
<li>es.um.unosql.xtext.orion.ui</li>
</ul>
</p>
</div>
<div class="row section-separator" id="install">
<h3><b>Installation and Usage</b></h3><br>
</div>
<div class="row section-separator" id="specification">
<h3><b>Language Specification</b></h3><br>
</div>
<div id="footer"></div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script>
<script>$(document).ready(function(){$('#header').load("html/common/header.html");});</script>
<script>$(document).ready(function(){$('#header_tools').load("html/common/header_tools.html");});</script>
<script>$(document).ready(function(){$('#tools_index').load("html/common/tools_index.html");});</script>
<script>$(document).ready(function(){$('#footer').load("html/common/footer.html");});</script>
</body>
</html>