Signal DSL

From OS.bee documentation
Revision as of 12:42, 29 October 2018 by Yang (Talk | contribs) (package defintion)

Jump to: navigation, search

Purpose

POS master data updates over signal watchers, to execute a list of tasks (for now only import and/or export via datainterchange) depending on newly created files. This so called trigger-file will be deleted after the execution of all the tasks (or actions) weither they are be executed sequentially or parallel.

A client wishes to export a certain amount of data (sales, reports, master data...) on a specific working day (or not) at a certain time, either once or several time on this date. Therefore, it should now be possible to define such characteristic inside a model.

SignalDSL

The SingalDSL defines the java functions for Os.bee and the functions will be used in other Os.bee models. The main semantic elements of the SingalDSL are:

  • package - The root element that contains all the other elements. (now in one file only one package could be defined, the grammar could be altered to support several packages in one file, if needed)
  • import declarations - Used to import external models or other Java classes.
  • watcher - define a watcher which monitors a directory.
  • filemask - define a group of target files to watch and all detail about the watcher.
  • filename - define a target file to watch and detail about the watcher.
  • scheduler - define the simple or complex schedulers for executing tens, hundreds, or even tens-of-thousands of jobs.

package defintion

With the keyword package followed by a qualified name, you define the root element that contains all the other elements. A model can contain multiple packages.

Syntax:

package <package name>[{ 
	(
	  watcher <watcher name>
		  filemask <file mask> . . .
		| filename <file name> . . .

	| scheduler <scheduler name> . . .
	)* 
}]
  • one or more watcher/scheduler can be defined in the same package.
  • 2 types of watcher can be defined, they are:
    • file mask watcher:
      We provide the possibility to set a file mask to extend the further specify (and identify) on a file name basis, the defined task will be executed when the matched files creations occur in the monitored directory.
    • file name watcher:
      A specified file name can be defined as the target file, and a list of tasks will be executed when the matched file creation occurs in the monitored directory.

Watcher

Syntax:

watcher <watchername>
	filemask <filemask>
		sequential|parallel
		from <data:DataInterchange Group>
	{
		import|export <data:DataInterchange Unit> [applyon]
	}

	| 
	filename <filename>
		sequential|parallel
		from <data:DataInterchangeGroup>
	{
		(import|export <data:DataInterchange Unit> [applyon])*
	}

Scheduler

Syntax:

scheduler <schedulername>
	  cron <expressionSTRING> 
	| hourlyat <minuteINT>
	| dailyat <hourINT> : <minuteINT>
	| weeklyon DayOfWeekEnum at <hourINT> : <minuteINT>
	| monthlyon <dayofmonthINT> at <hourINT> : <minuteINT>
	[sequential|parallel]
	from <data:DataInterchange Group>
{
	(import|export <data:DataInterchange Unit> [applyon])*
}
  • DayOfWeekEnum is including sunday, monday, tuesday, wednesday, thursday, friday and saturday.

Copyright Notice

All rights are reserved by Compex Systemhaus GmbH. In particular, duplications, translations, microfilming, saving and processing in electronic systems are protected by copyright. Use of this manual is only authorized with the permission of Compex Systemhaus GmbH. Infringements of the law shall be punished in accordance with civil and penal laws. We have taken utmost care in putting together texts and images. Nevertheless, the possibility of errors cannot be completely ruled out. The Figures and information in this manual are only given as approximations unless expressly indicated as binding. Amendments to the manual due to amendments to the standard software remain reserved. Please note that the latest amendments to the manual can be accessed through our helpdesk at any time. The contractually agreed regulations of the licensing and maintenance of the standard software shall apply with regard to liability for any errors in the documentation. Guarantees, particularly guarantees of quality or durability can only be assumed for the manual insofar as its quality or durability are expressly stipulated as guaranteed. If you would like to make a suggestion, the Compex Team would be very pleased to hear from you.

(c) 2016-2024 Compex Systemhaus GmbH