<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="FeedCreator 1.7.2" --><rss version="2.0">
    <channel>
        <title>Torq Software</title>
        <description />
        <link>http://torqservices.com/</link>
        <lastBuildDate>Mon, 28 May 2012 14:12:53 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.2</generator>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/TorqSoftware" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="torqsoftware" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
            <title>Torq Framework</title>
            <link>http://torqservices.com/about-us/how-we-work/torq-framework</link>
            <description><![CDATA[<p>The Torq Framework is a set of <a href="http://en.wikipedia.org/wiki/.NET_Framework">.NET</a> libraries and a base architecture that is designed to be re-used across a number of business software scenarios. Torq Software uses the framework as the basis for building new software products without having to repeat software development actions across multiple projects. It is currently being used as the basis for products in the <a href="http://torqservices.com/index.php?option=com_content&view=article&id=99:macroview&catid=46:products-we-developed&Itemid=56">MacroView Industrial Automation</a> and the <a href="http://torqservices.com/index.php?option=com_content&view=article&id=114:iris-system&catid=46:products-we-developed&Itemid=56">Iris Debt Collection</a> software product sets. The bottom line is that the framework helps us build better software faster for you.</p>
<h2>Layered Architecture</h2>
<p>The underlying Torq Framework architecture is based on five separate software layers. Each layer has a standard set of libraries that are used for building applications. Each layer only depends on the layers below it ensuring a consistent program structure.</p>
<p style="text-align: center;"><img style="max-width: 70%; padding: 1em;" src="http://torqservices.com/images/stories/intro/TorqFrameworkLayers.jpg" width="546" height="308" alt="TorqFrameworkLayers" /></p>
<p>Applications built using the Torq Framework can get a running jump on development by leveraging off of the framework at various levels within the application. The typical Application will need specific implementations of the higher level layers only e.g. the business domain layer, presentation layer and user interface layer.</p>
<p style="text-align: center;"><img src="http://torqservices.com/images/stories/intro/IrisLayers.jpg" width="546" height="281" alt="IrisLayers" style="max-width: 70%; padding: 1em;" /></p>
<h2>Foundation Layer</h2>
<p>The Foundation layer provides the base architecture for the framework and applications built with the framework. The functionality areas include:</p>
<ul>
<li><span style="line-height: 24px;">Additional <a href="http://en.wikipedia.org/wiki/Metadata">meta-data</a> concepts oriented towards being able to model business concepts more easily than with the standard .NET framework functionality.</span><br /></li>
<li><span style="line-height: 24px;">An <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">object</a> source <a href="http://en.wikipedia.org/wiki/Abstraction">abstraction</a> which allows difference database and data persistence mechanisms to be plugged in.</span><br /></li>
<li><span style="line-height: 24px;">An Authorization system for identifying which users have access to which areas in a business domain.</span><br /></li>
<li><span style="line-height: 24px;">Abstractions of general Windows and .NET concepts that allow limit the coupling of application <a href="http://en.wikipedia.org/wiki/Code_(computer_programming)">code</a> to a particular implementation. This facilitates flexibility and automated testing.</span><br /></li>
<li><span style="line-height: 24px;">Extensions to the core .NET functionality that makes it easier to develop <a href="http://en.wikipedia.org/wiki/Asynchronous">asynchronous</a> programs.</span><br /></li>
<li><span style="line-height: 24px;">A variety of convenience classes to help in day to day programming.</span><br /></li>
</ul>
<h2><strong>Mapping Layer</strong></h2>
<div>The mapping layer maps external sources of data to <a href="http://en.wikipedia.org/wiki/Business_object_(computer_science)">Business Domain objects</a>. The mapping layer is very thin in the Torq Framework as we are not in the business of <a href="http://en.wikipedia.org/wiki/Object-relational_mapping">Object to Relation Mapping</a> or similar. In fact, our preference is to use <a href="http://en.wikipedia.org/wiki/Object_database">Object Databases</a> where practical. The use of an Object Database allows the application code to closely match the actual database structure which reduces the cost of developing new systems. Traditional <a href="http://en.wikipedia.org/wiki/Relational_database">relational databases</a> and object relational mappers can also be used with the Torq Framework as the architecture allows for it.</div>
<div></div>
<h2>Business Domain Layer</h2>
<div>
<p class="MsoNormal"><span lang="EN-US">The Torq Framework includes a set of business domain classes that are common across multiple application domains. These include but are not limited to <a href="http://en.wikipedia.org/wiki/Code_(computer_programming)">code</a> for the following abstractions:</span></p>
<p class="MsoNormal"> </p>
<table width="90%" border="0" cellspacing="15">
<tbody>
<tr>
<td>
<p><img src="http://torqservices.com/images/stories/intro/user1.png" width="48" height="48" alt="user1" style="float: right;" />Party</p>
<p>Person</p>
<p>Organization</p>
</td>
<td>
<p><img src="http://torqservices.com/images/stories/intro/earth_find.png" width="48" height="48" alt="earth_find" style="float: right;" />Place</p>
<p>Region</p>
<p> </p>
</td>
<td>
<p><img src="http://torqservices.com/images/stories/intro/truck_red.png" width="48" height="48" alt="truck_red" style="float: right;" />Thing</p>
<p>Vehicle</p>
<p>Delivery</p>
</td>
<td>
<p><img src="http://torqservices.com/images/stories/intro/clock.png" width="48" height="48" alt="clock" style="float: right;" />Time</p>
<p> </p>
<p> </p>
</td>
</tr>
<tr>
<td>
<p>Task<img src="http://torqservices.com/images/stories/intro/document_check.png" width="48" height="48" alt="document_check" style="float: right;" /></p>
<p> </p>
</td>
<td>
<p><img src="http://torqservices.com/images/stories/intro/paperclip.png" width="48" height="48" alt="paperclip" style="float: right;" />Document</p>
<p>Attachment</p>
</td>
<td>
<p><img src="http://torqservices.com/images/stories/intro/currency_dollar.png" width="48" height="48" alt="currency_dollar" style="float: right;" />Account</p>
<p>Transactions</p>
</td>
<td>
<p><img src="http://torqservices.com/images/stories/intro/user1_monitor.png" width="48" height="48" alt="user1_monitor" style="float: right;" />User</p>
<p>Administrator</p>
</td>
</tr>
<tr>
<td>Phone<img style="float: right;" alt="telephone" height="48" width="48" src="http://torqservices.com/images/stories/intro/telephone.png" /></td>
<td>Address<img style="float: right;" alt="house" height="48" width="48" src="http://torqservices.com/images/stories/intro/house.png" /></td>
<td>Fax<img style="float: right;" alt="fax" height="48" width="48" src="http://torqservices.com/images/stories/intro/fax.png" /></td>
<td>Email<img style="float: right;" alt="at" height="48" width="48" src="http://torqservices.com/images/stories/intro/at.png" /></td>
</tr>
<tr>
<td>License<img style="float: right;" alt="id_card" height="48" width="48" src="http://torqservices.com/images/stories/intro/id_card.png" /></td>
<td>Passport<img style="float: right;" alt="passport_blue" height="48" width="48" src="http://torqservices.com/images/stories/intro/passport_blue.png" /></td>
<td>Characteristics<img style="float: right;" alt="user1_view" height="48" width="48" src="http://torqservices.com/images/stories/intro/user1_view.png" /></td>
<td></td>
</tr>
</tbody>
</table>
<br />
<p>The business domain layer uses the Role pattern to allow the core domain objects to be able to be extended with additional functionality without modifying the core object’s code. For example, a person can take on multiple roles within a system. Example of roles people can play in a system include User, Administrator, Manager, Agent, Coordinator and other business domain specific roles. The Role pattern allows an Application to easily extend the Torq Framework for its needs without modifying the framework code.</p>
<p>The re-use of the business domain layer also extends to the presentation of the business objects. For example, the Torq Framework has a variety of graphical objects that present business objects to users and can be used to update the business objects.</p>
<p>An example of such a graphic object is the PartiesControl object. This object displays a list of parties (People and/or Organizations). It automatically adjusts its display to the type of people and organizations it is supplied. The tree view on the left adjusts based on the relationships between people and the organizations they are associated with. The window area on the right shows the selected party, all of their contact details, ID information and the roles they play in the current application.</p>
<p style="text-align: center; "><img src="http://torqservices.com/images/stories/intro/PartiesControlWindowsForms.jpg" width="685" height="516" alt="PartiesControlWindowsForms" style="max-width: 90%; padding: 1em;" /></p>
</div>
<p>All of this is done automatically and with knowledge of the extensions made by an Application beyond that provided by the Torq Framework. The graphical object shown above is based on Windows Forms graphics. There’s also a separate Web based user interface PartiesControl object in the framework:</p>
<p style="text-align: center; "><img src="http://torqservices.com/images/stories/intro/PartiesControlWeb.jpg" width="859" height="637" alt="PartiesControlWeb" style="max-width: 90%; padding: 1em;" /></p>
<p>The architecture of the business domain layer and its extensible structure allows us to leverage the Torq Framework in new Projects and Products without having to modify the existing framework code. This extensibility applies to the presentation and user interface layers as well.</p>
<h2>Presentation Layer</h2>
<p>The Presentation layer in the Torq Framework is a means of modeling user interface concepts without actually being tied to a particular user interface implementation. The classes in this layer can also be called a “view model” or a model of a view. It allows presentation oriented concepts to be implemented <em>once </em>and then re-used across products with different user interface front ends.</p>
<p>An example is the implementation of a Find <a href="http://en.wikipedia.org/wiki/Dialog_box">dialog</a> which needs to run in both a Windows application and a Web application. Rather than implementing the core Find logic multiple times, it is implemented once in the presentation layer with no specific graphic output – only information output. The presentation layer approach reduces the duplication of effort and encourages the re-use of software code. The underlying find dialog code is the same for both of the following user interface implementations (Windows Forms and Web).</p>
<p style="text-align: center;"><img style="max-width: 90%; padding: 1em;" alt="FindJobWindows" height="412" width="708" src="http://torqservices.com/images/stories/intro/FindJobWindows.jpg" /></p>
<p style="text-align: center;"><img style="max-width: 90%; padding: 1em;" alt="FindJobWeb" height="649" width="866" src="http://torqservices.com/images/stories/intro/FindJobWeb.jpg" /></p>
<h2>User Interface Layer</h2>
<p>The user interface is where the rubber hits the road as far as the users of a software system are concerned. It’s what people see the most and what they associate with a software system or product. The Torq Framework is structured so that the choice of user interface is a separate decision from the core implementation.</p>
<p>This approach allows a software application to be built with one user interface technology, but then be extended to use another without a major architectural change. Torq applications use a variety of .NET user interface technologies and the framework will evolve as the technology landscape evolves.</p>
<h3>Windows Forms</h3>
<p>A Windows Forms based user interface is a typical industry standard Microsoft Windows graphical application. The Windows Forms environment has the advantage of having a large number of <a href="http://en.wikipedia.org/wiki/Third-party_software_component">third party components</a> to leverage off of and produce highly functionality applications quickly.</p>
<p style="text-align: center;"><img style="max-width: 90%; padding: 1em;" alt="IrisStatsClientRegion" height="604" width="784" src="http://torqservices.com/images/stories/iris/windows/IrisStatsClientRegion.jpg" /></p>
<h3>Visual Web GUI</h3>
<p>The Visual Web GUI (VWG) user interface framework is an innovative approach to developing Web Applications. Torq Software is excited about the prospects of this user interface framework as it provides a means for developing business web applications quickly and efficiently. It allows a web application to be developed in a similar way a Windows application is developed, but with all of the benefits of a Web deployment model. More information on the Visual Web GUI approach can be found at <a href="http://www.gizmox.com">www.gizmox.com</a>. The Torq Framework extends the VWG with standard business model user interfaces and integration with our Framework.</p>
<p style="text-align: center;"><img src="http://torqservices.com/images/stories/iris/web/IrisWebJobBorrower.jpg" width="648" height="472" alt="IrisWebJobBorrower" style="max-width: 90%; padding: 1em;" /></p>
<div></div>
<h3>Reports</h3>
<p>Reports are another means of providing a user interface into a software system. The Torq Framework supports integration with the Active Reports reporting package and includes a Word template based reporting system as an option. Other reporting destinations can easily be added as the underlying architecture has separated out the business model from the form of the user interface.</p>
<p style="text-align: center;"><img src="http://torqservices.com/images/stories/intro/ReportExample.jpg" width="701" height="524" alt="ReportExample" style="max-width: 90%; padding: 1em;" /></p>
<p> </p>
<p style="text-align: center;"><img style="max-width: 90%; padding: 1em;" alt="JobInvoiceGeneration" height="696" width="1214" src="http://torqservices.com/images/stories/iris/windows/JobInvoiceGeneration.jpg" /></p>
<h3>WPF and Silverlight</h3>
<p> </p>
<p>The user interface framework of choice for Microsoft .NET applications for the fore-seeable future is the <a href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation">Windows Presentation Framework</a> or WPF. It is a highly advanced framework for developing user interfaces with strengths in the area of graphics animations and transitions. The <a href="http://en.wikipedia.org/wiki/Silverlight">Silverlight</a> framework is a subset of WPF that can be run in a Web Browser.</p>
<p>Torq Software has invested heavily in WPF and Silverlight functionality going forward. The Torq Framework architecture is well suited to leveraging the strengths of both WPF and Silverlight.</p>
<p style="text-align: center;"><img style="max-width: 90%; padding: 1em;" alt="MetaWebScraperConfigurator" height="656" width="805" src="http://torqservices.com/images/stories/intro/MetaWebScraperConfigurator.jpg" /></p>
<div></div>
<p> </p>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Sun, 01 Mar 2009 06:12:00 +0000</pubDate>
            <guid>http://torqservices.com/about-us/how-we-work/torq-framework</guid>
        </item>
        <item>
            <title>Iris Debt Collection System</title>
            <link>http://torqservices.com/products/114-iris-system</link>
            <description><![CDATA[<div><span class="Normal">
<p>The Iris debt collection management system manages a variety of information related to the operation of a Debt Collection Agency. This includes a variety of different job types that cover both debt collection work and process service actions. The job types supported include:</p>
<ul>
<li>Field Call</li>
<li>Collection Only</li>
<li>Repossession</li>
<li>Recovery</li>
<li>Process Service</li>
</ul>
<p><br />In addition, the system allows for storage of information on the people and organizations that a Debt Collection Agency deals with.</p>
<ul>
<li>Financier Clients and their staff</li>
<li>Field Agents</li>
<li>Tow Companies</li>
<li>Storage Companies</li>
<li>Job Coordinators</li>
<li>Managers and Management Assistants</li>
<li>System Administrators</li>
</ul>
<p><br />Agency staff, field agents and financier clients have remote access to the Iris system via either a Remote Desktop or a standard Web Browser. Iris users can either run the Iris Windows version or the Iris Web version. The Windows version has special allowance for Remote Desktop functionality which allows for efficient user over a company VLAN. The software allows the Debt Collection Agency, its clients and its field agents to effectively collaborate on the completion of debt collection jobs. Each Iris user is presented with the information needed to complete their tasks given their role in the system and no more.<br /><br />The Iris functionality includes whole of lifecycle support for the management of debt collection and other job types. This includes:</p>
<ul>
<li>Automated importing of jobs from clients</li>
<li>Calculation of current arrears and balances</li>
<li>Job notes support</li>
<li>Job specific attachment and general file attachment support</li>
<li>Task Management</li>
<li>Job Ledgers</li>
<li>Client Invoice Management</li>
<li>Agent Payment Management</li>
<li>Export to accounting systems such as QuickBooks</li>
<li>Statistics and Reports</li>
</ul>
<div><span style="line-height: 27px;">The major components of the Iris Debt Collection System include:</span></div>
<div>
<ul>
<li><span style="line-height: 24px;"><a href="http://torqservices.com/index.php?option=com_content&view=article&id=95:iris-windows&catid=46:products-we-developed&Itemid=56">Iris Windows</a></span><br /></li>
<li><span style="line-height: 24px;"><a href="http://torqservices.com/index.php?option=com_content&view=article&id=94:iris-web&catid=46:products-we-developed&Itemid=56">Iris Web</a></span><br /></li>
<li><span style="line-height: 24px;"><a href="http://torqservices.com/index.php?option=com_content&view=article&id=96:iris-rdp&catid=46:products-we-developed&Itemid=56">Iris Remote Desktop</a></span><br /></li>
<li><span style="line-height: 24px;"><a href="http://torqservices.com/index.php?option=com_content&view=article&id=93:iris-server-actions&catid=46:products-we-developed&Itemid=56">Iris Server Actions</a></span><br /></li>
</ul>
</div>
<div></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><span style="line-height: 27px;"><img style="margin: 5px; max-width:70%" src="http://torqservices.com/images/stories/iris/windows/IrisStatsClientRegion.jpg" alt="Iris Example Client Report" /></span></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><img style="margin: 5px; max-width:70%" src="http://torqservices.com/images/stories/iris/windows/IrisManagerJobs.jpg" alt="Iris Jobs Screen logged in as a Manager" /></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><img style="margin: 5px; max-width:70%" src="http://torqservices.com/images/stories/iris/windows/IrisJobContractTab.jpg" alt="Iris Job Contracts Tab" /></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><img style="margin: 5px; max-width:70%" src="http://torqservices.com/images/stories/iris/web/IrisWebJobBorrower.jpg" alt="Iris Web viewing a Job's Borrower Screen" /></div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><img style="margin: 5px; max-width:70%" src="http://torqservices.com/images/stories/iris/web/IrisWebClientContacts.jpg" alt="Iris Web viewing the Client Contacts Screen" /></div>
</span></div>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Tue, 06 Jan 2009 02:52:00 +0000</pubDate>
            <guid>http://torqservices.com/products/114-iris-system</guid>
        </item>
        <item>
            <title>Torq Video Channel</title>
            <link>http://torqservices.com/torq-videos</link>
            <description><![CDATA[<p>This pages embeds a Youtube custom player that collates all of the Torq Software videos available on that video service. Older videos from prior to 2010 are no longer available. We've moved to Youtube for the storage and display as the time/resolution limits are now more practical than they used to be. In addition, it provides coverage to the broadest range of media consumption devices.</p>
<p><span value="http://www.youtube.com/cp/vjVQa1PpcFOyBBw9EIAkNnDiDCn6ZyT27J5fqqscNkQ=" name="src"></span></p>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Sun, 04 Jan 2009 05:14:00 +0000</pubDate>
            <guid>http://torqservices.com/torq-videos</guid>
        </item>
        <item>
            <title>Domain Driven Design</title>
            <link>http://torqservices.com/about-us/how-we-work/ddd</link>
            <description><![CDATA[<p><img src="http://torqservices.com/images/stories/intro/ResundBridge.jpg" width="250" height="161" alt="ResundBridge" style="float: left; margin: 5px;" />Domain Driven Design (also known as <a href="http://en.wikipedia.org/wiki/Domain_driven_design">DDD</a>) is an approach to the design of software where domain models are used to drive the design process and allow software developers and business experts to communicate more effectively. A dictionary definition of domain is: <em>a realm or range of personal knowledge, responsibility, etc</em>. In the context of DDD a domain is an area of knowledge or expertise that software is being developed to work in. So if you are a business owner that wishes to automate some aspect of your business, the domain is the operation of your business. Put in a different way, the domain in DDD refers to the area of expertise that end users of the software being developed understand and work in.</p>
<p>A <a href="http://en.wikipedia.org/wiki/Domain_model">domain model</a> is a conceptual model of the area of expertise or organizational system the software is being developed for. For a business owner, this could be a conceptual model of their business or a part of their business operations. It can take the form of a document, a series of diagrams, some scratchings on a whiteboard or a more formal definition in a <a href="http://en.wikipedia.org/wiki/Modeling_language">modeling language</a> such as <a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language">UML</a>. All people have domain models in their head for a whole bunch of different knowledge areas and expertise.</p>
<p>The power of Domain Driven Design comes from the alignment of the domain models in the heads of the various stakeholders of a software product or project. Aligning how the software developers, business owner and users of the software perceive and think of a system being automated by software allows the entire development and maintenance process to proceed more quickly and better equipped to satisfy the needs of everyone involved.</p>
<p>The language used when the different software product stake holders communicate subtley, but greatly, affects their interactions. The term ubiquitous language is used in DDD to describe the use of a consistent domain language between all of the stakeholders, software developers, end users, business management, business experts etc. Torq Software uses Domain Driven Design techniques in the development of the software products have created and maintain. An example of the use of DDD and ubiquitous language can be found in the <a href="http://torqservices.com/index.php?option=com_content&view=article&id=114:iris-system&catid=46:products-we-developed&Itemid=56">Iris Debt Collection System</a> design.</p>
<p style="text-align: center;"><img src="http://torqservices.com/images/stories/iris/JobOverviewClassDiagram.jpg" alt="JobOverviewClassDiagram" style="max-width: 80%; padding: 1em;" /></p>
<p>The concept of a debt collection Job was the central theme to the business operation, so this is the term we used in the software <a href="http://en.wikipedia.org/wiki/Source_code">source code</a> to label that software <a href="http://en.wikipedia.org/wiki/Class_(computer_science)">class</a>. Similarly the terms Client, Agent, Agency, Client Contact and Tow Company were all in use by the debt collection industry the business deals with. These are directly used in the Iris product's source code which allows the software developers to associate software concepts with business concepts. It allows the developers to more effectively communicate with the users of the software. So rather than have a software jargon, we have a shared jargon that straddles the software development process and the debt collection domain (for this case).</p>
<p>An interesting variation in the DDD approach used was the naming of the Coordinator concept. The business didn't actually have an explicit name for the office staff that worked on debt collection jobs but were not actually field agents. We found that this role in the debt collection workflow was important enough to model it in software. The term Coordinator was used as the person involved coordinates the activities on large numbers of jobs. This isn't quite the text book approach of using language that is already in use in the business domain, but the additional term worked well. It is now in common use within the business at it puts a common sense label on a conceptual role they were already familiar with. We typically follow an approach such as Domain Driven Design because it provides significant value to the development process but aren't averse to tailoring the approach to different scenarios.</p>
<p>Some excellent books describing the Domain Driven Design approach are available:</p>
<p> </p>
<table border="0" align="center">
<tbody>
<tr style="max-width:400; padding:1em">
<td><a href="http://www.amazon.com/exec/obidos/ASIN/0321268202/wwwtorqsoftwa-20" title="Applying Domain-Driven Design and Patterns: With Examples in C# and .NET"><img style="float:none; padding:3px" align="left" border="0" src="http://images.amazon.com/images/P/0321268202.01.MZZZZZZZ.jpg" /></a></td>
<td style="max-width:400">
<p><a href="http://www.amazon.com/exec/obidos/ASIN/0321268202/wwwtorqsoftwa-20" title="Applying Domain-Driven Design and Patterns: With Examples in C# and .NET">Applying Domain-Driven Design and Patterns: With Examples in C# and .NET</a><br /><br />ISBN: 0321268202<br />ISBN-13: 9780321268204</p>
<p>See <a href="http://jimmynilsson.com/blog/">Jimmy Nilsson's blog</a> as well.</p>
</td>
</tr>
<tr style="padding:1em">
<td><a href="http://www.amazon.com/exec/obidos/ASIN/0321125215/wwwtorqsoftwa-20" title="Domain-Driven Design: Tackling Complexity in the Heart of Software"><img style="float:none; padding:3px" align="left" border="0" src="http://images.amazon.com/images/P/0321125215.01.MZZZZZZZ.jpg" /></a></td>
<td style="max-width:400">
<p><a href="http://www.amazon.com/exec/obidos/ASIN/0321125215/wwwtorqsoftwa-20" title="Domain-Driven Design: Tackling Complexity in the Heart of Software">Domain-Driven Design: Tackling Complexity in the Heart of Software</a><br /><br />ISBN: 0321125215<br />ISBN-13: 9780321125217</p>
<p> </p>
</td>
</tr>
</tbody>
</table>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Thu, 01 Jan 2009 20:49:00 +0000</pubDate>
            <guid>http://torqservices.com/about-us/how-we-work/ddd</guid>
        </item>
        <item>
            <title>Software Development is Expensive</title>
            <link>http://torqservices.com/about-us/what-we-believe/111-software-dev-expensive</link>
            <description><![CDATA[<img src="http://torqservices.com/images/stories/intro/SoftwareDevelopmentInvestment.jpg" width="250" height="165" alt="SoftwareDevelopmentInvestment" style="float: right; margin: 5px;" />
<p>In our opinion Software Development is an expensive exercise. This is balanced by the <strong>huge benefits</strong> that can arise when the right software is applied to an appropriate business or organizational context. Putting in a statement like "Software Development is expensive" doesn't help sell our services.</p>
<p>But... development software <strong><em>is</em></strong> expensive. It takes:</p>
<ul class="unIndentedList">
<li>Technical skill</li>
<li>The ability to deal with immense complexity</li>
<li>Significant time</li>
<li>Attention to detail</li>
</ul>
<p>Regardless, organizations around the world spend multiple billions of dollars every year on developing new software. They do this because:</p>
<ul class="unIndentedList">
<li> The <strong>payoff </strong>in automating mundane repetitive tasks previously done by people is <strong>immense</strong></li>
<li> Once software is developed, the costs to reproduce it are negligible.</li>
</ul>
<p>It's this latter point that can really confuse people in how to deal with software development. Most people, in their daily lives, just deal with:</p>
<ul class="unIndentedList">
<li>  off-the-shelf, such as Microsoft Word</li>
<li>  free software, such as the Linux operating system</li>
<li>  free services, such as the Google search engine</li>
</ul>
<p>The cost of these types of software, or the fact that they are free to the end-user, hides the expense of the initial software development and ongoing maintenance. Microsoft sells Microsoft Word for a few hundred dollars a copy because they sell in such high volumes. Google provides free search services, because they can get advertisers to pay. Open source software developers work on free software for a variety of reasons.</p>
<p>Our bottom line is that:</p>
<blockquote>if you can get off-the-shelf software, free software or free services to achieve what you need, then... you don't need software development services</blockquote>
<p><strong>But</strong>...off the shelf, free software or free services doesn't always do exactly what your business or organization needs. This combined with the huge benefits software can provide; mean that software development can make financial sense for many businesses or organizations. If you have a scenario where benefits of automating your workflow potentially outweigh the cost of developing custom software then you should talk to us.</p>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Wed, 31 Dec 2008 06:49:00 +0000</pubDate>
            <guid>http://torqservices.com/about-us/what-we-believe/111-software-dev-expensive</guid>
        </item>
        <item>
            <title>Agile Principles</title>
            <link>http://torqservices.com/about-us/what-we-believe/110-agile-principals</link>
            <description><![CDATA[<img src="http://torqservices.com/images/stories/intro/AgilePrincipals.jpg" width="250" height="186" alt="AgilePrincipals" style="float: left; margin: 5px;" />
<p>We believe that the use of Agile Principles in Software Development provides significant benefits to all the stakeholders in the development process. The core principles were set out by a group of software development luminaries whose goal is to uncover better ways of developing software. This is covered in the Agile Manifesto which can be found at <a href="http://www.agilemanifestor.org">www</a><a href="http://www.agilemanifestor.org">.agilemanifesto.org</a>. These agile principles act as a practical pragmatic guide for how software development is performed. They promote the de-emphasis of aspects of the software development process that though important, can de-rail the actual end goal of working useful software.</p>
<table style="vertical-align: top;" border="0" align="left">
<col width="30%"></col> <col width="30%"></col> <col width="60%"></col> 
<tbody>
<tr valign="top">
<td><strong>Though work processes and tools are important... </strong>
<p style="width: 100%;"><img src="http://torqservices.com/images/stories/intro/RedToolbox.jpg" style="max-width: 50%;" alt="RedToolbox" /></p>
</td>
<td><strong>Individuals and Interactions are more important.</strong></td>
<td>In other words, the quality of the people that are working and their willingness to achieve a goal together is more important than the work processes and tools they use. We deliver software early and often as part of our typical development process. It gets the software in your hands quickly and allows you to</td>
</tr>
<tr valign="top">
<td><strong>Though comprehensive documentation is important.... </strong>
<p style="width: 100%;"><img src="http://torqservices.com/images/stories/Documentation.jpg" style="max-width: 50%;" alt="Documentation" /></p>
</td>
<td><strong>Working software is more important.</strong></td>
<td>There is no point having detailed documentation if the software being documented is not operational and working.</td>
</tr>
<tr valign="top">
<td><strong>Though contract negotiation is important... </strong>
<p style="width: 100%;"><img src="http://torqservices.com/images/stories/intro/FinePrintContract.jpg" style="max-width: 50%;" alt="Fine Print Contract" /></p>
</td>
<td><strong>Customer collaboration is more important.</strong></td>
<td>Arguing over the finer points of a contract that probably doesn’t define what is needed in totality wastes everyone’s time. It’s far more effective to be practical and work together towards a goal that may change during a project.</td>
</tr>
<tr valign="top">
<td>
<p><strong>Though following a plan laid out at the beginning of a project is important....</strong></p>
<p><img src="http://torqservices.com/images/stories/intro/Blueprint.jpg" style="max-width:50%" alt="Blueprint" /></p>
</td>
<td><strong>Responding to change is more important.</strong></td>
<td>This is similar in intent to the quote from Eisenhower:
<blockquote>Plans are worthless. Planning is essential.</blockquote>
<p class="MsoListParagraphCxSpLast">Yes, we need to plan up front, but it’s more important to be able to learn as you get into a project and adjust to new information and understanding as it is made available or uncovered.</p>
</td>
</tr>
</tbody>
</table>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Wed, 31 Dec 2008 06:48:00 +0000</pubDate>
            <guid>http://torqservices.com/about-us/what-we-believe/110-agile-principals</guid>
        </item>
        <item>
            <title>Symax Ethernet Driver</title>
            <link>http://torqservices.com/products/109-symax-driver</link>
            <description><![CDATA[The MacroView Symax <a href="http://en.wikipedia.org/wiki/802.3" class="weblink">802.3</a> Communications Driver communicates using to the Square-D Symax range of programmable logic controllers. The Symax 802.3 Protocol is an ethernet based protocol developed for that particular series of PLCs. Additional detail on the driver's installation and use can be found in the <a href="http://torqservices.com/index.php/macroview-documentation/mv-drivers/symax-driver">driver manual</a>.]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Wed, 31 Dec 2008 05:02:00 +0000</pubDate>
            <guid>http://torqservices.com/products/109-symax-driver</guid>
        </item>
        <item>
            <title>Simatic 505 Driver</title>
            <link>http://torqservices.com/products/108-simatic-driver</link>
            <description><![CDATA[<div>
<div>
<div>The Simatic 505 driver allows MacroView systems to communicate to Simatic 505 over an Ethernet TCP/IP network. The <a href="http://torqservices.com/index.php/macroview-documentation/mv-drivers/simatic505-driver">driver manual</a> describes the technical details with respect to its installation and usage.</div>
</div>
</div>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Wed, 31 Dec 2008 05:01:00 +0000</pubDate>
            <guid>http://torqservices.com/products/108-simatic-driver</guid>
        </item>
        <item>
            <title>PlantVantage</title>
            <link>http://torqservices.com/products/107-plantvantage</link>
            <description><![CDATA[<p><a href="http://sencom.com.au/index.php/productsmenu/plantvantagemenu"><img style="max-width: 50%; float: right;" alt="medplantvantage-logo" src="http://torqservices.com/images/stories/plantvantage/medplantvantage-logo.jpg" /></a><a href="http://sencom.com.au/index.php/productsmenu/plantvantagemenu">Plant Vantage</a> is a Plant Data Analysis tool for Process and Maintenance Engineers. Check out the <a href="http://torqservices.com/index.php?option=com_wrapper&view=wrapper&Itemid=129">user manual</a> for details on using the product. </p>
<p>It provides personal access to plant data for analysis and gaining insight to optimise production and maintenance. PlantVantage was born from the needs of the small to mid tier industrial production companies who wanted the functionality of a historian and analysis tools without paying “Enterprise” level pricing.</p>
<h3><br />Features and Benefits</h3>
<p>PlantVantage integrates with the existing control system for data capture and has the features you would expect in an industry standard historian and trending package. This includes user customisable trends, statistical analysis, export to MS Excel and a simple visual interface. It also has some more powerful features to make life easier for production and maintenance people.</p>
<p> </p>
<h3>Powerful Analysis</h3>
<ul>
<li><span style="line-height: 24px;">Correlate as many points/tags/entities on trend page as you like</span><br /></li>
<li><span style="line-height: 24px;">Easily analyse trends with statistical tools </span><br /></li>
<li><span style="line-height: 24px;">Automatically identify and analyse trends for specific plant alarms </span><br /></li>
<li><span style="line-height: 24px;">Playback trends </span><br /></li>
<li><span style="line-height: 24px;">Align and analyse trends with a realtime delay, side by side </span><br /></li>
<li><span style="line-height: 24px;">Create new data trends from calculations on your existing plant data</span></li>
</ul>
<div></div>
<p> </p>
<h3>Simple to Use</h3>
<ul>
<li><span style="line-height: 24px;">Simple and intuitive graphical interface </span><br /></li>
<li><span style="line-height: 24px;">Simple ‘select and copy’ of data into Excel for spreadsheet analysis/graphs</span><br /></li>
<li><span style="line-height: 24px;">Allows each user to customize their own individual pages to suite their needs</span><br /></li>
</ul>
<p> </p>
<h3>Easy Access</h3>
<ul>
<li><span style="line-height: 24px;">Sits alongside your existing SCADA or Plant Historian</span><br /></li>
<li><span style="line-height: 24px;">Easy to deploy to users</span><br /></li>
<li><span style="line-height: 24px;">Concurrent licensing allows PlantVantage to be accessed by all operations and production personnel</span><br /></li>
</ul>
<p> </p>
<h3>Cost-effective</h3>
<ul>
<li><span style="line-height: 24px;">Integrates with existing systems</span><br /></li>
<li><span style="line-height: 24px;">Flexibility to use Linux, Solaris or Windows operating systems to significantly reduce costs.</span><br /></li>
<li><span style="line-height: 24px;">Server based licensing.  </span><br /></li>
</ul>
<div></div>
<div style="text-align: center; padding:2em"><img style="max-width: 80%;" alt="plantvantage01" src="http://torqservices.com/images/stories/plantvantage/plantvantage01.jpg" /></div>
<div style="text-align: center; padding:2em"><img style="max-width: 80%;" alt="plantvantage02" src="http://torqservices.com/images/stories/plantvantage/plantvantage02.jpg" /></div>
<p> </p>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Wed, 31 Dec 2008 05:01:00 +0000</pubDate>
            <guid>http://torqservices.com/products/107-plantvantage</guid>
        </item>
        <item>
            <title>Modbus Communications Driver</title>
            <link>http://torqservices.com/products/106-modbus-driver</link>
            <description><![CDATA[<div>
<div>
<div>
<div>
<div>The Modbus driver allows MacroView systems to communicate to PLCs that support either the Modbus serial protocol or the Modbus TCP protocol. The <a href="http://torqservices.com/index.php/macroview-documentation/mv-drivers/modbus-driver">driver manual</a> describes the technical details with respect to its installation and usage.</div>
</div>
</div>
</div>
</div>]]></description>
            <author>Apolon Ivankovic</author>
            <pubDate>Wed, 31 Dec 2008 05:01:00 +0000</pubDate>
            <guid>http://torqservices.com/products/106-modbus-driver</guid>
        </item>
    </channel>
</rss>

