<?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>Integranova Software Solutions</title>
	<atom:link href="http://www.integranova.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.integranova.com</link>
	<description>Integranova Software Solutions</description>
	<lastBuildDate>Tue, 08 May 2012 07:49:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Interview on Integranova in Modeling Languages portal</title>
		<link>http://www.integranova.com/2012/05/interview-on-integranova-in-modeling-languages-portal/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=interview-on-integranova-in-modeling-languages-portal</link>
		<comments>http://www.integranova.com/2012/05/interview-on-integranova-in-modeling-languages-portal/#comments</comments>
		<pubDate>Tue, 08 May 2012 07:41:44 +0000</pubDate>
		<dc:creator>Juan Carlos Molina</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[integranova]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[mda]]></category>
		<category><![CDATA[mdd]]></category>
		<category><![CDATA[modeling languages]]></category>

		<guid isPermaLink="false">http://www.integranova.com/?p=1029</guid>
		<description><![CDATA[Jordi Cabot, creator of the Modeling Languages portal, interviewed Juan Carlos Molina about Integranova and its MDD/MDA products and technologies.
]]></description>
			<content:encoded><![CDATA[<a title="Jordi Cabot's profile" href="http://www.linkedin.com/in/jcabot" target="_blank">Jordi Cabot</a>, creator of the <a title="Modeling Languages portal" href="http://modeling-languages.com" target="_blank">Modeling Languages</a> portal, interviewed <a title="Juan Carlos Molina's profile" href="http://es.linkedin.com/pub/juan-carlos-molina/0/405/412" target="_blank">Juan Carlos Molina</a> about <a title="Integranova Software Solutions" href="http://www.integranova.com" target="_blank">Integranova</a> and its MDD/MDA products and technologies.<br /><br />Juan Carlos outlined the history of the company, its current state of affairs regarding MDA/MDD and what still lies ahead.<br /><br />See the full interview <a title="Interview with Juan Carlos Molina" href="http://modeling-languages.com/a-coffee-with-juan-carlos-molina-integranova/" target="_blank">here</a>.]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/05/interview-on-integranova-in-modeling-languages-portal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demo: Generating full applications from conceptual models with Integranova</title>
		<link>http://www.integranova.com/2012/04/demo-generating-full-applications-from-conceptual-models-with-integranova/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=demo-generating-full-applications-from-conceptual-models-with-integranova</link>
		<comments>http://www.integranova.com/2012/04/demo-generating-full-applications-from-conceptual-models-with-integranova/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 09:16:41 +0000</pubDate>
		<dc:creator>Juan Carlos Molina</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[code generation]]></category>
		<category><![CDATA[mda]]></category>
		<category><![CDATA[mdd]]></category>
		<category><![CDATA[mdsd]]></category>

		<guid isPermaLink="false">http://www.integranova.com/?p=1024</guid>
		<description><![CDATA[This video (audio in Spanish) shows how fast and easy it is to obtain a full application from a conceptual model created with Integranova Model Execution System. The demo covers model validation, specification of transformation options, sending of the transformation request, receiving source code files as well as the compilation and deployment steps up to running the actual generated application.]]></description>
			<content:encoded><![CDATA[This <a href="http://youtu.be/Y5Zg6TVgbjw" title="Generación de aplicaciones completas a partir de modelos conceptuales Integranova" target="_blank">video</a> (audio in Spanish) shows how fast and easy it is to obtain a full application from a conceptual model created with Integranova Model Execution System. The demo covers model validation, specification of transformation options, sending of the transformation request, receiving source code files as well as the compilation and deployment steps up to running the actual generated application.<br /><a href="http://youtu.be/Y5Zg6TVgbjw" title="Generación de aplicaciones completas a partir de modelos conceptuales Integranova"></a>]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/04/demo-generating-full-applications-from-conceptual-models-with-integranova/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Model?</title>
		<link>http://www.integranova.com/2012/04/why-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-model</link>
		<comments>http://www.integranova.com/2012/04/why-model/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 10:38:58 +0000</pubDate>
		<dc:creator>Juan Carlos Molina</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.integranova.com/?p=989</guid>
		<description><![CDATA[These days I'm taking a very interesting on-line course on models called "Model Thinking" by Scott E. Page of the Center for the Study of Complex Systems at the University of Michigan in Ann Arbor.

You might be thinking it makes perfect sense for me to take this course since models is something I work with on a daily basis. Reality is, the kind of models I work with is different from the kind of models taught in that course.

At Integranova we use models as the primary artifact in a software development process. The models in the "Model Thinking" course are related to economics and social sciences, though. Nevertheless, often times I find myself identifying striking similarities in the underlying concepts. And perhaps one of the things that I find more aligned with what we do at Integranova is the rationale behind the use of models. I will go here through the four main reasons that Scott cites in his case for models and will try to port them to our arena.]]></description>
			<content:encoded><![CDATA[<div class="mceTemp" draggable=""><dl id="attachment_990" class="wp-caption alignleft" style="width: 310px;"><dt class="wp-caption-dt"><a href="http://www.integranova.com/2012/04/why-model/1133323770-60166/" rel="attachment wp-att-990"><img src="http://www.integranova.com/wp-content/uploads/2012/03/1133323770-60166-300x225.jpg" alt="Molecular model" title="Molecular model" width="300" height="225" class="size-medium wp-image-990" /></a></dt></dl></div><br />These days I&#8217;m taking a very interesting on-line course on models called &#8220;<a href=" http://www.coursera.org/modelthinking" title="Model Thinking online course" target="_blank">Model Thinking</a>&#8221; by <a href="http://www.cscs.umich.edu/~spage/" title="Prof. Scott E. Page" target="_blank">Scott E. Page</a> of the <a href="http://www.cscs.umich.edu/" title="Center for the Study of Complex Systems. University of Michigan" target="_blank">Center for the Study of Complex Systems at the University of Michigan</a> in Ann Arbor.<br /><br />You might be thinking it makes perfect sense for me to take this course since models is something I work with on a daily basis. Reality is, the kind of models I work with is different from the kind of models taught in that course.<br /><br />At Integranova we use models as the primary artifact in a software development process. The models in the &#8220;<a href="http://www.coursera.org/modelthinking" title="Model Thinking online course" target="_blank">Model Thinking</a>&#8221; course are related to economics and social sciences, though. Nevertheless, often times I find myself identifying striking similarities in the underlying concepts. And perhaps one of the things that I find more aligned with what we do at Integranova is the rationale behind the use of models. I will go here through the four main reasons that Scott cites in his case for models and will try to port them to our arena.<br />
<span id="more-989"></span>
<br /><strong>Intelligent citizens of the world</strong><br /><br />Ok, Scott applies this in a much broader sense than I will. By &#8220;world&#8221; he means the world at large. Our scope is not that ambitious, just the world of software development. Unless you&#8217;ve been sleeping under a rock lately, you may have spotted a trend in our world towards an increasingly presence of models (most of them UML models but, luckily enough, not all of them!) in the development toolbox. In fact you must have been asleep longer than the Sleeping Beauty if you didn&#8217;t see this coming: entity-relationship models or data-flow diagrams have been around for a while now, the UML and its many different diagrams and flavours are no newcomers either, and DSLs are certainly gaining popularity. If you develop software these days, chances are that, at least, you do leverage some sort of model (even inadvertently!).<br />Class diagrams, anyone?<br /><br /><strong>Thinking More Clearly</strong><br /><br />Models make us better, clearer thinkers, Scott claims. And for good reason, I&#8217;d say. A good model is a simplification of the system we want to build, so it allows our tiny brains to deal with problems which are bigger both in size and in complexity, in ways that would be unaffordable if we were to approach them at a lower (say code) level. As we will see in future posts about good qualities of modeling languages, simplification doesn’t have to be traded for accuracy. Rather, it means telling the essential from the accessory. And that helps a great deal in thinking more clearly.<br /><br /><strong>Using and Understanding Data</strong><br /><br />What Scott terms &#8216;using and understanding data&#8217; is what I call &#8216;focusing on what really matters&#8217;. Data, in our case, would be the problem at hand, understanding &#8216;what&#8217; the system must do &#8212; something more or less concise &#8212; and not &#8216;how&#8217; it will be done &#8212; with all its wealth of implementation details. I&#8217;m sure you&#8217;ve heard the old saying: don&#8217;t miss the forest for the trees. Our trees are all the nuts and bolts that we take care of when crafting software. If we pay too close attention to them, we may get lost and miss the whole picture. <br />Have you ever brilliantly (technically speaking) solved the wrong problem? Don&#8217;t let that happen to you again.<br /><br /><strong>Using Models to Decide, Strategize and Design</strong><br /><br />I could not agree more! How come a model be used to decide, strategize and design? Well, good models can be built for a fraction of the time it would take to build the software system they represent, and good models are also (fully) executable (e.g. translatable to full source code). If you do the math, it turns out is far cheaper to try out different approaches &#8212; and even accommodate changes to requirements &#8212; at the modeling level than do the same at the coding level. Therefore, you can devise different versions of your models, compare them and decide what&#8217;s the best approach before even writing a single line of code.<br /><br /><strong>To Sum Up</strong><br /><br />There&#8217;s a bunch other reasons why models are useful and I will elaborate on them in future posts but for now, let me end my act of blatant plagiarism by quoting again Scott E. Page:<br /><br /><em>When we think about models, they&#8217;re simplifications. They&#8217;re abstractions. So in a sense, there&#8217;s a sense in which they&#8217;re wrong. There&#8217;s a famous quote by George Box, where he says, &#8220;All models are wrong.&#8221; And that&#8217;s true, right? They are. &#8220;But some are useful.&#8221;</em><br /><br />I would say that not only some, but most of the models we use are indeed very useful.<br /><br />]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/04/why-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Develop an application and deploy it in multiple languages</title>
		<link>http://www.integranova.com/2012/03/develop-an-application-and-deploy-it-in-multiple-languages/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=develop-an-application-and-deploy-it-in-multiple-languages</link>
		<comments>http://www.integranova.com/2012/03/develop-an-application-and-deploy-it-in-multiple-languages/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 11:46:07 +0000</pubDate>
		<dc:creator>Elena Tejadillos</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Customization]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[Multilanguage]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://www.integranova.com/?p=863</guid>
		<description><![CDATA[In a perfect world, everybody would speak the same language. But, it is not. English is the most popular language in technological environments and engineers, technologists and scientists speak it. But most of us like to work in our mother tongue, be it Spanish, German, French, Chinese, etc. Nowadays, if you install any software or]]></description>
			<content:encoded><![CDATA[<p>In a perfect world, everybody would speak the same language. But, it is not. English is the<i> </i>most popular language in technological environments and engineers, technologists and scientists speak it<i>.</i> But most of us like to work in our mother tongue, be it Spanish, German, French, Chinese, etc.</p>
<p>Nowadays, if you install any software or you sign up in any web, one of the typical questions is: <i>Which language do you want to use?. </i>Even more,<i> </i>your location may be detected and the language selected according to your geographical zone. Why? People like to work using a comfy language.</p>
<p>Integranova takes into account this need and as a result, the source code generated by the transformation engines is already prepared to support multiple languages and provides a tool that helps to add multiple languages to your application, this tool is named <b>Multilanguage</b>.<br /><span id="more-863"></span>For example, for our customers, we implemented our helpdesk application named <i>HelpCARE web</i> in three languages, Spanish, English and German, as you can see in the image below,</p>
<p><a href="http://www.integranova.com/2012/03/develop-an-application-and-deploy-it-in-multiple-languages/helpcareenidiomas670x700-2/" rel="attachment wp-att-938"><img src="http://www.integranova.com/wp-content/uploads/2012/03/HelpCAREEnIdiomas670x7001.png" alt="HelpCARE web in multiple languages" title="HelpCARE web in multiple languages" width="670" height="700" class="alignnone size-full wp-image-938" /></a></p>
<p>This web application was defined using Integranova tools:  modeled in English using <i>Modeler</i>, generated the source code via <i>Web ASP.NET Transformation Engine</i> and externalized its texts to be translated in Spanish and German by means of <i>Multilanguage</i>.</p><p><b>What is Multilanguage?</b></p><p>Multilanguage is not a translator app, there are a lot of free applications or webs for translating like <i>Google Translator</i>. Multilanguage is a tool that externalizes and stores all texts that will be displayed in your final application. Besides, it provides a facility to export these texts to an Excel file to be translated by an expert in the selected language. After that, this file can be imported by the Multilanguage application and it will generate the necessary resources files to offer support for multiple languages in your final application.</p><p><b>What does your application source code need to support Multilanguage?</b></p><p>Integranova has already implemented this facility in all its user interface transformation engines, so all the applications that you generate can support multiple languages.</p><p><b>How long will you take to add a new language?</b></p><p>Most of the time is spent in the translation of texts. The generation of new resources files for the final application is minimal (seconds).</p><p><b>When do you have to decide how many languages your application displays?</b></p><p>You can decide it at any time. Even if your application is already in production, you can add a new language. You only need to add the resources files in the corresponding folder of you application version and run it.</p><p>So, dear Integranova user, I invite you to develop your applications in multiple languages, giving them a touch of differentiation at a low cost.<br /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/03/develop-an-application-and-deploy-it-in-multiple-languages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS3 Buttons for Web Applications</title>
		<link>http://www.integranova.com/2012/02/css3-buttons-for-web-applications/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=css3-buttons-for-web-applications</link>
		<comments>http://www.integranova.com/2012/02/css3-buttons-for-web-applications/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 14:52:13 +0000</pubDate>
		<dc:creator>Carlos García</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Look&Feel]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.integranova.com/?p=758</guid>
		<description><![CDATA[Buttons in web applications are easy to style to a certain extent, but once one reaches the burden, few things can be done. CSS3 came, I mean, is coming, to change this scenario. Although the specification isn’t finished, it’s implemented by the major players in the browser arena. In this post I&#8217;m going to use]]></description>
			<content:encoded><![CDATA[<p>Buttons in web applications are easy to style to a certain extent, but once one reaches the burden, few things can be done. <strong>CSS3</strong> came, I mean, is coming, to change this scenario. Although the specification isn’t finished, it’s implemented by the major players in the browser arena. In this post I&#8217;m going to use the <strong>border-radius</strong>, <strong>box-shadow</strong>, <strong>gradient</strong> and <strong>text-shadow</strong> CSS3 additions to customize the buttons of an Integranova automatically generated web application.</p><span id="more-758"></span>
<p>At Integranova we have two model Transformation Engines for web platforms: one for <strong>ASP .net</strong> and another one for <strong>JSF</strong>. These Transformation Engines produce full <strong>web applications</strong> which rely on CSS for doing the application make up, easing the tasks of designers and allowing non-developers to change the look&amp;feel of a generated application. We are so committed with designers that CSS files for both platforms are almost identical.</p>
<p>But we are here to talk about buttons. Currently we produce plain buttons with some style applied so they integrate with the look&amp;feel of the chosen theme. They use images as backgrounds to be fully CSS 2.1 compliant and have the same looks whichever browser the user uses. Ok, that’s enough chatting, let’s get our hands dirty.</p>
<p>We&#8217;ll begin with the left  button and will end up having the right one.</p>
<table border="0" align="center" style="text-align: center;"><tbody>
	<tr>
		<td><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_old_off.png" alt="" title="Old button" width="86" height="43" class="alignnone size-full wp-image-761" /></td>
		<td>Regular</td>
		<td><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_new_off.png" alt="" title="New CSS3 button" width="113" height="62" class="alignnone size-full wp-image-759" /></td>
	</tr>
	<tr style="border-top-width: 1px; border-top-style: solid; border-top-color: #888888;">
		<td><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_old_on.png" alt="" title="Old button hover" width="90" height="36" class="alignnone size-full wp-image-762" /></td>
		<td>Hovered</td>
		<td><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_new_on.png" alt="" title="New CSS3 button hovered" width="114" height="60" class="alignnone size-full wp-image-760" /></td>
	</tr>
</tbody></table>
<p>First take a look at how the regular button is styled. By inspecting the element in the DOM tree with our favourite DOM inspector we can see that the button is using the <span style="font-family: 'courier new', courier;">button</span> CSS class defined in the <span style="font-family: 'courier new', courier;">commons.css</span> file.</p>
<pre class="brush: css; first-line: 27; title: ; notranslate">.button, .buttonhover{
	background:url(./images/general/txtBoxRequired.png) bottom;
    border-top:solid 1px #FFF;border-right:solid 1px #767492 !important;
    border-bottom:solid 1px #767492!important;border-left:solid 1px #FFF;
    color:#387294;
    font-size:10pt;
    margin-bottom:5px}</pre>
<table><tbody>
	<tr>
		<td style="border-top: 1px solid #888;"><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_old_off.png" alt="" title="Old button" width="86" height="43" class="alignnone size-full wp-image-761 aligncenter" /></td>
	</tr>
</tbody></table>
<p> This class defines a solid border with different colours for the 3D effect, a background image for the gradient, a text colour and text size and a margin for the bottom part of the button. There is nothing too special here.</p><p>First we are going to make the button bigger so we can appreciate the changes in all their glory. Add the following line:</p>
<pre class="brush: css; light: true; title: ; notranslate">padding: 5px 14px 6px;</pre>
<table><tbody>
	<tr>
		<td style="border-top: 1px solid #888;"><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_padding.png" alt="" title="Bigger button" width="105" height="53" class="aligncenter size-full wp-image-763" /></td>
	</tr>
</tbody></table>
<p>See what happens? We are using an image as background and the height of the background image is now smaller than the height of the button so the browser is repeating the image to fill the extra pixels. To solve this problem we will set a background color and a <strong>CSS3 background gradient overlay</strong> so there is no need of using an image. Remove the background-url attribute and add these lines instead:</p>
<pre class="brush: css; light: true; title: ; notranslate">
	background-color: #3e8ede;
	background-image: linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
    background-image: -o-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
    background-image: -moz-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
    background-image: -webkit-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
    background-image: -ms-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgba(255,255,255, 0)), color-stop(0.54, rgba(255,255,255, 0.25)), color-stop(0.55, rgba(255,255,255, 0.50)), color-stop(1, rgba(255,255,255, 0.70)));</pre>
<table><tbody><tr>
	<td style="border-top: 1px solid #888;"><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_gradient.png" alt="" title="Button with CSS3 gradient" width="96" height="52" class="aligncenter size-full wp-image-766" /></td>
</tr></tbody></table>
<p>Wow! That’s a lot of code for a gradient, isn’t it? Most browsers support the new CSS3 properties but as CSS3 isn’t still a standard they’ve been added to browsers through CSS extensions, making the use of some CSS3 properties a pain in the&#8230; a headache. The result is that we have added one gradient definition for each different browser extension. Fortunately there is a kind of fever with CSS3 and it’s very easy to find <strong>CSS3 code generators</strong> like the <a href="http://www.colorzilla.com/gradient-editor/" title="Mozilla Gradient Editor" target="_blank">CSS3 Gradient Editor from Mozilla</a> that do the boring job for you.</p><p>We’ll get rid of these sharp edges with the <strong>border-radius</strong> property. We’ll also change the current border colors to achieve a better result. Remove all the border attributes and add these lines:</p>
<pre class="brush: css; light: true; title: ; notranslate">
	border: 1px solid #3e8ede;
	border-bottom:1px solid #9f9f9f;
	border-radius: 6px;</pre>
<table><tbody><tr>
	<td style="border-top: 1px solid #888;"><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_borders.png" alt="" title="Button with round borders" width="95" height="55" class="aligncenter size-full wp-image-765" /></td>
</tr></tbody></table>
<p>The shape of the button is now completed and we’re almost done. Now, with the <strong>box-shadow</strong> attribute, we’ll create the shine in top of the button. This will be a very subtle change but a detail that will make our button stand up above the crowd. Add these lines:</p>
<pre class="brush: css; light: true; title: ; notranslate">
	-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);
	-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);
	box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);</pre>
<table><tbody><tr>
	<td style="border-top: 1px solid #888;"><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_shadow.png" alt="" title="Button with CSS3 inner shadow" width="95" height="50" class="aligncenter size-full wp-image-764" /></td>
</tr></tbody></table>
<p>Finally play a bit with the properties of the text to make it both readable and fancy. I’ve chosen white bold letters with an inner shadow, done with the <strong>text-shadow</strong> attribute:</p>
<pre class="brush: css; light: true; title: ; notranslate">
	color:#FFFFFF;
	text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
	font-weight: bold;
	font-size: 18px;</pre>
<table><tbody><tr>
	<td style="border-top: 1px solid #888;"><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_new_off.png" alt="" title="New CSS3 button" width="113" height="62" class="aligncenter size-full wp-image-759" /></td>
</tr></tbody></table>
<p>After all the changes made, the <span style="font-family: 'courier new', courier;">button</span> class should look like this:</p>
<pre class="brush: css; first-line: 27; title: ; notranslate">.button, .buttonhover{
	background-color: #3e8ede;
	background-image: linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
	background-image: -o-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
	background-image: -moz-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
	background-image: -webkit-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
	background-image: -ms-linear-gradient(bottom, rgba(255,255,255, 0) 0%, rgba(255,255,255, 0.25) 54%, rgba(255,255,255, 0.50) 55%, rgba(255,255,255, 0.70) 100%);
	background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgba(255,255,255, 0)), color-stop(0.54, rgba(255,255,255, 0.25)), color-stop(0.55, rgba(255,255,255, 0.50)), color-stop(1, rgba(255,255,255, 0.70)));
	-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);
	-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);
	box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);
	padding: 5px 14px 6px;
	color:#FFFFFF;
	text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
	font-weight: bold;
	font-size: 18px;
	border: 1px solid #3e8ede;
	border-bottom:1px solid #9f9f9f;
	border-radius: 6px;
}</pre>
<p>There is still one thing to do, change the look of the button when the mouse is over it. For this task we need to change the <span style="font-family: 'courier new', courier;">buttonhover</span> class with this code:</p>
<pre class="brush: css; first-line: 47; title: ; notranslate">.buttonhover, .button:hover{
	background-color: #2ede4e;
	border: 1px solid #2ede4e;
	border-bottom:1px solid #9f9f9f;
	cursor:pointer}</pre>
