<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GTL Tools</title>
	<atom:link href="https://gtltools.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://gtltools.com</link>
	<description></description>
	<lastBuildDate>Thu, 07 May 2015 11:59:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Job schedulers &#8211; GTL Scheduler</title>
		<link>https://gtltools.com/job-schedulers-en/job-scheduler-en/</link>
		<comments>https://gtltools.com/job-schedulers-en/job-scheduler-en/#comments</comments>
		<pubDate>Thu, 01 Jan 2015 13:34:04 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Job schedulers]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=61</guid>
		<description><![CDATA[<p>A job scheduling tool for massively parallel processing designed for heterogeneous data warehouse environments. It is built over a Java application server. Process management in GTL Scheduler is based on the definition of dependencies between [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/job-schedulers-en/job-scheduler-en/">Job schedulers &#8211; GTL Scheduler</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span class="perex">A job scheduling tool for massively parallel processing designed for heterogeneous data warehouse environments. It is built over a Java application server. Process management in GTL Scheduler is based on the definition of dependencies between tasks and resources (for example, locks, files, spreadsheets, etc.). Tasks are launched as soon as their dependencies on other tasks and objects are fulfilled. Specific arrangement and parallelisation size are left to the tool responsible for the process control. User interface  as a web application use different user roles and allows daily data processing monitoring and administration. </span></p>
<h3>Job scheduler &#8211; dependency graph</h3>
<p>One of the primary goal of globtech scheduler is to provide maximum flexibility to organization of jobs. We have chosen simple but powerful kind of organization – dependency graph. A dependency graph is composed of objects like job, lock or connector and dependencies among them. Two jobs can be synchronized using predecessor-successor dependency. If this kind of dependency is not sufficient lock can be used. Lock is typically used as an abstraction for table, file etc. to assure restricted access of jobs to a resource. Access can be fully exclusive or shared with limited number of actual users. Connector is another type of object, which is used by jobs to access target environments like databases or file systems. As for locks, connectors can be restricted for concurrent access as well.
</p>
<p>Dependency graph has many advantages over other organizations like tree organization or workflow. Above all they are:</p>
<ul>
<li>Maximally clear arrangement of jobs – any two jobs are equal and does not define hierarchy. It is then easy to look up for the real direct or indirect dependencies. On contrary, trees or workflows add unnecessary dependencies because of their structure. Jobs are often grouped on similarity or modularity rules which induces more dependencies than is needed for correct run.</li>
<li>Easy administration – changing job dependencies means simply changing the dependencies. No tree reorganization, no workflow/subworkflow redesign is necessary not mentioning that reorganization can be very tricky and error prone.</li>
<li>Maximum autonomy of jobs – all you need to define is the dependencies necessary for correct execution. It helps scheduler to effectively order jobs for execution. Operator can easily and effectively restart or skip sets of selected jobs.</li>
</ul>
<h3>Job scheduling</h3>
<p>Job processing based on dependency graph allows maximum parallelism, which can be used for various methods of scheduling. The simplest one that is used in scheduler is scheduling by priorities. But more important method for processing of big graphs of jobs is scheduling based on statistics of previous job executions. Goal of this scheduling method is to prefer jobs from critical paths and thus complete the whole execution in the least possible time, which is crucial requirement for etl processing.<br />
Another criterion of job scheduling, which is orthogonal to the previous ones, is load-balancing. Load-balancing constrains the job selection by keeping maximum acceptable level of target environment load not exceeded. For better estimate of expected load during job execution collecting of statistics of previous executions are helpful. Load-balancing is important in effective job scheduler because even small exceeding of server resources (typically it is memory) can significantly prolong the execution time of the job processing. Shortage of free memory causes swapping of memory pages. Similarly overloaded data cache in database server causes lots of page misses. Both examples increase number of i/o read and write disk operations, which are very time expensive.</p>
<h3>Software architecture</h3>
<p>Scheduler has the following subparts: repository database, runtime database, runtime server and user console.</p>
<p>Schema<br />
<img src="/wp-content/uploads/2015/01/Architektura.png" alt="Architektura" style="border:1px dotted #9a1b1b"></p>
<ul>
<li>Repository database contains metadata like graph definition. Definitions can be parameterized, which is useful for example for definition of extract file set i.e. files containing the same kind of data and differ only in their names containing date of export. Repository can be accessed using db api (views and stored procedures). DB api can be used for advanced metadata generation using other types of metadata.</li>
<li>Runtime database contains actual state of objects and other operational and history data like event log, statistics, etc.</li>
<li>Runtime server is a service (demon) process that is responsible for job selection (load-balancing), execution, monitoring and collection of statistic. One service is able to execute multiple jobs in parallel (maximum number is dynamically changeable). It is also possible to spawn multiple services in cooperating mode or backup mode.</li>
<li>Web console is intranet user interface for metadata administration, controlling a monitoring of jobs, resources and other objects. console is described in detail below.</li>
</ul>
<h3>List of functionality</h3>
<h4>Repository and runtime database</h4>
<ul>
<li>Scheduler is strongly oriented on database applications, that is why we support db api. Database always contains actual data.</li>
<li>Database variables are similar to system environment variables and can be used for metadata parameterization e.g. jobs can be created based on business data or environment or active statistics, etc.</li>
</ul>
<h4>Connector</h4>
<ul>
<li>Uniform access to target environment – abstraction from concrete connection, e.g. connector with the same name can be mapped to different database in test environment and in production. Metadata remains the same. It is possible to map more than one connector to one target environment.</li>
<li>Use of credentials in uniform way (see server).</li>
<li>Ability to manage load balancing using max number of parallel access.</li>
<li>Ability to restrict access to connector for exclusive access.</li>
<li>Temporary blocking connector by operator or programmatically using db api.</li>
</ul>
<h4>Lock</h4>
<ul>
<li>Used for additional synchronization among jobs. Lock can be used as an abstraction of file, table, database, processor or any kind of resource whose parallel access needs to be synchronized.</li>
<li>Lock can be used as a trigger or a latch (lock that is locked by default) and can be released on demand by operator or programmatically using db api. This kind of lock can be used to launch processing of subgraph of jobs dependent on external system. The subgraph processing can then be triggered programmatically using db api or by an operator.</li>
</ul>
<h4>Job</h4>
<ul>
<li>System jobs – ability to launch any executable file in the operating system where the runtime server runs.</li>
<li>Enabled/disabled – ability to block/unblock job execution by operator or programmatically using db api.</li>
<li>Abort – ability to abort job.</li>
<li>Skip – ability to skip job, which means scheduling the job for skipping. The real skipping is done when the job would be ready to run and would have resolved all dependencies thus all successor jobs are waiting since skipping job predecessors are resolved and the skipping job is skipped and resolved.</li>
<li>Timeout – ability to set timeout for job execution. the timeout event can be handled by an action (e.g. abort) or by sending an alert.</li>
<li>Deadline – ability to set an expected time of completion on a job. This attribute is used for preferential job scheduling based on critical paths in graph.</li>
<li>Priority – ability to set a priority on a job. Typically priority is less significant for job scheduling than effective priority (computed from critical paths) and so is not important except the immediate priority that causes job to be executed immediately (still dependencies have to be satisfied).</li>
<li>Statistics – ability for statistics collecting. Multiple statistics can be defined depending on time period like daily statistics, month ultimo statistics etc.</li>
<li>Restart count, restart delay – ability to set automatic restart of job in case of a failure with max count of repeat and a delay between two executions.</li>
<li>Event handling – ability to handle job execution events with an action. events are: on start, on finish, on end, on success, on error, on abort, on expire, on skip.</li>
<li>Recovery plan – complex way of treatment of job finish or timeout.</li>
<li>Job history – every job has recorded history of its execution. History contains basic job info and  all output attributes like number of inserted/updated/deleted rows. Set of output attributes can be extended and is configurable in job type metadata.</li>
</ul>
<h4>Runtime server</h4>
<ul>
<li>Can run as native service or as part of application server.</li>
<li>Fail-over – timestamp of last activity, handled lost connection to database, in case of lost connection to database critical operations are repeated with some period until they succeeds, backup runtime servers.</li>
<li>Ability to set server to idle state that causes suspension of new job processing.</li>
<li>Ability to set maximum number of currently running jobs on the server or time period for looking up for new jobs.</li>
<li>System logs – configurable format and file name of log files, configurable maximum size and splitting to multiple log files. Level of logging is configurable for different parts of server or modules independently. Log records are easily identifiable with server, worker, and job. Ability to log into windows system log or other 3rd party logging software supporting log4j library.</li>
<li>Event log – important events that occurred in scheduler are logged into runtime. Ability to log user defined events from service job, event handler or from database using db api.</li>
<li>Alerts – events can be matched with rules for alerts and in case of match an alert occurs and an email is sent.</li>
<li>Credentials – saved in runtime database (managed by operator) or in server configuration (managed by system administrator). Integration with java keystores including system keystore in windows.</li>
<li>Mailer – simple service for email delivery that is used for email notification. Mailer service can be used in service job or event handler.</li>
<li>Statistics collecting – automatic collecting of statistics of job executions. Collecting can be disabled that is useful in cases when statistics are generated by external procedures.</li>
<li>Environment variables – server propagates environment variables of operating system to jobs, moreover, server propagates job properties of java runtime environment and variables of runtime database and runtime server (saved in runtime database and managed by operator).</li>
<li>Extendibility – server can be easily integrated with any java library and functions can be exported to scheduler expression language. Libraries that require lifecycle management can be integrated as internal services.</li>
</ul>
<h4>Target environments</h4>
<ul>
<li>System jobs – ability to launch any executable file in the operating system and record standard and error outputs and archive them.
<li>
<li>RDBMS database – access through jdbc api to any jdbc enabled database. Ability to execute any kind of command supported by the jdbc driver. Support of input and output parameters (output parameters can be archived in job history). Database command can be composed dynamically using expression language.</li>
<li>Informatica integration services – support of native api that allows to launch and control workflows in integration server. After workflow completion logs and statistics can be downloaded, saved and accessed from the console.</li>
<li>File transfer – scheduler supports file transfer from/to local file system and servers supporting http(s), webdav, ftp(s), sftp, scp, samba protocols. For authentication user/password or client/server certificate can be used (concrete support of authentication method depends on whether connector library supports it or not).</li>
<li>Servis job – allows to execute a command in the runtime server. Explicitly exported functions can be executed only, which includes functions of internal services or imported functions from integrated libraries.</li>
<li>Basic types of jobs (listed above) can be used to derive user defined job types. User defined job types serves as templates for reusing identical parts of job definitions, e.g. ssis job can be derived from system job and defined as a template for dtexec command line utility that is used to execute ssis package.</li>
</ul>
<h4>User defined job types</h4>
<p>One of the powerful features of scheduler is extendible type system. Existing types of jobs (or other objects, e.g. lock) can be reused to create derived user defined types, which can predefine common attributes or override general attributes like command with an expression composing the value from more user friendly attributes. For example a user want to use a command line utility which has non-transparent options that are hardly to remember. Furthermore, many options remain unchanged for most of the jobs. In scheduler user can create new job type for this command line utility derived from system job. This new type will introduce new attributes one attribute for for each command line option that is expected to be used. Then the type will override attribute command with predefined path to the executable file of the utility and will also override attribute arguments with an expression that will compose command line arguments from the new options attributes. Jobs derived from this new type define only the necessary attributes and leave all the command line utility specialties on the derived job type.</p>
<h4>Calendar, execution plan</h4>
<p>Calendar defines list of holidays and time zone. Execution plan defines sequence of timestamps that are based on calendar and execution plan parameters. Execution plan can be defined as „execute daily at 2:00“, then the execution plan defines sequence of timestamps (time zone is not stated) &#8230;, 1.1.2010 2:00, 2.1.2010 2:00, 3.1.2010 2:00, &#8230; execution plan has parameters to constrain timestamp sequence for concrete or periodic amount of time unit (e.g. on second day of every third month at 1 hour am every second minute) time unit can be one of quarter, month, day/workday in month, day in week, last day/workday in month, hour, minute. Execution plan can be constrained by a start and/or an end date (e.g. plan is valid only until the end of the year) or by a daily window (e.g. execute only from 8:00 to 18:00). Job can be scheduled using more than one execution plan.</p>
<h3>Web console</h3>
<p>Scheduler user interface allows access in three different roles: superuser, administrator, operator and common user. Administrator is responsible for metadata administration, i.e. objects definitions. Runtime data is not allowed to be edited for administrator. On contrary, operator is responsible for runtime state of jobs, resources and runtime servers. That is why operator is allowed to modify (using predefined operation actions) runtime data and thus react on incidents. For example he is allowed to solve unpredicted job failures by restart or resolve, he can block temporarily set of jobs, target environments or stop runtime servers. But operator is not able to modify metadata, which are accessible to operator for reading only. Role user is for the other users of scheduler that are allowed only to see data but are not allowed to modify them however. Role superuser merges administrator and operator roles. These roles are also applied on database level i.e. for db api access.</p>
<h4>Effective browsing, navigation, editing, operations</h4>
<p>Console is designed and optimized for browsing and editing of dependency graphs containing big number of objects and dependencies. That is why we generally use tables for browsing data. In object details it is possible to find all direct dependencies and quickly navigate to them using hyperlinks. For another way to browse hierarchy we use tree. Objects in tables can be filtered and sorted.</p>
<p>Browsing and editing objects in console<br />
<img src="/wp-content/uploads/2015/01/EditaceObjektu.png" alt="EditaceObjektu" style="border:1px dotted #9a1b1b"></p>
<p>For bulk operations on jobs (e.g. restart, spool) there are specially design dialogs that helps to effectively select set of jobs with some properties. Upper table is used for browsing jobs in hierarchy towards predecessors of selected root job or towards its successors. Alternatively jobs can be listed without hierarchy. Jobs in the table can be filtered, sorted and then selected. Actual selection of jobs is shown in the lower table. When all required jobs are selected user can set up additional parameters of operation and confirm the operation. All modifications are processed in one database transaction.</p>
<p>Bulk operations on jobs<br />
<img src="/wp-content/uploads/2015/01/SkupinovaEditace.png" alt="SkupinovaEditace" style="border:1px dotted #9a1b1b"></p>
<h4>Monitoring</h4>
<p>Overview of the current state of execution is shown and periodically updated in the left side panel. This gets a user general information about current state of processing. More detailed information about processing is available in monitoring view. This view contains several tables with important operational data about jobs (running, waiting, finished and waiting for resolve), event log and current state of the runtime server(s).</p>
<h4>File system</h4>
<p>Jobs and runtime server(s) generate lots of files e.g. system log file, standard output of system jobs or informatica log files. Console provides remote access to this files. User is able to browse them, sort, filter them or download them to local computer. </p>
<p>Remote file system explorer<br />
<img src="/wp-content/uploads/2015/01/FileSystem.png" alt="FileSystem" style="border:1px dotted #9a1b1b"></p>
<h4>User interface customization</h4>
<p>UI interface can be customized on three levels:</p>
<ul>
<li>Environment styling – helps to differentiate different environments (e.g. development, test and production), this kind of styling changes color and title of the console header.</li>
<li>Branding styling – is for changing style to assimilate ui with company gui standards.</li>
<li>Detail customization –  using css styling and templates with forms and tables layout.</li>
</ul>
<p>The post <a rel="nofollow" href="https://gtltools.com/job-schedulers-en/job-scheduler-en/">Job schedulers &#8211; GTL Scheduler</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/job-schedulers-en/job-scheduler-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Job schedulers &#8211; GTL Launcher</title>
		<link>https://gtltools.com/job-schedulers-en/job-scheduler-launcher-en/</link>
		<comments>https://gtltools.com/job-schedulers-en/job-scheduler-launcher-en/#comments</comments>
		<pubDate>Thu, 01 Jan 2015 13:01:00 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Job schedulers]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=55</guid>
		<description><![CDATA[<p>Job scheduler GTL Launcher allows automation of launching tasks (databases procedure and ssis packages procedures) in environment of Microsoft SQL server 2005 and higher. Its typical use is in cases of regular (daily, monthly&#8230;) launching [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/job-schedulers-en/job-scheduler-launcher-en/">Job schedulers &#8211; GTL Launcher</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="perex">Job scheduler GTL Launcher allows automation of launching tasks (databases procedure and ssis packages procedures) in environment of Microsoft <strong>SQL server 2005 and higher</strong>. Its typical use is in cases of regular (daily, monthly&#8230;)  launching all the time the same tasks, eg. downloading of extracts into database, export data from one database to the other or other etl. Its performance unit consists of a series of management <strong>database tables and t-sql saved procedures</strong>. The launch of task is provided by <strong>sql server agent</strong>. Job scheduler user interface (user console) has character of <strong>web application, is created in c# asp.net 2.0.</strong> Authorized user can create and edit tasks and directly administer their processing (monitor the course of processing, restart and launch tasks immediately etc.).</div>
<h3>Job scheduler &#8211; grouping tasks into groups – jobs, steps</h3>
<ul>
<li>Job – group of logically related tasks.</li>
<li>Step – task – one job step.</li>
<li>Job contains several steps, sequence of steps in job is fixed.</li>
<li>Dependencies between jobs – order of processing not only in the job, but also among them.</li>
</ul>
<p>Job configuration screenshot<br />
<img src="/wp-content/uploads/2015/01/JobConfiguration.png" alt="JobConfiguration" style="border:1px dotted #9a1b1b"></p>
<h3>Parallelism and prioritization</h3>
<ul>
<li>Launch more tasks at the same time</li>
<li>Possibility to define, which tasks can and which cannot run in parallel.</li>
<li>Possibility to influence the order of processing tasks with priority.</li>
</ul>
<h3>Advanced planning of the jobs and steps</h3>
<ul>
<li>Comparable opportunities with schedules v sql agent server, launch of tasks daily,weekly, monthly, just in working days, etc.</li>
<li>Possibility to combine more of execution plans.</li>
</ul>
<p>Jobs planning screenshot<br />
<img src="/wp-content/uploads/2015/01/JobPlanning.png" alt="JobConfiguration" style="border:1px dotted #9a1b1b"></p>
<h3>Fault resistance</h3>
<ul>
<li>Separation launching tasks from launcher administration – fall of task does not mean fall of launcher.</li>
<li>Each of the task runs as independent process (sql server agent job).</li>
</ul>
<h3>E-mail notification</h3>
<ul>
<li>Sending messages generated while processing – successful end of job, task errors, etc.</li>
</ul>
<h3>Intelligent handling of errors</h3>
<ul>
<li>Mechanism of recovery – automatic reaction to the outcome of the jobs run (email sending, task restart, launch of corrective task).</li>
<li>Critical and not critical errors: critical tasks – when an error occurs in the task to suspend further processing non critical tasks – the processing will not be stopper by the failure of the task.</li>
<li>Errors logging in launcher running also in task running, browsing the error log directly from the application.</li>
</ul>
<h3>Editing environment</h3>
<ul>
<li>Launcher complete administration from user interface, minimum direct intervention into database(special maintenance).</li>
<li>Possibility to create jobs, steps, tasks, executive plans.</li>
<li>Monitoring of processing, possibility to actively intervene in the run of processing (suspend, restart, task canceling).</li>
</ul>
<p>Jobs processing screenshot<br />
<img src="/wp-content/uploads/2015/01/JobProcessing.png" alt="JobConfiguration" style="border:1px dotted #9a1b1b"></p>
<h3>Customization</h3>
<ul>
<li>Color tuning application.</li>
<li>Types of launching tasks.</li>
</ul>
<p>The post <a rel="nofollow" href="https://gtltools.com/job-schedulers-en/job-scheduler-launcher-en/">Job schedulers &#8211; GTL Launcher</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/job-schedulers-en/job-scheduler-launcher-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Informatica code generator &#8211; GTL Generator</title>
		<link>https://gtltools.com/generators-en/informatica-code-generator-en/</link>
		<comments>https://gtltools.com/generators-en/informatica-code-generator-en/#comments</comments>
		<pubDate>Thu, 01 Jan 2015 13:00:23 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Generators]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=32</guid>
		<description><![CDATA[<p>Informatica code generator reduces development costs by automated generating ETL using users templates. GTL Generator permits to generate: Source and target objects for transformed data (Informatica sources and targets). Mapping with transformations. Sessions and workflows [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/generators-en/informatica-code-generator-en/">Informatica code generator &#8211; GTL Generator</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="perex">Informatica code generator reduces development costs by automated generating ETL using users templates.  GTL Generator permits to generate:</p>
<ul>
<li>Source and target objects for transformed data (Informatica <strong>sources and targets</strong>).</li>
<li><strong>Mapping</strong> with transformations.</li>
<li><strong>Sessions and workflows for</strong> generated mappings.</li>
<li>Auxiliary files for mapping – <strong>parametrical files and definition plans</strong> for external components.</li>
<li><strong>SQL code (BTEQ script, saved procedures</strong>) based on model input.</li>
</ul>
<p>Generation results in Informatica are PowerCenter objects saved in XML which may be imported directly to the Informatica PowerCenter repository.</p></div>
<h3>Tool architecture</h3>
<p>Informatica code generator consists of three basic components: </p>
<ul>
<li>Application GTL Generator (Java) installed on the workstation.</li>
<li>Mapping Architect for Visio (part of the installation IPC).</li>
<li>Metadata repository in Oracle or PostgreSQL database.</li>
</ul>
<p>Metadata for SW GTL Generator tool can be stored on any existing database server, there is no need to have dedicated database server.<br />
GTL Application Generator runs locally on the PC, where must be installed client tools IPC and MS Visio. The application requires access to the repository via IPC client tools (command line tool pmrep.exe).</p>
<h3>Main functions</h3>
<ul>
<li>IN data- data management in the input layer. Allows reading, viewing and deleting data structures within the data model version.</li>
<li>DS data &#8211; manage data structures in inner layer of the application. Performs within the version of the data model again.</li>
<li>WRK data – manage working data structures. It allows preparing a full version of the data model or the difference between two data model versions for next objects generation.</li>
<li>Source and Target &#8211; generate IPC sources and targets for the specific model version.</li>
<li>Transformations – templates of IPC objects management, import parameter values and object generation.</li>
<li>Text Templates &#8211; text templates management and texts/scripts generation.</li>
</ul>
<h4>IN data</h4>
<p>Loading data to the interface layer contains two steps: </p>
<ul>
<li>Load of data structures of the specific model version. </li>
<li>Load of history rules of the specific model version. </li>
</ul>
<p>Data structure means the table definitions  &#8211; list of columns, constraints, keys, indexes and so on. All imported definitions support generation of sources and destinations. Definitions are generally related to the data model version, it is possible to perform version comparison and update sources and destinations in case of model changes.<br />
Data load is done from a text file in the format of csv with semicolon as a separator.Character set is optional.<br />
Data entities containing history rules are used during load into core of the data warehouse &#8211; target. Rules import creates a metadata layer, which is used in mapping templates filling target.<br />
Data load is done from a text file in the format of csv with semicolon as a separator. Character set is optional.</p>
<p>Screenshot with loaded tables in chosen model version.<br />
<img src="/wp-content/uploads/2015/01/InData.png" alt="InData" style="border:1px dotted #9a1b1b"></p>
<h4>DS data</h4>
<p>Input layer contains data for each model version. For application full functionality internal data processing has to be made in DS data function.</p>
<h4>Working (wrk) data</h4>
<p>WRK &#8211; working data are processed internally by generator and supports: </p>
<ul>
<li>Database objects created in the user&#8217;s schema &#8211; schema with object definition rigths for user. Database objects are then the source for the template parameter values.</li>
<li>Sources and targets generating. </li>
</ul>
<p>Working data are in fact data structures and other metadata that depends on the selected operating mode. There are two types of working mode: </p>
<ul>
<li>FULL- working data contain all metadata for a specific model version. </li>
<li>DIFF- working data contain only difference between two model versions. The advantage is that the generated sources, targets and parameter values possibly are performed only for new or modified objects.</li>
</ul>
<p>Screenshot in operating mode FULL with a list of new or changed tables.<br />
<img src="/wp-content/uploads/2015/01/WrkData.png" alt="WrkData" style="border:1px dotted #9a1b1b"></p>
<h4>Sources and targets</h4>
<p>Sources and targets are directly generated IPC objects. Generator on the selected operating mode base: </p>
<ul>
<li>Generate them using to xml file on the path selected.</li>
<li>Import them into the repository IPC.</li>
</ul>
<h4>Transformations</h4>
<p>Transformation is a logically grouped set of templates and includes templates for workflow, mapping, session or parameter file. Template is created from object exported from IPC (mapping, session, workflow). Template type matches type of the exported object. Template definition it is possible to define as following sequence of steps: </p>
<ul>
<li>Export the object from IPC (xml files).</li>
<li>Import object to the generator, in case of mapping to Mapping Architect for Visio.</li>
<li>Setting the variable attributes &#8211; object parameters (in case of mapping in Mapping Architect for Visio).</li>
<li>Completion of the template definition.</li>
</ul>
<p>Screenshot with selection and definition of parameterized attributes in template.<br />
<img src="/wp-content/uploads/2015/01/TemplateParameterDefinition.png" alt="TemplateParameterDefinition" style="border:1px dotted #9a1b1b"></p>
<h4>Parameter values &#8211; import and export</h4>
<p>A prerequisite for object generating is Import of values for the parameters in the template. There are two ways to import metadata: </p>
<ul>
<li>From text file in csv format.</li>
<li>From database view in the user&#8217;s schema.</li>
</ul>
<p>Example of the text file with parameter values.<br />
<img src="/wp-content/uploads/2015/01/ImportParameterValues.png" alt="ImportParameterValues" style="border:1px dotted #9a1b1b"><br />
Export is an operation that can be used in case of once imported file correction or can help to create a file for a different template, but with similar parameters.</p>
<h4>IPC objects generation and import</h4>
<p>Generating objects is the final operation and uses two options:</p>
<ul>
<li>Generate them using to xml file.</li>
<li>Import them into the repository IPC.</li>
</ul>
<h4>Text templates</h4>
<p>Text templates use <a href="https://velocity.apache.org/" target="_blank">Apache Velocity</a> technology integrated in the application. Templates can be used for example in SQL queries in ETL transformations. There are usually the same SQL queries /scripts with differences only in the names of tables, columns list, joining conditions etc. Such SQL queries can be parameterized and then generated.</p>
<p>Text templates parameters in text/script.<br />
<img src="/wp-content/uploads/2015/01/TextTemplate.png" alt="TextTemplate" style="border:1px dotted #9a1b1b"></p>
<p>The post <a rel="nofollow" href="https://gtltools.com/generators-en/informatica-code-generator-en/">Informatica code generator &#8211; GTL Generator</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/generators-en/informatica-code-generator-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test tools &#8211; GTL GUI Master</title>
		<link>https://gtltools.com/test-tools/test-tools-gui-master-en/</link>
		<comments>https://gtltools.com/test-tools/test-tools-gui-master-en/#comments</comments>
		<pubDate>Thu, 01 Jan 2015 12:30:17 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Test tools]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=17&#038;lang=CS</guid>
		<description><![CDATA[<p>Test tool GUI Master tests user interfaces automatically using bitmaps. It is a graphically-oriented solution for designing and executing automated user acceptance tests (UAT), regression tests as well as integration tests. Uses image recognition to [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/test-tools/test-tools-gui-master-en/">Test tools &#8211; GTL GUI Master</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="perex">Test tool GUI Master tests user interfaces automatically using bitmaps. It is a graphically-oriented solution for designing and executing automated user acceptance tests (UAT), regression tests as well as integration tests. Uses image recognition to control the test scenario flow. GUI Master is a platform-independent solution and covers virtually all business applications used by corporations, governments, and public institutions. From a user perspective, gui master offers a great amount of flexibility and automates even the most complex test scenarios at a favorable cost. Keeps the structure of test scenarios clear, easy to maintain and well documented. Test automation driven by GUI Master is fast and efficient. The innovative technology behind test tool eliminates the disadvantages found in “regular” testing tools and provides the most flexible and user-friendly testing solution currently available on the market.</div>
<h3>Test tool &#8211; key features</h3>
<ul>
<li>Platform independence – gui master is a platform-independent solution. it supports web applications, reporting systems, b2b, erp, sap, infor, navision, oracle, siebel, etc., as well as terminal applications (e.g. as400).</li>
<li>Simplicity – one solution for testing all applications. no extra software costs or “applications- specific” plugins are required.</li>
<li>Flexibility – the flexibility of gui master far exceeds that of other “boxed products”. Available functionality can be extended at once in accordance with project needs. Test scenarios are portable among various pc’s as well as between windows operating systems.</li>
<li>Fast test scenario configuration – the test scenario design in gui master is fast and efficient. Users do not write a “test script”; rather they build a test scenario using the mouse. Any part of the test scenario can be re-used in another test scenario with different parameters.</li>
<li>Programming skills not required – GUI Master does not require programming/scripting skills. The test scenarios are built/maintained in a graphical environment with good “bug tracking” support.</li>
<li>Data-driven testing support – in GUI Master, the data is separated from the test scenario “flow” and kept in a (xls/txt) file or sql database. Various test scenarios are created by adding an extra set of data into the file/database.</li>
<li>Automated evaluation of test results – the scenarios are automatically evaluated according to the given guidelines. The results achieved can be compared to the data taken from an error message or displayed report and compared to a value stored in a file or database table.</li>
<li>Detailed reporting – the execution of the test scenario (including screenshots) and its results are reported. A number of formats are supported, including the possibility to generate a video sequence from the test.</li>
<li>Easy integration with test management systems – GUI Master fully integrates with major alm applications, such as spiratest, hp qc, or ibm rational, to name just a few.</li>
<li>Test scenarios resistant to changes in the tested application – gui master supports automated testing even in a dynamic environment, where tested applications change frequently.</li>
</ul>
<h3>How does test tool GUI Master work</h3>
<p>GUI Master uses image recognition to run the test scenario trough tested application. Typical test scenario defines, which transaction should be started, the parameters to used and where these parameters should be entered. GUI Master seeks those objects (button, radio button, combo box, drop down list, etc.) on tested screen and subsequently process required action (i.e. enter value, select an item from the drop down menu, etc). Exact position of these objects is irrelevant. An object can be found anywhere on a tested screen, including areas not currently shown. Additionally, the bitmap sample can be dynamically adapted to changed conditions (e.g. different colours, screen resolution, or new font) of the application, which makes the test scenario quite stable and minimize maintenance cost despite changes implemented into tested application. The “visual recognition of objects” gives gui master the ability to automate the testing of virtually any application, including those accessible only via citrix or other remote desktop. In fact the gui master approach is very similar to what a human tester would do when executing the same test scenario: the tester starts the test, looks for the graphical object specified in the documentation, takes the action required (pushes a button, enters data, etc.) and (sometimes) writes a report. GUI Master is also able to react to the status of the tested screen and adapt to the next course of action according to the situation. Because of the similarity of the approach to the “human way of testing”, the test scenario design is easy to learn and quite intuitive. The difference (with a human tester) is that gui master is cheaper, runs faster, evaluates each test scenario in line with given rules, and keeps detailed records of actions taken for further auditing reference. Apart from the “screen-based actions”, GUI Master also actively uses the command line to execute other operations (such as ftp, telnet, various utilities and system services) to further enhance its ability. </p>
<h3>GUI Master editor</h3>
<p>The GUI Master editor is a component for building and editing test scenarios. In GUI Master, the test scenario is not built in the form of script (vb,java). Instead, tool keeps the test scenario in a visual “tree” structure, where the test designer inserts (by mouse) specialized procedures seeking visual objects and determines what the test scenario should do. Each procedure was designed to execute a specific event, such as “find a bitmap”, “enter a string in a combo box”, “push a button” or “collect data for validation”, etc. the gui master library contains approximately 40 procedures and covers all typical functionality needed to build automated test scenarios. In order to offer maximum flexibility, there is a built-in sdk, which allows advanced users to build new procedures in order to accommodate any functionality not covered by standard procedures. Most standard procedures are supported by the wizard to simplify and speed up the setup of procedure-specific parameters. Such procedure is then virtually set with a few “clicks of the mouse”. This innovative approach makes a significant impact on productivity, as work in the editor is faster and more efficient, compared to the conventional method of typing a script into GUI Master also supports modularity. A set of procedures (e.g. the sequence for login into the system) can be saved in a block (macro) and used furthermore as a procedure with different parameters. </p>
<h3>GUI Master launcher</h3>
<p>The launcher is a component that provides the following operations:</p>
<ul>
<li>Structures and organizes test scenarios</li>
<li>Prepares test data.</li>
<li>Launches test scenarios.</li>
<li>Collects data.</li>
<li>Evaluates results.</li>
<li>Creates test reports.</li>
</ul>
<h3>Test data preparation</h3>
<p>In GUI Master, the data can be separated from the test scenario and kept in a text file or an xls file. The data can also be stored in a database table. GUI Master accesses the data source via an odbc connector/driver while processing the test scenario. An alternative test scenario is then created simply by adding an additional set of data to the data source. GUI Master also supports the automatic generation of test data. for example, in order to validate an “entry form” it is necessary to enter “allowed” in each combo box, as well as “disallowed” values. GUI Master has a component that makes it possible, with simple statements, to describe these values, and GUI Master then subsequently generates the required values (please see qacegen for more details).</p>
<h3>Launching test scenarios</h3>
<p>In GUI Master, test scenarios can either be launched manually from a launcher or from a batch file while processing more than one test scenario at the same time. A batch file can run straight from a command line and it is also possible to launch the file from external test management applications (including spiratest, hp qc and ibm rational). While executing the batch file, gui master carefully manages the test cycle. Should a scenario fail or the tested application crash, gui master always attempts to return the next test scenario to a defined “starting point”. That way, a failure of one scenario does not affect the execution of the remaining scenario.</p>
<h3>Data collection</h3>
<p>Each test scenario is automatically evaluated according to the given guidelines. Should data from the test scenario be saved on a database table, gui master would generate and run an sql statement to validate the results achieved. In some instances, it is necessary to validate the results against the data displayed only on the screen (reports, error messages, etc.). In that case, GUI Master downloads the required data directly from the screen and – if necessary – applies built-in ocr functionality to convert the image. The collected data is stored in internal variables and subsequently used during result verification.</p>
<h3>Results verification/validation</h3>
<p>GUI Master also provides very strong support for results verification. There is a number of ways to prepare verification statements, which can be written in any programming language or in the inbuilt “results verification editor” using simple comparisons. Probably the simplest way is to store the expected results together with the test data in a text or xls file. GUI Master then only compares achieved results with the data recorded in the file.</p>
<h3>Reporting</h3>
<p>Presenting achieved results is an integral part of the testing process. gui master offers fully automated reporting functionality. Each scenario is carefully documented during its execution and subsequent verification, including screen snapshots. once the scenario is completed, gui master compiles a report. The level of details and graphical template can be edited according to specific reporting requirements. Alternatively, GUI Master can also store the results in a database.</p>
<h3>GUI Master adaptability</h3>
<p>The “bitmap samples” sought by gui master on the tested screen should not be understood as static objects. Colors may be changed, other fonts used, or a new graphical object added. GUI Master can easily adapt to these changes without modifications in test scenarios. For example, the typical “bitmap sample” gui master frequently uses is a description of a combo box. This description can be stored as a text value. prior to the execution of the test, GUI Master detects what font and color are used within the tested operation, and based on this information it dynamically creates the “bitmap sample”, which is subsequently used during the test.</p>
<h3>Integration with other applications</h3>
<p>We focus entirely on test automation. We realize there are many existing solutions for application lifecycle management (alm). In 2012 gartner compared approximately 20 alm applications and we have no ambition to compete there. Therefore, instead of merely building another alm, we gave gui master the ability to integrate its superior functionality into existing alm applications or virtually any reporting system in that area. The test scenarios built in gui master can be launched from an alm application. After completion, gui master returns the required information back to the alm. It is also possible to integrate gui master into existing test automation scripts. GUI Master also supports automatic test data generation. For example, each “entry form” has defined specific data types to be entered into each box, eventually there are filters and constrains applied. GUI Master can automatically generate data to validate entry of “allowed” data types into a box, eventually generate data for “forbidden” data types.</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/test-tools/test-tools-gui-master-en/">Test tools &#8211; GTL GUI Master</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/test-tools/test-tools-gui-master-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test tools &#8211; GTL QAceGen</title>
		<link>https://gtltools.com/test-tools/test-tools-qacegen-en/</link>
		<comments>https://gtltools.com/test-tools/test-tools-qacegen-en/#comments</comments>
		<pubDate>Thu, 01 Jan 2015 12:28:46 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Test tools]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=94&#038;lang=CS</guid>
		<description><![CDATA[<p>Test tool QAceGen generates test data automatically. However, it can also perform automated result verification and generate detailed test results report. It is an integrated graphical test tool with following key strengths: Up to 50% [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/test-tools/test-tools-qacegen-en/">Test tools &#8211; GTL QAceGen</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="perex">Test tool QAceGen generates test data automatically. However, it can also perform automated result verification and generate detailed test results report. It is an integrated graphical test tool with following key strengths:</p>
<ul>
<li>Up to 50% faster test data preparation than conventional methods.</li>
<li>Covers 100% of tested business logic.</li>
<li>Increased transparency of the testing process.</li>
<li>Complex tests (logical and performance tests).</li>
<li>Improved security of production data.</li>
</ul>
</div>
<h3>Test tool concept</h3>
<p>Functionality of QAceGen is driven by the &#8220;focus to the point&#8221; concept:</p>
<ul>
<li>Easy access to all necessary information.</li>
<li>Elimination of non-value added tasks.</li>
<li>Focus on the problem solving.</li>
</ul>
<p>&#8220;Focus to the point” means that work with test tool QAceGen is very efficient. All necessary information about data types, primary and foreign keys, constraints and relations impacting the test project is always easily available within the tool. Tester does not have to look for relevant information in documentation, databases or in other information sources. QAceGen also eliminates vast majority of the &#8220;non-value added” activities: keys, constraints, filters and records in all referential tables are automatically generated by qacegen. All data fields, although not directly related to the tested logic, but required due to the data integrity, are generated automatically. This significantly shortens the time to prepare test data. This innovative concept introduced by qacegen offers substantial user benefits. QAceGen saves up to 50% of the time needed for test data preparation when compared with conventional methods. When preparing test data manually, a tester has to often deal with very complex data relations, which is very time-consuming and often leads to grossly incorrect results. QAceGen however allows a tester to focus entirely on the tested business logic. Any &#8220;non-value added” activities (i.e. not directly related to tested business logic) are processed by the system.<br />
Note: &#8220;business logic&#8221; specification defines rules which a software application follows. this is used for both development and application testing. QAaceGen has been designed as a &#8220;business logic driven data generator&#8221;. Tt means that the system generates test data based on the rules defined in the business specification. In QAceGen, the business logic is divided into logically indivisible elementary units called test scenarios. Each test scenario is then expressed in the dgl language (data generation language) of QAceGen. These definitions are then used by QAceGen to generate set of records for each scenario. Resultant set of test data covers every logical branch of a given business logic. Another useful feature of qacegen is self-documentation. Each test project has a defined logical structure, driven by the split of a tested logic into individual test scenarios. Project documentation is integrated directly into each test scenarios. These comments can be easily exported into a separate document (while preserving its original logical structure) and subsequently distributed to all involved parties. This feature prevents project documentation to lag behind the actual status of a project. The &#8220;self-documentation” feature minimizes administrative effort and costs and keeps the documentation always up to date. QAcegen generates test data in two modes:</p>
<ul>
<li>Data for a logical test.</li>
<li>Performance test data.</li>
</ul>
<p>Logical test data is primarily used to test the business logic. Tool generates only small volume of data (of a few thousands of records) to cover every logical branch of a tested business logic. Once successfully completed, the system (based on all test scenarios) prepares data for a performance test. In this mode, the volume of records is significantly higher (millions of records) to simulate a real-life situation and/or a &#8220;peak events” to verify that tested application meets speed requirements.<br />
Note: qacegen always generates complex data, which covers entire business logic. No matter how insignificant change request is implemented, tool always generates data for a complex test. Only this way can be identified possible collateral effects of the change request, which may not show during an incremental test.<br />
QAceGen offers an easy transportation functionality to deliver test data into all source files and/or tables. Metadata of each table/file are stored in a &#8220;source profile”, which defines location, data format and access rights. The &#8220;data transportation&#8221; icon transports data into required location automatically.  When test scenarios include the &#8220;verification statements”, qacegen validates the results of each test scenario and creates detailed protocol. First, these results are displayed in a graphical mode in qacegen. Subsequently, the results can be exported into a text report while preserving the logical structure of the project. The level of detail can vary from the simple results overview to a detailed information about each transaction used during the test. QAceGen&#8217;s security features are system&#8217;s another advantage. Data used by the system contain only artificial strings and numbers unrelated to the real production data. No sensitive data from production system is ever used during test.  </p>
<h3>Main applications</h3>
<p>QAceGen system has been primarily designed for following type of type of activities:</p>
<ul>
<li>Data preparation &#8211; (e.g. development, training).</li>
<li>Applications Testing.</li>
<li>ITO applications.</li>
<li>Complex systems.</li>
<li>Data quality management (dqm).</li>
</ul>
<p>Note: ito = Input / transformation / output (i.e. an application processing data)<br />
ITO application – takes data from input tables/files, transforms data according to the business logic and stores results into output tables/files. An etl process is an example of an ito application, however similar processes/applications can be found among data warehouse application or transaction systems. Complex systems – specialized solutions (e.g. erp, b2b), which can be seen as a &#8220;black box&#8221; by users. Data processing and storage of data inside database is not exactly known but these systems communicate with users or other application via pre-defined interface according to given business processes. Data preparation – according to the business logic defined in the specification. As mentioned above, the business logic is split into scenarios and qacegen generates set of records covering each scenario. Such data can be used for applications development or loading data into test/training environments, where the use of production data is either not possible or not recommended due to security issues. Testing – designed scenarios in addition to the &#8220;data preparation” include &#8220;verification statements” which validate results of a tested application. QAceGen also supports data generation/testing in a complex systems environment. Many organizations run many specialized systems from various vendors and on various platforms. It is often necessary to test how these systems exchange data and cooperate among themselves. These systems communicate via a pre-defined interface. This implies that the input data structures as well as the loaders feeding those systems have a defined structure. Test scenarios are defined by a given business process, which defines both list of required input data (e.g. client, order, transaction) and a sequence of input data loads. QAceGen tool generates data according to the input tables/files structures and then it runs a relevant api or a script to transport input data. In addition, data input using screen forms can be automated. If required, the results verification can be addressed similarly. QAceGen can run an api/script with the relevant business process, record and verify the result. Data quality management (dqm) feature controls data quality. The feature includes:</p>
<ul>
<li>Duplicity monitoring.</li>
<li>Cardinality monitoring.</li>
<li>SCD2 (slowly changing dimensions type2 – e.g. historization, incidences, &#8230;).</li>
</ul>
<p>Using the simple dqm commands, it is possible to set checks above tables or joins of tables. These commands then generate a set of control sql statements and after execution are automatically verified by QAceGen. The outcome is recorded into a standard report. The main advantage of this solution is fast control of virtually hundreds of tables across different databases. Also, dqm functionality is an &#8220;open solution” where new dqm commands can be designed if required. </p>
<h3>Benefits</h3>
<ul>
<li>Lower project costs than traditional solutions.</li>
<li>Time efficient.</li>
<li>Enhanced transparency of a test project.</li>
<li>Improved data security.</li>
</ul>
<p>The post <a rel="nofollow" href="https://gtltools.com/test-tools/test-tools-qacegen-en/">Test tools &#8211; GTL QAceGen</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/test-tools/test-tools-qacegen-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metadata management &#8211; GTL MetaData Center</title>
		<link>https://gtltools.com/metadata-management-en/metadata-management-center-en/</link>
		<comments>https://gtltools.com/metadata-management-en/metadata-management-center-en/#comments</comments>
		<pubDate>Thu, 01 Jan 2015 12:12:15 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Metadata management]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=194&#038;lang=CS</guid>
		<description><![CDATA[<p>Metadata management tool GTL Metadata Center (MDC) is web based application supporting development and maintenance of corporate data warehouses (DW). Main tasks include storing validated metadata of table/extract structures and generating outputs incl. SQL, ELT [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/metadata-management-en/metadata-management-center-en/">Metadata management &#8211; GTL MetaData Center</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span class="perex">Metadata management tool GTL Metadata Center (MDC) is web based application supporting development and maintenance of corporate data warehouses (DW). Main tasks include storing validated metadata of table/extract structures and generating outputs incl. SQL, ELT routines, ETL tools XML or validation logs. The structures can be organized into different layers.</p>
<h3>Metadata management tool &#8211; main layers</h3>
<ul>
<li>Extract/view definitions.</li>
<li>Data mapping definitions.</li>
<li>Table definitions.</li>
<li>Output generation.</li>
<li>Validation and generation scripts maintenance.</li>
<li>Change management support.</li>
</ul>
<h3>Active directory integration</h3>
<p>Since the beginning MDC has been designed as a web based (thin client) application, thus enabling multiple users or teams to work together. It integrates with Active Directory (AD) and its privileges are mapped to AD user groups. Access to many areas incl. editing, output generation, administration, can be restricted by MDC-to-AD privileges. Minimal set of MDC roles should be: application administrator, BI architect, data modeler, BI analyst, and ETL developer.</p>
<h3>Extract/view definitions</h3>
<p>Every system delivering data into DW defines either interfaces or data extracts. MDC can import definitions from Excel spreadsheets, Sybase PowerDesigner, SQL files, via import forms or web services API. The same definitions can be exported as Excel spreadsheet or custom generation scripts can be used (see later).<br />
Other operations cover definition creation (including field definition and DB technical info), version control, validation, browsing, compare, labeling for change management and output generation (i.e. XML code for Informatica PowerCenter, SQL data definition, SQL data manipulation, check plans, paramfiles). The same form serves for view and join index definition.</p>
<h3>Data mapping definition</h3>
<p>MDC supports definition of data mappings for tables or extracts defined in DW. Such mappings contain simple or more complex transformation rules. MDC allows such definitions to import from either SQL or Excel spreadsheets, or to create them from scratch. The same as for extracts, the mapping definitions are under version control, can be validated, displayed, compared, labeled for change management, and used for output generation. Data mapping form can be used for complex views definitions as well.</p>
<h3>Table Definitions</h3>
<p>Table definitions can be imported from PowerDesigner either directly from MDC or from PowerDesigner calling web services from VBScript. Such definitions are imported into several layers as read-only but can be used as data mapping targets. Version control, version compare and output generation are available as well.</p>
<h3>Scripting</h3>
<p>All the validation and generation scripts are written and uploaded via script administration forms in MDC and are written in easy-to-understand custom language, which resembles VB script. Syntax highlighter and syntax checker is available for PSPad text editor. That allows the administrator to create the script in PSPad and upload it in.  </p>
<h3>Validation scripts</h3>
<p>MDC provides scripting engine, which is used for extract/table/mapping validation. Scripts are fully customizable and among others validate logical relationships between properties or in more complex cases to validate defined properties against remote databases. To ensure best performance, the scripts are compiled. The scripts are maintained by application administrator and used automatically by the application.</p>
<h3>Generation scripts</h3>
<p>MDC scripting engine is used for output generation as well. This is the most advantages feature of the application. The same as for validation scripts, generation scripts are fully customizable, pre-compiled, and their access permission restricted. The main outputs at the moment are:</p>
<ul>
<li>Data definition SQL (create table statements, create statistics, create index, create views, etc.).</li>
<li>Historization SQL.</li>
<li>SQL queries.</li>
<li>Sources/targets definitions for Informatica PowerCenter.</li>
<li>Paramfiles and check plans for Informatica PowerCenter.</li>
<li>Mapping and workflows for Informatica PowerCenter.</li>
</ul>
<h3>Version control, locking</h3>
<p>All major objects are part of MDC version control. The application allows to defined either permanent or working version. Every version is stored with auditing information: version author, version timestamp, version number, change management label, and archive timestamp. While being edited, the version is locked for other user, it can only be view in read-only mode or used for output generation.</p>
<h3>ETL files</h3>
<p>MDC supports definition of derived files called ETL files. These files are based on extract definitions, table definitions or the combination of the two. They are usually used for enriching the extracts with target primary key.</p>
<h3>Release management</h3>
<p>MDC supports process management by dynamic fully customizable forms. These provide support for SLA, new system additions, and change management. Functionality includes version control, compare, list of responsible people, dynamic forms, custom views, output generation, etc.<br />
Also all major objects can be labeled to support release management. Mappings can be also locked by development status, which helps transferring mapping analysis between analysts and developers.</p>
<h3>API</h3>
<p>MDC API at the moment covers two major areas: table definition imports and running generation scripts.</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/metadata-management-en/metadata-management-center-en/">Metadata management &#8211; GTL MetaData Center</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/metadata-management-en/metadata-management-center-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Informatica custom transformation &#8211; GTL Checker</title>
		<link>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-checker-en/</link>
		<comments>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-checker-en/#comments</comments>
		<pubDate>Sun, 21 Dec 2014 14:53:34 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Informatica transformations]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=239</guid>
		<description><![CDATA[<p>Informatica custom transformation GTL Checker converts data types. On its input can be any number of ports and in the output group the corresponding number of output ports. The output data type determines the conversion [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-checker-en/">Informatica custom transformation &#8211; GTL Checker</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span class="perex">Informatica custom transformation GTL Checker converts data types. On its input can be any number of ports and in the output group the corresponding number of output ports. The output data type determines the conversion is to be performed for incoming records. Data conversions are precisely define by external file – check plan. Check plan specifies for example data format, decimal separator in numbers with decimal point on the input and output, restriction on the  not null value, definition of primary key etc. </p>
<h3>Informatica custom transformation &#8211; conversion types</h3>
<ul>
<li>Basic type – conversion of  data type.</li>
<li>Characters set conversion according to defined table (only data type  “string”).</li>
<li>Replacement or rather elimination of unwanted characters according to defined table  (only data type “string”).</li>
<li>Trimming – elimination of white characters (only data type “string”).</li>
<li>Conversion of numbers to less exact numbers in mode round rounding or  trimming or rather chains trimming.</li>
</ul>
<h3>Further functions</h3>
<ul>
<li>Identification and eventual elimination of records with null value of input port.</li>
<li>Elimination of duplicated records based on defined primary key.</li>
</ul>
<p>The errors output is generated for records, where conversion does not correspond with the rules. If it is possible to resolve an error in predefined way, for example by reducing accuracy of the number or by passing null values, the processing of the record continues and at the same time a type error warning is generated. Otherwise the record it not processed and only error type record is generated.</p>
<p>Example of using components in transformation<br />
<img src="/wp-content/uploads/2015/01/CheckerExample.png" alt="CheckerExample" style="border:1px dotted #9a1b1b"></p>
<p>The post <a rel="nofollow" href="https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-checker-en/">Informatica custom transformation &#8211; GTL Checker</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-checker-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Informatica custom transformation &#8211; GTL Consolidation</title>
		<link>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-consolidation-en/</link>
		<comments>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-consolidation-en/#comments</comments>
		<pubDate>Tue, 09 Dec 2014 15:36:20 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Informatica transformations]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=101&#038;lang=CS</guid>
		<description><![CDATA[<p>Informatica custom transformation GTL Consolidation consolidates historical data using external consolidation plan. Historical data are data collecting an entire history of the object, not only current status. Each record of the object has a validity [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-consolidation-en/">Informatica custom transformation &#8211; GTL Consolidation</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span class="perex">Informatica custom transformation GTL Consolidation consolidates historical data using external consolidation plan. Historical data are data collecting an entire history of the  object, not only current status. Each record of the object has a validity interval in time. New record is created with consequential validity interval when the change of the monitored object attributes occurs, validity of the original record is finished. Informatica custom transformation is able to perform consolidation of the entire historical sets with group records which needs to be added, corrected or terminate its validity. Consolidation plan (consol plan) is an external file with information needed for consolidation at the level of each ports. Each record in the file contains two fields – name of the port and type of the port. The name of the port corresponds with the name of the port in the group working, type of the port determines which role has port while consolidates.</span></p>
<h3>Informatica custom transformation input groups</h3>
<ul>
<li>Group working contains data, which needs to be consolidate with historical data, which means data records for a certain period. One group can contain only data changes or entire time record.</li>
<li>Group  target contains historical data, that means the history of each record/object. Data are consolidated with data from input working.</li>
</ul>
<h3>Informatica custom transformation output groups</h3>
<ul>
<li>Group output – new records, which needs to be added to historical data, so than can collect consolidated changes. </li>
<li>Group original – on this output are send target records for to reduce validity, because there are working record with changed attributes or records on the input. These changed records or attributes does not exist on the new record and its validity should be terminated.</li>
</ul>
<p>Input and output  groups of component<br />
<img src="/wp-content/uploads/2015/01/ConsolidationExample.png" alt="ConsolidationExample" style="border:1px dotted #9a1b1b"></p>
<h3>Consolidation plan &#8211; port type values</h3>
<table>
<div class="text">
<div class="table">
<div class="table-row">
<div class="cell-left1"><strong>PK</strong></div>
<div class="cell-right1">Port or ports belong to primary key or belong to composite primary key. Input is classified in ascending order by these ports and by its ranking in the working group.</div>
</div>
<div class="table-row">
<div class="cell-left1"><strong>START_DT</strong></div>
<div class="cell-right1">Port with data of the beginning of the validity interval record. Must be stated only for one port. </div>
</div>
<div class="table-row">
<div class="cell-left1"><strong>END_DT</strong></div>
<div class="cell-right1">Port with data of the end validity interval records. Must be stated just for one port. </div>
</div>
<div class="table-row">
<div class="cell-left1"><strong>FLAG</strong></div>
<div class="cell-right1">Port with working type record -„i“ (insert), „u“ (update), „d“ (delete). Values „i“ and „u“ closes older records and loading of new record with the identical primary key. Value „d“ means just closing of older file with identical primary key. Must be stated only for one port. </div>
</div>
<div class="table-row">
<div class="cell-left1"><strong>MONITORED</strong></div>
<div class="cell-right1">Port should be tract for changes. The value change of any tract ports causes loading of another output file. Can be stated for more ports.</div>
</div>
<div class="table-row">
<div class="cell-left1"><strong>MINOR</strong></div>
<div class="cell-right1">Port is not tracked for changes. This port changes do not enforce load of new record but are only updated for new values.</div>
</div>
<div class="table-row">
<div class="cell-left1"><strong>WEAKMINOR</strong></div>
<div class="cell-right1">Port is not traced for changes. This value changes of this port do not enforce load of new record and are used only for loading of new file.</div>
</div>
<div class="table-row">
<div class="cell-left1"><strong>IGNORED</strong></div>
<div class="cell-right1">Port change is ignored. Changes of this port do not enforce load of new record, and are never updated with new values.</div>
</div>
</div>
<p>The post <a rel="nofollow" href="https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-consolidation-en/">Informatica custom transformation &#8211; GTL Consolidation</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-consolidation-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Informatica custom transformation &#8211; GTL Conditions</title>
		<link>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-conditions-en/</link>
		<comments>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-conditions-en/#comments</comments>
		<pubDate>Mon, 01 Dec 2014 11:58:01 +0000</pubDate>
		<dc:creator><![CDATA[erbent]]></dc:creator>
				<category><![CDATA[Informatica transformations]]></category>

		<guid isPermaLink="false">https://gtltools.com/?p=136&#038;lang=CS</guid>
		<description><![CDATA[<p>The GTL Condition Informatica transformation is used for the evaluation of complex conditional expressions specified in an external file. Main benefits of Informatica transformation Simple definition of complex evaluation conditions. Administration of conditions in an [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-conditions-en/">Informatica custom transformation &#8211; GTL Conditions</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span class="perex">The GTL Condition Informatica transformation is used for the evaluation of complex conditional expressions specified in an external file.<br />
</span> </p>
<h3>Main benefits of Informatica transformation</h3>
<ul>
<li>Simple definition of complex evaluation conditions.</li>
<li>Administration of conditions in an external file enabling editing without interfering with the actual transformation.</li>
<li>Implemented numerical arithmetic, operations for strings, date values and boolean values.</li>
<li>The component’s language is easily extendable to include more user-defined functions.</li>
<li>Up to 15% faster processing.</li>
</ul>
<p>The logic of the expression evaluation is similar to the case expression of the SQL language with a slightly extended logic. Compared to the normal behaviour, one of three strategies for the generation of the resulting value can be defined: </p>
<ul>
<li>Use only the first completed branch.</li>
<li>Use all completed branches.</li>
<li>Use only the first completed branch and generate error in case of multiple completed branches.</li>
</ul>
<p>Example of using the omponent in transformation<br />
<img src="/wp-content/uploads/2015/01/ConditionsExample.png" alt="ConditionsExample" style="border:1px dotted #9a1b1b"></p>
<p>The post <a rel="nofollow" href="https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-conditions-en/">Informatica custom transformation &#8211; GTL Conditions</a> appeared first on <a rel="nofollow" href="https://gtltools.com">GTL Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://gtltools.com/informatica-transfromations-en/informatica-custom-transformation-gtl-conditions-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
