Scriptella: Difference between revisions

Content deleted Content added
Updated links from http to https and removed broken link to the website that is no longer available
No edit summary
 
(14 intermediate revisions by 7 users not shown)
Line 1:
{{Short description|Script execution tool}}
{{Multiple issues|
 
{{unreferenced|date=March 2012}}
{{Notability|Productsinline|date=March 20122025}}
}}
 
{{Infobox Software
Line 11 ⟶ 10:
| operating_system = [[Cross-platform]]
| genre = [[Extract transform load|ETL]], [[Data migration]] and [[SQL]].
| license = [[Apache Software License]]
| website = [http{{URL|https://scriptella.org http://scriptella.org]}}
}}
{{Portal|Free and open-source software}}
 
'''Scriptella''' is an open source [[Extractextract transform load|ETL]] (Extract-Transform-LoadETL)]] and script execution tool written in Java. Its primary focus is simplicity. It doesn't require the user to learn another complex XML-based language to use it, but allows the use of [[SQL]] or another [[scripting language]] suitable for the data source to perform required transformations.<ref>{{cite Scriptella does not offer any [[graphical user interface]].web
| url=https://www.infoworld.com/article/2160447/groovy-etls-with-scriptella.html
| title=Groovy ETLs with Scriptella
| author=Andrew Glover
| date=2010-09-28
| publisher=[[InfoWorld]]
| access-date=2025-04-07}}</ref> Scriptella does not offer any [[graphical user interface]].
 
==Typical use==
Line 21 ⟶ 26:
* Database creation/update scripts.
* Cross-database ETL operations, import/export.
* Alternative for [[Apache_Ant|Ant]] <code><sql></code> task.
* Automated database schema upgrade.<ref>{{cite web|url=https://scriptella.org/index.html|title=Scriptella: Typical use|date=2019-10-04}}</ref>
 
==Features==
* '''Simple XML syntax''' for scripts. Add dynamics to your existing SQL scripts by creating a thin wrapper XML file:<sourcesyntaxhighlight lang="xml">
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
<etl>
<connection driver="$driver" url="$url" user="$user" password="$password"/>
<script>
<include href="PATH_TO_YOUR_SCRIPT.sql"/>
-- And/or directly insert SQL statements here
</script>
</etl>
</syntaxhighlight>
</source>
* Support for '''multiple datasources''' (or multiple connections to a single database) in an ETL file.
* Support for many useful '''[[Java Database Connectivity|JDBC]] features''', e.g. parameters in SQL including file blobs and JDBC escaping.
* '''Performance.''' Performance and low memory usage are one of the primary goals.
* Support for '''evaluated expressions and properties''' (JEXL syntax)
* Support for '''cross-database ETL scripts''' by using <code><dialect></code> elements
* '''Transactional execution'''
* '''Error handling''' via <code><onerror></code> elements
* '''Conditional scripts/queries execution''' (similar to Ant if/unless attributes but more powerful)
* '''Easy-to-Use''' as a standalone tool or [[Apache_Ant|Ant]] task., Nowithout deployment/installation requiredor installation.
* '''Easy-To-Run''' ETL files directly from Java code.
* '''Built-in adapters for popular databases''' for a tight integration. Support for any database with JDBC/[[Open Database Connectivity|ODBC]] compliant driver.
* Service Provider Interface (SPI) for interoperability with non-JDBC DataSources and integration with scripting languages. Out of the box support for [[JSR 223|JSR 223 (Scripting for the Java Platform)]] compatible languages.
* Built-Inin [[Comma-separated values|CSV]], TEXT, [[XML]], [[Lightweight Directory Access Protocol|LDAP]], [[Apache Lucene|Lucene]], [[Apache Velocity|Velocity]], JEXL and Janino providers. Integration with [[Java EE]], [[Spring framework|Spring Framework]], [[Java Management Extensions|JMX]] and [[JNDI]] for enterprise ready scripts.
 
==Further reading==
* {{cite book |last1=Biswas |first1=Neepa |last2=Sarkar |first2=Anamitra |last3=Mondal |first3=Kartick Chandra |chapter=Empirical Analysis of Programmable ETL Tools |title=Computational Intelligence, Communications, and Business Analytics |series=Communications in Computer and Information Science |date=2019 |volume=1031 |pages=267–277 |doi=10.1007/978-981-13-8581-0_22 |chapter-url=https://link.springer.com/chapter/10.1007/978-981-13-8581-0_22 |access-date=31 March 2025 |publisher=Springer |isbn=978-981-13-8580-3 |language=en}}
* {{cite book |author1=Information Resources Management Association |author1-link=Information Resources Management Association |title=Information Resources Management: Concepts, Methodologies, Tools and Applications |date=30 April 2010 |publisher=Information Science Reference |isbn=978-1-61520-966-8 |pages=630, 642 |url=https://books.google.com/books?id=zIdVXq5BLOMC |access-date=31 March 2025 |language=en}}
 
== References ==
<references/>
 
==External links==
* [{{Official website|https://scriptella.org Scriptella ETL Site]/}}
* {{GitHub|scriptella/scriptella-etl}}
* [https://groups.google.com/d/forum/scriptella/ Discussion forum]
* [https://www.javaforge.com/proj/forum/browseForum.do?forum_id=3126 Discussion forum(deprecated)]
* {{Openhub|id=p_4526|name=Scriptella ETL}}
 
Line 59 ⟶ 69:
[[Category:Data warehousing products]]
[[Category:Data management]]
 
 
{{compu-stub}}