<table><tbody><tr>
	<td style="border-top: 1px solid #888;"><img src="http://www.integranova.com/wp-content/uploads/2012/02/button_new_on.png" alt="" title="New CSS3 button hovered" width="114" height="60" class="aligncenter size-full wp-image-760" /></td>
</tr></tbody></table>
<p>As we have used a semi-transparent white gradient overlay, we only need to change the background and border colors in order to change the whole button.</p>
<p>These buttons will look the same in every browser but Internet Explorer, which implements gradients only from version 10; version that hasn’t been published yet.</p><p>We have learned how to use some of the new attributes defined by CSS3 and that brings us a whole new world of possibilities. Do you feel brave enough to use gradients in the menu or make rounded filter borders?</p>]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/02/css3-buttons-for-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Driven Development for model transformation engines</title>
		<link>http://www.integranova.com/2012/02/test-driven-development-for-model-transformation-engines/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=test-driven-development-for-model-transformation-engines</link>
		<comments>http://www.integranova.com/2012/02/test-driven-development-for-model-transformation-engines/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 10:58:57 +0000</pubDate>
		<dc:creator>Carlos García</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://wp.integranova.com/wordpress/?p=657</guid>
		<description><![CDATA[Test Driven Development (TDD) has become so mainstream in the late years that everyone has at least heard about it. The benefits of TDD are clear enough to embrace it without any doubt and so we did before even knowing what TDD was. But first things first.A long time ago, in an office far, far away&#8230; it was a]]></description>
			<content:encoded><![CDATA[<p><strong>Test Driven Development (TDD)</strong> has become so mainstream in the late years that everyone has at least heard about it. The benefits of TDD are clear enough to embrace it without any doubt and so we did before even knowing what TDD was. But first things first.</p><div><img src="/wp-content/uploads/2012/01/testsRep.jpg" alt="Tests Reports" title="Tests Reports" class="size-full wp-image-724 aligncenter" style="border-style: initial; border-color: initial;" height="292" width="665" /></div><div><p>A long time ago, in an office far, far away&#8230; <span id="more-657"></span>it was a time of hope, no rush with projects, just development. The company had just jumped from University to the outer world and was giving itself some time to grow up the products in order to be mature enough to succeed. There were some <strong>model compilers</strong> under internal development and engineers tested the code they developed; that was a good way to keep things going. But eventually the model compilers grew up and personal testing wasn&#8217;t enough to deliver with the desired quality levels. That wasn&#8217;t good. So it was decided that tests should take much more importance in the <strong>development process</strong>.</p></div><div><p>But, what happens when you are developing something like a model compiler? the different modeling combinations are potentially infinite so, how can we test every single thing of the model compiler? Model compilers are applications themselves that take as input an application model and produce the source code for the application in the selected platform as output. <strong>Fully functional applications</strong> with complete business logic and user interface. So we decided to divide the functionality of our software products, be it a model compiler or the modeling tool, into the different features they provided. Then, for each feature we defined one or more tests documents which described all the casuistic that the feature could have. For each particular case we defined a particular test case with an input for the test and an expected behavior as a result. </p><p>The test cases are all written in a document that besides containing the tests needed to certify the feature, defines its precise behavior. It is a Test Case document and a <strong>requirements document</strong>.</p><p>The input for the test cases is then derived from this document, this is, the application models that will test the new feature. These models are then used to produce the respective applications code with the new <strong>Model Transformation Engines</strong> (that&#8217;s how we call our model compilers). At this point we have one or more applications that test all the different behaviors of the feature, so they are used to run the tests specified in the documents. If all the tests pass correctly, the new feature is finished and ready to be published.</p><p>So we have the documents that specify the tests to be done, the models that implement those tests, from the models we get the source code for a client and a server application with the corresponding data base. Finally we run the tests against that application to ensure that it behaves as it should. With this approach we can guarantee that the new features behave as they should and no new errors are introduced as side effects.</p><p>Now the numbers. Currently we have 501 of those documents for testing UI and Server Transformation Engines. Taking only the documents used to test UI Transformation Engines, which were used to test the last version of the  Transformation Engine for JSF UI, sum a grand total of 28.440 <strong>functional tests</strong> that have been passed before publishing. Now that&#8217;s what I call <strong>quality</strong>.</p></div>]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/02/test-driven-development-for-model-transformation-engines/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Integranova Blog</title>
		<link>http://www.integranova.com/2012/01/integranova-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=integranova-blog</link>
		<comments>http://www.integranova.com/2012/01/integranova-blog/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 12:57:12 +0000</pubDate>
		<dc:creator>Elena Tejadillos</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://wp.integranova.com/wordpress/?p=611</guid>
		<description><![CDATA[<p>Integranova is pleased to announce a new section on its web, our <strong><a href="/blog/">new Blog</a></strong>.</p>
<p>This blog is a place where Integranova members will post about their professional experiences, technical tips or success stories with our partners using Integranova M.E.S.</p>]]></description>
			<content:encoded><![CDATA[<p>Integranova is pleased to announce a new section on its web, our <strong><a href="http://www.integranova.com/blog/">new Blog</a></strong>.</p>
<p>This blog is a place where Integranova members will post about their professional experiences, technical tips or success stories with our partners using Integranova M.E.S.</p>
<span id="more-611"></span>
<p>All posts will be written in English to be globally understandable.</p>
<p>Any comment from our customers, partners or visitors will be welcome.</p>
<p>Integranova wishes that this new information channel helps our current users and our users to be.</p>]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/01/integranova-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Vision</title>
		<link>http://www.integranova.com/2012/01/our-vision/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=our-vision</link>
		<comments>http://www.integranova.com/2012/01/our-vision/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 09:40:05 +0000</pubDate>
		<dc:creator>Juan Carlos Molina</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://wp.integranova.com/wordpress/?p=631</guid>
		<description><![CDATA[<img src="/wp-content/uploads/2012/01/MG_9523_c_1024.jpg" class="size-medium wp-image-435 alignright" alt="With Integranova, you can create applications right out of models in an automated fashion" title="From models to applications" height="133" width="200" />Integranova was born out of an academic research project aimed at improving the way software was developed.<br />From the very beginning...<br />... we've always wanted to shift software development from art to craft<br />... we've believed that development effort was being put in the less productive places and neglecting what really adds value<br />... we've tried to focus more on "what" and not so much on "how"<br /><br />And we believe that although there's still a long road lying ahead, we've covered a great length of the path.
<a href="<?php echo get_permalink(); ?>"> Read More...</a>]]></description>
			<content:encoded><![CDATA[<img src="/wp-content/uploads/2012/01/MG_9523_c_1024.jpg" class="size-medium wp-image-435 alignright" alt="With Integranova, you can create applications right out of models in an automated fashion" title="From models to applications" height="133" width="200" />Integranova was born out of an academic research project aimed at improving the way software was developed.<br />From the very beginning&#8230;<br />&#8230; we&#8217;ve always wanted to shift software development from art to craft<br />&#8230; we&#8217;ve believed that development effort was being put in the less productive places and neglecting what really adds value<br />&#8230; we&#8217;ve tried to focus more on &#8220;what&#8221; and not so much on &#8220;how&#8221;<br /><br />And we believe that although there&#8217;s still a long road lying ahead, we&#8217;ve covered a great length of the path.<br />
<span id="more-631"></span>
<br />At Integranova we think that software development can be further industrialised. We want to empower developers by giving them tools that make them more productive, that allow them to concentrate on the functionality of the systems they want to build and care less about how that functionality will be implemented, that let them deal with bigger and more complex systems and help them see the forest and not be blinded by the trees.<br /><br />How do we get you there? Simply put: by modeling and generating code.<br /><br />If you&#8217;ve stop reading now chances are you&#8217;re thinking: &#8220;I&#8217;ve heard that story before and I know it does not work&#8221;<br />If you&#8217;re still curious, or at least skeptical, welcome on board! This is not, in many respects, &#8220;the same old story again&#8221;.<br /><br />Stay tuned and you will learn about modeling of structural, behavioral and presentational features, model validation, platform-independence, model transformations and code generation of fully functional applications for different platforms and languages.<br /><br />In the meantime, you can try out an evaluation version of our tools. Get it <a href="http://www.care-t.com" title="Get the evaluation version!" target="_blank">here</a>!<br /><br />See you soon!]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2012/01/our-vision/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blog is in the air</title>
		<link>http://www.integranova.com/2011/12/blog-is-in-the-air/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blog-is-in-the-air</link>
		<comments>http://www.integranova.com/2011/12/blog-is-in-the-air/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 12:20:14 +0000</pubDate>
		<dc:creator>Carlos García</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://CMS/wordpress/?p=427</guid>
		<description><![CDATA[Today, after a long time thinking about starting a blog, we can say that the new Integranova blog is up and running. The idea of a blog was around our heads for quite a time but it was always postponed, but for the last months the idea has been growing up and finally it has]]></description>
			<content:encoded><![CDATA[<img src="/wp-content/uploads/2011/12/010808_pencil-300x190.jpg" title="Blogging" class="size-medium wp-image-435 alignright" height="190" width="300" />
<p>Today, after a long time thinking about starting a blog, we can say that the new Integranova blog is up and running.</p>
<p>The idea of a blog was around our heads for quite a time but it was always postponed, but for the last months the idea has been growing up and finally it has been materialized in what you are reading right now.</p>
<p>At Integranova we want this blog be a place where you can find posts about technology, methodology, programming languages, events and many other things that cross our minds every day.</p>
<p>Feel free to comment or ask anything you need to know.</p><p>See you in the blog.</p>]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2011/12/blog-is-in-the-air/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Design options: New features for developing applications with Integranova</title>
		<link>http://www.integranova.com/2011/11/design-options/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=design-options</link>
		<comments>http://www.integranova.com/2011/11/design-options/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 13:00:36 +0000</pubDate>
		<dc:creator>Federico Wendel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://CMS/wordpress/?p=554</guid>
		<description><![CDATA[Article that presents the new Integranova Tools versions where the new Design Options are supported. These new Design Options can be defined at modelling time in the Presentation model.]]></description>
			<content:encoded><![CDATA[    <p>Article that presents the new Integranova Tools versions where the new Design Options are supported. These new Design Options can be defined at modelling time in the Presentation model.</p><span id="more-554"></span><p style="font-weight: bold; color: #0033ff;">DESIGN OPTIONS</p><p>Design options are a mechanism to enable analyst to fine tune the code generation. The difference with transformation options is that design options affect a particular presentation element, while transformation options affect all the elements in the model. So, instead of being part of a different artifact, design options are part of the model and will be stored within it.</p><p>Design options can have a number of possible values and they are specified in the comments field of the presentation model element. They have the following syntax:</p><p style="font-family: Courier New,Courier,mono; font-weight: normal; color: #000000; background-color: #dcdcdc; display: block; padding-right: 20px; padding-left: 30px; margin-top: 10px; margin-bottom: 10px; border-style: solid; border-width: 1px; border-color: #000000;">&lt;Options&gt;<br />  Key1=Value1;<br />  Key2=Value2<br />&lt;/Options&gt;</p><p>For example:</p><p style="font-family: Courier New,Courier,mono; font-weight: normal; color: #000000; background-color: #dcdcdc; display: block; padding-right: 20px; padding-left: 30px; margin-top: 10px; margin-bottom: 10px; border-style: solid; border-width: 1px; border-color: #000000;">&lt;Options&gt;<br />  LAYOUT=FIELDS;<br />  SHOWSELECTOR=0<br />&lt;/Options&gt;</p><p>Design options are Transformation Engine dependant so that means all design options are not supported by all Transformation Engines). When a Transformation Engine reads a design option that it does not support, it simply ignores the design option and continues with the default code generation.</p><p>List of design options:</p><ul style="list-style-type: disc;"><li style="padding-bottom: 10px;"><strong>Tabs Control for arguments grouping and/or MDIU details (TABCONTROL):</strong> Used in a MDIU, it specifies if the details have to be represented inside a tabs control or not. Used in a SIU, it specifies if the grouping elements at the first level can be represented as tabs or not (they will remain normal groups)</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Number of columns (NUMCOLS):</strong> This design option specifies how many columns a SIU or an IIU must have. The value ‘1’ is only applicable to web transformations engines.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Link to scenario (LINK):</strong> When this design option is present in an Action or a Navigation item, it specifies the DisplaySet items that, when used in the same interaction unit, become a hyperlink to said action or navigation item.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Shortcut keys (KEY):</strong> This design option specifies which combination or combinations of keys launch certain navigation or action. It will have the effect as clicking the actual action or navigation.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Instance IU layout (LAYOUT):</strong> it specifies if the display set contained in an IIUshould be displayed as a table or as independent fields.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Auto-executable filters (AUTOSEARCH):</strong> In a PIU which has filters it defines if the filter should be executed when showing the PIU or not.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Show Service IUs (SHOW):</strong> In a SIU which has no arguments or just the THIS argument, it means that the SIU must not be displayed and the service represented by the SIU must be directly executed. In case of any error, the user will be warned by a message, as usual. The rest of the functionality (Conditional navigation, outbound arguments, multi-execution…) will remain the same.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Close previous scenario (CLOSEORIGIN):</strong> In a SIU, it specifies that after a successful execution of the service the scenario from which the service was opened will be closed.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>New line arrangement (NEWLINE):</strong> In a SIU’s inbound argument or display set item from a display set displayed as fields, it says that a new field line must be created before or after the current argument.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Show instance selector (SHOWSELECTOR):</strong> In an IIU it specifies if the instance selector should be displayed or not.</li><li style="padding-bottom: 10px; list-style-type: disc;"><strong>Display details in a Tree Control (TREE):</strong> In a MDIU it specifies if the MDIU can be represented as a tree or not. The effect of this design option depends on the MDIU fulfilling the needed conditions for being represented as a tree.</li></ul><p><a href="http://www.integranova.com/wp-content/uploads/2011/11/FO_Design_Options_UIT_EN.pdf" rel="" class="mtli_attachment mtli_pdf" target="_blank" title="Feature Overview">Download the Feature Overview for more information</a></p>
    ]]></content:encoded>
			<wfw:commentRss>http://www.integranova.com/2011/11/design-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

